Ich plane, in den kommenden Tagen einen neuen Laptop zu kaufen, und ich bin ziemlich beeindruckt von neuen, coolen Ultrabooks. Als langjähriger GNU / Linux-Benutzer werde ich natürlich eine Distribution meiner Wahl darauf installieren.
Möglicherweise muss ich einen Computer mit vorinstalliertem Windows 8 kaufen. und es besteht die Möglichkeit, dass UEFI ausgeführt wird und ein "sicherer Start" erfolgt, auf dem nicht signierte Kernel nicht gestartet werden.
UEFI ist wahrscheinlich gut, das BIOS muss möglicherweise in den Ruhestand gehen. Ich denke, die haarige Sache ist Secure Boot .
Soweit ich verstehen kann, werden einige vertrauenswürdige Zertifikate in die Firmware und damit in den Kernel usw. eingebettet . Wenn das Kernelzertifikat auf eine der Firmware-Versionen zurückgeführt werden kann , wird der Kernel gestartet, andernfalls weist mich UEFI an und lehnt den Start ab. Dieser Vorgang verhindert, dass nicht zertifizierte Software gestartet wird. Dies kann Vorteile haben, obwohl ich sie nicht sehen kann.
Ich frage mich, wie ein Open-Source-Kernel einen dieser Schlüssel erhalten und trotzdem frei sein kann . 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) ). Sie möchten dies tun, weil Microsoft nur PE-Binärdateien signiert. Herr Torvalds hat diesen Änderungssatz freundlicherweise abgelehnt und erklärt, dass der Kernel bereits den Standard implementiert, der nicht PE ist . RedHat versucht, diesen Code an den Kernel zu senden, damit er nicht eines Tages weitergegeben werden muss.
Sehen Sie, das ist eine komplizierte Sache. Lass mich meine Fragen stellen:
- Welche Vorteile habe ich als Privatanwender mit UEFI und Secure Boot?
- Wie erfolgt diese Unterzeichnung ?
- Wer kann Unterschriften / Zertifikate erhalten? Ist es bezahlt? Kann es öffentlich sein? (Es sollte im Quellcode von Linux verfügbar sein, nicht wahr?)
- Ist Microsoft die einzige Autorität, die Signaturen bereitstellt? Sollte es keine unabhängige Stiftung geben, die sie zur Verfügung stellt?
Wie wirkt sich dies auf Open Source und freie Kerne, Bastler / akademische Kernel - Entwickler usw. . zB Wird dieser Boot ( ein sehr einfacher Bootsektorcode ):
hang: jmp hang times 510-($-$$) db 0 db 0x55 db 0xAA
Eine Neuigkeit auf dieser Website war die Antwort auf diese Frage. Eine spanische Linux-Benutzergruppe namens Hispalinux hat eine Beschwerde gegen Microsoft zu diesem Thema bei der Europan Comission eingereicht.
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. Danke im Voraus.
UEFI
selbst ist kein großes Problem, aber sicherer Start kann sein.Antworten:
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.
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.
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.
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:
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.
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.
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.
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.
Gründe für Secure Boot:
quelle
Ich habe dies gerade mit einem kürzlich gekauften Laptop durchgemacht, der mit Windows 8 und UEFI Secure Boot geliefert wurde. Nach viel Zeit und Recherche kann ich Folgendes beantworten:
Die Vorteile von UEFI für den Durchschnittsbenutzer bestehen darin, dass das erste, was sie auf ihrem Bildschirm sehen, das UEFI-Bootloader-Display von Microsoft / Vendor ist. Keine dieser beängstigenden Dinge wie "Drücken Sie Entf für Setup, F11, um das Startgerät auszuwählen" usw.
Es wird dann schön in den Microsoft-Kernel / Bootloader-Wartebildschirm übergehen. Dies bietet die Möglichkeit, Microsoft-Themen aufzugreifen. Ob das ein tatsächlicher Vorteil ist, liegt wohl im Auge des Betrachters. Ich war ziemlich verärgert, dass ich nicht die normalen Informationen hatte, die ich beim Booten erwarten würde. Zum Beispiel viel Glück, wenn Ihr Anbieter keinen Standardschlüssel verwendet, um das Basis-UEFI / Bios-Setup aufzurufen.
Oh, ja, und die Theorie ist, dass dies die Viren des Bootsektors stoppen oder zumindest die Ersteller dazu bringen wird, eine ID zu erstellen / zu stehlen und 99 US-Dollar an Verisign (die RedHat Fedora-Route. Google it.) Zu zahlen.
Weitere Informationen zum tatsächlichen Signieren finden Sie hier: http://al.robotfuzz.com/playing-with-uefi-secure-boot-part-2-basic-authenticode-signing-with-ms-tools /
Wer ? Nur Microsoft?
Ah, und da ist die Reibung. Jeder kann mit jedem Schlüssel einen Code signieren. Das Problem ist, dass auf dem Computer nur Code ausgeführt wird, der von einem vertrauenswürdigen Autoritätsschlüssel signiert ist. Die öffentliche Hälfte des Schlüssels ist werkseitig im UEFI-Kern des Systems installiert und wird zum Überprüfen der Signatur der UEFI-Programme (Startcode) verwendet, die mit dem privaten Schlüssel signiert sind.
Ratet mal, wer der öffentliche Schlüssel ist, der im Werk installiert wurde? Ratet mal, wer verlangt, dass Secure Boot standardmäßig aktiviert ist?
Jeder Systemhersteller wird den Microsoft-Schlüssel offensichtlich dort einstecken. Sie könnten auch den Canonical-Schlüssel (Ubuntu), den Red Hat-Schlüssel, den Apple-Schlüssel usw. eingeben. Mehr Schlüssel bedeuten jedoch mehr Punkte für Sicherheitsverletzungen, und es gibt offensichtlich eine physikalische Grenze für die Anzahl der Speicherplätze.
Und was ist die Lösung für einen rebellischen Computerbenutzer wie Sie?
Ich hoffe, Ihr Systemanbieter ermöglicht Ihnen den Zugriff auf die Systemstartkonfiguration
Ich hoffe, Sie können den sicheren Start deaktivieren. Windows-Startcode wird weiterhin ohne sicheren Start ausgeführt.
Wenn Sie wirklich Glück haben, können Sie vom Systemanbieter Ihre eigenen Zertifizierungsschlüssel eingeben und Ihre eigenen Daten signieren. Dies wird nur dann wirklich benötigt, wenn Sie mit Secure Boot herumspielen möchten.
Mit meinem MSI-Laptop kann ich all das tun.
Ich würde gerne eine Welt sehen, in der jeder eine kostenlose Kopie einer Linux-Distribution kaufen und sein Betriebssystem ersetzen kann. Dies ist, was wir vor Secure Boot hatten. Wir hatten auch viele Bootsektor-Viren. Das Deaktivieren des sicheren Startvorgangs in Ihrer Systemkonfiguration ist wahrscheinlich eine kleine Hürde, um zu überprüfen, ob Sie über die erforderliche Intelligenz verfügen, um ein Betriebssystem zu installieren, oder jemanden zu kennen, der dies tut.
Nicht die Fähigkeit zu haben, es auszuschalten, ist die schlechte Sache, und das liegt beim Hersteller. Beschuldigen Sie Microsoft nicht, es sei denn, sie "überzeugen" den Hersteller, das Deaktivieren des sicheren Startvorgangs zu verhindern.
quelle