Հարձակում PyTorch ենթակառուցվածքի վրա՝ վտանգի ենթարկելով պահեստը և թողարկումները

Բացահայտվել են PyTorch մեքենայական ուսուցման շրջանակի մշակման մեջ օգտագործվող ենթակառուցվածքի վրա հարձակման մանրամասները, ինչը հնարավորություն է տվել դուրս բերել մուտքի բանալիներ, որոնք բավարար են կամայական տվյալներ պահոցում տեղադրելու համար GitHub-ի և AWS-ի նախագծերի թողարկումներով, ինչպես նաև փոխարինել կոդը: պահեստի հիմնական մասնաճյուղում և ավելացրեք հետնադուռ կախվածությունների միջոցով: PyTorch-ի թողարկման կեղծումը կարող է օգտագործվել այնպիսի խոշոր ընկերությունների վրա, ինչպիսիք են Google-ը, Meta-ն, Boeing-ը և Lockheed Martin-ը, որոնք օգտագործում են PyTorch-ն իրենց նախագծերում: Bug Bounty ծրագրի շրջանակներում Meta-ն հետազոտողներին վճարել է 16250 դոլար՝ խնդրի մասին տեղեկություններ ստանալու համար:

Հարձակման էությունը ձեր կոդը գործարկելու ունակությունն է շարունակական ինտեգրացիոն սերվերների վրա, որոնք կատարում են վերակառուցում և գործարկում՝ պահեստարան ուղարկված նոր փոփոխությունները փորձարկելու համար: Խնդիրն ազդում է այն նախագծերի վրա, որոնք օգտագործում են իրենց արտաքին «Self-Hosted Runner» մշակողները GitHub Actions-ով: Ի տարբերություն ավանդական GitHub Actions-ի, Self-Hosted մշակողները չեն աշխատում GitHub ենթակառուցվածքի վրա, այլ իրենց սեփական սերվերների վրա կամ մշակողների կողմից սպասարկվող վիրտուալ մեքենաներում:

Ձեր սերվերների վրա հավաքման առաջադրանքների կատարումը թույլ է տալիս կազմակերպել կոդի գործարկում, որը կարող է սկանավորել ձեռնարկության ներքին ցանցը, տեղական FS-ում որոնել գաղտնագրման բանալիներ և մուտքի նշաններ և վերլուծել շրջակա միջավայրի փոփոխականները՝ արտաքին պահեստավորման կամ ամպային ծառայություններ մուտք գործելու պարամետրերով: Հավաքման միջավայրի պատշաճ մեկուսացման բացակայության դեպքում հայտնաբերված գաղտնի տվյալները կարող են արտաքինից ուղարկվել հարձակվողներին, օրինակ՝ արտաքին API-ներին հասանելիության միջոցով: Նախագծերի կողմից Self-Hosted Runner-ի օգտագործումը որոշելու համար Gato գործիքակազմը կարող է օգտագործվել հանրությանը հասանելի աշխատանքային հոսքի ֆայլերը և CI առաջադրանքների գործարկման մատյանները վերլուծելու համար:

PyTorch-ում և շատ այլ նախագծերում, որոնք օգտագործում են Self-Hosted Runner-ը, միայն այն ծրագրավորողներին, որոնց փոփոխությունները նախկինում վերանայվել են և ներառված են եղել նախագծի կոդերի բազայում, թույլատրվում է գործարկել build jobs: Պահեստում լռելյայն կարգավորումներն օգտագործելիս «ներդրող» կարգավիճակ ունենալը հնարավորություն է տալիս գործարկել GitHub Actions մշակողները՝ ձգողական հարցումներ ուղարկելիս և, համապատասխանաբար, գործարկել ձեր կոդը ցանկացած GitHub Actions Runner միջավայրում, որը կապված է պահեստի կամ նախագիծը վերահսկող կազմակերպության հետ:

Պարզվեց, որ «ներդնող» կարգավիճակի հղումը հեշտ է շրջանցել. բավական է նախ ներկայացնել աննշան փոփոխություն և սպասել, որ այն ընդունվի կոդի բազայում, որից հետո մշակողը ավտոմատ կերպով ստացել է ակտիվ մասնակցի կարգավիճակ, որոնց ձգման հարցումները թույլատրվում են փորձարկել CI ենթակառուցվածքում առանց առանձին ստուգման: Ակտիվ ծրագրավորողի կարգավիճակ ստանալու համար փորձը ներառում էր փոքր կոսմետիկ փոփոխություններ՝ փաստաթղթերում տառասխալները շտկելու համար: PyTorch-ի թողարկումների շտեմարան և պահեստ մուտք գործելու համար հարձակումը Self-Hosted Runner-ում կոդի գործարկման ժամանակ ընդհատեց GitHub նշանը, որն օգտագործվում էր կառուցման գործընթացներից պահեստ մուտք գործելու համար, ինչպես նաև AWS ստեղները, որոնք օգտագործվում էին կառուցման արդյունքները պահելու համար:

Խնդիրը հատուկ չէ PyTorch-ին և ազդում է բազմաթիվ այլ խոշոր նախագծերի վրա, որոնք օգտագործում են «Self-Hosted Runner»-ի լռելյայն կարգավորումները GitHub Actions-ում: Օրինակ՝ նշվել է նմանատիպ հարձակումների իրականացումը՝ մի քանի խոշոր կրիպտոարժույթի դրամապանակներում և բլոկչեյն նախագծերում մի քանի միլիարդ դոլար կապիտալիզացիայով ետնադուռ տեղադրելու, Microsoft Deepspeed-ի և TensorFlow-ի թողարկումներում փոփոխություններ կատարելու, CloudFlare հավելվածներից մեկը փոխզիջելու և նաև գործարկելու համար։ կոդը Microsoft-ի ցանցում գտնվող համակարգչում: Այս միջադեպերի մանրամասները դեռևս չեն հաղորդվում։ Գոյություն ունեցող bug bounty ծրագրերի շրջանակներում հետազոտողները ներկայացրել են ավելի քան 20 հայտ մի քանի հարյուր հազար դոլար արժողությամբ պարգևների համար:

Source: opennet.ru

Добавить комментарий