Angriffsziel Firmware

Angriffe auf und Schwachstellen im Herzstück der Rechner
Keine Kommentare

Die Firmware – egal ob das klassische BIOS oder seine Nachfolger (U)EFI – stellt die Verbindung zwischen Hardware und Betriebssystem dar. Das bedeutet, dass derjenige, der die Firmware kontrolliert, auch das Betriebssystem kontrollieren kann. Eben das ist es, was sie für Angreifer interessant macht, denn bringen sie die Firmware unter ihre Kontrolle, sind alle danach geladenen Schutzmaßnahmen wirkungslos.

Wie sieht es also mit der Sicherheit der Firmware aus? Vermutlich ahnen Sie es schon: Nicht gut. Sonst würde es diesen Artikel ja gar nicht geben. Die Frage, die es zu stellen gilt, ist also: Wie schlimm genau ist es?

In den vergangenen Jahren gab es auf den Sicherheitskonferenzen etliche Vorträge rund um die Sicherheit der Firmware, und einige davon werde ich Ihnen im Folgenden vorstellen. Hinzu kommen die im vergangenen Jahr bekannt gewordenen Probleme mit Intels Management Engine, und sehr wahrscheinlich werden die durch die CPU-Schwachstellen Spectre und Meltdown nötig gewordenen Microcode-Patches ebenfalls noch für Ärger sorgen. Denn auch die werden über die Firmware realisiert, was zum einen automatisch zu neuen Schwachstellen führen wird, zum anderen aber auch ein weiteres potenzielles Angriffsziel darstellt. Aber fangen wir erst einmal mit den „normalen“ Firmware-Problemen an.

UEFI Firmware Rootkits

Los geht es mit einem Vortrag von der Black Hat Asia 2017: Alex Matrosov und Eugene Rodionov haben in ihrem Vortrag „The UEFI Firmware Rootkits: Myths and Reality“ ihre Ergebnisse vorgestellt. Oder vielmehr hat Alex Matrosov die gemeinsamen Ergebnisse vorgestellt, da Eugene Rodionov es nicht auf die Konferenz geschafft hat.

BIOS-Rootkits gibt es schon seit mehr als zwanzig Jahren. Und in diesen zwanzig Jahren haben sie sich ebenso wie das BIOS laufend weiterentwickelt. Ein Wendepunkt, sowohl was die Angriffe als auch die Forschung betrifft, dürfte das Jahr 2013 gewesen sein: Damals entdeckte Dragos Ruiu eigenen Aussagen zufolge auf seinen Laptops eine Schadsoftware, die alle bisher bekannten Schädlinge einschließlich Stuxnet, Flame und Co. alt aussehen ließ: Der BadBIOS genannte Schädling, der sich über USB-Laufwerke verbreiten sollte, kompromittiert das BIOS der angegriffenen Rechner und läuft unter Windows, Linux, Mac OS X und OpenBSD. Außerdem kann er Daten von nicht an das Internet angeschlossenen Rechnern über Umwege per in der Nähe stehenden Rechnern mit Internetverbindung an seinen Command-and-Control-Server schicken. Die „Air Gaps“ überwindet der Schädling dabei über hochfrequente Impulse über Lautsprecher und Mikrofone der angegriffenen Rechner. Was bis jetzt fehlt, ist ein Beweis dafür, dass es BadBIOS wirklich gibt. Theoretisch möglich sind alle beschriebenen Fähigkeiten  – nur hat niemand außer Dragos Ruiu den Schädling jemals gesehen.

Was ich nach wie vor verdächtig finde: Kein einziger Antivirushersteller hat die Gelegenheit zum Marketing genutzt. Keiner hat darauf aufmerksam gemacht, dass sein Produkt diesen Superschädling ja schon lange erkennt, wie es sonst häufig der Fall ist. Keiner hat gemeldet, dass es ihn nicht gibt und man keine Spur davon in den eigenen Datenbeständen gefunden hat. Keiner hat berichtet, dass man sich von Dragos Ruiu eine Version hat schicken lassen, um sie zu untersuchen und die eigenen Produkte daran anzupassen. Wie kommt das denn? Sonst nutzen die AV-Hersteller doch jede Gelegenheit zur Eigenwerbung.

Aber kommen wir zurück zum Vortrag von Alex Matrosov: Vor 2013 hatte es relativ wenige Angriffe (Alex Matrosov hat ganze drei Stück aufgeführt) und auch relativ wenig Forschung gegeben. Seit 2013 hat sich sowohl das Interesse der Angreifer (vier Schädlinge, außerdem BadBIOS) als auch der Sicherheitsforscher verstärkt. Das liegt auch daran, dass die Angreifer mit dem seitdem eingeführten Secure Boot und der „Virtualization-based Security“ (VBS) von Windows 10 neue Schutzmaßnahmen durchlaufen müssen und die Forscher natürlich wissen wollen, wie es denn mit deren Sicherheit aussieht.

Vier Schritte zum Erfolg (des Rootkits)

Aber betrachten wir erst einmal den Ablauf einer Infektion mit einem Firmware Rootkit. Diese erfolgt in vier Phasen:

  • Phase 1 (User Mode):
    • Installation des Installers über einen Exploit mit Benutzerrechten:
    • der Installer verschafft sich über eine Privilegieneskalation Systemrechte.
  • Phase 2 (Kernel Mode):
    • Umgehen der Code Signing Policies;
    • Installation der Payload im Kernel Mode.
  • Phase 3 (System Management Mode):
    • Ausführen eines SMM Exploits;
    • Privilegieneskalation zu SMM-Rechten.
  • Phase 4 (SPI Flash):
    • Umgehen des Flash-Schreibschutzes;
    • Installation des Rootkits in der Firmware.

Die für die Angriffe nötigen Schwachstellen gibt es immer wieder. Als aktuelle Beispiele für den SMM hat Alex Matrosov folgende Schwachstellen bzw. Angriffe aufgeführt:

  • SMI Handler (ein ständiges Problem): Memory-Corruption-Schwachstellen erlauben die Ausführung von beliebigem SMM-Code.
  • S3BootScript (CERT VU #976132): Beliebige Modifikation der Platform Firmware erlaubt Angreifern das Lesen und Schreiben beliebiger SMRAM-Bereiche.
  • ThinkPwn (Lenovo Security Advisory LEN-8324): Exploit zum Ausführen von beliebigem SMM-Code; betrifft mehrere BIOS-Hersteller. Erlaubt dem Angreifer das Ausschalten des Flash-Schreibschutzes und die Modifikation der Platform Firmware.
  • Aptiocalypsis (INTEL-SA-00057): Exploit zum Ausführen von beliebigem SMM-Code für AMI-Aptio-basierte Firmware. Erlaubt dem Angreifer ebenfalls das Ausschalten des Flash-Schreibschutzes und die Modifikation der Platform Firmware.

Dass solche Angriffe funktionieren, beweisen die Angriffe in the wild, von denen Alex Matrosov anschließend einige vorstellte.

HackingTeams kommerzielles Rootkit

Am bekanntesten dürfte das UEFI-Rootkit von HackingTeam („]HackingTeam[ UEFI Vector“) sein, das seinen Schadcode im SPI-Flash-Speicher verankert und aus der UEFI-Firmware heraus das Betriebssystem kompromittiert. Dadurch erreicht es, dass die Schadsoftware sogar eine Neuinstallation von Windows überlebt. Dies war auch das erste UEFIRootkit, das in the wild gefunden wurde. Dass es nicht von Cyberkriminellen, sondern von einem auf die Unterstützung von Strafverfolgungsbehörden spezialisierten Unternehmen stammt, ergibt dabei noch ein besonderes Geschmäckle. Installiert werden kann das HackingTeam Rootkit folgendermaßen:

  • Über die SPI-Programmiereinheit (was physischen Zugriff auf das Motherboard erfordert)
  • Über den „Service Mode“ (was eine Manipulation des Recovery-Device erfordert)
  • Über Firmware-Upgrades (was das Umgehen von SecureFlash-Schutzmaßnahmen erfordert)
  • Über die Ausnutzung von Firmware-Schwachstellen, die unter all diesen Einschränkungen i. A. nicht leiden.

DEITYBOUNCE von der NSA

Ein weiteres Firmware Rootkit in the wild ist DEITYBOUNCE. Es ist kaum mehr darüber bekannt, als dass es ein Firmware Rootkit ist, das von der NSA genutzt wird. Das ergibt sich aus den von Edward Snowden veröffentlichten NSA-Unterlagen.

DEITYBOUNCE war laut diesen Daten 2008 nur auf den RAID-Servern Dell PowerEdge 1850/2850/1950/2950 mit den BIOS-Versionen A02, A05, A06, 1.1.0, 1.2.0 und 1.3.7 lauffähig. Was die NSA aktuell in ihrer Toolsammlung hat, ist natürlich nicht bekannt.

Die Installation von DEITYBOUNCE erfolgte über eine ARKSTREAM genannte Komponente, die das BIOS des angegriffenen Servers flasht. ARKSTREAM kann z. B. über einen USB-Stick eingeschleust werden.

BANANABALLOT und JETPLOW der Equation Group

Die Equation Group ist eine Gruppe von Cyberkriminellen, die der NSA nahestehen soll. Ihr werden zwei Firmware Rootkits zugeordnet: BANANABALLOT und JETPLOW, die auch schon in den Snowden-Leaks auftauchten. Beide Rootkits richten sich gegen Router und Firewall-Devices von CISCO.

DerStarke von der CIA

DerStarke ist ein Firmware-Rootkit der CIA, das sich gegen macOS-Rechner und iPhones richtet. Das Rootkit kann sich in die Firmware-Updateroutinen einhängen und dadurch sogar Firmware-Updates überstehen.

Fällt Ihnen etwas auf? Alle bisher vorgestellten Rootkits stammen aus dem gleichen Umfeld: Geheimdienste (NSA und Equation Group ) und Strafverfolger (CIA und der kommerzielle Anbieter HackingTeam, der nach eigenen Angaben nur für Behörden gearbeitet hat). Da wird es wohl Zeit für eine kriminelle Variante, sonst entsteht noch der Eindruck, die einzigen, die solche Schädlinge einsetzen, sind die, die uns eigentlich vor solchen Angriffen schützen sollten. Zuvor aber noch ein von Alex Matrosov vorgestelltes Firmware Rootkit, das nur aus der Grauzone zwischen normaler Software und Schadsoftware stammt.

Ein kommerzielles Rootkit mit guten Absichten

Computrace/LoJack ist ein kommerzieller Diebstahlschutz für Laptops. Er enthält eine UEFI-BIOS--Komponente, um seine Aufgaben erfüllen zu können und z. B. eine unerwünschte Deinstallation zu erschweren. Dass man zur Installation des Rootkits Schutzmaßnahmen aushebeln muss, verschiebt das Programm zumindest in die Grauzone zwischen normaler Software und Schadsoftware. Eventuell hat es aber die Grenze auch schon überschritten, denn was ist, wenn ein Angreifer nun gezielt den eingeschleusten gutartigen Code angreift?

Endlich: Eine Firmware-Ransomware!

Jetzt wird es endlich ernst: Alex Matrosov stellt eine Ransomware vor, die sich in der Firmware einnistet. Ziel der Angriffe sind Gigabyte-Rechner mit Windows 10. Auf Hardwareseite kann das BIOS-Lock eingeschaltet sein, was in der Defaulteinstellung jedoch nicht der Fall ist und den Angriff erleichtert. Unter Windows können dafür die Virtualization-based Security (VBS), Device Guard und Secure Boot (sowohl im System als auch im BIOS) eingeschaltet sein, ohne den Angriff zu stören. Das nicht eingeschaltete BIOS Lock führt dazu, dass der Angreifer ohne zusätzlichen Aufwand beliebige Daten in den SPI-Flash-Speicher schreiben kann. Weitere Schwachstellen im SmiFlash Handler erlauben eine Privilegieneskalation zu den SMM-Rechten; außerdem verwendet der Firmware-Updateprozess keine Signaturen, sodass der Angreifer eine manipulierte Firmware einschleusen kann.

Alex Matrosov demonstrierte, wie diese Schwachstellen ausgenutzt werden können, um eine Ransomware in der Firmware zu installieren. Die bootet dann nicht das Betriebssystem, sondern zeigt nur eine Lösegeldforderung an.

Ups …! Das ist nur ein Proof of Concept und gar kein echter Angriff! Zumindest Alex Matrosov hat keinen cyberkriminellen Angriff auf die Firmware präsentiert. Alle Firmware-Angriffe in the wild stammen von Geheimdiensten und Strafverfolgungsbehörden, dazu kommt der i. A. vom Benutzer gewünschte Diebstahlschutz.

Angriffe erkennen und erschweren

Zum Abschluss seines Vortrags erklärte Alex Matrosov dann noch kurz, wie eine Forensische Analyse der Firmware funktioniert, bei der eine manipulierte Firmware erkannt werden soll, und welche Mitigations einen Angriff wenn schon nicht verhindern, so doch zumindest erschweren können. Dabei kommt zunächst Intels Boot Guard ins Spiel, der dafür sorgt, dass nur ein vertrauenswürdiges BIOS gebootet wird. Es erschwert darüber hinaus auch eine Manipulation dieses vertrauenswürdigen BIOS. Zusätzlich gibt es noch die Windows SMM Security Mitigations Table (WSMT), die in Systemen mit der Virtualization-based Security (VBS) Manipulationen am SMM erschwert.

Firmware-Schwachstellen – da sieht es dunkel aus!

Kommen wir zu einem weiteren Vortrag: Rodrigo Branco, Vincent Zimmer und Bruce Monroe haben auf der Black Hat USA 2017 die Ergebnisse ihrer Analyse der BIOS/UEFI-Schwachstellen der vergangenen drei Jahre vorgestellt und kommen dabei zu dem Fazit: „Firmware is the New Black“.

Die drei Forscher klärten zu nächst einmal, wo die UEFI Firmware zu finden ist, was sie enthält und wie das „UEFI-Ökosystem“ aufgebaut ist. Denn die Firmware besteht aus vielen verschiedenen Komponenten aus mehreren Quellen – ebenso wie die Hardware, für die sie zuständig ist.

Danach folgte ein Überblick über die Schutzmaßnahmen und Secure Boot/Trusted Boot, gefolgt von einer ausführlichen Erklärung, wie die Forscher die Daten über die Schwachstellen gesammelt und sortiert haben, und einigen Statistiken, die alle zum gleichen Schluss führten: Es gibt viele Möglichkeiten, in der Firmware Fehler zu machen, die dann zu Schwachstellen führen. Und die werden auch gemacht. Aber alles andere wäre auch sehr merkwürdig, oder kennen Sie ein Programm ohne Fehler und ohne Schwachstellen? Und: Nein, „Hello World“ zählt nicht! Obwohl auch das inzwischen meist mit so vielen Bibliotheken verlinkt wird, dass es ein Wunder wäre, wenn es darin nicht irgendwo eine Schwachstelle gäbe.

Die Schutzfunktionen schützen nicht (gut genug)

Wie es mit den Schutzfunktionen des BIOS aussieht, hat sich Alex Matrosov auch angesehen. Genug schlechte Beispiele hatte er ja auch schon gefunden, da bot sich das wohl an. Seine Ergebnisse präsentierte er auf der Black Hat USA 2017, und die haben es in sich: Es gibt zwar viele Schutzfunktionen, aber die werden oft gar nicht oder falsch genutzt.

So besteht die Firmware wie erwähnt aus vielen verschiedenen Komponenten, deren Hersteller es mit der Sicherheit mitunter nicht so genau nehmen. Schon eine einzige unsichere Komponente gefährdet die gesamte Firmware. Typische Fehler sind zum einen unsichere Updateprozeduren, die das Einschleusen manipulierter Updates erlauben. Zum anderen gibt es viele Möglichkeiten, die verschiedenen Varianten von Secure Boot zu umgehen. Eine neue Möglichkeit stellte Alex Matrosov auf der Konferenz vor: Ziel seines Angriffs war erneut ein Gigabyte-Rechner, diesmal mit ausgeschaltetem Intel BIOS Guard und zwei Schwachstellen: Einem beliebigen Schreib- und Lesezugriff auf die Management Engine und eine ungeschützte Boot-Guard-Konfiguration. Beides zusammen erlaubt das Einschleusen einer manipulierten Firmware.

Sicherheitsproblem Intel Management Engine

Kommen wir von der Firmware, die „nur“ den Zugriff auf die Hardware kontrolliert, zu Intels Management Engine (ME). Die ist gleich ein kompletter Microcontroller, der unabhängig von CPU und Betriebssystem die vollständige Kontrolle über den Rechner hat.

Und diese ME hat schon länger einen schlechten Ruf: Immer wieder kam der Verdacht auf, dass die Fernwartungsfunktion auch als Hintertür genutzt werden kann. Da Intel die Management Engine nicht vollständig dokumentiert hat, liegt so ein Verdacht nahe. Frei nach dem Motto: „Wenn Intel nichts zu verbergen hätte, könnten sie ja eine vollständige Dokumentation veröffentlichen.“ Was aber zu kurz gedacht ist: Intel könnte die offiziellen Funktionen der ME komplett dokumentieren, und eine verborgene Hintertür dabei einfach verschweigen.

Aber da man sich entschieden hat, Teile der ME geheim zu halten, muss man nun mit dem Verdacht leben. Und damit, dass es immer wieder Probleme mit der ME gibt, die sich durch eine vollständige Dokumentation evtl. vermeiden ließen. So hat z. B. 2015 das CERT-Bund vor der Fehlkonfiguration von Intels Active Management Technology (AMT), die Teil der Management Engine ist, gewarnt: „Durch Ausnutzen eines unsicheren Auslieferungszustandes von (unprovisionierten) PCs und anderen Intel Systemen mit der für eine mögliche Fernwartung im Chipsatz implementierten Intel Active Management Technology (AMT)-Lösung, kann ein lokaler, nicht authentisierter Angreifer dauerhaft einen PC, bzw. Computer übernehmen und in Folge auch über das Internet die vollständige Kontrolle erhalten.“

Wer braucht eine Hintertür, wenn die Vordertür sperrangelweit offen steht?

Wirklich ernst wurde das Problem „Intel ME“ im Mai 2017: Intel veröffentliche Firmware-Updates, die eine Schwachstelle in der ME behoben. Betroffen von der Schwachstelle mit der CVE-ID CVE-2017-5689 sind die 2010 eingeführten Core-i-Prozessoren sowie die davon abgeleiteten Xeons, Pentiums und Celerons. Worum genau es sich bei der Schwachstelle handelt, war anfangs nicht bekannt. Laut Intel erlaubt sie in den ME-Funktionen Active Management Technology (AMT) und Intel Standard Manageability (ISM) bei eingeschalteter und eingerichteter (provisioned) Fernwartungsfunktion unprivilegierten Benutzern über das Netz das Erlangen von Systemrechten. Im Fall der weniger umfangreichen Fernwartungsfunktion Small Business Advantage (SBA) lässt sich die Schwachstelle nur von Angreifern ausnutzen, die physischen Zugriff auf ein betroffenes System haben.

Das klingt in den ersten beiden Fällen nach einer Remote Code Excecution (RCE), also dem Einschleusen von Schadcode aus der Ferne. Die Schwachstelle wurde von Maksim Malyutin von Embedi entdeckt, und dort stellte man sofort klar, dass es sich nicht um eine RCE handelt. Weitere Informationen gab es erst etwas später, nachdem Intel der Veröffentlichung zugestimmt hatte: Die Schwachstelle erlaubt das Unterlaufen der Authentifizierung; der Angreifer kann sich ohne Passwort als Administrator bei der ME anmelden. Und kann danach die ganze Palette der Fernwartungsfunktionen nutzen, um sich die Kontrolle über den Rechner zu verschaffen.

Angreifer missbrauchen die ME in the wild

Im Juni 2017 warnte Microsoft vor einem Missbrauch der ME durch Cyberkriminelle. Die Cyberkriminellen der Gruppe „Platinum“ nutzte das Serial-over-LAN-(SoL-)Interface von Intels AMT, um nach der Kompromittierung eines Rechners Daten unerkannt durch die Firewall zu übertragen. Es wird dabei zwar keine Schwachstelle in der ME ausgenutzt, alles funktioniert so wie von Intel vorgesehen – nur eben nicht unbedingt so, wie es sich der Eigentümer des Rechners vorgestellt hat.

Details zur Mai-Schwachstelle werden veröffentlicht

Im Juli 2017 präsentierten Dmitriy Evdokimov, Alexander Ermolov und Maksim Malyutin von Embedi auf der Black Hat USA die Details zur Schwachstelle CVE-2017-5689 und weitere Möglichkeiten für Angriffe auf undokumentierte Funktionen der AMT. Im August 2017 gab es auf der Hack in the Box GSEC Singapore einen weiteren Vortrag der drei Forscher, auf dem sie weitere Schwachstellen und Angriffe vorstellten.

Intels ME wird man nicht los. Oder doch?

Das größte Problem der ME ist, dass man sie nicht los wird, wenn man sie nicht haben will. Sie ist so tief ins System integriert, dass ihr Entfernen dazu führt, dass der Rechner nicht mehr startet. Zumindest war das der Wissensstand bis zum 28. August 2017. Dann haben Forscher von Positive Technologies (PTE) herausgefunden, dass es in der ME eine undokumentierte Möglichkeit gibt, sie auszuschalten – eingebaut auf Wunsch der NSA, die keine Hintertüren in ihren Rechnern des High-Assurance-Platform-(HAP-)Programms haben will. Dafür aber sehr gerne in denen aller anderen.

Das Ausschalten ist nicht ganz einfach und erfordert das Patchen von Rechner-BIOS und ME-Firmware, funktioniert aber im Gegensatz zu allen zuvor entwickelten Methoden zuverlässig. Jedenfalls so lange, bis Intel die ausgenutzte Funktion ändert.

Und noch mehr Schwachstellen …

Im November 2017 behob Intel dann weitere Schwachstellen (CVE-2017-5705/5706/5707) in der ME , die diesmal von Positive Technologies entdeckt worden waren. Details haben Maxim Goryachy und Mark Ermolov im Dezember auf der Black Hat Europe 2017 präsentiert: Über die Schwachstellen ist es möglich, unsignierten Code in der ME auszuführen und darüber die Kontrolle über den Rechner zu übernehmen. Übrigens auch dann, wenn Intels Patch installiert ist.

Irgendwie scheint Intel mit den Patchen in letzter Zeit wenig Glück zu haben. Auch die Microcode-Patches für Meltdown/Spectre mussten ja kurz nach der Veröffentlichung zurückgezogen werden, weil es zu unerwarteten Neustarts vieler Rechner kam. Womit wir bei CPU-Schwachstellen angekommen wären.

Wenn Firmware-Patches normal werden …

Sowohl die oben erwähnten Patches für die ME als auch die Microcode-Patches für die CPU-Schwachstellen erfordern Firmware-Updates. Und die müssen erst einmal ihren Weg von Intel über die Firmware- und Hardwarehersteller zu den Benutzern finden – was nicht unbedingt funktionieren muss, wie man am Beispiel von Android sieht. Da erreichen viele von Google veröffentlichte Updates die Geräte gar nicht, weil die vom jeweiligen Hersteller oder Mobilfunkbetreiber nicht mehr unterstützt werden. Und selbst wenn die Updates für ein Gerät bereitstehen, ist noch lange nicht gesagt, dass der Benutzer sie auch installiert.

Wir können also wohl davon ausgehen, dass auch viele Rechner keine Firmware-Updates erhalten werden. Entweder, weil es sie nicht gibt, oder weil die Benutzer sie nicht installieren. Wie oft haben Sie denn schon die Firmware ihres Rechners aktualisiert? Mir ist dabei immer sehr unwohl zumute. Wer weiß schon, ob diese Operation am digitalen Herzen (oder Hirn) des Rechners wirklich erfolgreich verläuft oder nur einen Haufen Elektroschrott zurücklässt?

Aber selbst wenn es Updates gibt und die Benutzer sie regelmäßig installieren (was bei Windows ja nur mit Zwang funktioniert): Wie Sie oben gelesen haben, sind die Firmware-Updateprozesse oft unsicher. Wie lange es wohl dauert, bis die Cyberkriminellen gefälschte Updates verbreiten? Demnächst gibt es dann wohl keine gefälschte Aufforderung zur Installation eines neuen Flash-Players mehr, sondern eine zum Updaten der Firmware.

Fazit

Ein Fazit spare ich mir, das steht schon als Kommentar im letzten Abschnitt. Nur eines noch: Wer hat uns denn da mit „Möget ihr in interessanten Zeiten leben“ verflucht? Denn die stehen uns ganz sicher bevor.

Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -