Questo processo impedirà l'avvio di software non certificato. Questo può avere dei benefici, anche se non li vedo.
Hai un nuovo meccanismo di sicurezza per controllare cosa può e cosa non può essere avviato dal tuo hardware. Una funzione di sicurezza. Non ti senti di averne bisogno fino a quando non è troppo tardi. Ma sto divagando.
Ho letto un thread sulla mailing list di Linux in cui un dipendente di Red Hat chiede a Linus Torvalds di estrarre un changeset che implementa la funzione per analizzare i binari PE e intraprendere una serie complessa di azioni per consentire l'avvio del kernel in modalità Secure Boot (per quanto posso capire ).
I driver, come il firmware della GPU, devono essere firmati in linea con Secure Boot, altrimenti può essere un altro rootkit. Lo status quo è che quei driver sono firmati in formato PE. Il kernel può comunque avviarsi senza quelli, ma l'hardware non funzionerà. Analizzare il formato PE nel kernel è solo una scelta tecnicamente più semplice per questo che chiedere a ogni fornitore di hardware di firmare i propri BLOB per ogni distribuzione, o impostare un framework di spazio utente per farlo. Linus decide di non succhiare il cazzo di Microsoft. Questo non è un argomento tecnico.
Quali vantaggi otterrò con UEFI e Secure Boot, come utente domestico?
La caratteristica più visibile è l'avvio rapido UEFI. Ho messo le mani su diversi desktop con logo Windows 8 e si avviano così velocemente che spesso mi manca il menu di avvio. Intel e OEM hanno abbastanza ingegneria su questo.
Se sei il tipo di utenti Linux che odiano il gonfiore e la duplicazione del codice con passione, potresti anche voler gestire il multiboot a livello di firmware e sbarazzarti del bootloader. UEFI fornisce un boot manager con il quale è possibile avviare direttamente nel kernel o scegliere di avviare altri SO con il menu del firmware. Anche se potrebbe aver bisogno di qualche aggiustamento.
Inoltre, grafica più elaborata durante l'avvio e nel menu del firmware. Migliore sicurezza durante l'avvio (Secure Boot). Altre funzionalità (netboot IPv4 / 6, 2 TB + dispositivi di avvio, ecc.) Sono principalmente destinate agli utenti aziendali.
Comunque, come ha detto Linus , BIOS / UEFI dovrebbe "caricare semplicemente il sistema operativo e uscire da lì", e UEFI appare certamente così per gli utenti domestici con avvio rapido. Certamente fa più cose del BIOS sotto il cofano, ma se stiamo parlando di utenti domestici, a loro non importa.
Come viene eseguita questa firma?
Teoricamente, un file binario è crittografato con una chiave privata per produrre una firma. Quindi la firma può essere verificata con la chiave pubblica per provare che il binario è firmato dal proprietario della chiave privata, quindi il binario verificato. Vedi di più su Wikipedia .
Tecnicamente, solo l'hash del binario è firmato e la firma è incorporata nel binario con formato PE e twiddling di formato aggiuntivo.
Dal punto di vista procedurale, la chiave pubblica è memorizzata nel firmware dall'OEM ed è di Microsoft. Hai due scelte:
- Generare la propria coppia di chiavi e gestirle in modo sicuro, installare la propria chiave pubblica sul firmware e firmare il file binario con la propria chiave privata ( sbsign da Ubuntu o pesign da Fedora), oppure
- Invia il tuo binario a Microsoft e lascialo firmare.
Chi può ottenere firme / certificati? È pagato? Può essere pubblico? (Dovrebbe essere disponibile nel codice sorgente di Linux, vero?)
Poiché le firme / i certificati sono integrati nei file binari, tutti gli utenti devono ottenerli. Chiunque può impostare la propria CA e generare un certificato per se stesso. Ma se vuoi che Microsoft generi un certificato per te, devi passare attraverso Verisign per verificare la tua identità. Il processo costa $ 99. La chiave pubblica è nel firmware. La chiave privata è nella cassaforte di Microsoft. Il certificato si trova nel file binario firmato. Nessun codice sorgente coinvolto.
Microsoft è l'unica autorità a fornire firme? Non dovrebbe esserci una fondazione indipendente per fornirli?
Il lato tecnico è piuttosto banale, rispetto al processo di gestione della PKI, verifica dell'identità, coordinamento con tutti i produttori OEM e hardware noti. Questo costa un caro. Microsoft ha infrastrutture (WHQL) ed esperienza per anni. Quindi offrono di firmare binari. Chiunque fondazioni indipendenti possono farsi avanti per offrire la stessa cosa, ma nessuno lo ha fatto finora.
Da una sessione UEFI all'IDF 2013, vedo che anche Canonical ha iniziato a mettere la propria chiave su alcuni firmware per tablet. Quindi Canonical può firmare i propri file binari senza passare attraverso Microsoft. Ma è improbabile che firmino file binari per te perché non sanno chi sei.
Che impatto avranno i kernel open source e gratuiti, gli sviluppatori di kernel accademici / hobbisti, ecc.
Il tuo kernel personalizzato non si avvierà in Secure Boot, perché non è firmato. Puoi disattivarlo però.
Il modello di attendibilità di Secure Boot blocca alcuni aspetti del kernel. Come se non potessi distruggere il tuo kernel scrivendo su / dev / kmem anche se sei root adesso. Non è possibile ibernare su disco (in fase di elaborazione a monte) poiché non è possibile garantire che l'immagine del kernel non venga modificata in un bootkit al momento del riavvio. Non puoi scaricare il core quando il tuo panico del kernel, perché il meccanismo di kdump (kexec) può essere usato per avviare un bootkit (anche a monte). Questi sono controversi e non accettati da Linus nel kernel mainline, ma alcune distro (Fedora, RHEL, Ubuntu, openSUSE, SUSE) vengono comunque fornite con le loro patch Secure Boot.
Personalmente la firma del modulo richiesta per la creazione di un kernel Secure Boot costa 10 minuti mentre la compilazione effettiva richiede solo 5 minuti. Se disattivo la firma del modulo e accendo ccache, la compilazione del kernel richiede solo un minuto.
UEFI è un percorso di avvio completamente diverso dal BIOS. Tutto il codice di avvio del BIOS non verrà chiamato dal firmware UEFI.
Un gruppo di utenti Linux spagnolo chiamato Hispalinux ha presentato una denuncia contro Microsoft su questo argomento alla Commissione europea.
Come detto sopra, nessuno tranne Microsoft ha intensificato per fare il servizio pubblico. Al momento non ci sono prove dell'intenzione di Microsoft di fare del male con questo, ma non c'è nemmeno nulla che impedisca a Microsoft di abusare del suo monopolio di fatto e fare un viaggio di potere. Quindi, mentre i gruppi di utenti di FSF e Linux potrebbero non sembrare abbastanza pragmatici e non essersi effettivamente seduti per risolvere i problemi in modo costruttivo, è assolutamente necessario che le persone facciano pressione su Microsoft e lo avvertano delle ripercussioni.
Dovrei essere preoccupato? Mi rifiuto di utilizzare né software proprietario né software firmato da società fidate. L'ho fatto fino ad ora e voglio continuare così.
Ragioni per abbracciare Secure Boot:
- Elimina un vero vettore di attacco di sicurezza.
- È un meccanismo tecnico per offrire all'utente maggiore libertà di controllare il proprio hardware.
- Gli utenti Linux devono comprendere il meccanismo di avvio sicuro e agire in modo proattivo prima che Microsoft arrivi troppo al monopolio della politica di avvio sicuro .
UEFI
di per sé non è un grosso problema, ma potrebbe essere l'avvio sicuro.