Uefi: l'eterna lotta tra il bene e il male

Embed Size (px)

DESCRIPTION

Un esame tecnico e meno tecnico su quanto ci porterà la nuova tecnologia di Boot.

Citation preview

  • 1. UEFI Secure Boot The good and the bad Marcello Missiroli Davide Bolcioni

2. Di che cosa parleremo Motivazioni che hanno portato a UEFI Stutturazione tecnica di UEFI Le cose buone Le cose cattive (o quantomeno sospette) 3. Evoluzione del Boot Anni 70: Inizializza e lancia il BASIC Anni 80: IBM propone e distribuisce il codiceper il BIOS successo oltre le aspettative Tentativi di miglioramenti BIOS (falliti) ABIOS (IBM su PS/2, Microchannel) Common Hardware Reference Platform(PowerPC) OpenFirmware(Forth) LinuxBIOS (Licenza) 4. Come funziona il boot oggi Lento Menu del bios poco intuitivi(spesso in inglese) Opzioni oscure tramite [canc][Fn] Tecnologia degli anni 80 Durata dai 15 ai 120 secondi Usa 16bit e 1Mbyte (max) Limite di 2Tb 5. Avvio e spegnimento Si fanno tutti i giorni (spesso pi volte al giorno) Sono un elemento di valutazione della bont diun sistema (specie per gli utenti non tecnici) Dipendono dal firmware 6. Come lo vorremmo? Veloce Bello Moderno Chiaro 7. Ecco UEFI Unified Extensible FirmwareInterface (UEFI) Sostituisce il BIOS Usa 32 o 64 bit Usa UGA (Unified GraphicsAdapter) che sostituisce emigliora VGA Usa driver (EFI Byte Code,EBC). I dispositivi possonoessere usati anche in fase diavvio 8. Uso del disco Si possono usare partizioni maggiori di 2Tbyte(max 8Zbyte) Non usa pi il MBR e le partizioni classiche,ma lo schema GUID Supporta FAT 32/16/12 9. Schema di GUIDMBR fasullo Tabella partizioni Primaria (128 max) Elenco partizioni Tabella partizioni Secondaria (copia) 10. Voce della tabella dellepartizioni GUID Usa 128 byte(!) I primi 16 sono il TIPO della partizione I secondi 16 sono un ID univoco dellapartizione Seguono 8 byte per linizio della partizione(Logical Block Addressing) 8 per la fine della partizione (LBA) 16 per gli attributi 72 per il nome della partizione (UTF-16) 11. Sequenza di Boot 12. Situazione attuale di supporto Windows Windows 3.1, XP e Vista NON possono funzionarecon EFIU Windows 7 e Windows server si, ma solo a 64bit Linux Pu funzionare Mac OS Si, ma con un hack (hackintosh) 13. UEFI: il buono Tempi di boot ridotti (7s) POST effettuato in grafica moderna Passaggio al SO senza sfarfallii Protezione dai rootkit e dalle modifiche al BIOSnon autorizzate Uso di grandi partizioni 14. UEFI Secure Boot Come funziona? Allavvio viene eseguito il firmware UEFI Esamina le memorie di massa che trova Riconosce le partizioni avviabili Segue una politica per avviare qualcosa Lunico che trova Il primo Chiede allutente 15. UEFI Secure Boot I file avviabili includono una firma Firmati con una chiave privataNel caso di Windows 8, una di Microsoft Il firmware cerca la chiave pubblica corrispondente Il file viene letto e la firma viene verificata Se non corrisponde, quel file non viene avviato Tecnologia analoga a SSL Ingegnerizzata da Intel Sicura quanto lo home banking 16. Conseguenze Windows 8 da HD si avvia Firmato dalla chiave MicrosoftPresumibilmente presente (OEM certification) Windows 8 da CD o USB si avvia Idem Linux da CD si avvia ?La chiave presente ? 17. Le chiavi del regno Chi controlla le chiavi UEFI controlla il PC Il produttore del PC controlla la chiave iniziale Quelle di Microsoft ci saranno I produttori di PC non possono ignorare Windows Red Hat potrebbe, probabilmente pagando Non necessariamente in tutti Canonical potrebbe, probabilmente pagando Non un costo da poco Debian avrebbe presumibilmente difficolt 18. Fornitore e consumatore Il fornitore sceglie le chiavi presenti Opzione per disabilitare la verifica della chiave Il fornitore pu scegliere varie politiche Solo la chiave Microsoft La chiave Microsoft e la propria La chiave di chiunque paghi abbastanza Una chiave da dispositivo rimovibile (dopo) Interfaccia di gestione delle chiavi Aggiungi, Rimuovi, Abilita, Disabilita, ... 19. A pensar male - 1 Ufficialmente per motivi di sicurezza Strumenti di ripristino ? Stratagemma per tagliare le gambe a Linux Quota di mercato in crescita In particolare nei mercati emergenti Acquirente ostaggio delle scelte del fornitore Scelte presenti ma soprattutto future Software a corredo Installazione OEM vincolata 20. A pensar male -2 Lavvio solo il primo passo Una rana si pu bollire viva ... piano piano Con UEFI controllo cosa viene avviato Ci che viene avviato controlla che S.O. parte Le chiavi sono nel TPM (aka Palladium) Il S.O. controlla la chiave dei programmi avviati Possono andare in esecuzione solo se autorizzati Autorizzati da chi ? Niente pi software liberamente modificabile D fastidio, perch consente ai peones di scegliere 21. Esempio: Windows 8 Per avere il logo Windows 8 un OEM deve Attivare Secure Boot Impedirne il controllo tramite programma Quale programma ? Assicurare che vengano impediti aggiornamenti delfirmware non autorizzati Autorizzati da chi ? 22. Attestazione Il software pu proteggersi dalla copia edalluso fuori dai termini di licenza Si collega via Internet per verificare Questo controllo non pu essere rimosso Si torna a pagare la licenza di ogni programma Niente abuso del software OEM Posso impedire la circolazione dellusato Software in abbonamento, a consumo, a tempo Intrattenimento pay per view 23. Farsi pagare I produttori di PC possono farsi pagare Per ciascuna chiave nel firmware UEFI I produttori di S.O. possono farsi pagare Per ciascuna applicazione autorizzata I produttori di applicazioni possono farsi pagare Per lapplicazione stessa Per i contenuti che riproducono Per autorizzare eventuali add-on I produttori di contenuti possono farsi pagare 24. Se non siete daccordo... Petizione della FSFhttp://www.fsf.org/campaigns/secure-boot-vs-restricted-boot 25. AppendiceDettagli tecnici su GRUB+UEFI 26. Caso RedHatLinuxIl sistema legge la tabella delle partizioni monta EFI System Partition (ESP), unapartizione VFAT etichettata con un globallyunique identifier (GUID) particolare (di solitoin /boot/efi/) La directory /boot/efi/EFI/redhat/ contienegrub.efi, una versione di GRUB speciale. GRUB determina quale sistema operativo okernel deve avviare, lo carica allinterno dellamemoria e trasferisce il controllo dellamacchina al sistema operativo in questione. 27. Caso Ubuntu Google is your friend, or try: https://help.ubuntu.com/community/UEFI http://askubuntu.com/questions/91484/how-to-boot-ubun https://help.ubuntu.com/community/UEFIBootingYMMV 28. Licenza Questo file distribuito con licenza CreativeCommon BY-SA http://creativecommons.org/licenses/by-sa/2.5/it/