Catalogul PyPI a implementat un nou sistem de verificare a autenticității pachetelor.

Dezvoltatorii repository-ului de pachete Python PyPI (Python Package Index) au anunțat implementarea suportului pentru mecanismul de atestare digitală pentru a verifica autenticitatea pachetelor publicate, care a înlocuit verificarea folosind semnăturile PGP. Principala diferență a atestării este că publicația pachetului nu este semnată de dezvoltator, ci de o terță parte (catalogul de pachete) după confirmarea veridicității publicației prin intermediul unui furnizor extern OpenID Connect (de exemplu, după verificarea faptului că pachetul publicat se corelează cu repository-ul său asociat de pe GitHub sau GitLab).

Sistemul de atestare elimină dezavantajele asociate mecanismului de verificare prin semnăturile PGP, care anterior a fost declarat în PyPI învechit. Această soluție a fost adoptată din cauza problemelor legate de verificarea apartenenței către dezvoltatorii cheilor PGP deschise, utilizate pentru a verifica semnăturile digitale — din cele 1069 de chei PGP utilizate din 2020 pentru a forma semnături în PyPI, 29% din cheile deschise au fost absente pe mari platforme publice. servere Cheilor, iar 35% din chei s-au dovedit imposibil de confirmat în timpul auditului. În același timp, 36% din cheile PGP confirmate au acoperit doar 0.3% din toate fișierele semnate.

În noul sistem, semnăturile utilizate pentru a atesta pachetele sunt create folosind chei efemere cu o durată scurtă de viață, generate pe baza autorităților confirmate de furnizorii OpenID Connect. În momentul generării cheilor necesare pentru a crea o semnătură digitală, dezvoltatorul se identifică prin intermediul furnizorului OpenID, care îi confirmă legătura cu proiectul principal. Infrastructura pentru atestarea digitală este construită cu ajutorul sistemului Sigstore și a instrumentarului in-toto Attestation Framework.

Printre avantajele certificării se numără lipsa legăturii cu cheile PGP permanente — pierderea sau compromiterea cheii private distruge încrederea în semnăturile create pe baza acesteia, în timp ce în cadrul certificării, semnătura este generată în legătură cu un token care confirmă autoritatea în momentul publicării pachetului și conectează pachetul cu depozitul principal de cod. De exemplu, la publicarea unui pachet pregătit prin GitHub Action, certificarea determină o legătură verificabilă și confirmată între fișierul încărcat în PyPI, depozit, procesul workflow și hash-ul commit-ului pe baza căruia a fost creat pachetul.

Catalogul PyPI a implementat un nou sistem de verificare a autenticității pachetelor.

Pentru a urmări autenticitatea cheilor și a identifica posibile compromisuri, se utilizează un jurnal public centralizat pentru generarea pachetelor de proiecte și a PyPI în sine, pentru a asigura integritatea și protecția împotriva alterării datelor în trecut, în care este implicată structura „arbore Merkle” (Merkle Tree, fiecare ramură verifică toate ramurile și nodurile subiacente datorită hashing-ului de tip arbore).

De asemenea, merită menționată identificarea în catalogul PyPI a pachetului malițios „fabrice”, care, prin intermediul typosquatting-ului (atribuirea unor nume similare, diferind prin simboluri separate, de exemplu, exampl în loc de example, djangoo în loc de django, pyhton în loc de python etc.), s-a mascat sub biblioteca populară „fabric”, care a avut 201 milioane de descărcări (7 milioane de descărcări în ultima lună). Pachetul malițios a rămas neobservat din 2021, fiind descărcat de peste 37.000 de ori de atunci.

Pachetul „fabrice” repeta funcționalitatea de bază a bibliotecii originale și includea în plus cod pentru identificarea și trimiterea pe gazde externe a cheilor de acces la AWS (Amazon Web Services), instalarea unui backdoor și executarea anumitor scripturi. Activarea componentelor malițioase se realiza în Linux și Windows. În Linux, fișierele legate de activitatea malițioasă erau încărcate în directorul ~/.local/bin/vscode.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster