Google har presenterat projektet OSS Rebuild för att identifiera dolda Àndringar i paket.

Google har introducerat projektet OSS Rebuild, som syftar till att identifiera dolda Àndringar i fÀrdiga paket som publiceras i repon. OSS Rebuilds arbete Àr baserat pÄ konceptet reproducibla byggen och handlar om att kontrollera att paketet som finns i repon stÀmmer överens med paketet som erhÄllits genom ombyggnad frÄn den angivna kÀllkoden som motsvarar den angivna paketversionen. Kodverktyget Àr skrivet i Go och distribueras under Apache 2.0-licensen.

För nÀrvarande har OSS Rebuild stöd för verifiering av paket frÄn repon som NPM (JavaScript/TypeScript), PyPI (Python) och Crates.io (Rust). I framtiden planerar man att utöka antalet stödda repon. I praktiken möjliggör verktyget att identifiera attacker av typen "supply chain", dÀr efter att konton har komprometterats eller intriger har intrÀffat i projektet, publiceras en skadlig uppdatering i repon. Vid detta tillfÀlle förblir koden i det ursprungliga repon korrekt, medan skadliga Àndringar endast införs i de fÀrdiga paketen.

Systemet skapar automatiskt ett skript för reproducerbart bygge av det valda paketet, med hjÀlp av heuristik och genom att vÀlja parametrar som möjliggör identiska artefakter i paketet. Om det inte gÄr att reproducera paketet som finns i repon automatiskt, kan man manuellt lÀgga till byggspecifikationen. NÀr paketet har kunnat reproduceras, sparar OSS Rebuilds verktyg en beskrivning av byggprocessen för framtida verifiering av nya versioner av paketet. Dessutom publiceras information för verifiering med hjÀlp av SLSA-ramverket.

Efter att verifieringen av en specifik version av paketet genomförts, genereras certifieringsdata som kan anvÀndas av andra för att bedöma redan verifierade paket. Verifieringen kan genomföras genom att köra kommandoradsverktyget eller genom att jÀmföra hash-vÀrdet som sparats i en separat molnlagring. Infrastruktur för paketverifiering kan sÀttas upp pÄ egen servern. Dessutom kan man fÄ information om verifieringar som utförs av Google för flera tusen paket.

Exempel pÄ olika attackmetoder som OSS Rebuild skulle kunna skydda mot inkluderar att lÀgga till en baksida i XZ, införa skadlig kod i den officiella JavaScript-klienten för kryptovalutan Solana och att införa Àndringar genom changed-files-handlaren.

  • I fallet med projektet XZ innehöll koden i repositoryt inga misstĂ€nkta Ă€ndringar, medan de komponenter som skapade baksidan levererades inuti filer som anvĂ€ndes i testsviten för att kontrollera korrektheten av XZ:s avinstallerare. Baksidan aktiverades pĂ„ byggsystemnivĂ„, och sjĂ€lva koden för XZ överensstĂ€mde med koden i repositoryt. Aktiverande baksida m4-makron för Automake-verktyget inkluderades endast i den fĂ€rdiga arkivfilen med koden och saknades i repositoryt. För att upptĂ€cka sĂ„dana attacker i OSS Rebuild tillĂ€mpas dynamisk analys av paketartefakter, exekveringsvĂ€gar och misstĂ€nkta operationer.
  • Införandet av skadliga Ă€ndringar i biblioteket @solana/web3.js intrĂ€ffade pĂ„ grund av en kompromiss av den ansvariga personens konto, med hjĂ€lp av metoder för social ingenjörskonst och phishing. En ny utgĂ„va med skadliga Ă€ndringar publicerades i NPM-repositoryt. I projektets Git-repository skapades inte denna utgĂ„va, och de skadliga Ă€ndringarna fanns endast i det resulterande paketet. Skyddet i detta fall bestĂ„r av att identifiera kod i paketet som saknas i det primĂ€ra repositoryt.
  • Kompromiss av repositoryt för changed-files möjliggjorde en attack pĂ„ projekt som anvĂ€nder changed-files för att spĂ„ra förĂ€ndringar av filer och kataloger i en GitHub Actions-baserad kontinuerlig integrationsinfrastruktur. För att skydda mot förĂ€ndringsinförande efter en kompromiss av byggmiljön, tillĂ€mpas spĂ„rning av förĂ€ndringar och misstĂ€nkt aktivitet i standardiserade nedskurna byggmiljöer i OSS Rebuild.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster