Sulmi në infrastrukturën PyTorch, duke kompromituar repository-n dhe lëshimet

Detajet e sulmit mbi infrastrukturën e përdorur për zhvillimin e kornizës së mësimit të makinerive PyTorch janë zbuluar, duke lejuar nxjerrjen e çelësave të qasjes të mjaftueshme për të mbajtur të dhëna arbitrare në repository-n e lëshimeve të projektit në GitHub dhe AWS, si dhe për mbështjelljen e kodit në degën kryesore të repository-t dhe shtimin e një backdoor nëpërmjet varësive. Zëvendësimi i lëshimeve të PyTorch mund të jetë përdorur për të kryer sulme ndaj kompanive të mëdha si Google, Meta, Boeing dhe Lockheed Martin, që përdorin PyTorch në projektet e tyre. Në kuadër të programit Bug Bounty, kompania Meta ka paguar kërkuesit $16,250 për informacionin mbi problemin.

Thelbi i sulmit është mundësia për të ekzekutuar kodin tuaj në serverë integrimin e vazhdueshëm, të cilat kryejnë ricompilim dhe ekzekutim të detyrave për testimin e ndryshimeve të reja që dërgohen në repository. Problemi prek projektet që përdorin procesorët e jashtëm "Self-Hosted Runner" me GitHub Actions. Në dallim nga veprimet tradicionale të GitHub, procesorët Self-Hosted nuk kryhen në infrastrukturën e GitHub, por në serverat e tyre ose në virtuakale makina të mbështetura nga zhvilluesit.

Kryerja e detyrave të ndërtimit në serverët tuaj mundëson organizimin e lançimit të kodit që mund të kryejë skanimin e rrjetit të brendshëm të ndërmarrjes, të kërkojë në sistemin lokal të skedarëve çelësat e enkriptimit dhe tokenet e qasjes, si dhe të analizojë variablat e mjedisit me parametrat e thirrjes në depo të jashtme ose shërbime cloud. Në mungesë të izolimit të duhur të mjedisit të ndërtimit, të dhënat konfidenciale të gjetura mund të dërgohen jashtë nga sulmuesit, për shembull, përmes thirrjeve në API të jashtme. Për të përcaktuar përdorimin nga projektet "Self-Hosted Runner", mund të përdoret mjeti Gato, i cili analizon skedarët workflow publikë dhe logjet e ekzekutimit të detyrave CI.

Në PyTorch dhe në shumë projekte të tjera që përdorin «Self-Hosted Runner», ekzekutimi i detyrave të ndërtimit lejohet vetëm për zhvilluesit, ndryshimet e të cilëve kanë kaluar më parë nëpër rishikim dhe janë përfshirë në bazën e kodit të projektit. Të pasurit një status «kontributor» kur përdorim në depo cilësimet e paracaktuar na jep mundësinë të ekzekutojmë trajtuesit GitHub Actions kur dorëzojmë kërkesa pull dhe, për rrjedhojë, të ekzekutojmë kodin tonë në çdo ambient GitHub Actions Runner të lidhur me depozan ose organizatën menaxhuese të projektit.

Ishte e lehtë të anashkalosh statusin "kontributor" — mjafton të dërgosh një ndryshim të vogël paraprakisht dhe të presësh që ai të pranohet në bazën e kodit, pas së cilës zhvilluesi automatikisht merr statusin e anëtarit aktiv, të cilit i lejohet të testojë pull-requestet në infrastrukturën CI pa një verifikim të veçantë. Për të marrë statusin e zhvilluesit aktiv, gjatë eksperimentit u përdorën ndryshime të vogla kozmetike që ishin të lidhura me korrigjimin e gabimeve në dokumentacion. Për të fituar akses në repozitorin dhe arkivën e lëshimeve të PyTorch gjatë sulmit, gjatë ekzekutimit të kodit në "Self-Hosted Runner" u realizua kapja e tokenit GitHub, i cili përdorej për qasje në repozitor nga proceset e ndërtimit, si dhe çelësave AWS që ishin angazhuar për ruajtjen e rezultateve të ndërtimit.

Problemi nuk është specifik për PyTorch dhe prekin shumë projekte të tjera të mëdha që përdorin cilësimet e paracaktuara për «Self-Hosted Runner» në GitHub Actions. Për shembull, janë përmendur sulme të ngjashme për të futur backdoor në disa portofolë të mëdhenj kripto dhe projekte blockchain me kapitalizim prej miliardash, ndryshimeve në lëshimet e Microsoft Deepspeed dhe TensorFlow, kompromentimin e një prej aplikacioneve të kompanisë CloudFlare, si dhe ekzekutimin e kodit në kompjuterët në rrjetin Microsoft. Detajet për këto incidente ende nuk janë zbuluar. Në kuadrin e programeve aktive Bug Bounty, kërkuesit kanë dërguar më shumë se 20 kërkesa për të marrë shpërblime në shumën e disa qindra mijëra dollarëve.

Burimi: opennet.ru

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster