Este disponibil TUF 1.0, un cadru pentru organizarea livrării securizate a actualizărilor

Lansarea TUF 1.0 (The Update Framework) a fost publicată, oferind instrumente pentru verificarea și descărcarea în siguranță a actualizărilor. Scopul principal al proiectului este de a proteja clientul de atacurile tipice asupra depozitelor și infrastructurii, inclusiv contracararea promovării de către atacatori a actualizărilor fictive create după obținerea accesului la chei pentru generarea de semnături digitale sau compromiterea depozitului. Proiectul este dezvoltat sub auspiciile Fundației Linux și este utilizat pentru a îmbunătăți securitatea livrării actualizărilor în proiecte precum Docker, Fuchsia, Automotive Grade Linux, Bottlerocket și PyPI (includerea verificării și a metadatelor de descărcare în PyPI este de așteptat în viitorul apropiat). Codul de implementare de referință TUF este scris în Python și distribuit sub licența Apache 2.0.

Proiectul dezvoltă o serie de biblioteci, formate de fișiere și utilitare care pot fi integrate cu ușurință în sistemele existente de actualizare a aplicațiilor, oferind protecție în cazul unui compromis cheie din partea dezvoltatorilor de software. Pentru a utiliza TUF, este suficient să adăugați metadatele necesare în repository și să integrați procedurile prevăzute în TUF pentru descărcarea și verificarea fișierelor în codul clientului.

Cadrul TUF își asumă sarcinile de a verifica existența unei actualizări, de a descărca actualizarea și de a verifica integritatea acesteia. Sistemul de instalare a actualizării nu interferează direct cu metadatele suplimentare, a căror verificare și încărcare sunt efectuate de TUF. Pentru integrarea cu aplicații și sistemele de instalare a actualizării, sunt oferite un API de nivel scăzut pentru accesarea metadatelor și o implementare a unui API client de nivel înalt ngclient, gata pentru integrare cu aplicații.

Printre atacurile pe care TUF le poate contracara se numără înlocuirea versiunilor vechi sub pretextul actualizărilor pentru a bloca corectarea vulnerabilităților software sau rollback-ul utilizatorului la o versiune veche vulnerabilă, precum și promovarea actualizărilor rău intenționate semnate corect folosind o versiune compromisă. cheie, atacuri DoS asupra clienților, cum ar fi umplerea discului cu actualizări nesfârșite.

Protecția împotriva compromiterii infrastructurii furnizorului de software se realizează prin menținerea unor înregistrări separate și verificabile ale stării depozitului sau aplicației. Metadatele verificate de TUF includ informații despre chei care pot fi de încredere, hashuri criptografice pentru a evalua integritatea fișierelor, semnături digitale suplimentare pentru verificarea metadatelor, informații despre numerele de versiune și informații despre durata de viață a înregistrărilor. Cheile utilizate pentru verificare au o durată de viață limitată și necesită o actualizare constantă pentru a proteja împotriva formării semnăturii de către cheile vechi.

Reducerea riscului de compromis al întregului sistem se realizează prin utilizarea unui model de încredere partajată, în care fiecare parte este limitată doar la domeniul pentru care este direct responsabilă. Sistemul folosește o ierarhie de roluri cu propriile chei, de exemplu, rolul rădăcină semnează cheile pentru rolurile responsabile cu metadatele din depozit, date despre momentul generării actualizărilor și ansamblurile țintă, la rândul său, rolul responsabil pentru ansambluri semnează rolurile asociate cu certificarea fișierelor livrate.

Este disponibil TUF 1.0, un cadru pentru organizarea livrării securizate a actualizărilor

Pentru a proteja împotriva compromiterii cheilor, este utilizat un mecanism de revocare promptă și înlocuire a cheilor. Fiecare cheie individuală conține doar puterile minime necesare, iar operațiunile de autentificare necesită utilizarea mai multor chei (scurgerea unei singure chei nu permite un atac imediat asupra clientului, iar pentru a compromite întregul sistem, cheile tuturor participanților trebuie să fie capturat). Clientul poate accepta doar fișiere care sunt mai recente decât fișierele primite anterior, iar datele sunt descărcate numai în funcție de dimensiunea specificată în metadatele certificate.

Versiunea publicată a TUF 1.0.0 oferă o implementare de referință complet rescrisă și stabilizată a specificației TUF pe care o puteți folosi ca exemplu gata făcut atunci când vă creați propriile implementări sau pentru integrarea în proiecte. Noua implementare conține mult mai puțin cod (1400 de linii în loc de 4700), este mai ușor de întreținut și poate fi extinsă cu ușurință, de exemplu, dacă este necesar să adăugați suport pentru anumite stive de rețea, sisteme de stocare sau algoritmi de criptare.

Sursa: opennet.ru

Adauga un comentariu