Sulmoni infrastrukturën PyTorch, duke kompromentuar depon dhe lëshimet

U zbuluan detaje të sulmit ndaj infrastrukturës së përdorur në zhvillimin e kornizës së mësimit të makinerisë PyTorch, gjë që bëri të mundur nxjerrjen e çelësave të aksesit të mjaftueshëm për të vendosur të dhëna arbitrare në depo me lëshimet e projektit në GitHub dhe AWS, si dhe për të zëvendësuar kodin në degën kryesore të depove dhe shtoni një derë të pasme përmes varësive. Mashtrimi i lëshimit të PyTorch mund të përdoret për të sulmuar kompanitë e mëdha si Google, Meta, Boeing dhe Lockheed Martin që përdorin PyTorch në projektet e tyre. Si pjesë e programit Bug Bounty, Meta u pagoi studiuesve 16250 dollarë për informacion rreth problemit.

Thelbi i sulmit është aftësia për të ekzekutuar kodin tuaj në serverë të integruar të vazhdueshëm që kryejnë rindërtime dhe ekzekutojnë punë për të testuar ndryshimet e reja të dërguara në depo. Çështja prek projektet që përdorin mbajtësit e tyre të jashtëm "Self-Hosted Runner" me GitHub Actions. Ndryshe nga Veprimet tradicionale të GitHub, mbajtësit e vetë-hostuar nuk funksionojnë në infrastrukturën GitHub, por në serverët e tyre ose në makinat virtuale të mirëmbajtura nga zhvilluesit.

Ekzekutimi i detyrave të montimit në serverët tuaj ju lejon të organizoni lëshimin e kodit që mund të skanojë rrjetin e brendshëm të një ndërmarrje, të kërkojë në FS lokale për çelësat e enkriptimit dhe shenjat e aksesit dhe të analizojë variablat e mjedisit me parametra për të hyrë në ruajtjen e jashtme ose shërbimet cloud. Në mungesë të izolimit të duhur të mjedisit të montimit, të dhënat konfidenciale të gjetura mund të dërgohen nga jashtë te sulmuesit, për shembull, përmes aksesit në API-të e jashtme. Për të përcaktuar përdorimin e Vetë-Hosted Runner nga projektet, paketa e veglave Gato mund të përdoret për të analizuar skedarët e rrjedhës së punës të aksesueshme nga publiku dhe regjistrat e nisjes së detyrave CI.

Në PyTorch dhe shumë projekte të tjera që përdorin Vetë-Hosted Runner, vetëm zhvilluesit, ndryshimet e të cilëve më parë janë rishikuar nga kolegët dhe janë përfshirë në bazën e kodeve të projektit lejohen të ekzekutojnë punë ndërtimi. Të kesh statusin e "kontribuesit" kur përdorni cilësimet e paracaktuara në depo bën të mundur lëshimin e mbajtësve të GitHub Actions kur dërgoni kërkesa për tërheqje dhe, në përputhje me rrethanat, ekzekutoni kodin tuaj në çdo mjedis GitHub Actions Runner që lidhet me depon ose organizatën që mbikëqyr projektin.

Lidhja me statusin "kontribues" doli të jetë e lehtë për t'u anashkaluar - mjafton që së pari të paraqisni një ndryshim të vogël dhe të prisni që ai të pranohet në bazën e kodit, pas së cilës zhvilluesi mori automatikisht statusin e një pjesëmarrësi aktiv, kërkesat për tërheqje të të cilëve lejohen të testohen në infrastrukturën CI pa verifikim të veçantë. Për të arritur statusin aktiv të zhvilluesit, eksperimenti përfshiu ndryshime të vogla kozmetike për të korrigjuar gabimet e shtypit në dokumentacion. Për të fituar akses në depo dhe ruajtjen e versioneve të PyTorch, sulmi gjatë ekzekutimit të kodit në "Self-Hosted Runner" përgjoi tokenin GitHub të përdorur për të hyrë në depo nga proceset e ndërtimit, si dhe çelësat AWS të përdorura për të ruajtur rezultatet e ndërtimit. .

Çështja nuk është specifike për PyTorch dhe prek shumë projekte të tjera të mëdha që përdorin cilësimet e paracaktuara për "Self-Hosted Runner" në Veprimet e GitHub. Për shembull, zbatimi i sulmeve të ngjashme u përmend për të instaluar një derë të pasme në disa kuleta të mëdha kriptomonedhash dhe projekte blockchain me një kapitalizim miliarda dollarësh, për të bërë ndryshime në versionet e Microsoft Deepspeed dhe TensorFlow, për të komprometuar një nga aplikacionet CloudFlare dhe gjithashtu për të ekzekutuar kodi në një kompjuter në rrjetin Microsoft. Detajet e këtyre incidenteve ende nuk janë bërë të ditura. Sipas programeve ekzistuese të shpërblimit të gabimeve, studiuesit kanë paraqitur më shumë se 20 aplikacione për shpërblime me vlerë disa qindra mijëra dollarë.

Burimi: opennet.ru

Shto një koment