Hyökkäys PyTorch-infrastruktuuriin, joka vaarantaa arkiston ja julkaisut

PyTorch-koneoppimiskehyksen kehittämisessä käytettyyn infrastruktuuriin kohdistuneen hyökkäyksen yksityiskohdat paljastettiin, mikä mahdollisti pääsyavaimien poimia, jotka riittävät mielivaltaisten tietojen sijoittamiseen arkistoon projektijulkaisujen yhteydessä GitHubissa ja AWS:ssä sekä koodin korvaamisen. arkiston päähaarassa ja lisää takaovi riippuvuuksien kautta. PyTorchin julkaisuhuijausta voitaisiin käyttää isojen yritysten, kuten Googlen, Metan, Boeingin ja Lockheed Martinin, kimppuun, jotka käyttävät PyTorchia projekteissaan. Osana Bug Bounty -ohjelmaa Meta maksoi tutkijoille 16250 XNUMX dollaria tiedoista ongelmasta.

Hyökkäyksen ydin on kyky ajaa koodiasi jatkuvan integroinnin palvelimilla, jotka suorittavat uudelleenrakennuksia ja suorittavat töitä arkistoon lähetettyjen uusien muutosten testaamiseksi. Ongelma vaikuttaa projekteihin, jotka käyttävät omia ulkoisia "Self-Hosted Runner" -käsittelijöitä GitHub-toimintojen kanssa. Toisin kuin perinteiset GitHub-toiminnot, itseisännöidyt käsittelijät eivät toimi GitHub-infrastruktuurissa, vaan omilla palvelimillaan tai kehittäjien ylläpitämillä virtuaalikoneilla.

Kokoonpanotehtävien suorittaminen palvelimillasi mahdollistaa koodin käynnistämisen, joka voi skannata yrityksen sisäisen verkon, etsiä paikallisesta FS:stä salausavaimia ja käyttöoikeuksia sekä analysoida ympäristömuuttujia parametrein ulkoiseen tallennustilaan tai pilvipalveluihin pääsyä varten. Jos kokoonpanoympäristöä ei ole eristetty kunnolla, löydetyt luottamukselliset tiedot voidaan lähettää ulkopuolisille hyökkääjille, esimerkiksi ulkoisten API-liittymien kautta. Self-Hosted Runnerin käytön määrittämiseksi projekteissa Gato-työkalupakin avulla voidaan analysoida julkisesti saatavilla olevia työnkulkutiedostoja ja CI-tehtävien käynnistyslokeja.

PyTorchissa ja monissa muissa Self-Hosted Runneria käyttävissä projekteissa vain kehittäjät, joiden muutokset on aiemmin arvioitu ja sisällytetty projektin koodikantaan, saavat suorittaa rakennustöitä. "Käyttäjä"-tila käytettäessä arkiston oletusasetuksia mahdollistaa GitHub Actions -käsittelijöiden käynnistämisen, kun lähetät vetopyyntöjä, ja vastaavasti suorittaa koodisi missä tahansa GitHub Actions Runner -ympäristössä, joka liittyy arkistoon tai projektia valvovaan organisaatioon.

Linkki "avustaja"-tilaan osoittautui helposti ohitettavaksi - riittää, että lähetät ensin pienen muutoksen ja odotat sen hyväksymistä koodikantaan, minkä jälkeen kehittäjä sai automaattisesti aktiivisen osallistujan tilan, joiden vetopyyntöjä voidaan testata CI-infrastruktuurissa ilman erillistä varmennusta. Aktiivisen kehittäjän tilan saavuttamiseksi kokeilu sisälsi pieniä kosmeettisia muutoksia dokumentaation kirjoitusvirheiden korjaamiseksi. PyTorch-julkaisujen arkistoon ja tallennustilaan pääsyn saamiseksi hyökkäys "Self-Hosted Runner" -sovelluksessa koodia suoritettaessa sieppasi GitHub-tunnuksen, jota käytettiin arkistoon pääsyyn rakennusprosesseista, sekä AWS-avaimet, joita käytettiin koontiversioiden tallentamiseen. .

Ongelma ei koske PyTorchia, ja se vaikuttaa moniin muihin suuriin projekteihin, jotka käyttävät "Self-Hosted Runner" -oletusasetuksia GitHub Actionsissa. Esimerkiksi samankaltaisten hyökkäysten toteuttaminen mainittiin takaoven asentamiseksi joihinkin suuriin kryptovaluuttalompakoihin ja lohkoketjuprojekteihin miljardin dollarin arvolla, muutosten tekeminen Microsoft Deepspeed- ja TensorFlow-julkaisuihin, yhden CloudFlare-sovelluksien vaarantaminen ja myös suorittaminen. koodi Microsoft-verkon tietokoneella. Näistä tapahtumista ei ole vielä kerrottu yksityiskohtia. Olemassa olevien bugipalkkio-ohjelmien puitteissa tutkijat ovat jättäneet yli 20 hakemusta useiden satojen tuhansien dollarien arvoisista palkkioista.

Lähde: opennet.ru

Lisää kommentti