Al suo inizio un computer esegue un programma specifico per rilevare e inizializzare i suoi componenti hardware. Tradizionalmente, i PC compatibili con IBM utilizzano il sistema di output di input di base (BIOS). Al contrario, i Mac usano OpenFirmware, Android ha solo un caricatore di avvio e un Raspberry Pi parte da un firmware tenuto nel sistema su un chip (SOC). Questo passaggio iniziale include i controlli hardware e la ricerca di sistemi operativi disponibili su supporti di archiviazione che fanno parte del computer come un disco rigido, CDROM/DVD o una scheda SD o collegati ad esso tramite Network (Network File System (NFS) , Boot pxe).
L'ordine di ricerca effettivo dipende dalle impostazioni del BIOS del computer. La Figura 2 mostra un elenco di dispositivi disponibili da cui l'avvio.
Alla fine un elenco di sistemi operativi disponibili con parametri specifici (chiamati "Opzioni di avvio disponibili") viene visualizzato in un menu da cui si sceglie il sistema operativo desiderato per l'avvio.
Dal 2012 l'avvio sicuro è in uso. Questo articolo spiegherà cos'è, qual è l'intenzione dietro di esso e come funziona. Inoltre, risponderemo alla domanda se è necessario un avvio sicuro per le macchine a base solo di Linux e come le distribuzioni Linux gestiscono questo caso.
Cos'è l'avvio sicuro?
L'avvio sicuro riguarda la fiducia. L'idea generale dietro di essa sta iniziando la macchina in modo sicuro per impedire al computer di funzionare con malware fin dall'inizio. In generale, un inizio pulito con un sistema affidabile è un approccio per essere fortemente supportato.
L'avvio sicuro fa parte dell'interfaccia del firmware Extensible Unified (UEFI): un'interfaccia centrale tra il firmware, i singoli componenti del computer e il sistema operativo [3]. Per un periodo di circa cinque anni è stato sviluppato da Intel e Microsoft in sostituzione del BIOS. Nel 2012, versione 2.3.1 di UEFI è stato introdotto con Microsoft Windows 8. Microsoft ha reso obbligatorio per i produttori di computer implementare UEFI se volessero ottenere una certificazione Windows 8 per le loro macchine di nuova costruzione [15].
Ma perché è sicuro il boot chiamato secure boot? Ciò che lo rende un'opzione di avvio sicuro? L'avvio sicuro consente solo l'avvio da bootloader precedentemente assegnati e quindi è destinato a impedire l'avvio di malware o altri programmi indesiderati. Un BIOS tradizionale avverterebbe qualsiasi software. Consentirebbe anche al malware, come un rootkit, di sostituire il caricatore di avvio. Il rootkit sarebbe quindi in grado di caricare il tuo sistema operativo e rimanere completamente invisibile e non rilevabile sul sistema. Mentre con avvio sicuro il firmware di sistema controlla prima se il caricatore di avvio del sistema è firmato con una chiave crittografica. La chiave crittografica è una chiave che è stata autorizzata da un database contenuto nel firmware. Solo se la chiave viene riconosciuta, consentirà al sistema di avviare. Tale firma valida deve seguire una specifica da parte della Microsoft UEFI Certificate Authority (CA).
Prospettive differenti
A prima vista suona abbastanza bene, ma ci sono sempre due lati di una moneta. Come coesistono vantaggi e svantaggi al solito. Premere le recensioni o lodare o demonizzare l'avvio sicuro a seconda di chi sta scrivendo la recensione.
Innanzitutto, tieni presente che l'autorità sulle chiavi crittografiche è nelle mani di un singolo giocatore globale - Microsoft. Dare energia a milioni di macchine a una singola azienda non è mai una buona idea. In questo modo Microsoft si protegge il controllo completo della macchina. Con un'unica decisione, Microsoft è in grado di bloccare l'intero mercato con un unico ictus e di bloccare sia i suoi concorrenti che te come cliente. E.G. Se si desidera installare hardware da un altro produttore in una fase successiva, è necessario assicurarsi che la chiave del nuovo componente sia stata archiviata nel sistema di database. Lasciandoti con flessibilità e scelte limitate, soprattutto se sei uno sviluppatore.
In secondo luogo, non solo le scelte hardware sono limitate, ma anche le scelte del sistema operativo sono destinate a essere limitate a causa della tecnologia UEFI introdotta da Windows. Ciò significa che sta rendendo la vita difficile per la comunità Linux. Prima del suo utilizzo sull'hardware basato su UEFI, Linux Boot Loaders come Grub devono prima essere certificati e quindi rallenta gli sviluppi piuttosto rapidi poiché la comunità open source è nota per. Nessuno sa cosa succede se il validatore centrale commette un errore durante la convalida o blocca il rilascio di un software aggiornato.
Terzo, cosa significa il termine malware oggi e domani? Comprende sistemi operativi dai concorrenti [5] o sono esclusi? Il processo di validazione corre dietro le tende e nessuno può dimostrarlo.
In quarto luogo, ci sono riserve per quanto riguarda la sicurezza. Secondo gli sviluppi attuali la lunghezza delle chiavi crittografiche è relativamente breve. L'avvio sicuro consente solo certificati X509 e chiavi RSA con una lunghezza fissa di 2048 bit [16]. Nel prossimo futuro, con l'uso della parallelizzazione di massa e l'ulteriore potenza di calcolo basata sulla virtualizzazione, si prevede che questo livello di sicurezza venga rotto. Oggi si consigliano le chiavi crittografiche con una lunghezza di 4096 bit.
In quinto luogo, sembra come se il software, sia offerto da un grande fornitore e certificato è sicuro e senza errori. Come mostra la storia, sappiamo tutti questo non è vero, il software contiene sempre bug. Una certificazione ti culla in un falso senso di sicurezza.
Soluzioni per open source
Ma dove c'è un problema, c'è anche una soluzione. Microsoft offre generosamente l'opportunità ai distributori Linux di accedere al portale Microsoft Sysdev per firmare i loro caricatori di avvio [17]. Questo servizio ha tuttavia un prezzo.
Le distribuzioni Linux hanno solo uno "spessore" [11] firmato nel portale Microsoft. Lo spessore è un piccolo caricatore di avvio che avvia le distribuzioni Linux Main Grub Boot Loader. Microsoft controlla solo lo spessore firmato e successivamente i tuoi stivali di distribuzione Linux normalmente. Questo aiuta a mantenere il sistema Linux come al solito.
Come riportato da varie fonti, (U) EFI funziona bene con Fedora/Redhat, Ubuntu, Arch Linux e Linux Mint. Per Debian GNU/Linux non esiste un supporto ufficiale per quanto riguarda l'avvio sicuro [9]. Ad ogni modo, c'è un interessante post sul blog su come impostare questo [18], nonché una descrizione nel Wiki Debian [14].
Alternative a UEFI
UEFI non è l'unico successore del BIOS PC: ci sono alternative. Potresti dare un'occhiata più da vicino a Openbios [4], libreboot [7], firmware aperto [8,9] e coreboot [10]. Per questo articolo non li abbiamo testati ma è utile sapere che esistono implementazioni alternative e stanno lavorando senza intoppi.
Conclusione
Come accennato prima, la domanda chiave è la fiducia. Per quanto riguarda i computer chiediti di quali parti del sistema ti fidi: i componenti hardware (firmware, chip, TPM) e/o componenti software (boot loader, sistema operativo, software in uso). Non puoi eseguire il debug dell'intero sistema. Può aiutare a sapere che il tuo sistema operativo non funziona contro i tuoi interessi e che fai le cose per le quali hai acquistato il sistema - in modo sicuro senza essere controllato da un monopolista.
Collegamenti e riferimenti
Riconoscimenti
Frank Hofmann e Mandy Neumeyer sono coautori dell'articolo. Gli autori desiderano ringraziare Justin Kelly per il suo aiuto e commenti critici mentre scrivono questo articolo.