Pag-atake sa imprastraktura ng PyTorch, na nakompromiso ang repositoryo at mga release

Inihayag ang mga detalye ng isang pag-atake sa imprastraktura na ginamit upang bumuo ng balangkas ng pag-aaral ng makina ng PyTorch. Ang pag-atake na ito ay nagbigay-daan sa pagkuha ng mga access key na sapat upang maglagay ng arbitrary na data sa mga release repository ng proyekto sa GitHub at AWS, pati na rin ang mag-inject ng code sa master branch ng repositoryo at magpasok ng backdoor sa pamamagitan ng mga dependency. Ang panggagaya ng mga release ng PyTorch ay maaaring ginamit upang atakehin ang malalaking kumpanya tulad ng Google, Meta, Boeing, at Lockheed Martin, na gumagamit ng PyTorch sa kanilang mga proyekto. Binayaran ng Meta ang mga mananaliksik ng $16250 sa pamamagitan ng programang bug bounty nito para sa impormasyon tungkol sa isyu.

Ang esensya ng pag-atake ay ang kakayahang isagawa ang iyong code sa mga server patuloy na integrasyon, na muling binubuo at pinapatakbo ang mga gawain upang subukan ang mga bagong pagbabagong ipinunta sa repository. Ang isyu ay nakakaapekto sa mga proyektong gumagamit ng sarili nilang mga panlabas na "Self-Hosted Runner" handler gamit ang GitHub Actions. Hindi tulad ng tradisyonal na GitHub Actions, ang mga Self-Hosted handler ay tumatakbo nang mag-isa, sa halip na sa loob ng imprastraktura ng GitHub. mga server o virtual mga makinang sinusuportahan ng mga developer.

Ang pagpapatakbo ng mga build job sa sarili mong mga server ay nagbibigay-daan sa iyong magpatakbo ng code na maaaring mag-scan sa panloob na network ng kumpanya, maghanap sa lokal na file system para sa mga encryption key at access token, at pag-aralan ang mga variable ng kapaligiran na may mga parameter para sa pag-access ng panlabas na storage o mga serbisyo sa cloud. Kung walang wastong paghihiwalay ng build environment, ang natuklasang kumpidensyal na data ay maaaring ipadala sa mga umaatake sa labas, halimbawa, sa pamamagitan ng mga tawag sa mga external na API. Ang Gato, isang tool na nagsusuri ng mga file ng workflow na available sa publiko at mga log ng pagpapatupad ng trabaho ng CI, ay maaaring gamitin upang matukoy kung ang mga proyekto ay gumagamit ng Self-Hosted Runner.

Sa PyTorch at marami pang ibang proyekto gamit ang Self-Hosted Runner, tanging ang mga developer na ang mga pagbabago ay nasuri na at kasama sa codebase ng proyekto ang pinapayagang magpatakbo ng mga build job. Ang pagkakaroon ng status na "contributor" kapag ginagamit ang mga default na setting ng repository ay nagbibigay-daan sa iyong patakbuhin ang mga tagapangasiwa ng GitHub Actions kapag nagsusumite ng mga pull request at, samakatuwid, isagawa ang iyong code sa anumang kapaligiran ng GitHub Actions Runner na nauugnay sa repositoryo o sa organisasyong nagho-host ng proyekto.

Ang link sa status na "contributor" ay napatunayang madaling i-bypass: magsumite lang ng maliit na pagbabago at hintayin itong matanggap sa codebase. Pagkatapos nito, awtomatikong natanggap ng developer ang status ng aktibong contributor, na nagpapahintulot sa mga pull request na masuri sa imprastraktura ng CI nang walang hiwalay na pagsusuri. Upang makakuha ng aktibong status ng developer sa panahon ng eksperimento, ginawa ang mga maliliit na pagbabago sa kosmetiko upang itama ang mga typo sa dokumentasyon. Upang makakuha ng access sa PyTorch repository at release storage, ang pag-atake, habang ipinapatupad ang code sa "Self-Hosted Runner," na-intercept ang GitHub token na ginamit upang ma-access ang repository mula sa mga proseso ng build, pati na rin ang mga AWS key na ginamit upang i-save ang mga resulta ng build.

Ang isyu ay hindi partikular sa PyTorch at nakakaapekto sa maraming iba pang malalaking proyekto na gumagamit ng mga default na setting ng "Self-Hosted Runner" sa GitHub Actions. Halimbawa, ang mga katulad na pag-atake ay naiulat, kabilang ang pag-install ng backdoor sa ilang pangunahing cryptocurrency wallet at mga proyekto ng blockchain na may bilyong dolyar na market caps, pagbabago ng Microsoft Deepspeed at TensorFlow release, pagkompromiso sa isa sa mga application ng CloudFlare, at pag-execute ng code sa isang computer sa loob ng Microsoft network. Ang mga detalye ng mga insidenteng ito ay hindi pa nabubunyag. Ang mga mananaliksik ay nagsumite ng higit sa 20 mga kahilingan sa bounty na may kabuuang ilang daang libong dolyar sa pamamagitan ng umiiral na mga programa ng bug bounty.

Pinagmulan: opennet.ru

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS πŸ”₯ Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster