PyPI կատալոգը ներդրել է նոր փաթեթների հավաստման համակարգ:

Python փաթեթների PyPI (Python Package Index) ռեպոզիտորիային պատասխանատուները հայտարարեցին, որ ներդնում են թվային վավերացման մեխանիզմի աջակցություն՝ հրապարակված փաթեթների իսկությունը ստուգելու համար, որը փոխարինում է PGP-ստորագրություններով վավերացման մեխանիզմին: Վավերացման հիմնական տարբերությունն այն է, որ փաթեթի հրապարակումը հաստատվում է ոչ թե մշակողը, այլ երրորդ կողմը (փաթեթների կատալոգը)՝ արտաքին OpenID Connect ծառայության միջոցով հրապարակման իսկությունը հաստատելուց հետո (օրինակ, թե ինչպես է հրապարակված փաթեթը համահունչ իր հետ կապված GitHub կամ GitLab ռեպոզիտորիային):

Վավերացման համակարգը վերացնում է այն խնդիրները, որոնք բնորոշ էին PGP-ստորագրություններով վավերացման մեխանիզմին, որը նախկինում անվանել էր PyPI-ի կողմից հնացած: Սա որոշվել է, քանի որ խնդիրներ եղան մշակողներին պատկանող բաց PGP-կլիենտների ստուգման հետ, որոնք օգտագործվում էին թվային ստորագրությունների համար՝ 2020-ից ի վեր PyPI-ում օգտագործված 1069 PGP-կլիենտներից 29%-ը բաց լավագույն հանդիսացող կլիենտներ էին: սերվերների և 35%-ի ստուգումն անհնար էր աձիտի ընթացքում: Այսպիսով, 36%-ով հաստատված PGP-կլիենտները ընդգրկում էին բոլոր ստորագրված ֆայլերի միայն 0.3%-ը:

Նոր համակարգում օգտագործվող փաթեթների համար ստորագրված ստորագրությունները ստեղծվում են ընթացիկ գործողության կարճ ժամանակահատված ունեցող պատկերահանումներով, որոնք ստեղծվում են OpenID Connect ծառայողների հաստատված լիազորությունների հիման վրա: Ստեղծման պահին ստորագրության համար անհրաժեշտ կլիենտները մշակողը ինքն իրեն ճանաչում է OpenID ծառայողի միջոցով, որը հաստատում է նրա կապը հիմնական նախագծի հետ: Թվային վավերացման ենթակառուցվածքը կառուցված է Sigstore համակարգի եւ in-toto Attestation Framework գործիքակազմի միջոցով:

Վավերացման առավելություններից մեկն այն է, որ այն չի կապված մշտական PGP կլիենտների հետ՝ կոշտ կլիենտի կորստի կամ խափանման դեպքում կոմպրոմետացված ստորագրությունների նկատմամբ վստահությունը կորցվում է, մինչդեռ վավերացման ժամանակ ստորագրությունը ձևավորվում է փաթեթի հրապարակման պահին հաստատողToken-ին կապելու միջոցով: Օրինակ, GitHub Action-ի միջոցով պատրաստված փաթեթը հրապարակելիս, վավերացումը սահմանում է հաստատված և ստուգվող կապը PyPI-ում դրվող ֆայլի, ռեպոզիտորիայից, workflow գործընթացից և կոմմիտի հեշից, որի հիման վրա փաթեթը ձևավորվել է:

PyPI կատալոգը ներդրել է նոր փաթեթների հավաստման համակարգ:

Կլիենտների իսկությունը հետևելու և հնարավոր կոմպրոմետիզացիաները բացահայտելու համար, ծրագրերի փաթեթներ կազմողը և PyPI-ն ինքնըստինքյան օգտագործում են հանրային կենտրոնացված դուրս, որի միջոցով ապահովվում է ամբողջականությունը և պաշտպանությունն անօրինական փոփոխություններից՝ օգտագործելով «Merkle Tree» կառուցվածքը (այն յուրաքանչյուր ճյուղը հաստատում է բոլոր ներքևի ճյուղերը և հանգույցները՝ շնորհիվ ծառային հեշավորման):

Ավելին, կարելի է նշել, որ PyPI կատալոգում հայտնաբերվել է վնասակար «fabrice» փաթեթ, որը, օգտագործելով type squatting (նման անունների հատկացում, որոնք տարբերվում են առանձին նշաններով, ինչպես օրինակ, exampl փոխարեն example, djangoo փոխարեն django, pyhton փոխարեն python և այլն), ծավալվում էր «fabric» հանրաճանաչ գրադարանի դիմակում, որը ունի 201 միլիոն ներբեռնում (7 միլիոն ներբեռնում անցյալ ամսվա ընթացքում): Նվազագույն վնասակար փաթեթը չհայտնաբերվել էր 2021 թվականից և այդ ժամանակից ի վեր ներբեռնվել էր ավելի քան 37 հազար անգամ:

«fabrice» փաթեթը կրկնում էր սկզբնական գրադարանի հիմնական ֆունկցիոնալությունը և ներառում էր լրացուցիչ կոդ, որը հայտնաբերում էր և ուղարկում AWS (Amazon Web Services) մուտքի բանալիները արտաքին հյուրընկալողին, բեքդոր տեղադրելու և որոշակի սքրիպտներ կատարելու համար: Դրանց վնասակար բաղադրիչները ակտիվացվում էին Linux և Windows-ում: Linux-ում վնասակար գործունեության հետ կապված ֆայլերը ներբեռնվում էին ~/.local/bin/vscode կատալոգ:

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster