Google tutvustas OSS Rebuild projekti, et tuvastada pakettides varjatud muudatusi

Google esitles OSS Rebuild projekti, mis on mõeldud peidetud muudatuste avastamiseks valmistoodete paketides, mis avaldatakse hoidlatest. OSS Rebuild töö põhineb uuesti toodetavate kogumite kontseptsioonil ja seisneb paketi vastavuse kontrollimises, mis asub hoidlas, pakettide suhtes, mis on saadud viidatud versiooni allika koodist uuesti koostamise kaudu. Tööriista kood on kirjutatud Go keeles ja levitatakse litsentsi Apache 2.0 alusel.

Praegu toetab OSS Rebuild NPM (JavaScript/TypeScript), PyPI (Python) ja Crates.io (Rust) hoidlatest pakettide kinnitust. Tulevikus plaanitakse toetatavate hoidlate arvu laiendada. Praktiliselt võimaldab tööriist tuvastada tarnete ahela rünnakute variante, mille käigus, pärast kaasnevate kontode kompromiteerimist või projekti sees toimuva diversiooni korral, avaldatakse hoidlas pahatahtlik uuendus. Samal ajal jääb põhiprojekti algne kood õigeks, kuid pahatahtlikud muudatused tehakse ainult valmistoodetesse.

Süsteem genereerib automaatselt võimalusel skripti valitud paketile reprodutseeritava koostamise jaoks, kasutades heuristikat ja kohandades parameetreid, et saavutada paketi artefaktide identiteet. Kui paketti ei suuda automaatselt reprodutseerida, on võimalik käsitsi lisada koostamise spetsifikatsioon. Pärast paketi reprodutseerimist salvestab OSS Rebuild tööriist koostamisprotsessi kirjelduse uute paketiversioonide edasise kontrollimise jaoks. Samuti avaldatakse teavet verifitseerimise jaoks, kasutades SLSA raamistikku.

Pärast paketi konkreetse versiooni kontrollimist genereeritakse atesteerimisandmed, mida saavad kasutada teised, et hinnata juba verifitseeritud pakette. Kontrolli saab teostada käsurea utiliidi käivitamise või eraldi pilvehoidlas salvestatud räsimärgi võrdlemise kaudu. Pakettide kontrollimiseks vajalik infrastruktuur on võimalik ülesseadmiseks isiklikult. serverilSamuti on saadaval teave Google'i kontrollide kohta, mis on läbi viidud mitme tuhande paketi jaoks.

OSS Rebuildi kaitseks erinevate rünnete meetodite näidetena toovad välja tagaukse lisamise XZ-sse, pahavara sisestamise ametlikku JavaScripti kliendisse krüptovaluuta Solana jaoks ning muudatuste sisestamise läbi Actions-i muutunud failide töötleja:

  • XZ projekti puhul ei sisaldanud repositooriumi kood kahtlasi muudatusi, samas kui tagaukse loomiseks vajalikud pahavara komponendid olid sisse ehitatud testkomplektis kasutatavatesse failidesse, et kontrollida XZ dekompressori funktsionaalsust. Tagauks aktiveerus ehitusprotsessi tasandil, samas kui XZ lähtekood vastas repositooriumis olevale koodile. Tagaukse aktiveerimise m4-makrosid Automake tööriistakomplektis sisaldusid ainult valmis arhiivis koos koodiga ja neid ei olnud repositooriumis. Taoliste rünnete tuvastamiseks kasutab OSS Rebuild dünaamilist analüüsi pakendis olevate artefaktide, täitmisradade ja kahtlaste toimingute osas.
  • Malware insertion into the @solana/web3.js library occurred due to the compromise of the maintainer's account using social engineering and phishing methods. A new release, which included the malicious changes, was posted in the NPM repository. This release was not created in the project's Git repository, and the malicious changes were present only in the resulting package. Protection in this case involves identifying code in the package that is absent from the main repository.
  • The compromise of the changed-files handler repository allowed an attack on projects using changed-files to track file and directory changes in GitHub Actions-based continuous integration infrastructure. To protect against injection of changes after the compromise of the build environment, OSS Rebuild employs monitoring for changes and suspicious activity in standardized stripped-down build environments.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster