Napad na PyTorch infrastrukturu, ugrožavanje repozitorija i izdanja

Otkriveni su detalji napada na infrastrukturu korištenu za razvoj okvira za strojno učenje PyTorch. Ovaj napad omogućio je izdvajanje pristupnih ključeva dovoljnih za postavljanje proizvoljnih podataka u repozitorije izdanja projekta na GitHubu i AWS-u, kao i za ubrizgavanje koda u glavnu granu repozitorija i umetanje stražnjih vrata kroz ovisnosti. Lažno predstavljanje izdanja PyTorcha moglo se koristiti za napad na velike tvrtke poput Googlea, Mete, Boeinga i Lockheed Martina, koje koriste PyTorch u svojim projektima. Meta je istraživačima platila 16250 dolara putem svog programa nagrađivanja za informacije o problemu.

Suština napada je mogućnost izvršavanja vašeg koda na poslužitelji kontinuirana integracija, koja ponovno gradi i pokreće zadatke za testiranje novih promjena poslanih u repozitorij. Problem utječe na projekte koji koriste vlastite vanjske "Self-Hosted Runner" rukovatelje s GitHub Actions. Za razliku od tradicionalnih GitHub Actions, Self-Hosted rukovatelji rade samostalno, a ne unutar GitHubove infrastrukture. poslužitelji ili virtualni strojevi koje podržavaju programeri.

Pokretanje poslova izgradnje na vlastitim poslužiteljima omogućuje vam pokretanje koda koji može skenirati internu mrežu tvrtke, pretraživati ​​lokalni datotečni sustav za ključeve za šifriranje i tokene za pristup te analizirati varijable okruženja s parametrima za pristup vanjskoj pohrani ili uslugama u oblaku. Bez odgovarajuće izolacije okruženja izgradnje, otkriveni povjerljivi podaci mogu se poslati napadačima izvana, na primjer, putem poziva vanjskim API-jima. Gato, alat koji analizira javno dostupne datoteke tijeka rada i zapisnike izvršavanja CI poslova, može se koristiti za utvrđivanje koriste li projekti Self-Hosted Runner.

U PyTorchu i mnogim drugim projektima koji koriste Self-Hosted Runner, samo programeri čije su promjene prethodno pregledane i uključene u kodnu bazu projekta smiju pokretati poslove izgradnje. Status "suradnika" pri korištenju zadanih postavki repozitorija omogućuje vam pokretanje rukovatelja GitHub Actions prilikom slanja zahtjeva za povlačenjem i stoga izvršavanje vašeg koda u bilo kojem okruženju GitHub Actions Runnera povezanom s repozitorijem ili organizacijom koja hostira projekt.

Veza na status "suradnika" pokazala se lakom za zaobići: jednostavno se pošalje manja promjena i pričekuje da se prihvati u kodnu bazu. Nakon toga, programer je automatski dobio status aktivnog suradnika, što je omogućilo testiranje zahtjeva za povlačenjem u CI infrastrukturi bez zasebnog pregleda. Kako bi se dobio status aktivnog programera tijekom eksperimenta, napravljene su manje kozmetičke promjene kako bi se ispravile tipografske pogreške u dokumentaciji. Kako bi se dobio pristup PyTorch repozitoriju i oslobodila pohrana, napad je, tijekom izvršavanja koda u "Self-Hosted Runneru", presreo GitHub token koji se koristi za pristup repozitoriju iz procesa izgradnje, kao i AWS ključeve koji se koriste za spremanje rezultata izgradnje.

Problem nije specifičan za PyTorch i utječe na mnoge druge velike projekte koji koriste zadane postavke "Self-Hosted Runner" u GitHub Actions. Na primjer, prijavljeni su slični napadi, uključujući instaliranje backdoora u nekoliko velikih kriptovaluta novčanika i blockchain projekata s tržišnom kapitalizacijom od milijardu dolara, mijenjanje izdanja Microsoft Deepspeeda i TensorFlowa, kompromitiranje jedne od CloudFlareovih aplikacija i izvršavanje koda na računalu unutar Microsoftove mreže. Detalji ovih incidenata još nisu objavljeni. Istraživači su podnijeli preko 20 zahtjeva za nagradu u ukupnom iznosu od nekoliko stotina tisuća dolara putem postojećih programa za nagradu za greške.

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster