Update Framework, un mezzo per controllare e scaricare in modo sicuro gli aggiornamenti

È stato annunciato il rilascio della nuova versione 1.0 di The Update Framework, meglio noto come TUF e che si caratterizza per essere un framework che fornisce un mezzo per controllare e scaricare gli aggiornamenti in sicurezza.

L'obiettivo principale del progetto è proteggere il cliente dagli attacchi tipici ai repository e all'infrastruttura, inclusa la lotta alla promozione di falsi aggiornamenti da parte di aggressori creati dopo aver ottenuto l'accesso alle chiavi per generare firme digitali o compromettere il repository.

A proposito di TUF

El proyecto sviluppa una serie di librerie, formati di file e utilità che può essere facilmente integrato nei sistemi di aggiornamento delle applicazioni esistenti, fornendo protezione in caso di compromissione della chiave da parte degli sviluppatori di software. Per utilizzare TUF è sufficiente aggiungere al repository i metadati necessari e integrare le procedure previste in TUF per caricare e verificare i file nel codice client.

Il quadro del TUF assume il compito di verificare la presenza di un aggiornamento, scaricando il fileaggiornare e verificarne l'integrità. Il sistema di installazione dell'aggiornamento non interseca direttamente i metadati aggiuntivi, che vengono verificati e caricati da TUF.

Per l'integrazione con le applicazioni ei sistemi di installazione degli aggiornamenti, viene fornita un'API di basso livello per l'accesso ai metadati e l'implementazione di un'API client di alto livello ngclient, pronta per l'integrazione dell'applicazione.

Tra gli attacchi che il TUF può contrastare sono i sostituzione della versione con il pretesto di aggiornamenti per bloccare correzioni di vulnerabilità nel software o ripristinare l'utente a una versione vulnerabile precedente, nonché la promozione di aggiornamenti dannosi firmato correttamente utilizzando una chiave compromessa, eseguendo attacchi DoS sui client, come riempire il disco con un aggiornamento infinito.

Protezione contro la compromissione dell'infrastruttura del fornitore del software si ottiene mantenendo registrazioni verificabili separate dello stato del repository o dell'applicazione.

I I metadati verificati da TUF includono informazioni chiave affidabile, hash crittografici per valutare l'integrità dei file, firme digitali aggiuntive per verificare i metadati, informazioni sul numero di versione e informazioni sulla durata della registrazione. Le chiavi utilizzate per la verifica hanno una durata limitata e richiedono un aggiornamento costante per proteggersi dalla firma con vecchie chiavi.

La riduzione del rischio di compromissione dell'intero sistema si ottiene attraverso l'utilizzo di un modello di split trust, in cui ciascuna parte è limitata al solo ambito di cui è direttamente responsabile.

Il sistema utilizza una gerarchia di ruoli con proprie chiavi, ad esempio, il ruolo root firma le chiavi per i ruoli responsabili dei metadati nel repository, i dati sull'ora di formazione degli aggiornamenti e le build target, a sua volta il ruolo responsabile delle build firma i ruoli associati alla certificazione del file consegnati.

Per proteggersi dal compromesso chiave, utilizza un meccanismo per la revoca e la sostituzione rapida delle chiavi. Ogni singola chiave concentra solo i poteri minimi necessari, e le operazioni di notarile richiedono l'utilizzo di più chiavi (la perdita di una sola chiave non consente un attacco immediato al cliente, e per compromettere l'intero sistema è necessario catturare le chiavi di tutti i partecipanti).

Il client può accettare solo file creati dopo i file ricevuti in precedenza e i dati vengono scaricati solo in base alla dimensione specificata nei metadati certificati.

La versione pubblicata di TUF 1.0.0 offre un'implementazione di riferimento completamente riscritta e versione stabilizzata della specifica TUF che puoi utilizzare come esempio pronto all'uso durante la creazione di implementazioni o l'integrazione nei tuoi progetti.

La nuova implementazione contiene significativamente meno codice (1400 righe invece di 4700), è più facile da mantenere e può essere facilmente esteso, ad esempio, se è necessario aggiungere il supporto per stack di rete, sistemi di storage o algoritmi di crittografia specifici.

Il progetto è sviluppato sotto gli auspici della Linux Foundation e viene utilizzato per migliorare la sicurezza della consegna degli aggiornamenti in progetti come Docker, Fuchsia, Automotive Grade Linux, Bottlerocket e PyPI (l'inclusione della verifica del download e dei metadati in PyPI è prevista a breve).

Infine, se sei interessato a poterne sapere un po' di più, puoi consultare i dettagli nel seguente link


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.