Kodo saugumo peržiūra
Rankinė pirminio kodo peržiūra, paremta statine analize: ieškome pažeidžiamumų, kurių iš išorės nematyti.
Taikomųjų programų 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
02Darbo eiga
Atsekame kelią nuo kodo pakeitimo iki gamybinės aplinkos ir išvardijame šiame kelyje esančias sistemas, tapatybes ir paslaptis.
Repozitorijas, konvejerius ir registrus peržiūrime pagal OWASP Top 10 CI/CD Security Risks ir SLSA reikalavimus.
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.
Pakeitimus rikiuojame pagal tai, kokius atakos kelius jie uždaro. Prie kiekvieno pakeitimo pateikiame jį įgyvendinančią konfigūraciją.
03
04
05Standartai
Kritiškiausios kompiliavimo ir pristatymo konvejerių rizikos.
OWASP Foundation
Kompiliavimo artefaktų vientisumo ir kilmės reikalavimai.
Open Source Security Foundation
Saugaus programinės įrangos kūrimo praktikos, su kuriomis siejami radiniai.
NIST
Kiekvieno radinio pavojingumo balas ir vektorius.
FIRST
Kiekvieną radinį lemiančios silpnosios vietos klasė.
The MITRE Corporation
06Klausimai
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.
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.
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
Užklausos kodas
Išsaugokite šį kodą: toliau bendraudami su jumis visada jį nurodysime.
Pirmajame atsakyme niekada neprašome apmokėjimo, slaptažodžių ar nuotolinės prieigos.