24C3: Linux voll lauffähig auf der Xbox 360

Das Team des Free60-Projekts gab auf dem Chaos Communication Congress Einblicke in den Hack der aktuellen Generation der Spielkonsole von Microsoft, der auf Schwächen des Hypervisors und der Grafik-Shader mancher Spiele beruht.

In Pocket speichern vorlesen Druckansicht 207 Kommentare lesen
Lesezeit: 6 Min.

Das Team des Free60-Projekts hat seine Ziele erreicht: Auf dem 24. Chaos Communication Congress (24C3) führte die Hackergruppe am Freitag vor, wie Linux mit der grafischen Gnome-Oberfläche auf der gut abgeschotteten Xbox 360 zum Laufen zu bringen ist. Die Spielkonsole kann so für ihren derzeit 299 US-Dollar betragenden Kampfpreis wie ein normaler, mit drei Prozessorkernen und 3,2-GHz-Taktung nicht sonderlich langsamer PC genutzt werden. "Alles läuft bis auf die Tonausgabe", freute sich Teammitglied Felix Domke nach einer vom Publikum bejubelten Demo des Startprozesses von Linux auf der Hardware aus Redmond und dem Abspielen einer Applikation zur Demonstration der Grafikfähigkeiten der Xbox. Das kleine Manko erklärte der Programmierer mit dem Hinweis, dass sich einfach noch niemand gefunden habe, der zum Schreiben eines Sound-Treibers bereit gewesen wäre.

Das Projekt hatte bereits im Frühjahr eine Live-CD veröffentlicht, mit der Interessierte Linux auf der Spielkonsole laufen lassen konnten. Die damalige Variante unterstützte bereits die USB- und SATA-Schnittstellen, allerdings noch nicht die Funktionen zur Videobeschleunigung. Inzwischen ist der Hack komplett, neben einer Anleitung stehen ein Linux Bootloader und ein Kernel des freien Betriebssystems für die Xbox zur Verfügung. So ist es möglich, beliebigen eigenen Code auf der Konsole mit den Kernel-Versionen 4532 und 4548 auszuführen. Allein die jüngste Xbox-Hardware wird nicht unterstützt, da sie eine neue zentrale Rechner- und Grafikeinheit sowie einen neuen Kernel enthält.

Zum Verhängnis wurden den Redmondern letztlich Schwächen des Hypervisor und der Grafik-Shader mancher Spiele. Die Xbox 360 verfügt allgemein im Vergleich zur ersten Generation der Konsole über einen deutlich stärkeren Sicherheitspanzer. Das Free60-Team hätte sich daran fast die Zähne ausgebissen. Das Modell sieht vor, dass alle Spiele und Anwendungen auf dem System mit eingeschränkten Rechten laufen und dazu digital signiert sein müssen. Nur der Hypervisor läuft als digitaler Aufpasser mit privilegierten Rechten; er kontrolliert die Zugriffe auf den Speicher und die kryptographischen Funktionen. Unter anderem sorgt er auch dafür, dass im Speicher abgelegter ausführbarer Code verschlüsselt und nur lesbar ist. Nicht privilegierte Programme sollen so keinen Code manipulieren oder einschleusen können.

Auf den ersten Blick schien das kleine Hypervisor-Programm den Xbox-Hackern fehlerfrei geschrieben zu sein. Wie ein anonymer Sicherheitsexperte am Ende des vergangenen Jahrestreffens der Hackergemeinde aber überraschend vorführte, enthielt das Kontrollmodul doch einen dicken "Bug". Laut einem späteren Sicherheitsbericht fand sich die Lücke hauptsächlich in der Art und Weise, wie der Hypervisor einen Systemaufruf (Syscall) zum Wechsel zwischen den unterschiedlichen Sicherheitsebenen im Speicher- und Betriebssystembereich sowie den unprivilegierten Benutzerprozessen ausführt.

Mit bestimmten Parametern lässt sich der Hypervisor laut Domke austricksen. Er erlaubt dann Zugriffe auf Speicherbereiche, die von den strengen Schutzfunktionen ausgenommen sind. Damit sei die Tabelle der Syscall-Verweise derart zu manipulieren, dass die zentrale Kontrolleinheit auch eingeschleusten Code aus unverschlüsselten Speicherbereichen anspringt. Schuld daran sei, dass die Liste der Systemaufrufe zwei Instruktionen durchführe und Register mit einem aktuellen Wert vergleiche. Dabei kämen sowohl auf eine 64-Bit- sowie auf eine 32-Bit-Rechnerarchitektur angepasste Kommandos zum Einsatz, die sich vergleichsweise einfach manipulieren lassen würden.

Dazu kommt Domke zufolge, dass Shader einiger Spiele wie im Fall von King Kong die Daten, die sie beim Ablauf produzieren und in den Speicher schreiben, nicht genau beim Laden checken. Diese Eigenschaft erlaube es, die Systemaufrufe des Hypervisors auf solchen selbstprogrammierten Code zu richten und den gesamten CPU-Kontext im Rahmen einer so genannten Direct Memory Attack (DMA) zu kontrollieren. Über einen speziellen Bootloader könne der Xbox 360 so auch etwa ein Linux-Kernel von CD untergejubelt werden. Die noch ausstehende Linux-Portierung bezeichnete Domke als vergleichsweise einfach, da es sich bei dem Inneren der Konsole letztlich um einen gewöhnlichen PC handle und so ausreichend Vorarbeiten vorhanden gewesen seien.

Mit Microsoft stand die Hackertruppe inzwischen in Kontakt, stellte ihre Arbeiten auf Einladung des Konzerns auch direkt in Redmond vor. Der Xbox-Hersteller konnte so rasch auch mit einer weiteren elektronischen Sicherungstechnik, dem so genannten eFuse-Verfahren die ausgenutzte Lücke bei neuen Kernelvarianten dicht machen. Die Gegenseite fand aber auch dafür zunächst eine Abhilfe, mit der das gezielte Herabstufen ("Downgrading") auf frühere Versionen des Betriebssystemkerns möglich ist. Dafür las sie mit einer extra gefertigten Hardware die Zeiten aus, die der Flash-Festspeicher im Bootloader für den Abgleich signierter und unsignierter Codekomponenten benötigt. Dieser dauert nämlich etwas länger, wenn er auf erlaubte Programmzeilen stößt. Nach etwa einer Stunde hatten die Hacker schließlich den Hashwert zusammen, der die Verschlüsselung nebst einem damit nicht mehr benötigten geheimen CPU-Schlüssel steuert. Damit ist es bei den Konsolen mit Ausnahme der ganz neuen Variante möglich, eine frühere Kernelversion zu starten.

Die Lehre aus der erweiterten Hackersaga kann laut Projektleiter Michael Steil nur lauten, dass Konsolenproduzenten dem Vorbild Sonys bei der Playstation folgen und Linux beziehungsweise eigene Software von vornherein auf den Geräten ablaufen lassen sollten. "Kooperation ist eine gute Idee", betonte Steil. Es habe sich bisher immer wieder erwiesen, dass die "Linux- und Homebrew-Hacker" die schlauesten Vertreter ihrer Zunft seien und Wege zum Öffnen einer Box finden würden. Cracker, die allein Modchips oder Raubkopien auf den Konsolen laufen lassen wollten, würden dagegen deutlich weniger Energie in das Umgehen von Sicherheitsarchitekturen stecken. Die Hersteller sollten daher lieber gleich an die "Kollateralschäden" eines Hacks denken, da dieser im Nachhinein auch anderen Wege für eine freizügigere Nutzung der Boxen aufzeige. (Stefan Krempl) / (hos)