Google propozoi SLSA për mbrojtje nga ndryshimet keqdashëse në procesin e zhvillimit

Kompania Google prezantoi kornizën SLSA (Nivelet e supply-chain për Artifaktet e Softuerit), e cila përmbledh përvojën ekzistuese në mbrojtjen e infrastrukturës së zhvillimit nga sulmet që ndodhin gjatë fazave të shkrimit të kodit, testimit, ndërtimit dhe shpërndarjes së produktit.

Proceset e zhvillimit po bëhen gjithnjë më të ndërlikuara dhe të varura nga mjete të jashtme, gjë që krijon kushte të favorshme për përshpejtimin e sulmeve, që nuk janë të lidhura me identifikimin dhe shfrytëzimin e dobësive në produktin fundor, por me komprometimin e vet procesit të zhvillimit (sulmet "supply chain", që zakonisht synojnë të inkorporojnë ndryshime të dëmshme gjatë shkrimit të kodit, zëvendësimi i komponenteve dhe varësive që shpërndahen).

Korniza merr parasysh 8 lloje sulmesh që lidhen me kërcënimet e inkorporimit të ndryshimeve të dëmshme në fazën e zhvillimit të kodit, ndërtimit, testimit dhe shpërndarjes së produktit.

Google propozoi SLSA për mbrojtje nga ndryshimet keqdashëse në procesin e zhvillimit
  • A. Inkorpore nĂ« kodin burimor ndryshime qĂ« pĂ«rmbajnĂ« backdoor ose gabime tĂ« fshehura qĂ« çojnĂ« nĂ« dobĂ«si.

    Shembulli i sulmit: "Hypocrite Commits" — njĂ« pĂ«rpjekje pĂ«r tĂ« avancuar nĂ« bĂ«rthamĂ«n Linux patches me dobĂ«si.

    Metoda e propozuar e mbrojtjes: rishikimi i pavarur i secilës ndryshim nga dy zhvillues.

  • B. Komprometimi i platformĂ«s pĂ«r menaxhimin e kodit burimor.

    Shembulli i sulmit: inkorporimi i komiteteve të dëmshme me backdoor në Git-repozitorin e projektit PHP pas rrjedhjes së fjalëkalimeve të zhvilluesve.

    Metoda e propozuar e mbrojtjes: Rritja e mbrojtjes së platformës për menaxhimin e kodit (në rastin e PHP, sulmi u krye përmes një ndërfaqeje HTTPS të pak përdorur, që lejonte dërgimin e ndryshimeve me hyrje me fjalëkalim pa verifikimin e çelësit SSH, ndërsa për hashing-un e fjalëkalimeve ishte përdorur MD5, që në vetvete është i pasigurt).

  • C. BĂ«rja e ndryshimeve gjatĂ« fazĂ«s sĂ« transferimit tĂ« kodit nĂ« sistemin e ndĂ«rtimit ose integrimin e vazhdueshĂ«m (kodit i ndĂ«rtuar nuk i pĂ«rputhet kodit nga repozitorija).

    Shembulli i sulmit: inkorporimi i backdoor në Webmin përmes ndryshimeve në infrastrukturën e ndërtimit, që çoi në përdorimin e skedarëve me kod, të cilët dallohet nga skedarët në repozitorin.

    Metoda e propozuar e mbrojtjes: Kontrolli i integritetit dhe identifikimi i burimit të ardhjes së kodit në ndërtim. server.

  • D. Komprometimi i platformĂ«s sĂ« ndĂ«rtimit.

    Shembulli i sulmit: sulmi SolarWinds, ku gjatë fazës së ndërtimit u siguruar inkorporimi i një backdoor në produktin SolarWinds Orion.

    Metoda e propozuar për mbrojtje: implementimi i masave të avancuara për sigurinë e platformës së ndërtimit.

  • E. PĂ«rhapja e kodit tĂ« dĂ«mshĂ«m pĂ«rmes varĂ«sive tĂ« dobĂ«ta.

    Shembulli i një sulmi: implementimi i një backdoor në bibliotekën popullore event-stream, përmes shtimit të një varësie të pafajshme me përfshirjen e kodit të dëmshëm në një nga përditësimet e kësaj varësie (ndryshimi i dëmshëm nuk u shfaq në git-repozitor, por ishte prezent vetëm në paketën përfundimtare MNP).

    Metoda e propozuar për mbrojtje: aplikimi recursiv i kërkesave SLSA për të gjitha varësitë (në rastin e event-stream, verifikimi do të zbulonte ndërtimin e kodit që nuk përputhej me përmbajtjen e Git-repozitorit kryesor).

  • F. Ngarkimi i artefakteve qĂ« nuk janĂ« krijuar nĂ« sistemin CI/CD.

    Shembulli i një sulmi: shtimi i kodit të dëmshëm në skriptin CodeCov, duke lejuar sulmuesit të nxjerrin informacione të ruajtura në mjediset e sistemeve të integrimit të vazhdueshëm të klientëve.

    Metoda e propozuar për mbrojtje: kontrolli i burimit dhe integritetit të artefakteve (në rastin e CodeCov, do të kishte qenë e mundur të zbulohej se skripti Bash Uploader që ofrohej nga faqja codecov.io nuk përputhej me kodin nga repozitori i projektit).

  • G. Kompromitimi i repozitorĂ«ve tĂ« paketave.

    Shembulli i një sulmi: hulumtuesit arritën të shpalosnin pasqyra të disa repozitorëve të njohur të paketa me qëllim përhapjen e paketave të dëmshme përmes tyre.

    Metoda e propozuar për mbrojtje: kontrollimi që artefaktet e shpërndara të jenë ndërtuar nga burimet e deklaruara.

  • H. Shtimi i konfuzionit te pĂ«rdoruesi pĂ«r tĂ« instaluar paketĂ«n e gabuar.

    Shembulli i një sulmi: përdorimi i typosquatting (NPM, RubyGems, PyPI) për të vendosur në repozitorët e paketave, paketat që duken të ngjashme me aplikacione popullore (p.sh., coffe-script në vend të coffee-script).

PĂ«r tĂ« bllokuar kĂ«to kĂ«rcĂ«nime, SLSA ofron njĂ« set rekomandimesh, si dhe mjete pĂ«r automatizimin e krijimit tĂ« metadatanĂ«ve pĂ«r auditim. SLSA pĂ«rmbledh metodat standarde tĂ« sulmeve dhe prezanton konceptin e niveleve tĂ« mbrojtjes. Çdo nivel paraqet kĂ«rkesa tĂ« caktuara pĂ«r infrastrukturĂ«n, duke garantuar integritetin e artefakteve qĂ« pĂ«rdoren gjatĂ« zhvillimit. Sa mĂ« i lartĂ« tĂ« jetĂ« niveli mbĂ«shtetur SLSA, aq mĂ« shumĂ« mjete mbrojtĂ«se janĂ« implementuar dhe aq mĂ« mirĂ« mbrojtja e infrastrukturĂ«s nga sulmet standarde.

  • SLSA 1 — kĂ«rkon qĂ« procesi i ndĂ«rtimit tĂ« jetĂ« plotĂ«sisht i automatizuar dhe tĂ« gjenerojĂ« metadata (provenance) mbi se si artefaktet janĂ« mbledhur, duke pĂ«rfshirĂ« informacionin mbi tekstet burimore, varĂ«sitĂ« dhe procesin e ndĂ«rtimit (pĂ«r GitHub Actions, Ă«shtĂ« propozuar njĂ« shembull i gjeneratorit tĂ« metadata pĂ«r auditimin). SLSA 1 nuk pĂ«rfshin elementĂ« mbrojtjeje nga ndryshimet e dĂ«mshme, por vetĂ«m identifikon nĂ« mĂ«nyrĂ« tĂ« thjeshtĂ« kodin dhe ofron metadata pĂ«r menaxhimin e dobĂ«sive dhe analizimin e rreziqeve.
  • SLSA 2 — zgjerohet nga niveli i parĂ« me kĂ«rkesĂ«n pĂ«r pĂ«rdorimin e njĂ« sistemi tĂ« menaxhimit tĂ« versioneve dhe shĂ«rbimeve tĂ« ndĂ«rtimit qĂ« gjenerojnĂ« metadata tĂ« autentikuara. PĂ«rdorimi i SLSA 2 lejon ndjekjen e prejardhjes sĂ« kodit dhe parandalon ndryshimet e paautorizuara nĂ« kod, nĂ«se pĂ«rdoren shĂ«rbime ndĂ«rtimi tĂ« besueshme.
  • SLSA 3 — konfirmon se tekstet burimore dhe platforma e ndĂ«rtimit pĂ«rputhen me standardet qĂ« garantiojnĂ« mundĂ«sinĂ« e auditimit tĂ« kodit dhe sigurinĂ« e metadata tĂ« ofrueshme. Supozohet se auditorĂ«t mund tĂ« certifikojnĂ« platformat pĂ«r pĂ«rputhshmĂ«ri me kĂ«rkesat standardeve.
  • SLSA 4 — niveli mĂ« i lartĂ«, plotĂ«son nivelet e mĂ«parshme me kĂ«rkesat e mĂ«poshtme:
    • Rishikimi i detyrueshĂ«m i tĂ« gjitha ndryshimeve nga dy zhvillues tĂ« ndryshĂ«m.
    • TĂ« gjitha hapat e ndĂ«rtimit, kodi dhe varĂ«sitĂ« duhet tĂ« deklarohen plotĂ«sisht, tĂ« gjitha varĂ«sitĂ« duhet tĂ« nxiren veçmas dhe tĂ« verifikohen, dhe procesi i ndĂ«rtimit duhet tĂ« kryhet pa akses nĂ« internet.
    • PĂ«rdorimi i procesit tĂ« ndĂ«rtimit tĂ« ripĂ«rsĂ«ritur — mundĂ«sia pĂ«r tĂ« pĂ«rsĂ«ritur procesin e ndĂ«rtimit vetĂ« dhe tĂ« sigurohet qĂ« skedari ekzekutiv Ă«shtĂ« ndĂ«rtuar nga tekstet burimore tĂ« ofruara.

    Google propozoi SLSA për mbrojtje nga ndryshimet keqdashëse në procesin e zhvillimit


    Burimi: opennet.ru
Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster