Zwei Neuigkeiten zum Pre-Bootloader

Sie sind die Übersetzungen von zwei Posts, die James Bottomley in seinem Blog aufgenommen hat. Der erste Beitrag wurde am 1. Februar veröffentlicht und heißt "LCA2013 und Restrukturierung des sicheren Starts".

Ich war ein bisschen still, daher ist es Zeit, ein Update darüber zu geben, was mit dem Secure Boot Loader der Linux Foundation los ist (insbesondere, dass er auf der LCA2013 vorgestellt wurde). ((Link zu den Folien)

Das Wesentliche des Problems ist, dass GregKH (Kernel-Entwickler Greg Kroah-Hartman) Anfang Dezember entdeckte, dass der vorgeschlagene Pre-BootLoader in seiner aktuellen Form mit Gummiboot nicht funktionieren würde. Das war etwas entmutigend, da es nicht die Mission der Linux Foundation erfüllte, alle Bootloader zu aktivieren. Bei der Untersuchung war der Grund einfach: Gummiboot wurde erstellt, um zu demonstrieren, dass Sie einen kleinen und einfachen Bootloader erstellen können, der alle auf der UEFI-Plattform verfügbaren Dienste nutzt, anstatt ein massiver Linkloader wie GRUB zu sein. Leider bedeutet dies, dass Sie Kernel mit der Funktion BootServices-> LoadImage () booten. Dies bedeutet, dass der zu bootende Kernel die sicheren Startprüfungen auf der UEFI-Plattform durchlaufen muss. Ursprünglich war der Pre-BootLoader wie Unterlegscheibe (Mathew Garretts Bootloader) wurde geschrieben, um das Laden von PE / Coff-Links zu verwenden, um sichere Boot-Checks zu bestehen. Leider bedeutet dies, dass etwas, das vom Pre-BootLoader ausgeführt wird, auch das Laden von Links verwenden muss, um die sicheren Startprüfungen für alles zu bestehen, was geladen werden soll. Daher funktioniert Gummiboot, das absichtlich kein Linkloader ist, unter diesem Schema nicht.

Also musste ich umstrukturieren und neu schreiben: Das Problem ging nun von "Erstellen eines von Microsoft signierten Linkloaders, der deren Richtlinien befolgt" zu "Aktivieren aller untergeordneten Elemente des Bootloaders zur Verwendung der Funktion BootServices-> LoadImage () von Weg, um ihre Richtlinien zu befolgen. Glücklicherweise gibt es eine Möglichkeit, die Signaturinfrastruktur der UEFI-Plattform abzufangen, indem Sie Ihr eigenes Sicherheitsprotokoll für die Architektur installieren. Leider ist die Plattforminitialisierungsspezifikation nicht Teil der UEFI-Spezifikation, aber zum Glück wird sie von jedem Windows 8-System implementiert, das Sie finden können. Die neue Architektur fängt dieses Protokoll ab und fügt eine eigene Sicherheitsüberprüfung hinzu. Es gibt jedoch ein zweites Problem: Während wir uns im Architektur-Sicherheitsprotokoll-Rückruf befinden, besitzen wir nicht unbedingt den UEFI-Systembildschirm, so dass es völlig unmöglich ist, einen Benutzertest durchzuführen, um die Ausführung der Binärdatei zu autorisieren. Glücklicherweise gibt es eine nicht interaktive Möglichkeit, dies zu tun, und das ist der MOK-Mechanismus (SUSE Machine Owner Key). Daher hat sich der Linux Foundation Pre-BootLoader dahingehend weiterentwickelt, dass Standard-MOK-Variablen zum Speichern autorisierter binärer Hashes verwendet werden.

Das Ergebnis all dessen ist, dass der Pre-BootLoader jetzt mit Gummiboot verwendet werden kann (genau wie in der Demo auf LCA2013). Zum Booten müssen Sie zwei Hashes hinzufügen: einen für den Gummiboot selbst und einen für den Kernel, den Sie booten möchten. Tatsächlich ist dies jedoch eine gute Sache, da Sie jetzt eine einzige Sicherheitsrichtlinie haben, die die gesamte Startsequenz steuert. Der Gummiboot selbst wurde ebenfalls gepatcht, um einen Absturz aufgrund des sicheren Starts zu erkennen, und zeigt eine Meldung an, welche Hash Sie registrieren müssen.

Ich werde einen separaten Beitrag verfassen, in dem erklärt wird, wie die neue Architektur funktioniert, aber ich dachte, es wäre besser zu erklären, was letzten Monat passiert ist.

Und diesen zweiten Beitrag hat er gestern gemacht und heißt "Launched the Linux Foundation Secure Boot System".

Wie versprochen, ist hier das Linux Foundation Secure Boot System. Es wurde uns tatsächlich am 6. Februar von Microsoft zur Verfügung gestellt, aber bei den Reisen, Konferenzen und Besprechungen hatte ich bis heute keine Zeit, alles zu validieren. Die Dateien sind:

PreLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
Erstellen Sie auch ein bootfähiges Mini-USB-Image. (Sie müssen es mit dd auf dem USB-Stick installieren. Das Image verfügt über GPT-Partitionen, sodass die gesamte Festplatte verwendet wird.) Es hat eine EFI-Shell, in der sich der Kernel befinden sollte, und verwendet Gummiboot, um ihn zu laden. Sie finden es hier (md5sum 7971231d133e41dd667a184c255b599f).

Um das Mini-USB-Image verwenden zu können, müssen Sie die Hashes für loader.efi (im Ordner \ EFI \ BOOT) und shell.efi (im Stammordner) eingeben. Es enthält auch eine Kopie von KeyTool.efi. Sie müssen den Hash eingeben, um ausgeführt zu werden.

Was ist mit dem KeyTool.efi passiert? Es sollte ursprünglich Teil unseres signierten Kits sein. Beim Testen stellte Microsoft jedoch fest, dass aufgrund eines Fehlers in einer der UEFI-Plattformen der Plattformschlüssel programmgesteuert entfernt werden kann, wodurch das UEFI-Sicherheitssystem zerstört wird. Bis wir dies lösen können (wir haben den privaten Anbieter in der Schleife), haben sie sich geweigert, die KeyTool.efi zu signieren, obwohl Sie sie autorisieren können, indem Sie MOK-Variablen hinzufügen, wenn Sie sie ausführen möchten.

Lassen Sie mich wissen, wie das geht, weil ich daran interessiert bin, Feedback darüber zu erhalten, was funktioniert und was nicht. Insbesondere befürchte ich, dass die Überschreibung des Sicherheitsprotokolls auf einigen Plattformen nicht funktioniert. Daher möchte ich insbesondere wissen, ob sie für sie nicht funktioniert.

Quellen:

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

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

Entscheiden Sie, ob es sich um gute oder schlechte Nachrichten handelt.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Alf sagte

    Nun, ich kann die langfristigen Auswirkungen nicht sehen, aber für mich wird es mein Ziel sein, eine davon zu erwerben http://blog.linuxmint.com/?p=2055

    1.    giskard sagte

      Sie sind sehr teuer, denke ich.

    2.    Carlos-Xfce sagte

      Es gibt Unternehmen, die Computer ohne vorinstalliertes Betriebssystem verkaufen. Bei anderen können Sie zwischen Ubuntu oder anderen wählen und es bereit zu Ihnen nach Hause schicken. Sie können die Teile auch kaufen und selbst zusammenbauen und das gewünschte Betriebssystem verwenden.

      In Ihrer Stadt (GDL) gibt es eine Kette von Computergeschäften, die Computer ohne vorinstalliertes Betriebssystem verkaufen. Sie können Linux darauf setzen.

      Es gibt immer Optionen. In diesem Fall sind sie entfernt und für den normalen Benutzer sehr "verborgen". Aber für diejenigen von uns, die Linux wollen, gibt es, gibt es.

      1.    Regenbogenfliege sagte

        Es gibt nicht so viele Optionen für Benutzer aus Lateinamerika, da diese "speziellen" Unternehmen normalerweise nicht so weit kommen 🙁

        1.    abib91 sagte

          awwnnn traurig, traurig…. Diese verdammte UEFI ist ein echtes Problem

          1.    abib91 sagte

            Fehler melden…. Was ist passiert? Warum habe ich das Apple-Logo in meinen Kommentaren erhalten? Ich benutze Midori, aber von Ubuntu, nicht von einem Mac: /

          2.    pandev92 sagte

            Nun, sehr einfach, Sie müssen den Benutzeragenten ändern.

  2.   Damian Rivera sagte

    Diese Plugins basieren auf der Suche nach einer Zeichenfolge (Textzeichenfolge). In diesem Fall suchen sie im Benutzeragenten nach Ihrem System, und der Midori-Benutzeragent verfügt über eine Textzeichenfolge, die auch MacOS X enthält. Ich erinnere mich nicht, ob Intel oder Mac OSX oder die beiden, aber finden Sie zuerst diese Zeichenfolge und beziehen Sie sie so, als wäre es ein Mac. Vor einiger Zeit habe ich ein ähnliches Skript in PHP und ein anderes Javascript programmiert und dies wird aus dem Skript heraus gelöst, da es nach Mac OS X nichts mehr braucht und Senden dieses Ergebnisses an die Variable midori, da dies das einzige ist, das den von midori verwendeten Benutzeragenten von dem von Mac unterscheidet, oder wir können ihn auch ändern.

    Überprüfen Sie diese Seite mit midori

    http://whatsmyuseragent.com/

    Und der User Agent hat nichts mit Linux zu tun

    Grüße

  3.   Alf sagte

    «Carlos-Xfce»
    In Ihrer Stadt (GDL) gibt es eine Kette von Computergeschäften, die Computer ohne vorinstalliertes Betriebssystem verkaufen. Sie können Linux auf sie setzen. "

    Zu der Zeit habe ich gesucht und nicht gefunden, nur einen Großhändler, der mir Netbooks ohne Betriebssystem verkauft hat, aber nur das, keinen PC oder Laptop, nur Netbook.

    Könnten Sie den Namen der Kette sagen?

    1.    Alf sagte

      Wenn das Veröffentlichen des Kettennamens falsch interpretiert werden kann und als Spam betrachtet wird, sollten Sie warten, bis die Administratoren ihre Meinung dazu abgegeben haben.