Google a prezentat proiectul OSS Rebuild pentru a identifica modificările ascunse în pachete.

Compania Google a prezentat proiectul OSS Rebuild, destinat identificării modificărilor ascunse în pachetele compilate, publicate în repozitorii. Funcționarea OSS Rebuild se bazează pe conceptul de compilări reproducibile și constă în verificarea conformității pachetului disponibil în repozitoriu cu pachetul obținut în urma reîmbinărilor din codul sursă de referință, corespunzător versiunii declarate a pachetului. Codul instrumentarului este scris în limbajul Go și este distribuit sub licența Apache 2.0.

În prezent, OSS Rebuild implementează suport pentru verificarea pachetelor din repozitoriile NPM (JavaScript/TypeScript), PyPI (Python) și Crates.io (Rust). În viitor, se preconizează extinderea numărului de repozitorii suportate. În practică, instrumentarul permite identificarea variantelor de atac din categoria „supply chain”, în cadrul cărora, după compromiterea conturilor de întreținere sau a unei subversiuni în cadrul proiectului, se publică o actualizare malițioasă în repozitoriu. În acest proces, codul din repozitoriul sursă al proiectului principal rămâne corect, iar modificările malițioase sunt efectuate doar în pachetele compilate.

Sistemul generează, dacă este posibil, în mod automat un scenariu pentru o compilare reproducibilă a pachetului selectat, folosind euristică și ajustând parametrii pentru a obține identitatea artefactelor livrate în pachet. Dacă nu se reușește reproducerea pachetului publicat în repozitoriu în mod automat, este posibilă adăugarea manuală a specificației de compilare. După ce pachetul a fost reprodus cu succes, instrumentarul OSS Rebuild salvează descrierea procesului de compilare pentru verificarea ulterioară a noilor versiuni ale pachetului. De asemenea, se publică informații pentru verificare, utilizând cadrul SLSA.

După verificarea unei versiuni specifice a pachetului, se generează date de atestare care pot fi folosite de alții pentru evaluarea pachetelor deja verificate. Verificarea poate fi efectuată prin rularea utilitarului din linia de comandă sau prin compararea hash-ului, salvat într-un depozit cloud separat. Infrastructura pentru verificarea pachetelor poate fi desfășurată pe propriul server. De asemenea, se poate beneficia de informațiile privind verificările executate de Google pentru câteva mii de pachete.

Ca exemple de metode de atac, de la care OSS Rebuild ar putea proteja, sunt adăugarea unui backdoor în XZ, injectarea de cod malițios în clientul oficial JavaScript pentru criptomonedă Solana și inserarea de modificări prin intermediul handler-ului Actions changed-files:

  • În cazul proiectului XZ, codul din repository nu conținea modificări suspecte, iar componentele malițioase care formau backdoor-ul erau livrate în interiorul fișierelor folosite în setul de teste pentru verificarea corectitudinii de funcționare a dezarhivatorului XZ. Backdoor-ul se activa la nivelul sistemului de construire, iar codul sursă XZ coincide cu cel din repository. Macro-urile care activau backdoor-ul pentru toolkit-ul Automake au fost incluse doar în arhiva finală cu codul și au fost absente în repository. Pentru a detecta astfel de atacuri, OSS Rebuild utilizează analiza dinamică a artefactelor livrate în pachet, a căilor de execuție și a operațiunilor suspecte.
  • Inserarea de modificări malițioase în biblioteca @solana/web3.js a avut loc din cauza compromiterii contului de întreținere, folosind metode de inginerie socială și phishing. În repository-ul NPM a fost lansat un nou release, inclusiv modificările malițioase. În Git repository-ul proiectului, acest release nu a fost creat și modificările malițioase au fost prezente doar în pachetul rezultat. Protecția în acest caz se reduce la identificarea în pachet a codului absent în repository-ul principal.
  • Compromiterea repository-ului handler-ului changed-files a permis desfășurarea unui atac asupra proiectelor care folosesc changed-files pentru urmărirea modificărilor fișierelor și directoarelor în infrastructura de integrare continuă bazată pe GitHub Actions. Pentru a proteja împotriva modificărilor inserate după compromiterea mediului de construire, OSS Rebuild utilizează monitorizarea modificărilor și activității suspecte în medii de construire standardizate și restrânse.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster