PyTorch infrastruktūros ataka, pažeidžianti saugyklą ir leidimus

Buvo atskleistos atakos prieš infrastruktūrą, naudojamą kuriant PyTorch mašininio mokymosi sistemą, detalės, kurios leido išgauti prieigos raktus, kurių pakaktų savavališkiems duomenims patalpinti į saugyklą su projekto leidimais GitHub ir AWS, taip pat pakeisti kodą. pagrindinėje saugyklos šakoje ir pridėkite užpakalines duris per priklausomybes. „PyTorch“ laidų klastojimas gali būti naudojamas atakuojant dideles įmones, tokias kaip „Google“, „Meta“, „Boeing“ ir „Lockheed Martin“, kurios savo projektuose naudoja „PyTorch“. Vykdydama programą „Bug Bounty“, „Meta“ sumokėjo tyrėjams 16250 XNUMX USD už informaciją apie problemą.

Atakos esmė yra galimybė paleisti jūsų kodą nuolatinės integracijos serveriuose, kurie atlieka atkūrimą ir atlieka užduotis, kad išbandytų naujus pakeitimus, siunčiamus į saugyklą. Problema turi įtakos projektams, kurie naudoja savo išorinius „Self-Hosted Runner“ tvarkykles su „GitHub Actions“. Skirtingai nuo tradicinių „GitHub Actions“, „self-hosted“ tvarkyklės veikia ne „GitHub“ infrastruktūroje, o savo serveriuose arba kūrėjų prižiūrimose virtualiose mašinose.

Vykdydami surinkimo užduotis savo serveriuose galite organizuoti kodo, kuris gali nuskaityti įmonės vidinį tinklą, paleidimą, vietinėje FS ieškoti šifravimo raktų ir prieigos prieigos raktų ir analizuoti aplinkos kintamuosius su parametrais, skirtais pasiekti išorinę saugyklą arba debesies paslaugas. Jei surinkimo aplinka nėra tinkamai izoliuota, rasti konfidencialūs duomenys gali būti siunčiami užpuolikams iš išorės, pavyzdžiui, naudojant išorines API. Norint nustatyti, kaip projektuose naudoja savarankišką prieglobą, „Gato“ įrankių rinkinys gali būti naudojamas viešai pasiekiamiems darbo eigos failams ir CI užduočių paleidimo žurnalams analizuoti.

„PyTorch“ ir daugelyje kitų projektų, kuriuose naudojamas „Self-Hosted Runner“, tik tiems kūrėjams, kurių pakeitimai anksčiau buvo recenzuoti ir įtraukti į projekto kodų bazę, gali vykdyti kūrimo užduotis. Jei saugykloje naudojate numatytuosius nustatymus, būsena „bendradarbis“ leidžia paleisti „GitHub Actions“ tvarkykles siunčiant užklausas ir atitinkamai vykdyti savo kodą bet kurioje „GitHub Actions Runner“ aplinkoje, susietoje su saugykla arba projektą prižiūrinčia organizacija.

Paaiškėjo, kad nuorodą į „bendrautojo“ būseną buvo lengva apeiti - pakanka iš pradžių pateikti nedidelį pakeitimą ir palaukti, kol jis bus priimtas į kodų bazę, o po to kūrėjas automatiškai gavo aktyvaus dalyvio statusą, kurių ištraukimo užklausas leidžiama tikrinti CI infrastruktūroje be atskiro patikrinimo. Norint pasiekti aktyvaus kūrėjo būseną, eksperimente buvo atlikti nedideli kosmetiniai pakeitimai, siekiant ištaisyti rašybos klaidas dokumentacijoje. Kad būtų galima pasiekti „PyTorch“ leidimų saugyklą ir saugyklą, ataka vykdant kodą „Self-Hosted Runner“ perėmė „GitHub“ prieigos raktą, naudojamą prieigai prie saugyklos iš kūrimo procesų, taip pat AWS raktus, naudojamus kūrimo rezultatams išsaugoti.

Problema nėra būdinga „PyTorch“ ir turi įtakos daugeliui kitų didelių projektų, kurie naudoja numatytuosius „Self-Hosted Runner“ nustatymus „GitHub Actions“. Pavyzdžiui, buvo paminėtas panašių atakų įgyvendinimas siekiant įdiegti užpakalines duris kai kuriose didelėse kriptovaliutų piniginėse ir „blockchain“ projektuose su milijardo dolerių kapitalizacija, atlikti pakeitimus „Microsoft Deepspeed“ ir „TensorFlow“ leidimuose, sukompromituoti vieną iš „CloudFlare“ programų ir taip pat vykdyti kodą kompiuteryje, esančiame „Microsoft“ tinkle. Šių incidentų detalės kol kas neatskleidžiamos. Pagal esamas klaidų kompensavimo programas mokslininkai pateikė daugiau nei 20 paraiškų dėl kelių šimtų tūkstančių dolerių vertės atlygio.

Šaltinis: opennet.ru

Добавить комментарий