Warum ist Secure Boot erforderlich, wenn bereits eine UEFI-Sperre vorhanden ist?

552
chzzh

Soweit ich weiß, werden bei der Funktion "Sicheres Starten" in UEFI signierte Schlüssel im Kernel-Image von NVRAM für Betriebssysteme gespeichert, um die Beschädigung auf Boot-Ebene zu überprüfen. Nichts hindert mich jedoch daran, das Setup-Menü zu starten und diese Funktion zu deaktivieren, bis das UEFI-Menü mit einem Kennwort gesperrt ist.

Seitdem besteht der einzige Weg, auf das Kernel-Image zuzugreifen und meinen Schadcode zu laden, in Evil Maid-Angriffen, indem das UEFI-Kennwort zurückgesetzt wird. Aber wenn wir auf das Motherboard zugreifen können, warum brauchen wir eine Secure-Boot-Spezifikation?

-4
@chzzh Sie sollten einen Blick auf https://superuser.com/help/dont-ask werfen. Ihre spezifische Frage lautete: "Aber wenn wir auf das Motherboard zugreifen können, warum brauchen wir dann eine Secure Boot-Spezifikation?" Außerhalb des Chat ist dies nicht der richtige Ort für Diskussionen. jdwolf vor 5 Jahren 1
@jdwolf Das war der zweite Teil meiner Frage, in dem Secure Boot als Bootsequenz-Locker angegeben wurde, was sich jedoch herausstellte. chzzh vor 5 Jahren 0

3 Antworten auf die Frage

3
Daniel B

Beim sicheren Start geht es nicht darum, einem physischen Angreifer Zugriff auf das System zu erlauben. Es soll verhindern, dass Software den Startvorgang manipuliert, indem die kryptografische Integrität des Bootloaders überprüft wird. Denken Sie an die blaue Pille .

Die Startschritte sind für die Überprüfung des nächsten Schrittcodes verantwortlich. Secure Boot selbst befasst sich nur mit dem ersten Schritt.

Ein Software-Angreifer muss nicht auf das UEFI-Setup zugreifen oder die Boot-Konfiguration ändern. Sie würden nur die UEFI-Programmdatei ersetzen, die ausgeführt werden soll. Eine Kennwortsperre beim UEFI-Setup wirkt sich nicht darauf aus.

Secure Boot hingegen überprüft die UEFI-Programmdatei mit kryptografischen Methoden. Es würde diese Änderung erkennen und das Booten ablehnen.

Um einen vertrauenswürdigen Start und Betrieb sicherzustellen, muss der gesamte Kernelmoduscode signiert sein. Dies ist der Fall bei 64-Bit-Versionen von Windows, die auch Signaturen auf Gerätetreibern erzwingen.

Betriebssysteme oder die von ihnen ausgeführte Software sind nicht sicher. In den meisten Fällen ist es unmöglich, eine formal nachweisbare Sicherheit zu erreichen. Angreifer können so immer ausreichend Zugriff erhalten, um privilegierte Vorgänge auszuführen, beispielsweise den Bootloader zu ersetzen.

Das ist eigentlich eine sachlichere Art, es auszudrücken. UEFI sichert die Software, die mit sich selbst kommunizieren wird. (einschließlich Sachen wie Option ROMs nicht nur der Bootloader). Ich stimme jedoch nicht zu, dass es eine Decke ist, die nichts mit physischen Angriffen zu tun hat. Es kann durchaus Teil eines Systems sein, das das verhindert. jdwolf vor 5 Jahren 1
Sie betrachten den falschen Angriffsvektor. Kein Betriebssystem ist sicher. Und sie werden es niemals sein. Aus diesem Grund wurde Secure Boot erstellt: um die Integrität der Software sicherzustellen. Daniel B vor 5 Jahren 1
Ich glaube, du hast auf chzzh geantwortet, nicht richtig? jdwolf vor 5 Jahren 0
@jdwolf Ja, die anderen Kommentare wurden gelöscht. Daniel B vor 5 Jahren 0
1
jdwolf

UEFI gibt eine Methode zum Speichern von Schlüsseln und zur Verwendung dieser Schlüssel zum Überprüfen einer digitalen Signatur als Teil des EFI-Image-Ladevorgangs sowie von authentifizierten UEFI-Variablen an, die vom Betriebssystem verwendet werden können.

Der Implementierer kann nur festlegen, wie eine Maschine in den Setup-Modus versetzt werden kann. Dies kann einmalig vom Hersteller festgelegt werden und kann vom Benutzer niemals geändert werden, oder es kann im UEFI-Menü geändert werden. In anderen Fällen muss der CMOS in den Setup-Modus zurückgesetzt werden. Andere erfordern ein Passwort, um den sicheren Start zu ermöglichen. In anderen Fällen ist der Einstieg in den Setup-Modus Teil eines Out-of-Band-Verwaltungssystems.

Wie der Einstieg in den Setup-Modus und die Neukonfiguration des sicheren Starts implementiert wird, liegt außerhalb des Bereichs der Spezifikation.

0
djsmiley2k

Wenn das Betriebssystem nicht nach der Sperre sucht, ist die Sperre sinnlos.

Was Sie tun sollten, ist ein Betriebssystem, das nicht bootet, es sei denn, es ist alles im UEFI-Teil des Startvorgangs korrekt.