Google pakkus vÀlja SLSA, et kaitsta arendusprotsessi pahatahtlike muudatuste eest

Google esitles SLSA (Supply-chain Levels for Software Artifacts) raamistikku, mis ĂŒldistab olemasolevaid kogemusi arendusinfrastruktuuri kaitsmisel rĂŒnnakute eest, mis toimuvad koodi kirjutamise, testimise, koostamise ja toote levitamise etappidel.

Arendusprotsessid muutuvad ĂŒha keerukamaks ja sĂ”ltuvamaks kolmandate osapoolte tööriistadest, mis loob soodsa keskkonna rĂŒnnakute edendamiseks, mis ei keskendu lĂ”pp-produkti haavatavuste avastamisele ja Ă€rakasutamisele, vaid arendusprotsessi enda kompromiteerimisele (supply chain rĂŒnnakud, mis on tavaliselt suunatud pahatahtlike muudatuste sisestamisele koodi kirjutamise etappides, levitatavate komponentide ja sĂ”ltuvuste asendamisele).

Raamistik arvestab 8 tĂŒĂŒpi rĂŒnnakutega, mis on seotud pahatahtlike muudatuste tegemise ohtudega koodi arendamise, koostamise, testimise ja toote levitamise etappidel.

Google pakkus vÀlja SLSA, et kaitsta arendusprotsessi pahatahtlike muudatuste eest
  • A. Muudatuste lisamine lĂ€htekoodile, mis sisaldavad tagavarasid vĂ”i varjatud vigu, mis viivad haavatavusteni.

    RĂŒnnaku nĂ€ide: 'Hypocrite Commits' — katse edastada Linuxi tuumale haavatavustega patĆĄe.

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

  • B. Allika koodihalduse platformi kompromiteerimine.

    RĂŒnnakute nĂ€ide: pahatahtlike commit'ide sisestamine PHP projekti Git-repositooriumisse tagauksega pĂ€rast arendajate paroolide leket.

    Pakutav kaitsemeetod: koodihalduse platvormi kaitse suurendamine (PHP puhul toimus rĂŒnnak vĂ€he kasutatud HTTPS-liidese kaudu, mis lubas muudatusi saata parooliga sisselogimisel ilma SSH-vĂ”tme kontrollita, samas kui paroolide hash'imiseks kasutati usaldusvÀÀrset MD5-d).

  • C. Muudatuste tegemine koodi edastamisel koostamis- vĂ”i pideva integreerimise sĂŒsteemi (tĂ€idab koodi, mis ei vasta repositooriumi koodile).

    RĂŒnnakute nĂ€ide: tagaukse sisestamine Webmin'i, tehes muudatusi koostamisstruktuuris, mis viis sisse failide kasutamiseni, mis erinevad repositooriumi failidest.

    Pakutav kaitsemeetod: Koodi terviklikkuse kontrollimine ja allika tuvastamine, kust kood on saadud koostamise kÀigus. serveril.

  • D. Koostamisplatvormi kompromiteerimine.

    RĂŒnnaku nĂ€ide: SolarWinds'i rĂŒnnak, mille kĂ€igus tagati rĂŒnde ajal tagaukse sisestamine tootes SolarWinds Orion.

    Ettepanek kaitsemeetod: tÀiustatud turvameetmete rakendamine ehitusplatvormil.

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

    RĂŒnnaku nĂ€ide: tagaukse sisestamine populaarsetesse event-stream teekidesse, lisades kahjutuna nĂ€iva sĂ”ltuvuse, mis sisaldas hiljem selle sĂ”ltuvuse ĂŒhes uuenduses kahjulikku koodi (kahjulik muudatus ei kajastunud git-repositooriumis ning oli olemas vaid valmis MNP-pakendis).

    Ettepanek kaitsemeetod: SLSA nÔuete retsidiivne rakendamine kÔikidele sÔltuvustele (event-stream'i puhul oleks kontroll tuvastanud, et koodi ehitus ei vasta pÔhigiti-repositooriumi sisule).

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

    RĂŒnnaku nĂ€ide: kahjuliku koodi lisamine CodeCov skripti, mis vĂ”imaldas rĂŒndajatel hankida teavet, mis on salvestatud klientide pideva integratsiooni keskkondades.

    Pakutud kaitsemeetod: allika ja artefaktide terviklikkuse kontroll (CodeCov puhul vÔib olla avastatud, et codecov.io veebisaidilt edastatav Bash Uploader skript ei vasta projekti hoidla koodile).

  • G. Paki hoidla kompromiteerimine.

    RĂŒnnakute nĂ€ide: teadlased suutsid vĂ€lja tuua peegeldusi mĂ”nest populaarsemast pakihoidlast, et levitada nende kaudu pahavara pakette.

    Pakutud kaitsemeetod: kontroll, et levitatavad artefaktid on kokku pandud deklareeritud lÀhtekoodidest.

  • H. Kasutaja segadusse ajamine vale paketi installimiseks.

    RĂŒnnakute nĂ€ide: tĂŒĂŒpide naljakas kirjutamine (NPM, RubyGems, PyPI) pakihoidlates, et paigutada sinna paketid, mis sarnanevad kirjutamise poolest populaarsetele rakendustele (nĂ€iteks coffe-script asemel coffee-script).

Ahnub SLSA pakub soovituste komplekti ja tööriistu, et automatiseerida auditiks vajalike metaandmete loomist, et blokeerida tuvastatud ohud. SLSA kogub kokku rĂŒndeviisid ja tutvustab kaitsetasemeid. Iga tase esitab kindlad nĂ”uded infrastruktuurile, mis tagab arendusprotsessis kasutatavate artefaktide terviklikkuse. 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 ehitusprotsess oleks tĂ€ielikult automatiseeritud ja genereeriks metaandmed („provenance”) selle kohta, kuidas artefakte koguti, sealhulgas teavet lĂ€htekoodide, sĂ”ltuvuste ja ehitamisprotsessi kohta (GitHubi tegevuste jaoks on ette nĂ€htud nĂ€idis auditingu metaandmete generaator). SLSA 1 ei sisalda kaitsereĆŸiimide elemente, et vĂ€ltida pahatahtlikke muudatusi, vaid vĂ”imaldab lihtsalt tuvastada koodi ja esitab metaandmed haavatavuste haldamiseks ja riskide analĂŒĂŒsiks.
  • SLSA 2 — laiendab esimest taset nĂ”udega kasutada versioonihaldussĂŒsteeme ja ehitusteenuseid, mis genereerivad autentitud metaandmeid. SLSA 2 rakendamine vĂ”imaldab jĂ€lgida koodi pĂ€ritolu ja takistab volitamata muudatuste tegemist koodis, kui kasutatakse usaldusvÀÀrseid ehitusteenuseid.
  • SLSA 3 — kinnitab, et allikakoodid ja ehitusplatvorm vastavad standardite nĂ”uetele, mis tagavad koodi auditi vĂ”imaluse ja tagavad esitatud metaandmete terviklikkuse. Eeldatakse, et auditeerijad saavad sertifitseerida platvorme standardite nĂ”uetele vastavuse osas.
  • SLSA 4 — kĂ”rgeim tase, mis tĂ€iendavad eelnevaid tasemeid jĂ€rgmiste nĂ”uetega:
    • KĂ”igi muudatuste kohustuslik ĂŒlevaatus kahe erineva arendaja poolt.
    • KĂ”ik ehitusetapid, kood ja sĂ”ltuvused peavad olema tĂ€ielikult deklareeritud, kĂ”ik sĂ”ltuvused peavad olema eraldi vĂ€lja tĂ”mmatud ja kontrollitud, ning ehitusprotsess peab toimuma ilma vĂ”rgu ligipÀÀsuta.
    • Kordusprotsessi rakendamine — vĂ”imalus korrata koostamisprotsessi iseseisvalt ja veenduda, et tĂ€itmisfail on loodud esitatud lĂ€htekoodidest.

    Google pakkus vÀlja SLSA, et kaitsta arendusprotsessi pahatahtlike muudatuste eest


    Allikas: opennet.ru
Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster