Longkit: A Universal Framework for BIOS/UEFI Rootkits in System Management Mode

Bachelor Studiengang IT Security

Julian Rauchberger, BSc (Jg. 2013/2016)

Betreuer: Dipl.-Ing. Robert Luh, BSc

Ausgangslage

Ursprünglich für Advanced Power Management (APM) Features gedacht, ist der System Management Mode ein Betriebsmodus der x86-Architektur, welcher mit noch höheren Rechten als der Betriebssystem-Kernel selbst ausgeführt wird – SMM-Code kann von diesem weder gelesen noch geschrieben werden. Es wurde bereits mehrfach demonstriert, dass über Sicherheitslücken im BIOS/UEFI oder durch direktes Überschreiben der Firmware Schadcode in den System Management Mode geladen werden kann. Es ist wichtig, die Funktionsweise des SMM zu verstehen, um an effizienten Gegenmaßnahmen für BIOS/UEFI-Malware forschen zu können. Diese Arbeit bietet Einblick in das Design und die Funktionsweise eines eigens erstellten Rootkits.

Ziel

Konkret beschäftigt sich diese Arbeit mit der Frage, wie ein Rootkit für den System Management Mode aussehen könnte und liefert eine voll funktionsfähige Implementation eines Frameworks zur Erstellung schädlicher System Management Interrupt Handler. Ziel war es dabei, moderne Linux-basierte 64-Bit-Betriebssysteme zu unterstützen und den Code möglichst unabhängig vom BIOS/UEFI-Hersteller zu gestalten. Das Framework ist äußerst flexibel einsetzbar, da es vollständig in positionsunabhängigem Assembler programmiert ist und somit von jeder beliebigen Speicheradresse aus ausgeführt werden kann.

Als Beispiel für die Vielfältigkeit dieser Methode wurde eine Backdoor für den „Root“-Benutzeraccount sowie eine Überwachungsroutine des Startens neuer Programme implementiert.

Ergebnis

Die hohen Rechte, sowie die Verwendung verschiedener Features der x86-Architektur gestalten die Erkennung von SMM-Schadcode äußerst schwierig. Diese Arbeit demonstriert die praktischen Gefahren, die von derartiger Malware ausgeht. Der Quellcode des Frameworks stellt eine solide Ausgangsbasis für weitere Forschung zu den Gefahren von BIOS/UEFI-Malware dar und steht auf Anfrage für Forschungszwecke zur Verfügung.