Sto usando l'approccio Ubuntu predefinito con shim e grub2, combinato con la mia chiave di piattaforma (shim autofirmante con sbsign) e una partizione root crittografata, per garantire l'avvio sicuro della mia installazione di Ubuntu. Ma questo verifica solo grubx64.efi e il kernel, ma non protegge i file initrd.img e grub.cfg sulla partizione di avvio non crittografata da modifiche dannose.
Quindi, come posso verificare initrd e la configurazione di grub, possibilmente usando un hash sha256, prima di usarli per l'avvio? Tale verifica potrebbe avvenire in shim, in grub o in qualche altro strumento che potrei usare in aggiunta o al posto di shim e / o grub.
Lo scopo di questa domanda è impedire l'esecuzione del kernel con un ambiente modificato (riga di comando del kernel e initrd) al fine di impedire la perdita della password di crittografia della partizione root ovunque.
Non ho trovato alcun metodo per verificare la configurazione di avvio nonostante diversi giorni di lettura di tutorial / blog Web sull'avvio sicuro, tra cui Ubuntu e PreLoader.efi della Linux Foundation, tutto ciò che spiega come funziona la verifica degli eseguibili, inclusi i moduli del kernel, ma nessuno di che menziona grub.cfg e (script di shell e file di configurazione all'interno) di initrd, quindi sembra che io sia il primo a chiedere mai la verifica di file non binari nel processo di avvio. Le migliori fonti che abbia mai trovato sono quelle di Rod Smith .
Quello che non ho ancora provato è di modificare il codice sorgente di shim o grub, creando un fork o contribuendo direttamente a loro. Sarebbe l'unica strada da percorrere?