Americas

Asia

Oceania

lconstantin
CSO Senior Writer

LogoFAIL-Angriff: IT-Sicherheitsforscher warnen vor UEFI-Firmware-Schwachstellen

News
11 Dezember 20238 Minuten

Forscher haben gezeigt, wie Angreifer über BIOS-Splash-Screen-Grafiken bösartigen Code in das UEFI vieler PCs einschleusen können.

Forscher haben eine schwerwiegende UEFI-Firmware-Schwachstelle entdeckt, die hunderte von Consumer- und Enterprise-Geräte gefährdet.

Forscher haben eine schwerwiegende UEFI-Firmware-Schwachstelle entdeckt, die hunderte von Consumer- und Enterprise-Geräte gefährdet.

Foto: Alexander56891 – shutterstock.com

Forscher der IT-Sicherheitsfirma Binarly haben einen Cyberangriff entwickelt, der auf einer schwerwiegenden Schwachstelle in der von vielen Computerherstellern verwendeten UEFI-Firmware (Unified Extensible Firmware Interface) basiert. Dazu installierten sie heimlich Rootkits, die in den frühen Phasen des Bootvorgangs ausgeführt und nicht von Sicherheitsprodukten für Endgeräte erkannt werden. Zudem werden böswillig erstellte Images in einer speziellen Partition auf dem Laufwerk oder in ungeschützten Bereichen der Firmware platziert.

“Hunderte von Consumer- und Enterprise-Geräten verschiedener Hersteller, darunter Intel, Acer und Lenovo, sind potenziell anfällig”, betonen die Binarly-Forscher in ihrem Bericht. “Die genaue Liste der betroffenen Geräte wird noch ermittelt, aber es ist wichtig zu wissen, dass alle drei großen IBVs [unabhängige BIOS-Anbieter] – AMI, Insyde und Phoenix – betroffen sind, wasdie Sicherheitsprobleme im Zusammenhang mit Image Parsern, die sie als Teil ihrer Firmware ausliefern, angeht.”

Bösartiger Code wird über Splash-Screens verbreitet

Die meisten PC-Hersteller verwenden UEFI-Implementierungen, die von einer Handvoll Unternehmen, den unabhängigen BIOS-Anbietern, entwickelt wurden. UEFI ist eine standardisierte Spezifikation für Firmware in Computersystemen – das moderne Äquivalent zum alten BIOS – und umfasst den Low-Level-Code, der für die Initialisierung der Hardware eines Computers verantwortlich ist, bevor das auf der Festplatte installierte Betriebssystem geladen wird.

Die IBVs ermöglichen es den Computerherstellern, die Firmware anzupassen, einschließlich der Anzeige ihres eigenen Logos und anderer Branding-Elemente auf dem Bildschirm des Computers während der frühen Boot-Phase. Dies wird auch als Splash-Screen bezeichnet und wird angezeigt, bevor der Bootloader des Betriebssystems die Arbeit übernimmt und den Betriebssystemkern initialisiert. Die Binarly-Analysten haben die Funktion des frühen Bootvorgangs untersucht und ausgenutzt, weshalb sie ihren Angriff LogoFAIL genannt haben.

Die Computerhersteller stellen die Grafiken für den Startbildschirm als Bilder zur Verfügung, was bedeutet, dass die Firmware einen Code zum Parsen der Bilder enthält, um sie anzuzeigen. In der IT-Sicherheitsforschung ist bekannt, dass Dateiparser – auch Decoder genannt – eine Quelle ernsthafter Schwachstellen sind. Sie nehmen vom Benutzer bereitgestellte Eingaben in Form von Dateien entgegen und interpretieren deren Inhalt. Anschließend laden sie diesen Inhalt in den Speicher des Computers. Wenn dies nicht auf sichere Weise geschieht, kann es zu einer Speicherbeschädigung wie Buffer Overflow kommen.

Moderne UEFI-Firmware enthält Parser für Bilder in verschiedenen Formaten – BMP, GIF, JPEG, PCX und TGA – was die Angriffsfläche und damit die Möglichkeit, dass eine Schwachstelle übersehen wird, erheblich vergrößert. Das Binarly-Team fand insgesamt 29 Schwachstellen in den Bildparsern, die in der Insyde-, AMI- und Phoenix-Firmware verwendet werden. Davon konnten 15 zur Ausführung von beliebigem Code ausgenutzt werden.

“Diese Ergebnisse zeigen auch den Umfang und die Auswirkungen von LogoFAIL, da jeder IBV mindestens einen ausnutzbaren Fehler in seinen Parsern hat, und jeder Parser enthält Fehler”, heißt es im Binarly-Bericht. Die einzige Ausnahme stellt den Security-Forschern zufolge der PNG-Parser von Insyde dar: Er basiert auf einem Open-Source-Projekt und wurde wahrscheinlich von der Community bereits gut getestet .

Das Forscherteam fand diese Schwachstellen durch Fuzz-Tests (Fuzzing), bei denen automatisch missgebildete oder unerwartete Eingaben generiert und an eine Zielanwendung weitergeleitet werden. Wenn die Anwendung abstürzt, bedeutet dies in der Regel, dass eine Speicherbeschädigung aufgetreten ist. Daher wird die Ursache untersucht, um festzustellen, ob die Beschädigung kontrolliert ausgelöst und ausgenutzt werden kann und somit Sicherheitsauswirkungen hat.

Fuzzing hat sich im Laufe der Jahre zu einem Standardverfahren entwickelt und ist heute in die meisten Code-Sicherheitstests integriert, die Unternehmen in der Entwicklungsphase einsetzen. Daher war das Binarly-Team überrascht, so viele ausnutzbare Abstürze in der Firmware zu finden. “Die Ergebnisse unseres Fuzzings und der anschließenden Fehlersuche sagen eindeutig, dass keiner dieser Image-Parser jemals von IBVs oder OEMs getestet wurde”, so die Forscher. “Wir können dies mit Sicherheit sagen, weil wir in fast jedem getesteten Parser Abstürze gefunden haben. Darüber hinaus war der Fuzzer in der Lage, die ersten Abstürze nach nur wenigen Sekunden Laufzeit zu finden. Noch schlimmer ist, dass bestimmte Parser bei gültigen Bildern aus dem Internet abgestürzt sind.”

Umgehung von Sicherheitsfunktionen der Firmware

Das Einschleusen von bösartigem Code in den Bootloader eines Computers oder in die BIOS/UEFI-Firmware selbst ist keine neue Technik. Diese Programme werden als Boot-Level-Rootkits oder Bootkits bezeichnet und bieten Angreifern enorme Vorteile, da ihr Code vor dem Start des Betriebssystems ausgeführt wird und sie sich so vor allen Security-Produkten für Endgeräte verstecken können, die im Betriebssystem selbst installiert sind.

Der Low-Level-Bootkit-Code injiziert in der Regel bösartigen Code in den Betriebssystem-Kernel, wenn dieser während der Boot-Phase geladen wird. Dieser Code nutzt dann die Fähigkeiten des Kernels, um sich vor allen vom Benutzer installierten Programmen zu verstecken, was der typischen Definition eines Rootkits entspricht – einer sich selbst versteckenden Malware, die mit Root-Rechten (Kernel-Rechten) läuft.

Die moderne UEFI-Firmware verfügt über mehrere Schutzmechanismen gegen diese Angriffe – sofern sie vom Computerhersteller aktiviert wurden. UEFI Secure Boot ist zum Beispiel eine Funktion, die prüft, ob die während des Bootvorgangs geladenen Codeteile mit einem vertrauenswürdigen Schlüssel kryptografisch signiert wurden. Dazu gehören die Firmware-Treiber, auch Option ROMs genannt, die zur Initialisierung der verschiedenen Hardware-Komponenten benötigt werden, bevor das Betriebssystem die Arbeit übernimmt, die EFI-Anwendungen, die innerhalb der Firmware selbst laufen, sowie der Bootloader des Betriebssystems und andere Komponenten. Intel Boot Guard bietet einen hardwarebasierten Mechanismus zur Einrichtung der kryptografischen Vertrauensbasis, auf der die OEM-Schlüssel gespeichert sind.

Ein System mit aktiviertem Boot Guard und Secure Boot soll die Ausnutzung der LogoFAIL-Schwachstellen verhindern. Leider ist das nicht immer der Fall, denn in einigen Fällen bietet IBV dem Computerhersteller eine Möglichkeit, das Logo anzupassen, ohne dass es von der Boot Guard-Signaturerzwingung erfasst wird.

Einige Implementierungen suchen zum Beispiel nach dem vom Hersteller bereitgestellten Image auf der EFI System Partition (ESP). Dabei handelt es sich um eine spezielle Partition auf der Festplatte, auf der EFI nach verschiedenen Anwendungen sucht, darunter auch der Bootloader-Code des Betriebssystems. In diesem Fall muss ein Angreifer nur über Administratorrechte auf dem Betriebssystem verfügen, um ein bösartiges Logo auf der ESP-Partition abzulegen, eine NVRAM-Variable zu ändern und einen Systemneustart zu erzwingen.

Dadurch wird die UEFI-Firmware dazu gebracht, dass sie das bösartige Logo übernimmt. Auf diese Weise kann eine der identifizierten Schwachstellen ausgenutzt werden, um bösartigen Code auszuführen und den normalen Ausführungsablauf zu unterbrechen. Dies geschieht in einer kritischen Phase der Boot-Sequenz, die als Driver Execution Environment (DXE) bezeichnet wird.

Eine weitere Möglichkeit der Logoanpassung für OEMs besteht darin, ein von IBV bereitgestelltes Tool zu verwenden, mit dem Firmware-Kapseln gepatcht werden können. Dabei wird das Logo hinzuzugefügt, um diese Kapseln dann in das Flash-ROM zu flashen. Ein Angreifer könnte dasselbe Tool zum Flashen von Firmware verwenden, um sein bösartiges Logo einzuschleusen, allerdings nur, wenn das Logo nicht Teil eines digital signierten Codeblocks der Firmware ist.

Befindet sich das in der Firmware gespeicherte Logo in einem Bereich, der nicht von Intel Boot Guard oder AMDs äquivalentem Hardware-Validated Boot abgedeckt wird, könnte ein Angreifer auch ein SPI-Flash-Programmierungs-Tool verwenden. Dadurch kann er den Flash-Chip, auf dem die Firmware gespeichert ist, neu programmieren, wenn er physischen Zugriff auf das Gerät erhält. Dies ist zum Beispiel irgendwo in der Liefer- oder Vertriebskette möglich.

Einige Computerhersteller wie Dell vertreiben ihr Logo innerhalb von Firmware-Blöcken, die von Intel Boot Guard abgedeckt werden, und bieten keine zusätzliche Methode zur Logoanpassung, wie auf ESP gespeicherte Bilder. Sie sind für den LogoFAIL-Angriff nicht anfällig. “Obwohl diese Geräte nicht unmittelbar gefährdet sind, enthalten sie dennoch Image-Parser mit hochgradigen Schwachstellen, die behoben werden müssen”, warnen die Forscher.

Lesetipp: UEFI-Rootkit rückt Firmware-Security in den Fokus

Entschärfung der LogoFAIL-Schwachstelle

Alle betroffenen IBVs haben Sicherheitshinweise herausgegeben – Insyde, AMI und Phoenix – und arbeiten mit OEMs zusammen, um aktualisierte Firmware-Images zu veröffentlichen. Endanwendern wird empfohlen, auf der Website ihres jeweiligen Computerherstellers nach UEFI-Updates für ihre Modelle zu suchen und diese so bald wie möglich zu installieren.

“Basierend auf den Auswirkungen des Referenzcodes schätzen wir, dass LogoFAIL auf die eine oder andere Weise fast alle Geräte dieser Hersteller betrifft”, so die Forscher. “Außerdem ist es nicht auf bestimmte Hardware beschränkt und kann auf x86- oder ARM-basierten Geräten erfolgreich ausgenutzt werden. Die Schwachstellen werden als CVE-2023-5058 für die Phoenix-Firmware, CVE-2023-39538 und CVE-2023-39539 für AMI und CVE-2023-40238 für Insyde verfolgt. Lenovo, einer der betroffenen PC-Hersteller, hat einen eigenen Sicherheitshinweis mit einer Liste der betroffenen Modelle und der bisher verfügbaren Updates veröffentlicht. (jm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.