Google predstavil projekt OSS Rebuild na identifikáciu skrytých zmien v balíkoch.

Spoločnosť Google predstavila projekt OSS Rebuild, ktorý je určený na identifikáciu skrytých zmien v hotových balíkoch zverejnených v repozitároch. Práca OSS Rebuild je založená na koncepcii reprodukovateľných zostáv a spočíva v kontrole zhodnosti balíka umiestneného v repozitári s balíkom získaným na základe prekompilácie z referenčného zdrojového kódu zodpovedajúceho deklarovanej verzii balíka. Kód nástroja je napísaný v jazyku Go a šíri sa pod licenciou Apache 2.0.

V súčasnosti je v OSS Rebuild implementovaná podpora verifikácie balíkov z repozitárov NPM (JavaScript/TypeScript), PyPI (Python) a Crates.io (Rust). V budúcnosti plánujú rozšíriť počet podporovaných repozitárov. V praxi nástroj umožňuje identifikovať varianty útokov triedy „supply chain“, pri ktorých po kompromitácii účtov správcov alebo diverzov v projekte je do repozitára zverejnené škodlivé aktualizovanie. Pri tom kód v zdrojovom repozitári základného projektu zostáva správny a škodlivé zmeny sú vykonávané iba v hotových balíkoch.

Systém podľa možnosti automaticky vytvára scénar pre reprodukovateľnú zostavu vybraného balíka, pričom využíva heuristiku a vyberá parametre, ktoré umožnia dosiahnuť identitu artefaktov dodávaných v balíku. Ak sa balík umiestnený v repozitári nedá reprodukovať automaticky, je možné manuálne pridať špecifikáciu zostavy. Po tom, čo sa podarí reprodukovať balík, nástroj OSS Rebuild uchováva opis procesu zostavy na ďalšiu kontrolu nových verzií balíka. Dodatočne sa zverejňuje informácia na verifikáciu pomocou rámca SLSA.

Po vykonaní kontroly konkrétnej verzie balíka sa vytvárajú dáta attestácie, ktoré môžu byť použité inými na posúdenie už verifikovaných balíkov. Kontrolu je možné uskutočniť cez spustenie príkazového nástroja alebo porovnaním hash, uloženého v samostatnom cloude. Infrastruktúru na kontrolu balíkov je možné rozvinúť na vlastnom serveri. Rovnako je možné využiť informácie o kontrolách vykonávaných v Google pre niekoľko tisíc balíkov.

Ako príklady rôznych metód útokov, proti ktorým by mohol OSS Rebuild chrániť, sú uvedené pridávanie backdooru do XZ, vkladanie škodlivého kódu do oficiálneho JavaScriptového klienta pre kryptomenu Solana a substitúcia zmien prostredníctvom Action-handlera changed-files:

  • V prípade projektu XZ kód v repozitári neobsahoval podozrivé zmeny, pričom vytvárajúce backdoor škodlivé komponenty boli dodané vo vnútri súborov používaných v testovacom súbore na overenie správneho fungovania dekompresora XZ. Backdoor sa aktivoval na úrovni systému zostavovania, pričom samotný zdrojový kód XZ súhlasil s kódom z repozitára. Aktivujúce backdoor m4-makrá pre nástroje Automake boli zahrnuté iba v hotovom archíve s kódom a neboli prítomné v repozitári. Na odhaľovanie podobných útokov sa v OSS Rebuild aplikuje dynamická analýza dodávaných artefaktov, ciest vykonávania a podozrivých operácií.
  • Substitúcia škodlivých zmien v knižnici @solana/web3.js sa udiala kvôli kompromitácii účtu maintainera, pričom boli použité metódy sociálneho inžinierstva a phishingu. V repozitári NPM bola zverejnená nová verzia, ktorá obsahovala škodlivé zmeny. V Git-repozitári projektu táto verzia vytvorená nebola a škodlivé zmeny boli prítomné iba v výslednom balíku. Ochrana v tomto prípade spočíva v identifikácii v balíku kódu, ktorý chýba v hlavnom repozitári.
  • Kompromitácia repozitára spracovateľa changed-files umožnila uskutočniť útok na projekty používajúce changed-files na sledovanie zmien súborov a adresárov v infraštruktúre kontinuálnej integrácie založenej na GitHub Actions. Na ochranu pred substitúciou zmien po kompromitácii zostavovacieho prostredia sa v OSS Rebuild používa sledovanie zmien a podozrivej aktivity v štandardizovaných obmedzených zostavovacích prostrediach.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster