Dieser Vorgang verhindert, dass nicht zertifizierte Software gestartet wird. Dies kann Vorteile haben, obwohl ich sie nicht sehen kann.
Sie haben einen neuen Sicherheitsmechanismus, mit dem Sie steuern können, was von Ihrer Hardware gestartet werden kann und was nicht. Ein Sicherheitsmerkmal. Sie haben nicht das Gefühl, dass Sie es brauchen, bis es zu spät ist. Aber ich schweife ab.
Ich habe einen Thread in einer Linux-Mailingliste gelesen, in dem ein Red Hat-Mitarbeiter Linus Torvalds auffordert, ein Änderungsset abzurufen, das die Möglichkeit implementiert, PE-Binärdateien zu analysieren und eine komplexe Reihe von Aktionen auszuführen, damit der Kernel im sicheren Startmodus startet (soweit ich das verstehe) ).
Treiber müssen wie Ihre GPU-Firmware im Einklang mit Secure Boot signiert sein, andernfalls kann es sich um ein weiteres Rootkit handeln. Der Status Quo ist, dass diese Treiber im PE-Format signiert sind. Der Kernel kann ohnehin ohne booten, aber die Hardware funktioniert nicht. Das Parsen des PE-Formats im Kernel ist technisch gesehen eine einfachere Wahl, als jeden Hardwareanbieter aufzufordern, seine Blobs für jede Distribution zu signieren, oder ein User-Space-Framework einzurichten, um dies zu tun. Linus beschließt, Microsofts Schwanz nicht zu lutschen. Das ist kein technisches Argument.
Welche Vorteile habe ich als Privatanwender mit UEFI und Secure Boot?
Die sichtbarste Funktion ist der UEFI-Schnellstart. Ich habe mehrere Windows 8-Logo-Desktops in den Händen und sie booten so schnell, dass ich es oft vermisse, das Boot-Menü aufzurufen. Intel und OEMs haben einige technische Probleme.
Wenn Sie die Art von Linux-Benutzern sind, die es leidenschaftlich hassen, aufgebläht zu sein und Code zu duplizieren , möchten Sie möglicherweise auch Multiboot auf Firmware-Ebene verwalten und Bootloader ganz loswerden. UEFI bietet einen Boot-Manager, mit dem Sie direkt in den Kernel booten oder andere Betriebssysteme über das Firmware-Menü booten können. Obwohl es einige Bastelarbeiten braucht.
Auch schickere Grafiken während des Bootens und im Firmware-Menü. Bessere Sicherheit beim Booten (Secure Boot). Andere Funktionen (IPv4 / 6-Netboot, 2 TB + -Boot-Geräte usw.) sind hauptsächlich für Unternehmensbenutzer vorgesehen.
Wie auch immer, wie Linus sagte , soll BIOS / UEFI "nur das Betriebssystem laden und die Hölle loswerden", und UEFI scheint dies auf jeden Fall für Heimanwender mit Schnellstart zu sein. Es macht sicherlich mehr als BIOS unter der Haube, aber wenn wir über Heimanwender sprechen, werden sie sich nicht darum kümmern.
Wie erfolgt die Unterzeichnung?
Theoretisch wird eine Binärdatei mit einem privaten Schlüssel verschlüsselt, um eine Signatur zu erstellen. Anschließend kann die Signatur mit dem öffentlichen Schlüssel überprüft werden, um zu beweisen, dass die Binärdatei vom Eigentümer des privaten Schlüssels signiert wurde. Anschließend kann die Binärdatei überprüft werden. Sehen Sie mehr auf Wikipedia .
Technisch gesehen wird nur der Hash der Binärdatei signiert und die Signatur wird in die Binärdatei mit PE-Format und zusätzlichem Format-Twiddling eingebettet.
Der öffentliche Schlüssel wird von Ihrem OEM in Ihrer Firmware gespeichert und stammt von Microsoft. Sie haben zwei Möglichkeiten:
- Generieren Sie Ihr eigenes Schlüsselpaar und verwalten Sie diese sicher, installieren Sie Ihren eigenen öffentlichen Schlüssel für die Firmware und signieren Sie die Binärdatei mit Ihrem eigenen privaten Schlüssel ( sbsign von Ubuntu oder pesign von Fedora) oder
- Senden Sie Ihre Binärdatei an Microsoft und lassen Sie sie signieren.
Wer kann Unterschriften / Zertifikate erhalten? Ist es bezahlt? Kann es öffentlich sein? (Es sollte im Quellcode von Linux verfügbar sein, nicht wahr?)
Da Signaturen / Zertifikate in Binärdateien eingebettet sind, wird von allen Benutzern erwartet, dass sie diese erhalten. Jeder kann seine eigene Zertifizierungsstelle einrichten und ein Zertifikat für sich selbst erstellen. Wenn Sie jedoch möchten, dass Microsoft ein Zertifikat für Sie erstellt, müssen Sie Verisign durchlaufen, um Ihre Identität zu überprüfen. Der Prozess kostet 99 $. Der öffentliche Schlüssel ist in Firmware. Der private Schlüssel befindet sich im Safe von Microsoft. Das Zertifikat befindet sich in der signierten Binärdatei. Kein Quellcode beteiligt.
Ist Microsoft die einzige Autorität, die Signaturen bereitstellt? Sollte es keine unabhängige Stiftung geben, die sie zur Verfügung stellt?
Die technische Seite ist im Vergleich zum Prozess der Verwaltung der PKI, der Überprüfung der Identität und der Abstimmung mit allen bekannten OEMs und Hardwareanbietern eher trivial. Das kostet ein Schatz. Microsoft verfügt über eine Infrastruktur (WHQL) und jahrelange Erfahrung dafür. Also bieten sie an, Binärdateien zu signieren. Jede unabhängige Stiftung kann das Gleiche anbieten, aber bisher hat es noch keine getan.
Aus einer UEFI-Sitzung auf der IDF 2013 geht hervor, dass Canonical auch damit begonnen hat, einen eigenen Schlüssel für eine Tablet-Firmware festzulegen. Canonical kann also ihre eigenen Binärdateien signieren, ohne Microsoft zu durchlaufen. Es ist jedoch unwahrscheinlich, dass sie Binärdateien für Sie signieren, da sie nicht wissen, wer Sie sind.
Wie wird sich dies auf Open Source- und Free-Kernel, Hobby-Entwickler / akademische Kernel-Entwickler usw. auswirken?
Ihr angepasster Kernel bootet nicht unter Secure Boot, da er nicht signiert ist. Sie können es jedoch ausschalten.
Das Vertrauensmodell von Secure Boot sperrt einige Aspekte des Kernels. Als ob Sie Ihren Kernel nicht zerstören können, indem Sie an / dev / kmem schreiben, selbst wenn Sie jetzt root sind. Sie können den Ruhezustand nicht auf der Festplatte aktivieren, da nicht sichergestellt werden kann, dass das Kernel-Image bei der Wiederaufnahme nicht in ein Bootkit geändert wird. Sie können den Core nicht sichern, wenn Ihr Kernel in Panik gerät, da der Mechanismus von kdump (kexec) verwendet werden kann, um ein Bootkit zu starten (das auch im Upstream-Modus ausgeführt wird). Diese sind umstritten und werden von Linus nicht für den Mainline-Kernel akzeptiert. Einige Distributionen (Fedora, RHEL, Ubuntu, openSUSE, SUSE) werden jedoch mit eigenen Secure Boot-Patches ausgeliefert.
Persönlich kostet die für die Erstellung eines Secure Boot-Kernels erforderliche Modulsignatur 10 Minuten, während die eigentliche Kompilierung nur 5 Minuten dauert. Wenn ich die Modulsignatur ausschalte und den Ccache einschalte, dauert die Kernel-Erstellung nur eine Minute.
UEFI ist ein völlig anderer Bootpfad als das BIOS. Der gesamte BIOS-Startcode wird nicht von der UEFI-Firmware aufgerufen.
Eine spanische Linux-Benutzergruppe namens Hispalinux hat eine Beschwerde gegen Microsoft zu diesem Thema bei der Europäischen Kommission eingereicht.
Wie oben erwähnt, hat niemand außer Microsoft den öffentlichen Dienst übernommen. Derzeit gibt es keine Beweise dafür, dass Microsoft beabsichtigt, hier etwas Böses zu tun, aber es gibt auch nichts, was Microsoft davon abhält, sein De-facto-Monopol zu missbrauchen und eine Stromreise zu unternehmen. Während Benutzergruppen von FSF und Linux möglicherweise nicht sehr pragmatisch aussehen und sich nicht wirklich hinsetzen, um Probleme konstruktiv zu lösen, ist es durchaus notwendig, dass die Leute Druck auf Microsoft ausüben und sie vor den Auswirkungen warnen.
Sollte ich besorgt sein? Ich lehne es ab, weder proprietäre Software noch von vertrauenswürdigen Unternehmen signierte Software zu verwenden. Das habe ich bis jetzt getan und ich möchte so weitermachen.
Gründe für Secure Boot:
- Es eliminiert einen echten Sicherheitsangriffsvektor.
- Dies ist ein technischer Mechanismus, um dem Benutzer mehr Freiheit bei der Steuerung seiner Hardware zu geben.
- Linux-Benutzer müssen den Secure Boot-Mechanismus verstehen und proaktiv handeln, bevor Microsoft das Monopol der Secure Boot- Richtlinie zu weit ausloten kann .
UEFI
selbst ist kein großes Problem, aber sicherer Start kann sein.