Microsoft hat kürzlich Projekt Mu vorgestellt, ein Vorhaben, das „Firmware als Dienstleistung“ für kompatible Hardware verspricht. Diese Initiative sollte von allen PC-Herstellern ernst genommen werden. PCs benötigen regelmäßige Sicherheitsupdates für ihre UEFI-Firmware, und die Hersteller haben in der Vergangenheit oft zu wenig dafür getan.
Was genau ist UEFI-Firmware?
Moderne Computer nutzen UEFI-Firmware anstelle des traditionellen BIOS. Die UEFI-Firmware ist die grundlegende Software, die beim Starten des PCs aktiv wird. Sie führt Tests durch, initialisiert die Hardware, nimmt grundlegende Systemkonfigurationen vor und startet dann das Betriebssystem von der internen Festplatte oder einem anderen Bootmedium.
UEFI ist jedoch komplexer als das ältere BIOS. Beispielsweise verfügen Computer mit Intel-Prozessoren über die sogenannte Intel Management Engine (ME), die im Grunde ein kleines, eigenes Betriebssystem ist. Sie läuft parallel zu Windows, Linux oder jedem anderen Betriebssystem, das auf dem Computer installiert ist. In Unternehmensnetzwerken können Systemadministratoren die Intel ME nutzen, um Computer fernzuwarten.
UEFI enthält auch Prozessor-Mikrocode, eine Art Firmware für den Prozessor. Beim Start des Computers lädt dieser Mikrocode aus der UEFI-Firmware. Man kann sich das wie einen Interpreter vorstellen, der Softwarebefehle in Hardwareanweisungen übersetzt, die auf der CPU ausgeführt werden.
Warum Sicherheitsupdates für UEFI-Firmware notwendig sind
Die letzten Jahre haben immer wieder gezeigt, dass regelmäßige Sicherheitsupdates für die UEFI-Firmware unerlässlich sind.
Im Jahr 2018 wurde die Öffentlichkeit auf Spectre aufmerksam, eine gravierende Architekturproblematik bei modernen CPUs. Die Probleme mit der „spekulativen Ausführung“ ermöglichten es Programmen, Sicherheitsbeschränkungen zu umgehen und auf geschützte Speicherbereiche zuzugreifen. Die Behebung von Spectre erforderte Updates des CPU-Mikrocodes. Dies wiederum zwang die PC-Hersteller, ihre Laptops und Desktop-PCs sowie Mainboard-Hersteller ihre Produkte mit einer neuen UEFI-Firmware zu aktualisieren, die den aktualisierten Mikrocode enthielt. Ein PC ohne UEFI-Firmware-Update ist nicht ausreichend vor Spectre geschützt. Auch AMD veröffentlichte Microcode-Updates zum Schutz vor Spectre-Angriffen, dies betrifft also nicht nur Intel.
Die Intel Management Engine wurde ebenfalls von einigen Sicherheitslücken betroffen, die es Angreifern mit lokalem Zugriff ermöglichten, die Management Engine-Software zu manipulieren, oder Angreifern mit Fernzugriff, Probleme zu verursachen. Glücklicherweise betrafen die Fernzugriffs-Exploits nur Unternehmen mit aktivierter Intel Active Management Technology (AMT), sodass private Nutzer weniger gefährdet waren.
Dies sind nur einige Beispiele. Forschungen haben auch gezeigt, dass die UEFI-Firmware auf einigen PCs für tiefgreifenden Systemzugriff missbraucht werden kann. Es wurde sogar persistente Ransomware demonstriert, die Zugriff auf die UEFI-Firmware eines Computers erlangte und von dort aus operierte.
Die Branche sollte die UEFI-Firmware jedes Computers wie jede andere Software aktualisieren, um sich vor diesen und ähnlichen Schwachstellen zu schützen.
Der veraltete Update-Prozess
Der BIOS-Update-Prozess war schon immer ein Problem – lange vor UEFI. Traditionell wurden Computer mit diesem alten BIOS ausgeliefert, und es konnte wenig schiefgehen. PC-Hersteller veröffentlichten möglicherweise einige BIOS-Updates, um kleinere Probleme zu beheben, aber der übliche Rat war, diese nicht zu installieren, wenn der PC einwandfrei funktionierte. Oft musste von einem bootfähigen DOS-Laufwerk gebootet werden, um das BIOS zu flashen, und es gab immer wieder Geschichten über fehlgeschlagene BIOS-Updates, die PCs unbrauchbar machten.
Die Situation hat sich geändert. UEFI-Firmware ist komplexer, und Intel hat in den letzten Jahren mehrere wichtige Updates für CPU-Mikrocode und Intel ME herausgebracht. Wenn Intel ein Update veröffentlicht, verweist Intel die Nutzer an die PC-Hersteller. Der PC- oder Mainboard-Hersteller muss den Code von Intel in eine neue UEFI-Firmware-Version integrieren, und diese anschließend testen. Dieser Prozess muss für jedes einzelne verkaufte Gerät wiederholt werden, da alle unterschiedliche UEFI-Firmware besitzen. Diese manuelle Arbeit hat es in der Vergangenheit so schwierig gemacht, Android-Telefone zu aktualisieren.
In der Praxis führt dies dazu, dass kritische Sicherheitsupdates, die über UEFI bereitgestellt werden müssen, oft erst nach vielen Monaten verfügbar sind. Die Hersteller weigern sich möglicherweise auch, PCs zu aktualisieren, die nur wenige Jahre alt sind. Selbst wenn Updates veröffentlicht werden, sind sie oft auf den Support-Webseiten der Hersteller versteckt. Die meisten PC-Nutzer erfahren nie von diesen UEFI-Firmware-Updates und installieren sie nicht, wodurch Sicherheitslücken auf bestehenden PCs lange Zeit erhalten bleiben. Einige Hersteller verlangen immer noch das Booten in DOS für Firmware-Updates, was die Sache noch komplizierter macht.
Ansätze zur Verbesserung
Die aktuelle Situation ist unbefriedigend. Es ist ein optimierter Prozess erforderlich, der die Erstellung von neuen UEFI-Firmware-Updates vereinfacht. Ebenso wird ein verbesserter Prozess für die Veröffentlichung dieser Updates benötigt, sodass Benutzer sie automatisch auf ihren PCs installieren können. Der derzeitige Prozess ist langsam und manuell – er sollte schnell und automatisiert sein.
Microsoft versucht dies mit Projekt Mu zu erreichen. Die offizielle Dokumentation erklärt es so:
Mu geht davon aus, dass die Auslieferung und Wartung eines UEFI-Produkts eine kontinuierliche Zusammenarbeit zwischen zahlreichen Partnern erfordert. Die Industrie hat zu lange Produkte mit einem „Forking“-Modell entwickelt, das in Kombination mit Copy/Paste/Rename-Operationen den Wartungsaufwand bei jedem neuen Produkt so stark erhöht, dass Updates aufgrund von Kosten und Risiken kaum möglich sind.
Projekt Mu hat das Ziel, PC-Herstellern die schnellere Entwicklung und das Testen von UEFI-Updates zu ermöglichen, indem der UEFI-Entwicklungsprozess optimiert und die Zusammenarbeit gefördert wird. Dies könnte das fehlende Glied sein, da Microsoft es PC-Herstellern bereits erleichtert, ihre UEFI-Firmware-Updates automatisch an Benutzer zu verteilen.
Konkret ermöglicht Microsoft es PC-Herstellern, Firmware-Updates über Windows Update zu verteilen, und stellt dazu seit 2017 eine Dokumentation bereit. Microsoft hat auch ein Komponenten-Firmware-Update angekündigt, ein Open-Source-Modell, das es Herstellern ermöglichen soll, bereits seit Oktober 2018 UEFI und andere Firmware zu aktualisieren. Wenn PC-Hersteller diese Möglichkeiten nutzen, könnten sie ihre Benutzer sehr schnell mit Firmware-Updates versorgen.
Diese Entwicklung ist nicht nur auf Windows beschränkt. Unter Linux arbeiten Entwickler daran, die Veröffentlichung von UEFI-Updates über LVFS, den Linux Vendor Firmware Service, für PC-Hersteller zu vereinfachen. PC-Hersteller können ihre Updates einreichen, und diese erscheinen dann in der GNOME-Softwareanwendung, die auf Ubuntu und vielen anderen Linux-Distributionen genutzt wird. Diese Bemühungen reichen bis ins Jahr 2015 zurück. Hersteller wie Dell und Lenovo sind beteiligt.
Diese Lösungen für Windows und Linux gehen über reine UEFI-Updates hinaus. Hardwarehersteller könnten sie nutzen, um zukünftig alles von der USB-Maus-Firmware bis zur Solid-State-Drive-Firmware zu aktualisieren.
Wie SwiftOnSecurity feststellte, sind Firmware-Updates durchaus zuverlässig, wenn man sich beispielsweise die Probleme mit Solid-State-Drive-Firmware und -Verschlüsselung ansieht. Wir müssen mehr von den Hardwareherstellern fordern.
Firmware-Updates können zuverlässig sein. Ich habe mindestens 3.000 Dell BIOS-Updates mit nur einem Fehler initiiert, und dieser alte PC war bereits für den Fehler in Betrieb.
Überdenken Sie, was Sie für unmöglich halten. Firmware-Wartung ist nicht unmöglich oder riskant. Sie erfordert, dass die Leute mehr fordern.
— SwiftOnSecurity (@SwiftOnSecurity) 6. November 2018
Bildnachweise: Intel, Natascha Eibl, Kubas/Shutterstock.com.