Vom Rootkit zum Bootkit: Vistas Code-Signierung ausgehebelt

Indische Sicherheitsexperten greifen früh in den Vista-Bootprozess ein, um die signaturbasierten Sicherheitsmechanismen des neuen Microsoft-Betriebssystems zu umgehen – mit möglicherweise weitreichenden Konsequenzen für das Vista-DRM.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 3 Min.
Von
  • Christiane RĂĽtten

Indische Sicherheitsexperten haben auf der Black-Hat-Konferenz in Amsterdam einen speziellen Bootloader vorgestellt, der die Code-Signing-Mechanismen von Vista umgeht. Nitin und Vipin Kumar von NV labs entwickelten ein von CD startendes Programm namens VBootkit, das den Vista-Bootprozess anstößt und dabei "on-the-fly" Änderungen im Speicher und an zu lesenden Dateien vornimmt. Das "Bootkit" konnte auf diese Weise in einer Demonstration unter Vista RC2 (Build 5744) auch ohne Microsoft-Signatur mit Kernel-Privilegien laufen und System-Rechte an eine CMD-Shell vergeben.

Nach Angaben der Experten liegt das fundamentale Problem darin, dass sich jede Stufe im Vista-Bootprozess blind darauf verlässt, dass bei der jeweils vorangegangenen alles sauber abgelaufen ist. So ist es dem Bootkit möglich, sich noch vor dem Vista-Boot ins Speicherabbild zu kopieren und den Interrupt 13 zu kapern, den Betriebssysteme unter Anderem für Lesezugriffe auf Festplattensektoren nutzen.

Sobald der NT-Bootsektor den Bootmgr.exe nachlädt, patcht VBootkit die für die Integritätssicherung zuständigen Sicherheitsabfragen und kopiert sich in einen ungenutzen Speicherbereich. Ähnlich geht es auch bei den nachfolgenden Boot-Stufen Winload.exe und NTOSKrnl.exe vor, bis es auch im fertig gebooteten System im Hintergrund läuft – und zwar ohne dass die neuen Vista-Sicherheitsmechanismen angeschlagen hätten, die die Ausführung von unsigniertem Code mit Kernel-Rechten verhindern sollen.

Das Prinzip funktioniere auch mit Vista-Final (Build 6000), so Nitin und Vipin Kumar im Gespräch mit heise Security. Allerdings hätten finanzielle Überlegungen der nachträglichen Portierung auf die endgültige Vista-Version entgegengestanden. In ihrer Präsentation zeigten die Experten auch die detaillierten Ergebnisse ihrer Analyse des Vista-Bootprozesses.

Zur Bestimmung der zu patchenden Speicherstellen und Prüfsummen, die bei jedem Vista-Build unterschiedlich sind, sei ein sehr zeitaufwendiges Debugging mit dem PC-Emulator Bochs nötig gewesen. Die einzelnen Schritte des Bootprozesses durchzugehen, habe beim ersten Mal mehrere Wochen Arbeitszeit in Anspruch genommen, so die beiden Inder. Ihrer Einschätzung nach stünde dem VBootkit nichts im Wege, auf Grundlage einer entsprechenden Analyse etwa auch signierte Treiber zu patchen und die zuständigen Integritäts-Checks auszuhebeln. Da es mit Kernel-Rechten laufe, könne es prinzipiell alles tun, was auch der Kernel tun kann.

So wäre es unter Umständen beispielsweise auch möglich, auf dem Weg zwischen Datenträger und Videokarte an DRM-gesicherte HD-Videoinhalte zu gelangen. Wie der ebenfalls auf der Black-Hat-Konferenz vorgeführte Angriff gegen Cisco NAC macht VBootkit deutlich: Wer die Hardware kontrolliert, kontrolliert letztlich auch die Software, die darauf läuft. Die beiden Experten gaben zu bedenken, dass Microsoft zwar durch zusätzliche Abfragen und ausgefeiltere Algorithmen die Latte für Bootkits höher legen können, eine entscheidende Absicherung gegen die Ausführung von unsigniertem Programmcode sei aber erst mit dem Einsatz von TPM-Hardware zu erreichen.

Siehe dazu auch:

(cr)