La chiave qui è privacy vs integrità.
Se il tuo volume di dati (/ home, / var / log e qualsiasi altra cosa con dati sensibili) è crittografato, stai principalmente assicurando la privacy, mentre per / boot vuoi essere sicuro che non sia inserito alcun codice dannoso (integrità) . Nota questo non implica che debba essere crittografato. / boot non richiede quasi mai la crittografia effettiva, poiché non memorizza i dati privati / privilegiati. Presumo che tu abbia bloccato l'avvio da dispositivi esterni (USB).
Dopo il codice UEFI / BIOS, il primo pezzo di codice eseguito sul sistema che controlli è il bootloader (es. grub), che legge i file di configurazione (che potrebbero avere parametri di sicurezza come la possibilità di modificare l'opzione di avvio), e poi il tuo kernel + initrd, anche salvato su / boot. Ci vorrà un determinato avversario per:
- Ottieni l'accesso fisico al tuo laptop
- Rimuovi il disco rigido senza notare che è stato rimosso e sostituito
- Sostituisci Grub / Grub's config / kernel / initrd con una versione malevola (ad esempio, che cattura i tasti premuti, carica i daemon nascosti o avvia anche un hypervisor per incapsulare l'intero sistema operativo)
- E consegnalo a te senza alcun segno di manomissione, perdita di prestazioni, bug casuali o notando che mancano.
Tuttavia è fattibile. Se ti trovi a questo livello di paranoia anziché tenere semplicemente nascosto il volume dei tuoi dati dalla ricerca casuale e dal sequestro, allora devi cercare in una configurazione di avvio affidabile. È un sacco di lavoro.
Una semplice soluzione sarebbe, una volta avviato il sistema, verificare che gli hash di tutti i file su / boot siano come ci si aspetta confrontandoli con una linea di base precedente degli hash memorizzati nel volume crittografato. Questa è una misura after-the-fact anche se / boot è stato compromesso, ma almeno lo saprete e dovrete aggiornare la baseline ogni volta che aggiornate i file su / boot (ad esempio nuova versione del kernel / nuova grub opzioni di sicurezza).
Ogni ulteriore garanzia richiederà molto più lavoro. Trusted Boot su Linux / * nix è notoriamente complicato.