Aus Linux-Magazin 09/2020

Secure-Boot-Attacke: Lockdown-Modus aushebeln

© Stevano Vicigor, 123RF

Ein ACPI-Fehler ermöglicht es, den Lockdown-Modus des Kernels aufzuheben und dann doch unsignierte Kernel-Module zu laden, die Malware enthalten können.

Beim Unified Extensible Firmware Interface (UEFI) handelt es sich um eine von Intel 1998 veröffentlichte Schnittstellendefinition, für der Chipriese zugleich eine Referenzimplementierung bereitstellte. UEFI hat sich im Laufe der Zeit als Nachfolger des BIOS etabliert und bildet die zentrale Schnittstelle zwischen der Firmware der Hardware-Plattform und dem Betriebssystem.

Der UEFI-Secure-Boot-Mechanismus ist Teil des UEFI und sorgt unter Linux beispielsweise dafür, dass auf dem System nur zuvor signierte Kernel-Module geladen werden können. Ein solcher Schutzmechanismus ist sinnvoll, um zu verhindern, dass Angreifer Kernel-basierte Rootkits auf dem System installieren. Diese Art Malware ist recht beliebt und auch nur schwierig zu entdecken, da sie sich durch den Kernel-Zugriff selbst verstecken kann und volle Rechte auf dem System besitzt.

So kann ein solches Kernel-Rootkit unter anderem durch das Manipulieren von Systemcalls dafür sorgen, dass Dateien oder Prozesse im Userspace unsichtbar bleiben. Konkret lassen sich dadurch Dateien nicht via Ls sehen und Prozesse nicht via Top aufspüren – ideale Voraussetzungen für eine effiziente Backdoor. Entsprechend wichtig ist es, solche Systemattacken zu verhindern.

UEFI Secure Boot erzielt diesen Schutz, indem lediglich signierte Kernel-Module von Root geladen werden dürfen. Dazu arbeitet der Kernel bei aktiviertem UEFI Secure Boot im sogenannten Lockdown-Modus: Der Kernel lädt nur signierte Kernel-Module, deren Signaturen zum hinterlegten Secure-Boot-Schlüssel in der Firmware passen. Das macht es selbst einem Angreifer mit Root-Rechten unmöglich, gefährliche Module zu laden, und verhindert so die Installation darauf basierender Rootkits.

Eine nun entdeckte Schwachstelle [1] erlaubt es einem Angreifer allerdings, genau diesen Schutzmechanismus auszuhebeln und somit trotz Secure Boot Kernel-Rootkits auf dem System aufzuspielen. Der Fehler rührt daher, dass der Kernel die Schnittstelle für die Secondary System Descriptor Tables (SSDT) des Advanced Configuration and Power Interface (ACPI) nicht richtig schützt. Diese Schnittstelle kommt zum Einsatz, falls der Kernel ACPI-Tabellen zur Initialisierung von Systemkomponenten dynamisch nachladen oder anpassen muss. Diese Systembeschreibungstabellen enthalten Definitionen von Systemkomponenten oder Routinen, die das Betriebssystem aufrufen kann.

Dabei gibt es verschiedene Tabellenarten, wie etwa Differentiated System Description Tables (DSDT), Secondary System Description Tables (SSDT) und Static Resource Affinity Tables (SRAT). Die Tabellen sind teilweise in Form eines speziellen Bytecodes hinterlegt, der ACPI Machine Language (AML). Mit einem Disassembler lässt sich dieser Bytecode in die lesbare ACPI Source Language (ASL) übersetzen.

Die Idee der Attacke gegen Secure Boot besteht darin, den entdeckten Fehler auszunutzen, um mit Root-Rechten manipulierte ACPI-Tabellen zu laden und damit die Lockdown-Variable des Kernels mit Nullen zu überschreiben. Das hat zur Folge, dass der Lockdown-Modus des Kernels deaktiviert wird und somit auch keinen Schutz mehr gegen das Laden nicht signierter Kernel-Module bietet. Ein Exploit hierzu wurde ebenfalls veröffentlicht [2].

Der Angriff setzt voraus, dass der Angreifer bereits Root-Rechte auf dem System besitzt. Diese benötigt er, um zunächst die ACPI-Tabellen zu manipulieren. Das anschließende Laden eines vom Angreifer präparierten Kernel-Moduls setzt ebenfalls Root-Rechte voraus. Besitzt der Angreifer einen Account auf dem System, kann er Root-Rechte über eine lokale Sicherheitslücke erlangen. Anderenfalls muss er eine Remote-Root-Schwachstelle im System finden. (jcb)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben