Come per molti sistemi ben progettati, il sistema di pacchetti di Debian ha una difesa in profondità : più livelli, ognuno dei quali può essere verificato.
-
Come crediamo che il file del pacchetto sia ciò che il sistema promette? Il valore di hash è calcolato e confrontato con il valore memorizzato.
-
Come crediamo che il valore hash non acceda accidentalmente ad altri file? Vengono utilizzati più algoritmi di hash e solo se tutti corrispondono ai valori memorizzati crediamo che il contenuto corrisponda effettivamente.
-
Come crediamo che i valori memorizzati siano pensati per il file del pacchetto che abbiamo scaricato? I valori hash vengono scaricati in un file separato (i vari file Packages.*
) pre-calcolati automaticamente dal sistema di archiviazione.
-
Come crediamo che i file Packages.*
scaricati siano ciò che è promesso dal sistema? Il valore di hash per ogni file è memorizzato in un singolo file Release
per l'intero archivio.
-
Come crediamo che il file Release
sia ciò che è promesso dal sistema? La firma crittografica è calcolata e confrontata con la firma precompilata scaricata separatamente dall'archivio.
-
Come crediamo che le firme archiviate nell'archivio siano effettivamente dall'archivio che ci aspettavamo? È certificato da una chiave di archivio che possiamo recuperare indipendentemente da un URL separato ed è installato nella configurazione iniziale del sistema operativo.
E così via. Ad un certo punto della catena devi fidarti parte di (e fare festa) sul sistema, su prove non ideali.
Con i livelli precedenti, la finestra di attendibilità a basso livello di evidenza può essere mantenuta piccola e facilmente scrutinata. Gli hash unidirezionali e le firme crittografiche ci consentono di affidarci alla matematica per certificare ciò che segue in sequenza.
Il wiki di Debian ha una buona descrizione completa di come è assicurato il sistema APT .
Naturalmente, molte altre cose possono andare storte per sbaglio o cattiveria e violare le nostre supposizioni su ciò che sta realmente accadendo. Come al solito, l'unica difesa persistente contro possibili attacchi è: la vigilanza eterna.