Due novità riguardanti il ​​pre-bootloader

Sono le traduzioni di due post che James Bottomley ha preso sul suo blog. Il primo post è stato pubblicato l'1 febbraio e si chiama "LCA2013 and Restructuring the Secure Boot"

Sono stato in silenzio per un po ', quindi è ora di aggiornare su cosa sta succedendo con il Secure Boot Loader di Linux Foundation (soprattutto che è stato presentato a LCA2013). (Link alle diapositive)

L'essenza del problema è che GregKH (sviluppatore del kernel Greg Kroah-Hartman) ha scoperto all'inizio di dicembre che il Pre-BootLoader proposto non avrebbe funzionato nella sua forma attuale con Gummiboot. Era un po 'scoraggiante perché significava che non stava adempiendo alla missione della Linux Foundation di attivare tutti i bootloader. Nella ricerca, il motivo era semplice: Gummiboot è stato creato per dimostrare che è possibile creare un bootloader piccolo e semplice che sfrutti tutti i servizi disponibili sulla piattaforma UEFI invece di essere un enorme link loader come GRUB. Sfortunatamente significa che avvii i kernel usando la funzione BootServices-> LoadImage (), il che significa che il kernel da avviare deve passare attraverso i controlli di avvio sicuro sulla piattaforma UEFI. Originariamente il Pre-BootLoader, come shim (Bootloader di Mathew Garrett), è stato scritto per utilizzare il caricamento del collegamento PE / Coff per sconfiggere i controlli di avvio sicuro. Sfortunatamente, significa che qualcosa eseguito dal Pre-BootLoader deve anche utilizzare il caricamento del collegamento per battere i controlli di avvio sicuro su tutto ciò che vuole caricare e quindi Gummiboot, che non è deliberatamente un caricatore di link, non funzionerà con questo schema.

Quindi ho dovuto ristrutturare e riscrivere: il problema ora è passato da "come creare un caricatore di link firmato da Microsoft che obbedisca alle loro politiche" a "come abilitare tutti i figli del boot loader a utilizzare la funzione BootServices-> LoadImage () di modo di obbedire alle loro politiche. Fortunatamente, esiste un modo per intercettare l'infrastruttura di firma della piattaforma UEFI installando il proprio protocollo di sicurezza dell'architettura. Sfortunatamente, la specifica di inizializzazione della piattaforma non fa effettivamente parte della specifica UEFI, ma per fortuna è implementata da ogni sistema Windows 8 che puoi trovare. La nuova architettura intercetta quel protocollo e aggiunge il proprio controllo di sicurezza. Tuttavia, c'è un secondo problema: mentre siamo nel callback del protocollo di sicurezza dell'architettura, non possediamo necessariamente la schermata del sistema UEFI, rendendo completamente impossibile eseguire un test utente per autorizzare l'esecuzione del binario. Fortunatamente, esiste un modo non interattivo per eseguire questa operazione, ovvero il meccanismo SUSE Machine Owner Key (MOK). Pertanto, il Pre-BootLoader di Linux Foundation si è ora evoluto per utilizzare variabili MOK standard per memorizzare gli hash binari autorizzati.

Il risultato di tutto ciò è che ora puoi usare Pre-BootLoader con Gummiboot (proprio come è stato fatto nella demo a LCA2013). Per avviare, devi aggiungere 2 hash: uno per lo stesso Gummiboot e l'altro per il kernel che vuoi avviare, ma in realtà è una buona cosa perché ora hai un'unica politica di sicurezza che controlla l'intera sequenza di avvio. Anche lo stesso Gummiboot è stato patchato per riconoscere un bug dovuto all'avvio sicuro e visualizza un messaggio che ti dice quale hash registrare.

Farò un post a parte per spiegare come funziona la nuova architettura, ma ho pensato che sarebbe stato meglio spiegare cosa è successo il mese scorso.

E questo secondo post l'ha fatto ieri e si chiama "Launched the Linux Foundation Secure Boot System"

Come promesso, ecco il Linux Foundation Secure Boot System. In realtà ci è stato rilasciato da Microsoft il 6 febbraio, ma con i viaggi, le conferenze e le riunioni non ho avuto il tempo di convalidare tutto fino ad oggi. I file sono:

Precaricatore.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
Crea anche un'immagine mini-USB avviabile; (Devi installarlo sull'USB usando dd; l'immagine ha partizioni GPT, quindi utilizza l'intero disco). Ha una shell EFI dove dovrebbe essere il kernel e usa gummiboot per caricarlo. Potete trovare qui (md5sum 7971231d133e41dd667a184c255b599f).

Per utilizzare l'immagine mini-USB, è necessario inserire gli hash per loader.efi (nella cartella \ EFI \ BOOT) e shell.efi (nella cartella principale). Include anche una copia di KeyTool.efi, devi inserire l'hash per eseguire.

Cosa è successo a KeyTool.efi? Inizialmente doveva far parte del nostro kit firmato. Tuttavia, durante i test Microsoft ha scoperto che a causa di un bug in una delle piattaforme UEFI, potrebbe essere utilizzato per rimuovere la chiave della piattaforma a livello di programmazione, il che rovinerebbe il sistema di sicurezza UEFI. Fino a quando non saremo in grado di risolvere questo problema (abbiamo il venditore privato nel giro), si sono rifiutati di firmare KeyTool.efi sebbene tu possa autorizzarlo aggiungendo variabili MOK se vuoi eseguirlo.

Fammi sapere come va perché sono interessato a raccogliere feedback su cosa funziona e cosa no. In particolare, temo che l'override del protocollo di sicurezza non funzioni su alcune piattaforme, quindi desidero in particolare sapere se non funziona per loro.

Fuentes:

http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/

http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/

Decidi se è una buona o cattiva notizia.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Alf suddetto

    Beh, non riesco a vedere l'impatto a lungo termine, ma per me sarà il mio obiettivo acquisire uno di questi http://blog.linuxmint.com/?p=2055

    1.    Giskard suddetto

      Sono molto costosi, credo.

    2.    Carlos-Xfce suddetto

      Ci sono aziende che vendono computer senza un sistema operativo preinstallato. Altri ti consentono di scegliere tra Ubuntu o altri e inviarlo a casa tua pronto. Puoi anche acquistare le parti e assemblarle da solo e inserire il sistema operativo che desideri.

      Nella tua città (GDL) c'è una catena di negozi di computer che vendono computer senza un sistema operativo preinstallato. Puoi mettere Linux su di loro.

      Ci sono sempre delle opzioni. In questo caso, sono remoti e molto "nascosti" all'utente comune. Ma per quelli di noi che vogliono Linux, c'è, c'è.

      1.    Arcobaleno_fly suddetto

        Non ci sono così tante opzioni per gli utenti dell'America Latina dal momento che quelle aziende "speciali" di solito non arrivano così lontano

        1.    abib91 suddetto

          awwnnn triste, triste…. quel maledetto UEFI è un vero problema

          1.    abib91 suddetto

            Segnala errore…. quello che è successo? Perché ho ricevuto il logo della mela nei miei commenti? Sto usando midori, ma da ubuntu, non da un mac: /

          2.    pandev92 suddetto

            Bene, molto semplice, devi cambiare l'agente utente.

  2.   Damian rivera suddetto

    Questi plugin si basano sulla ricerca di una stringa (stringa di testo) in questo caso cercano il tuo sistema nell'agente utente e l'agente utente midori ha una stringa di testo che ha anche MacOS X, non ricordo se intel o Mac OSX o il due, ma prima trova questa stringa e collegala come se fosse Mac. Qualche tempo fa ho programmato uno script simile in php e un altro javascript e questo viene risolto dallo script, visto che non ci vuole nulla dopo Mac OS X e inviando quel risultato a la variabile midori, poiché è l'unica cosa che differenzia lo user agent usato da midori con quello del Mac, oppure possiamo cambiarla anche noi.

    Controlla questo sito con midori

    http://whatsmyuseragent.com/

    E l'agente utente non ha nulla a che fare con Linux

    saluti

  3.   Alf suddetto

    «Carlos-Xfce
    Nella tua città (GDL) c'è una catena di negozi di computer che vendono computer senza un sistema operativo preinstallato. Puoi mettere Linux su di loro. "

    All'epoca cercavo e non trovavo, solo un grossista che mi vendeva netbook senza OS, ma solo quello, niente PC o laptop, solo netbook.

    Potresti dire il nome della catena?

    1.    Alf suddetto

      Se la pubblicazione del nome della catena potrebbe essere interpretata male ed è considerata spam, sarebbe bene attendere che gli amministratori esprimano la loro opinione in merito.