Atako al PyTorch-infrastrukturo, kompromitante la deponejon kaj eldonojn

Detaloj pri la atako kontraŭ la infrastrukturo uzata en la disvolviĝo de la maŝinlernada kadro PyTorch estis malkaŝitaj, kio ebligis eltiri alirŝlosilojn sufiĉajn por meti arbitrajn datumojn en la deponejo kun projekt-eldonoj sur GitHub kaj AWS, kaj ankaŭ por anstataŭigi kodon. en la ĉefa branĉo de la deponejo kaj aldonu malantaŭan pordon per dependecoj. PyTorch-eldona falsigo povus esti uzata por ataki grandajn kompaniojn kiel Google, Meta, Boeing kaj Lockheed Martin, kiuj uzas PyTorch en siaj projektoj. Kiel parto de la programo Bug Bounty, Meta pagis al esploristoj $16250 por informoj pri la problemo.

La esenco de la atako estas la kapablo ruli vian kodon sur kontinuaj integrigaj serviloj, kiuj faras rekonstruojn kaj funkciigas laborojn por testi novajn ŝanĝojn senditajn al la deponejo. La problemo influas projektojn, kiuj uzas siajn proprajn eksterajn "Mem-Gastigitan Kurilon" pritraktilojn kun GitHub Agoj. Male al tradiciaj GitHub-Agoj, Mem-Gastigitaj prizorgantoj ne funkcias per la GitHub-infrastrukturo, sed sur siaj propraj serviloj aŭ en virtualaj maŝinoj konservitaj de programistoj.

Efektivigi asembleajn taskojn en viaj serviloj ebligas al vi organizi la lanĉon de kodo, kiu povas skani la internan reton de entrepreno, serĉi en la loka FS ĉifrajn ŝlosilojn kaj alirĵetonojn, kaj analizi mediajn variablojn kun parametroj por aliri eksteran stokadon aŭ nubajn servojn. En foresto de taŭga izolado de la kunigmedio, trovitaj konfidencaj datumoj povas esti senditaj ekstere al atakantoj, ekzemple, per aliro al eksteraj APIoj. Por determini la uzon de Self-Hosted Runner per projektoj, la ilaro Gato povas esti uzata por analizi publike alireblajn laborfludosierojn kaj CI-taskan lanĉajn protokolojn.

En PyTorch kaj multaj aliaj projektoj, kiuj uzas la Mem-Gastigitan Kurilon, nur programistoj, kies ŝanĝoj antaŭe estis reviziitaj kaj inkluzivitaj en la kodbazo de la projekto, rajtas ruli konstrulaborojn. Havi la statuson de "kontribuanto" kiam oni uzas la defaŭltajn agordojn en la deponejo, ebligas lanĉi GitHub Actions-traktistojn dum sendado de tiraj petoj kaj, sekve, efektivigi vian kodon en iu ajn GitHub Actions Runner-medio asociita kun la deponejo aŭ la organizo kontrolanta la projekton.

La ligo al la statuso de "kontribuanto" montriĝis facile preterpasebla - sufiĉas unue sendi malgrandan ŝanĝon kaj atendi, ke ĝi estu akceptita en la kodan bazon, post kio la programisto aŭtomate ricevis la statuson de aktiva partoprenanto, kies tirpetoj rajtas esti testitaj en la CI-infrastrukturo sen aparta konfirmo. Por atingi aktivan programiston, la eksperimento inkludis malgrandajn kosmetikaj ŝanĝojn por korekti erarojn en la dokumentado. Por akiri aliron al la deponejo kaj stokado de PyTorch-eldonoj, la atako dum la ekzekuto de kodo en la "Mem-Hosted Runner" kaptis la GitHub-ĵetonon uzatan por aliri la deponejon de konstruprocezoj, same kiel la AWS-ŝlosilojn uzatajn por konservi la konstrurezultojn. .

La problemo ne estas specifa por PyTorch kaj influas multajn aliajn grandajn projektojn, kiuj uzas la defaŭltajn agordojn por "Mem-Gastigita Kuristo" en GitHub Agoj. Ekzemple, la efektivigo de similaj atakoj estis menciita por instali malantaŭan pordon en iuj grandaj kriptaj monujoj kaj blokĉenaj projektoj kun miliard-dolara kapitaligo, fari ŝanĝojn al la eldonoj de Microsoft Deepspeed kaj TensorFlow, kompromiti unu el la aplikoj CloudFlare kaj ankaŭ ekzekuti. kodon en komputilo en la Mikrosofta reto. Detaloj pri ĉi tiuj okazaĵoj ankoraŭ ne estis malkaŝitaj. Sub ekzistantaj cim-premioprogramoj, esploristoj sendis pli ol 20 petskribojn por rekompencoj valoraj kelkcent mil dolaroj.

fonto: opennet.ru

Aldoni komenton