CI/CD ir programinės įrangos tiekimo grandinės saugumas

Kelio nuo kodo pakeitimo iki gamybinės aplinkos vertinimas: repozitorijos, konvejeriai, vykdyklės, priklausomybės ir kompiliavimo artefaktai.

Infrastruktūra ir debesija

Konvejeris, kuris kompiliuoja ir diegia jūsų programinę įrangą, turi daugiau teisių nei dauguma administratorių. Jis skaito pirminį kodą, turi pasirašymo raktus ir debesijos prisijungimo duomenis ir rašo į gamybinę aplinką. Be to, jis sudarytas iš trečiųjų šalių veiksmų (angl. actions), įskiepių ir paketų, kurie keičiasi iš anksto neperspėjus.

Šį kelią testuojame taip, kaip tai darytų užpuolikas: ką gali padaryti prisidedantis kūrėjas su minimaliomis teisėmis, ką gali pasiekti kenkėjiška priklausomybė ar sujungimo užklausa (angl. pull request) ir ar galima įrodyti, kad įdiegtas artefaktas yra tas pats, kuris buvo peržiūrėtas.

01Apimtis

Ką testuojame

  • Versijų valdymas: šakų apsauga, peržiūros taisyklės, teisės, prieigos žetonai
  • Konvejerių apibrėžtys: įterpimas per nepatikimą įvestį, nesaugūs paleidikliai (angl. triggers), sujungimo užklausų procesai
  • Vykdyklės: izoliacija, būsena, išliekanti tarp užduočių, tinklo pasiekiamumas, savarankiškai priglobtų vykdyklių rizikos
  • Paslaptys: aprėptis, atskleidimas žurnaluose, ilgalaikiai prisijungimo duomenys, palyginti su trumpalaike federacija
  • Trečiųjų šalių veiksmai, įskiepiai ir šablonai: prisegimas prie versijų ir kilmė
  • Priklausomybės: priklausomybių painiava (angl. dependency confusion), pavadinimų klastojimas (angl. typosquatting), užrakto failai (angl. lock files), diegimo scenarijai
  • Artefaktai ir registrai: pasirašymas, kilmė, prieigos kontrolė
  • Diegimas: pareigų atskyrimas, patvirtinimai, infrastruktūra kaip kodas

02Darbo eiga

Kaip atliekamas darbas

  1. Žemėlapio sudarymas

    Atsekame kelią nuo kodo pakeitimo iki gamybinės aplinkos ir išvardijame šiame kelyje esančias sistemas, tapatybes ir paslaptis.

  2. Konfigūracijos peržiūra

    Repozitorijas, konvejerius ir registrus peržiūrime pagal OWASP Top 10 CI/CD Security Risks ir SLSA reikalavimus.

  3. Atakos imitavimas

    Iš išorinio prisidedančio kūrėjo, vidinio kūrėjo ir perimtos priklausomybės pozicijų bandome pasiekti paslaptis ir pakeisti tai, kas kompiliuojama. Kur to pakanka įrodymui, dirbame su atšakomis (angl. forks) ir bandomaisiais projektais.

  4. Saugumo stiprinimo planas

    Pakeitimus rikiuojame pagal tai, kokius atakos kelius jie uždaro. Prie kiekvieno pakeitimo pateikiame jį įgyvendinančią konfigūraciją.

Metodika

03

Ką gaunate

  • Pristatymo kelio diagrama su tapatybėmis, paslaptimis ir pasitikėjimo ribomis
  • Atakos keliai su konfigūracija, kuri įgalina kiekvieną žingsnį
  • Saugumo stiprinimo planas su iš karto pritaikoma konfigūracija
  • Santrauka vadovams
  • Techninė ataskaita: kiekvienas radinys su įrodymais, CVSS 4.0 vektoriumi, CWE klase ir pataisymu
  • Skambutis su jūsų inžinieriais rezultatams aptarti
  • Vienas pakartotinis kiekvieno radinio testavimas per 60 dienų nuo ataskaitos pateikimo
  • Patvirtinimo raštas po pakartotinio testavimo

04

Ko mums reikia iš jūsų

  • Skaitymo prieiga prie į apimtį patenkančių repozitorijų ir konvejerių konfigūracijos
  • Mažų teisių kūrėjo paskyra, kokią gauna naujas darbuotojas
  • Bandomasis projektas, kuriame konvejerius galima paleisti laisvai
  • Gamybinių sistemų, į kurias diegia konvejeriai, sąrašas

05Standartai

Standartai, kuriais grindžiamas metodas

06Klausimai

Klausimai apie šią paslaugą

Ar mūsų konvejeriuose paleisite kenkėjišką kodą?

Paleidžiame nekenksmingą įrodomąjį kodą, kuris parodo, kas būtų pasiekiama, pavyzdžiui, paslapties pavadinimą, bet ne jos reikšmę. Gamybinius konvejerius liečiame tik tada, kai tai leidžia testavimo taisyklės; daugumą kelių įrodome bandomajame projekte su tokia pačia konfigūracija.

Naudojame valdomą CI paslaugą. Ar ne paslaugų teikėjas atsako už saugumą?

Paslaugų teikėjas apsaugo platformą. Tai, ką joje sukuriate ir laikote, – jūsų atsakomybė: teisės, paleidikliai, paslaptys ir trečiųjų šalių komponentai. Būtent čia atakos prieš konvejerius ir pavyksta.

Ar tai apima programinės įrangos komponentų sąrašą (SBOM)?

Patikriname, ar jūsų kompiliavimo metu sukuriamas komponentų sąrašas yra išsamus ir atitinka artefaktą. Jį generuoti ir palaikyti yra jūsų kompiliavimo proceso dalis; rekomenduojame, kaip tai daryti.

08Užklausa

Papasakokite, ką reikia testuoti

  • Svetainės patikra nemokama
  • Atsakymas per 1 darbo dieną
  • NDA prieš bet kokias technines detales
  • Fiksuota mokamų projektų kaina
  • Jokių įsipareigojimų

Užklausa dėl vertinimo

Aprašykite sistemas ir tikslą. Vadybininkas atsakys per 1 darbo dieną: užduos patikslinančių klausimų ir pasiūlys kitą žingsnį.

Kam atsakyti

Atsakysime šiuo adresu, jei nepasirinksite kito kanalo.

Individualus verslininkas įrašo savo vardą ir pavardę.

Pageidaujamas ryšio kanalas
Ką vertinti
Dominančios paslaugos

Pasirinkite visas tinkamas.

Nemokama patikra

Jūsų svetainę patikriname nemokamai

Jei problemų nerandame, ataskaitą taip pat gaunate nemokamai. Už ataskaitą mokate tik tada, kai randame problemų, o jos kaina priklauso nuo jų skaičiaus ir pavojingumo.

Nemokamos svetainės saugumo patikros sąlygos

Taikomųjų programų saugumas

Infrastruktūra ir debesija

Priešininko imitavimas

DI, Web3 ir kriptografija

Programos ir saugumo užtikrinimas

Taikomųjų programų saugumas

Nemokama svetainės saugumo patikra

Į jūsų svetainę žiūrime iš išorės, kaip į ją žiūri užpuolikas, ir tikriname, ar į ją galima įsilaužti: ieškome silpnų nustatymų, pasenusios programinės įrangos, viešai pasiekiamų failų, nesaugių formų. Patikra nemokama.

Taikomųjų programų saugumas

Žiniatinklio programų įsilaužimų testavimas

Bandome įsilaužti į jūsų žiniatinklio programą taip, kaip tai darytų tikras užpuolikas: prisijungti prie kitų žmonių paskyrų, perskaityti kitų klientų duomenis, pakeisti kainas ar užsakymus. Sužinote, kas įmanoma, anksčiau nei nusikaltėliai.

Taikomųjų programų saugumas

API saugumo testavimas

API – tai kanalas, kuriuo jūsų programėlė, svetainė ir partneriai keičiasi duomenimis su jūsų serveriais. Tikriname, ar niekas negali juo pasinaudoti ir perskaityti ar pakeisti ne savo duomenų.

Taikomųjų programų saugumas

Mobiliųjų programėlių įsilaužimų testavimas

Tiriame jūsų „iOS“ ar „Android“ programėlę ir už jos esančius serverius: ką programėlė laiko telefone, ką iš jos galima išgauti ir ar galima suklastoti jos užklausas.

Taikomųjų programų saugumas

Kodo saugumo peržiūra

Mūsų specialistai skaito jūsų produkto pirminį kodą ir randa klaidas, dėl kurių galima įsilaužti, taip pat tas, kurių iš išorės nematyti.

Infrastruktūra ir debesija

Debesijos ir „Kubernetes“ saugumo vertinimas

Tikriname, kaip sukonfigūruota jūsų debesija („AWS“, „Azure“, „Google Cloud“, „Kubernetes“): kas prie ko turi prieigą, kurie duomenys atviri internetui ir kaip toli užpuolikas nueina po pirmosios klaidos.

Infrastruktūra ir debesija

Infrastruktūros įsilaužimų testavimas

Testuojame jūsų serverius ir biuro tinklą iš išorės ir iš vidaus: ar užpuolikas gali patekti į vidų, o patekęs – pasiekti apskaitos sistemą, paštą ar atsargines kopijas.

Infrastruktūra ir debesija

Išorinio atakos paviršiaus vertinimas

Randame viską, ką jūsų įmonė atveria internetui, įskaitant tai, kas pamiršta: senas svetaines, testinius serverius, nutekėjusius slaptažodžius. Tada parodome, ką iš to galima atakuoti.

Infrastruktūra ir debesija

CI/CD ir tiekimo grandinės saugumas

Tikriname kelią, kuriuo jūsų kodas keliauja nuo kūrėjo iki kliento: kompiliavimo serverius, trečiųjų šalių bibliotekas, prieigos raktus. Kas valdo šį kelią, tas valdo ir jūsų produktą.

Priešininko imitavimas

„Red Team“ operacijos

Didelio masto pratybos. Mūsų komanda vaidina tikrą užpuoliką, turintį tikslą, pavyzdžiui, pasiekti klientų duomenis, o jūs matote, ar jūsų gynyba jį pastebi ir sustabdo.

Priešininko imitavimas

„Purple Team“ pratybos

Mūsų atakuojančioji komanda ir jūsų gynėjai dirba kartu: parodome atakos techniką, jūsų komanda tikrina, ar ją mato, o stebėsenos trūkumai pašalinami vietoje.

Priešininko imitavimas

Socialinės inžinerijos vertinimas

Testuojame žmones, o ne mašinas: apgaulingus el. laiškus, skambučius ir žinutes, kuriais užpuolikai išvilioja slaptažodžius. Sužinote, kiek darbuotojų būtų apgauti ir ko reikia juos mokyti.

DI, Web3 ir kriptografija

DI ir LLM saugumo testavimas

Jei jūsų produkte yra pokalbių robotas ar kitas DI modelis, tikriname, ar jį galima įkalbėti atskleisti konfidencialius duomenis, pažeisti savo paties taisykles ar veikti kieno nors kito vardu.

DI, Web3 ir kriptografija

Išmaniųjų sutarčių auditas

Kol išmaniojoje sutartyje dar nelaikomi pinigai, ieškome jos kodo klaidų, kurios leistų kam nors išsiimti ar įšaldyti lėšas. Po diegimo tokių klaidų ištaisyti nebegalima.

DI, Web3 ir kriptografija

Kriptografijos peržiūra

Tikriname, kaip jūsų produktas šifruoja duomenis ir saugo raktus: ar pasirinkti tinkami algoritmai ir ar jie taikomi teisingai. Klaida čia padaro šifravimą beverčiu.

Programos ir saugumo užtikrinimas

„Bug bounty“ programos valdymas

„Bug bounty“ programoje nepriklausomi tyrėjai ieško pažeidžiamumų jūsų produkte ir gauna atlygį už kiekvieną rastą pažeidžiamumą. Tokią programą jums paleidžiame ir valdome.

Programos ir saugumo užtikrinimas

Pažeidžiamumų atskleidimo programa (VDP)

Viešas puslapis ir tvarka, kurie tyrėjams paaiškina, kaip saugiai pranešti jums apie pažeidžiamumą. Be jų pranešimai pasimeta arba ateina kaip grasinimai. Sukuriame šį procesą ir tvarkome gaunamus pranešimus.

Programos ir saugumo užtikrinimas

Nuolatinis įsilaužimų testavimas

Užuot testavę kartą per metus, visus metus testuojame kiekvieną reikšmingą jūsų produkto pakeitimą, kad naujas pažeidžiamumas nelauktų mėnesių, kol bus rastas.

Programos ir saugumo užtikrinimas

Įsilaužimų testavimas pagal atitikties reikalavimus

Įsilaužimų testas, organizuojamas taip, kad jo ataskaitą priimtų auditorius, reguliuotojas ar didelis klientas: PCI DSS, DORA, NIS2, ISO/IEC 27001, SOC 2.

Dominančios paslaugos

Dar nežinau

Pasirinkite šį variantą, jei nežinote, kokios paslaugos jums reikia. Aprašykite užduotį savais žodžiais, o specialistas atsakyme pasiūlys paslaugą.

Svetainės arba pagrindinės testuojamos sistemos domenas arba URL, pavyzdžiui, app.example.com.

Ką reikia testuoti, kodėl dabar, ar yra terminas arba atitikties reikalavimas. Nenurodykite slaptažodžių, raktų ar pažeidžiamumų detalių.

Patvirtinimai

Per šią formą nesiųskite prisijungimo duomenų, raktų ar pažeidžiamumo detalių. Dėl saugaus kanalo susitarsime po pirmojo atsakymo.

Automatinė apsaugos nuo piktnaudžiavimo patikra