Hi ha disponible TUF 1.0, un marc per organitzar el lliurament segur d'actualitzacions

S'ha publicat el llançament de TUF 1.0 (The Update Framework), que ofereix eines per comprovar de manera segura i descarregar actualitzacions. L'objectiu principal del projecte és protegir el client dels atacs típics als repositoris i la infraestructura, inclosa la lluita contra la promoció per part dels atacants d'actualitzacions fictícies creades després d'accedir a les claus per generar signatures digitals o comprometre el dipòsit. El projecte es desenvolupa sota els auspicis de la Fundació Linux i s'utilitza per millorar la seguretat de l'entrega d'actualitzacions en projectes com Docker, Fuchsia, Automotive Grade Linux, Bottlerocket i PyPI (es preveu la inclusió de la verificació de descàrregues i metadades a PyPI a la futur pròxim). El codi d'implementació de referència TUF està escrit en Python i es distribueix sota la llicència Apache 2.0.

El projecte està desenvolupant una sèrie de biblioteques, formats de fitxer i utilitats que es poden integrar fàcilment als sistemes d'actualització d'aplicacions existents, proporcionant protecció en cas de compromís clau per part dels desenvolupadors de programari. Per utilitzar TUF, n'hi ha prou amb afegir les metadades necessàries al repositori i integrar els procediments previstos a TUF per descarregar i verificar fitxers al codi del client.

El marc TUF assumeix les tasques de comprovar si hi ha una actualització, descarregar-la i verificar-ne la integritat. El sistema d'instal·lació d'actualització no interfereix directament amb les metadades addicionals, la verificació i càrrega de les quals la realitza TUF. Per a la integració amb aplicacions i sistemes d'instal·lació d'actualitzacions, s'ofereix una API de baix nivell per accedir a les metadades i una implementació d'una API de client d'alt nivell ngclient, preparada per a la integració amb les aplicacions.

Entre els atacs que TUF pot contrarestar hi ha la substitució de versions antigues sota l'aparença d'actualitzacions per tal de bloquejar la correcció de vulnerabilitats del programari o el retrocés de l'usuari a una versió antiga vulnerable, així com la promoció d'actualitzacions malicioses signades correctament mitjançant un sistema compromès. clau, atacs DoS als clients, com ara omplir el disc amb actualitzacions interminables.

La protecció contra el compromís de la infraestructura del proveïdor de programari s'aconsegueix mantenint registres separats i verificables de l'estat del dipòsit o de l'aplicació. Les metadades verificades per TUF inclouen informació sobre claus que es poden confiar, hash criptogràfics per avaluar la integritat dels fitxers, signatures digitals addicionals per verificar les metadades, informació sobre números de versió i informació sobre la vida útil dels registres. Les claus utilitzades per a la verificació tenen una vida útil limitada i requereixen una actualització constant per protegir-se de la formació de signatures per claus antigues.

La reducció del risc de compromís de tot el sistema s'aconsegueix mitjançant l'ús d'un model de confiança compartida, en el qual cada part es limita només a l'àrea de la qual és directament responsable. El sistema utilitza una jerarquia de rols amb les seves pròpies claus, per exemple, el rol arrel signa claus per als rols responsables de les metadades al repositori, dades sobre el moment de generació de les actualitzacions i muntatges de destinació, al seu torn, el rol responsable dels assemblatges signes rols associats a la certificació dels fitxers lliurats.

Hi ha disponible TUF 1.0, un marc per organitzar el lliurament segur d'actualitzacions

Per protegir-se del compromís de claus, s'utilitza un mecanisme de revocació i substitució ràpida de claus. Cada clau individual conté només els poders mínims necessaris, i les operacions d'autenticació requereixen l'ús de diverses claus (la filtració d'una única clau no permet un atac immediat al client, i per comprometre tot el sistema, les claus de tots els participants han de ser capturat). El client només pot acceptar fitxers que siguin més recents que els fitxers rebuts anteriorment, i les dades només es descarreguen segons la mida especificada a les metadades certificades.

La versió publicada de TUF 1.0.0 ofereix una implementació de referència completament reescrita i estabilitzada de l'especificació TUF que podeu utilitzar com a exemple ja fet a l'hora de crear les vostres pròpies implementacions o per a la integració als vostres projectes. La nova implementació conté molt menys codi (1400 línies en lloc de 4700), és més fàcil de mantenir i es pot ampliar fàcilment, per exemple, si cal afegir suport per a piles de xarxa, sistemes d'emmagatzematge o algorismes de xifratge específics.

Font: opennet.ru

Afegeix comentari