Útok na infraštruktúru PyTorch, ohrozenie úložiska a vydaní

Boli odhalené podrobnosti o útoku na infraštruktúru použitú pri vývoji rámca strojového učenia PyTorch, čo umožnilo extrahovať prístupové kľúče dostatočné na umiestnenie ľubovoľných údajov do úložiska s vydaniami projektu na GitHub a AWS, ako aj nahradiť kód. v hlavnej vetve úložiska a pridajte zadné vrátka prostredníctvom závislostí. Spoofing vydania PyTorch by sa mohol použiť na útok na veľké spoločnosti, ako sú Google, Meta, Boeing a Lockheed Martin, ktoré používajú PyTorch vo svojich projektoch. V rámci programu Bug Bounty zaplatila Meta výskumníkom 16250 XNUMX dolárov za informácie o probléme.

Podstatou útoku je možnosť spustiť váš kód na serveroch s nepretržitou integráciou, ktoré vykonávajú prestavby a spúšťajú úlohy na testovanie nových zmien odoslaných do úložiska. Problém sa týka projektov, ktoré používajú svoje vlastné externé obslužné nástroje „Self-Hosted Runner“ s akciami GitHub. Na rozdiel od tradičných akcií GitHub, samoobslužné obslužné nástroje nebežia na infraštruktúre GitHub, ale na vlastných serveroch alebo vo virtuálnych strojoch spravovaných vývojármi.

Vykonávanie úloh zostavovania na vašich serveroch vám umožňuje organizovať spustenie kódu, ktorý dokáže skenovať internú sieť podniku, vyhľadávať v lokálnom FS šifrovacie kľúče a prístupové tokeny a analyzovať premenné prostredia s parametrami pre prístup k externému úložisku alebo cloudovým službám. Pri absencii riadnej izolácie prostredia zostavy môžu byť nájdené dôverné údaje odoslané externe útočníkom, napríklad prostredníctvom prístupu k externým API. Na určenie použitia Self-Hosted Runner projektmi je možné použiť súpravu nástrojov Gato na analýzu verejne prístupných súborov pracovného toku a protokolov spúšťania úloh CI.

V PyTorch a mnohých ďalších projektoch, ktoré používajú Self-Hosted Runner, môžu spúšťať zostavovacie úlohy iba vývojári, ktorých zmeny boli predtým recenzované a zahrnuté do kódovej základne projektu. Stav „prispievateľa“ pri použití predvolených nastavení v úložisku umožňuje spúšťať obslužné nástroje akcií GitHub pri odosielaní žiadostí o stiahnutie a podľa toho spustiť váš kód v akomkoľvek prostredí GitHub Actions Runner priradenom k ​​úložisku alebo organizácii, ktorá dohliada na projekt.

Ukázalo sa, že prepojenie na stav „prispievateľa“ sa dá ľahko obísť - stačí najskôr odoslať menšiu zmenu a počkať na jej prijatie do kódovej základne, po ktorej vývojár automaticky získal status aktívneho účastníka, ktorých požiadavky na stiahnutie môžu byť testované v infraštruktúre CI bez samostatného overovania. Na dosiahnutie aktívneho stavu vývojára experiment zahŕňal drobné kozmetické úpravy na opravu preklepov v dokumentácii. Aby sa získal prístup k úložisku a úložisku vydaní PyTorch, útok pri vykonávaní kódu v „Self-Hosted Runner“ zachytil token GitHub používaný na prístup k úložisku z procesov zostavovania, ako aj kľúče AWS používané na uloženie výsledkov zostavovania. .

Tento problém nie je špecifický pre PyTorch a týka sa mnohých ďalších veľkých projektov, ktoré používajú predvolené nastavenia pre „Self-hosted Runner“ v akciách GitHub. Napríklad bola spomenutá implementácia podobných útokov s cieľom nainštalovať zadné vrátka do niektorých veľkých kryptomenových peňaženiek a blockchain projektov s miliardovou kapitalizáciou, vykonať zmeny vo vydaniach Microsoft Deepspeed a TensorFlow, kompromitovať jednu z aplikácií CloudFlare a tiež spustiť kód na počítači v sieti Microsoft. Podrobnosti o týchto incidentoch zatiaľ neboli zverejnené. V rámci existujúcich bug bounty programov výskumníci podali viac ako 20 žiadostí o odmeny v hodnote niekoľko stoviek tisíc dolárov.

Zdroj: opennet.ru

Pridať komentár