Firmware-Bug: Codeausführung in deaktivierter Intel-ME möglich

Auf der diesjährigen IT-Sicherheitskonferenz Black Hat Europe liefern die beiden Russen Mark Ermolov und Maxim Goryachy von Positive Technologies einen sehr unterhaltsamen Vortrag(öffnet im neuen Fenster) . Überstürzt von Folie zu Folie eilend ( PDF(öffnet im neuen Fenster) ), präsentierten sie die Ergebnisse ihrer jahrelangen Forschungen an Intels Management Engine (ME). Wie bereits vor Monaten von den Forschern angekündigt , können sie auf der Version 11 der ME über einen lokalen Exploit beliebigen unsignierten Code ausführen. Die Forscher zeigten in einem Demovideo, wie sie damit einen Rechner komplett übernehmen können.

Dazu nutzten sie eine Sicherheitslücke in einem Modul namens Bup aus, das in der Intel ME läuft und das ein Fehler im Code anfällig für einen Stack Buffer Overflow macht. Ausführbaren Code erzeugten die Hacker dann über eine spezielle Technik namens ROP (Return Oriented Programming).
ME deaktivieren hilft nicht gegen Angriff
Der Name Bup steht vermutlich für Bring-Up oder Boot-Up und ist keine jener Laufzeitkomponenten, die Google in seinem Nerf genannten Projekt entfernen oder deaktivieren kann. Darauf wies der Google-Angestellte und Coreboot-Gründer Ronald Minnich in einem Vortrag auf dem Open Source Summit in Prag hin. Das Bup-Modul ist zwingend für den Start des Systems notwendig.
Deshalb hilft gegen diese Lücke auch das Deaktivieren der ME über das sogenannte Killbit nicht, welches ebenfalls von Positive Technologies entdeckt worden ist und nun von den Linux-Hardware-Herstellern Purism und System 76 genutzt werden soll. Das schreibt die Sicherheitsforscherin und Gründerin des Qubes-Projekts Joanna Rutkowska auf Twitter(öffnet im neuen Fenster) .
Einige weitere Hersteller, darunter Dell , vertreiben ebenso Geräte mit deaktivierter ME, die jenes Kill-Bit verwenden. Laut den Forschern von Positive Technologies(öffnet im neuen Fenster) wird dieses Bit für das Programm High Assurance Platform (HAP) der US-Regierung genutzt und soll damit wohl kritische Bereiche und Nutzer schützen. Doch Bup wird einfach so früh geladen, dass das HAP-Bit hier keine Hilfe bietet.
Komplizierter lokaler Angriff
Das Vorgehen zum Ausnutzen der Lücken ist mit einigem Aufwand verbunden, doch wer die Lücke lokal ausnutzt, kann praktisch sämtliche Sicherheitsmechanismen moderner Betriebssysteme aushebeln, weil die Management Engine schlicht unterhalb der OS-Ebene läuft. Und durch den direkten Angriff und folgenden Zugriff auf die ME ergibt sich daraus nicht nur Vollzugriff auf das laufende Betriebssystem, sondern möglicherweise auch auf eigentlich besonders geschützte Bereiche der ME, in der etwa Passwörter oder private Schlüssel verarbeitet werden. Wegen dieser theoretischen Möglichkeit wird die ME von vielen Kritikern als Hintertür bezeichnet.
Der lokale Angreifer benötigt für einen erfolgreichen Angriff über die beschriebene Lücke allerdings Zugriff auf die MFS-Partition in der ME-SPI-Region. Der Code der Intel ME ebenso wie weitere Firmware-Komponenten des UEFI oder für Gigabit-Ethernet werden in einem SPI-Flash-Speicher auf dem Board eines Rechners abgelegt. Details zu dem Aufbau liefert ein Hintergrundtext der Forscher ( PDF(öffnet im neuen Fenster) ).
Theoretisch lässt sich die Lücke auch aus der Ferne ausnutzen, dazu müssen allerdings ein paar weitere Bedingungen erfüllt sein. Ebenso müssen hierzu einige weitere Fehler in der ME oder im UEFI ausgenutzt werden. Eine wichtige Voraussetzung hierfür, eine Lücke in Intel AMT, das auf ME aufbaut, haben die Forscher von Positive Technologies ebenfalls bereits gefunden und dokumentiert.
Intel hat die auf der Black Hat vorgestellte Lücke inzwischen zwar bestätigt und den Forschern eine Prämie dafür ausgezahlt sowie die Lücke durch Updates behoben. Ein lokaler Angreifer kann allerdings immer per Downgrade eine ältere verwundbare Version der ME einspielen. Für den demonstrierten Angriff nutzen Forscher Lücken, für die die CVE-Nummern CVE-2017-5705, CVE-2017-5706 und CVE-2017-5707 vergeben worden sind.



