Atacul asupra infrastructurii PyTorch, compromițând depozitul și versiunile

Au fost dezvăluite detalii despre atacul asupra infrastructurii utilizate în dezvoltarea cadrului de învățare automată PyTorch, ceea ce a făcut posibilă extragerea unor chei de acces suficiente pentru a plasa date arbitrare în depozit cu lansări de proiecte pe GitHub și AWS, precum și pentru a înlocui codul în ramura principală a depozitului și adăugați o ușă în spate prin dependențe. Falsificarea lansării PyTorch ar putea fi folosită pentru a ataca companii mari precum Google, Meta, Boeing și Lockheed Martin care folosesc PyTorch în proiectele lor. Ca parte a programului Bug Bounty, Meta a plătit cercetătorilor 16250 USD pentru informații despre problemă.

Esența atacului este capacitatea de a vă rula codul pe servere de integrare continuă care efectuează reconstrucții și execută joburi pentru a testa noile modificări trimise în depozit. Problema afectează proiectele care folosesc propriile lor handlere externe „Self-Hosted Runner” cu GitHub Actions. Spre deosebire de acțiunile GitHub tradiționale, handlerele auto-găzduite nu rulează pe infrastructura GitHub, ci pe propriile servere sau în mașinile virtuale întreținute de dezvoltator.

Executarea sarcinilor de asamblare pe serverele dvs. vă permite să organizați lansarea unui cod care poate scana rețeaua internă a unei întreprinderi, să căutați în FS local chei de criptare și jetoane de acces și să analizați variabilele de mediu cu parametri pentru accesarea serviciilor de stocare externă sau cloud. În absența unei izolări adecvate a mediului de asamblare, datele confidențiale găsite pot fi trimise extern atacatorilor, de exemplu, prin acces la API-uri externe. Pentru a determina utilizarea Self-Hosted Runner de către proiecte, setul de instrumente Gato poate fi utilizat pentru a analiza fișiere de flux de lucru accesibile public și jurnalele de lansare a activităților CI.

În PyTorch și în multe alte proiecte care utilizează Runner auto-găzduit, numai dezvoltatorii ale căror modificări au fost anterior revizuite de către colegi și incluse în baza de cod a proiectului au voie să ruleze joburi de compilare. Având statutul de „contributor” atunci când utilizați setările implicite în depozit face posibilă lansarea handlerelor GitHub Actions atunci când trimiteți solicitări de extragere și, în consecință, executați codul în orice mediu GitHub Actions Runner asociat cu depozitul sau organizația care supraveghează proiectul.

Legătura către starea „contributor” s-a dovedit a fi ușor de ocolit - este suficient să trimiteți mai întâi o modificare minoră și să așteptați ca aceasta să fie acceptată în baza de cod, după care dezvoltatorul a primit automat statutul de participant activ, ale căror solicitări de extragere pot fi testate în infrastructura CI fără verificare separată. Pentru a obține statutul de dezvoltator activ, experimentul a inclus modificări cosmetice minore pentru a corecta greșelile de scriere din documentație. Pentru a obține acces la depozitul și stocarea versiunilor PyTorch, atacul în timpul executării codului în „Self-Hosted Runner” a interceptat simbolul GitHub folosit pentru a accesa depozitul din procesele de construire, precum și cheile AWS utilizate pentru a salva rezultatele construcției. .

Problema nu este specifică PyTorch și afectează multe alte proiecte mari care folosesc setările implicite pentru „Self-Hosted Runner” în GitHub Actions. De exemplu, implementarea unor atacuri similare a fost menționată pentru a instala o ușă în spate în unele portofele mari de criptomonede și proiecte blockchain cu o capitalizare de un miliard de dolari, pentru a face modificări versiunilor Microsoft Deepspeed și TensorFlow, pentru a compromite una dintre aplicațiile CloudFlare și, de asemenea, pentru a executa cod pe un computer din rețeaua Microsoft. Detaliile acestor incidente nu au fost încă dezvăluite. În cadrul programelor existente de recompense pentru erori, cercetătorii au depus peste 20 de cereri pentru recompense în valoare de câteva sute de mii de dolari.

Sursa: opennet.ru

Adauga un comentariu