Google pakkus ettepaneku SLSA, et kaitsta arendamise protsessis pahatahtlike muudatuste eest

Google esitles raamistiku SLSA (Supply-chain Levels for Software Artifacts), mis koondab olemasolevaid kogemusi arendusinfotehnoloogia kaitsmiseks koodikirjutamise, testimise, koostamise ja toote levitamise etappides toimuvate rĂŒnnakute vastu.

Arendusprotsessid muutuvad ĂŒha keerulisemaks ja sĂ”ltuvaks kolmandate osapoolte tööriistadest, luues soodsa keskkonna rĂŒnnakute edasiviimiseks, mis ei keskendu haavatavuste tuvastamisele lĂ”ppproduktiles, vaid arendusprotsessi enda kompromiteerimisele (supply chain rĂŒnnakud, mille eesmĂ€rk on tavaliselt pahatahtlike muudatuste sisestamine koodikirjutamise protsessis, levitatavate komponentide ja sĂ”ltuvuste asendamine).

Raamistik arvestab 8 tĂŒĂŒpi rĂŒnnakutega, mis on seotud ohtudega pahatahtlike muudatuste tegemisel koodikirjutamise, koostamise, testimise ja toote levitamise etappides.

Google pakkus ettepaneku SLSA, et kaitsta arendamise protsessis pahatahtlike muudatuste eest
  • A. Muudatuste lisamine lĂ€htekoodi, mis sisaldavad tagaukse vĂ”i varjatud vigu, mis vĂ”ivad viia haavatavusteni.

    RĂŒnnaku nĂ€ide: "Hypocrite Commits" — katse edastada Linuxi tuumikusse haavatavustega patch'e.

    Pakutud kaitsemeetod: iga muudatuse sĂ”ltumatu ĂŒlevaatus kahe arendaja poolt.

  • B. LĂ€htekoodi haldamise platvormi kompromiteerimine.

    RĂŒnnaku nĂ€ide: pahatahtlike tagauksega commit'ide sisestamine PHP projekti Git-reposiitosse pĂ€rast arendajate paroolide lekkimist.

    Pakutud kaitsemeetod: koodihalduse platvormi kaitse suurendamine (PHP puhul toimus rĂŒnnak vĂ€he kasutusel olnud HTTPS-liidese kaudu, mis lubas muudatuste edastamist parooli abil ilma SSH-vĂ”tme kontrollimiseta, samal ajal kui paroolide hashimiseks kasutati ebaturvalist MD5).

  • C. Muudatuste tegemine koodi edastamise etapis koostamis- vĂ”i pideva integratsiooni sĂŒsteemi (koostatav kood ei vasta repos olevusele).

    RĂŒnnaku nĂ€ide: tagaukse sisestamine Webmini, muudaades koostamisinfrastruktuuri, mis viis repo failide asemel teiste failide kasutamiseni.

    Pakutud kaitsemeetod: koodi terviklikkuse kontrollimine ja allika identifitseerimine koostamisprotsessis. serveris.

  • D. Koostamisplatvormi kompromiteerimine.

    RĂŒnnaku nĂ€ide: SolarWinds rĂŒnnak, mille kĂ€igus tagati koostamisprotsessis tagaukse sisestamine SolarWinds Orion tootesse.

    Pakutud kaitsemeetod: tÀiustatud turvameetmete rakendamine kogumisplatvormi jaoks.

  • E. Kahjuliku koodi levitamine halva kvaliteediga sĂ”ltuvuste kaudu.

    RĂŒnnaku nĂ€ide: tagaukse lisamine populaarsetesse event-streami teekidesse, lisades kahjutu sĂ”ltuvuse, mis sisaldas kahjulikku koodi ĂŒhes selle sĂ”ltuvuse vĂ€rskendustes (kahjulik muudatus polnud salvestatud git-repositooriumis, vaid esines ainult valmis MNP-paketis).

    Pakutud kaitsemeetod: SLSA nÔuete rekurssiivne rakendamine kÔigile sÔltuvustele (event-streami korral oleks kokkupanek, mis ei vasta pÔhigiti repositooriumi sisule, tuvastatud).

  • F. Artefaktide laadimine, mida ei ole loodud CI/CD sĂŒsteemis.

    RĂŒnnaku nĂ€ide: kahjuliku koodi lisamine CodeCov skripti, mis lubas hĂ€kkeritel juurdepÀÀs klientide pideva integreerimise sĂŒsteemides hoitavatele andmetele.

    Pakutud kaitsemeetod: artefaktide pÀritolu ja terviklikkuse jÀlgimine (CodeCov puhul oleks tulnud tuvastada, et codecov.io veebisaidilt saadud Bash Uploader skript ei vasta projektirepositooriumi koodile).

  • G. Pakettide repositooriumi kompromiteerimine.

    RĂŒnnaku nĂ€ide: uurijatel Ă”nnestus seadistada peeglid mĂ”nede populaarsete pakettide repositooriumide jaoks, et levitada kahjulikke pakette nende kaudu.

    Pakutud kaitsemeetod: Kontrollige, et levitatavad artefaktid on loodud deklareeritud lÀhtefailidest.

  • H. Kasutaja segiajamise viisi kandev vale paketi installimine.

    RĂŒnnaku nĂ€ide: tĂŒĂŒpkoormuse kasutamine (NPM, RubyGems, PyPI) pakettide repositooriumides, mis on sarnased populaarsetele rakendustele (nĂ€iteks coffe-script kirjutamises coffee-script asemel).

MĂ€rgistatud ohtude blokeerimiseks pakub SLSA soovituste komplekti ning tööriistu metandmete automatiseerimise jaoks auditi jaoks. SLSA ĂŒldistab tavalisi rĂŒnnaku meetodeid ja tutvustab kaitse tasemeid. Iga tase esitab teatud nĂ”uded infrastruktuurile, mis vĂ”imaldab tagada arendamisel kasutatavate artefaktide terviklikkust. Mida kĂ”rgem on toetatav SLSA tase, seda rohkem kaitsemeetmeid on rakendatud ja seda paremini on infrastruktuur kaitstud tĂŒĂŒpiliste rĂŒnnakute eest.

  • SLSA 1 nĂ”uab, et kogumise protsess oleks tĂ€ielikult automatiseeritud ja genereeriks metainfo („provenance“) selle kohta, kuidas artefaktid on kogutud, sealhulgas teavet algsete tekstide, sĂ”ltuvuste ja kogumise protsessi kohta (GitHub Actions jaoks on ette nĂ€htud metainfo generaatori nĂ€ide auditeerimiseks). SLSA 1 ei hĂ”lma kuritarvitamise vastu kaitselemente, vaid tuvastab lihtsalt koodi ja pakub metainfo haldamiseks haavatavuste ja riskide analĂŒĂŒsi jaoks.
  • SLSA 2 laiendab esimest taset nĂ”udega kasutada versioonihaldussĂŒsteemi ja kogumise teenuseid, mis genereerivad autentitud metainfo. SLSA 2 rakendamine vĂ”imaldab jĂ€lgida koodi pĂ€ritolu ja takistab autoriseerimata muudatuste tegemist koodis, kui kasutatakse usaldusvÀÀrseid kogumise teenuseid.
  • SLSA 3 kinnitab, et algsed tekstid ja kogumise platvorm vastavad standardite nĂ”uetele, mis tagavad koodi auditeerimise vĂ”imaluse ja esitatud metainformatsiooni terviklikkuse. Eeldatakse, et auditeerijad saavad sertifitseerida platvorme vastavuse kontrollimiseks standardite nĂ”uetele.
  • SLSA 4 — kĂ”rgeim tase, mis tĂ€iendab eelnevaid tasemeid jĂ€rgmiste nĂ”uetega:
    • Kohustuslik kĂ”igi muudatuste lĂ€bivaatamine kahe erineva arendaja poolt.
    • KĂ”ik kogumise sammud, kood ja sĂ”ltuvused peavad olema tĂ€ielikult deklareeritud, kĂ”ik sĂ”ltuvused peavad olema eraldi vĂ€lja tĂ”mmatud ja kontrollitud, ning kogumise protsess peab toimuma ilma vĂ”rguĂŒhenduseta.
    • Korduvate kogemise protsessi rakendamine — vĂ”imalus kordata kogumise protsessi omal kĂ€el ja veenduda, et tĂ€idetav fail on koostatud esitatud algsetest tekstidest.

    Google pakkus ettepaneku SLSA, et kaitsta arendamise protsessis pahatahtlike muudatuste eest


    Allikas: opennet.ru
Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster