Wieder einmal: Rootkit im PC-BIOS
Rootkits, die ihren Code in den Flash-Speicher von PC-Mainboards mit AHCI-kompatiblem BIOS einschleusen, ĂĽberstehen auch den Austausch der Festplatte.
Mitarbeiter der argentinischen IT-Sicherheitsfirma Core Security Technologies haben auf der Konferenz CanSecWest ein Szenario vorgestellt, bei dem ein Rootkit seinen Code in den Flash-Speicherchip des PC- oder Notebook-Mainboards schreibt, der eigentlich fĂĽr das BIOS vorgesehen ist. Auf diese Art tief im System verankert, ĂĽbersteht ein Rootkit sogar das Neuformatieren oder den Austausch der Festplatte; zudem ist es fĂĽr Virenscanner schwierig, den BIOS-Code zu prĂĽfen.
Angriffe auf das PC-BIOS sind allerdings nicht neu. Besonders bekannt ist das 1998 erschienene CIH-Virus geworden, das jeweils am 26. April eines Jahres – dem Jahrestag der Tschernobyl-Reaktorkatastrophe – aktiv wurde: Der Autor hatte das unter Windows 95 lauffähige Programm mit einer simplen Lösch-Routine für die auf damaligen Mainboards üblichen Flash-EEPROM-Speicherchips ausgestattet. Auch das Auslesen der seinerzeit umstrittenen Pentium-III-Seriennummer ließ sich durch nachträgliche Änderungen am BIOS leicht bewerkstelligen.
Bei aktuellen Mainboards ist der Flash-Speicher für den BIOS-Code typischerweise via SPI (Serial Peripheral Interface) an die Chipsatz-Southbridge angebunden und nicht mehr – wie früher – via Low-Pincount-Interface (LPC) oder zuvor via ISA- beziehungsweise X-Bus. Die Zeiten, in denen man ein BIOS-Update mühsam mit einem Kommandozeilenbefehl von einem von Diskette gestarteten DOS einspielen musste, sind glücklicherweise vorbei: Flash-Tools laufen mittlerweile unter Windows. Viele BIOS-Versionen haben ein eingebautes Flash-Tool, das Updates auch etwa von einem USB-Stick laden kann. (Update:) Es gibt sogar Flash-Tools, die als ActiveX-Control realisiert sind oder davon gesteuert werden; in ActiveX-Controls von PC-Herstellern wie Acer oder IBM und in anderen Wartungs-Tools (etwa von HP) sind allerdings schon Sicherheitslücken gefunden worden. Außer herstellerspezifischen Flash-Tools gibt es auch universellere, die mit Flash-Speicherchips mehrerer Hersteller umgehen können, etwa Flashrom von den Coreboot-Entwicklern.
BIOS-Code wird unmittelbar nach dem Systemstart ausgeführt, also noch vor dem Betriebssystem, und damit bevor Virenscanner oder andere Software vor Schadroutinen schützen könnte. Der BIOS-Code besteht aus zahlreichen einzelnen Modulen, die nacheinander abgearbeitet werden, sowie einer Ablaufsteuerung. Der Code der einzelnen Module, von denen einige beispielsweise den Power-On Self Test (POST) durchführen, kann LZH-komprimiert sein, wie die Autoren Anibal L. Sacco und Alfredo A. Ortega in ihrer CanSecWest-Präsentation (PDF-Datei) erklären. Außerdem untersucht das BIOS vor dem Ausführen einzelner Module deren Prüfsummen – die Prüfsummen injizierten Codes müssen also daran angepasst werden. Tipps dazu liefert beispielsweise der Buchautor Darmawan Salihun, der unter dem Nickname Pinczakko über BIOS-Hacks schreibt; die Core-Security-Autoren verweisen ausdrücklich darauf.
Die Core-Security-Mitarbeiter diskutieren mehrere potenzielle Angriffsziele im BIOS-Code, lohnend scheinen ihnen beispielsweise die LZH-Entpacker-Routinen, weil diese selbst nicht komprimiert sind. Die beiden Autoren weisen darauf hin, dass Virtualisierungssoftware wie VMware auch BIOS-Code emuliert, der sich ebenfalls modifizieren lässt.
Wie bei vielen ähnliche Demonstrationen von hardwarenahen Attacken – etwa auch beim kürzlich von Joanna Rutkowska und Loic Duflot gezeigten System-Management-Mode-Angriff – fehlt auch hier eine Einschätzung, welche Systeme überhaupt verwundbar sind. Zunächst einmal kann nicht jedes Flash-Tool jeden beliebigen Flash-Chip beschreiben. Außerdem bietet fast jedes BIOS im Setup-Programm eine Schreibschutz-Option – ist diese aktiviert, was manchmal erst nach Vergabe eines Passworts für den Zugriff auf das BIOS-Setup möglich ist, lässt sich der BIOS-Code nicht überschreiben. Auf manchen Boards lässt sich das Beschreiben des Flash-Chips auch per Jumper oder DIP-Schalter sperren.
Unklar ist auch, bei welchen BIOS-Versionen ein Angriff überhaupt nach demselben Schema funktioniert. Die Core-Security-Mitarbeiter haben mit einem Phoenix Award BIOS gearbeitet; Phoenix hatte die Firma Award Ende der 90er-Jahre übernommen. Unter der Marke Phoenix gibt es aber auch stärker gesicherte BIOS-Versionen wie SecureCore, die ihren Code mit Signaturen schützen. Schließlich gibt es noch weitere BIOS-Varianten anderer Hersteller wie AMI oder Insyde und in Zukunft auch UEFI-Firmware. Ein Angriff auf das Mainboard-BIOS muss also relativ systemspezifisch geschrieben sein. Dass trotz bekannter Schwächen, die das CIH-Virus bereits vor mehr als einer Dekade aufgezeigt hat, bisher erst sehr wenige Schadroutinen das BIOS attackieren, zeigt, dass solche Angriffe im Vergleich zu Attacken auf weit verbreitete Betriebssysteme oder Browser anscheinend als weniger erfolgversprechend oder zu kompliziert eingestuft werden.
Ein potenziell lohnender und einfacherer Weg zur Infizierung von BIOS-Code könnte sein, die von den Mainboard- und PC-Herstellern zum Download angebotenen BIOS-Updates zu manipulieren: Deren Server scheinen oft nicht sonderlich gut geschützt zu sein, immer wieder wurden Download-Webseiten manipuliert oder Geräte mit infiziertem Code ausgeliefert. (ciw)