Eine neue Woche, eine neue Hack-nachricht. Diesmal verkündete der durch den IPhone Hack bekannte George „Geohot“ Hotz seine Ergebnisse. Wie immer wurde sein Blog nach der Verkündung des Crack oder Hack oder Exploit, wie man es nun auch nennen will von den üblichen Speichelleckern geflutet. Vor lauter „Begeisterung“ bald ohne zu bezahlen und auf Kosten der Entwickler alle Spiele spielen zu können, überschlugen sie sich in Forderungen an Geohot doch nun zügig einen Isoloader zu bauen. Nach wenigen Stunden hatte Geohot offensichtlich die Faxen dicke.  Er gab den Quellcode und ein Bild des nötigen Hardwarehacks frei.

Nun ist es an der Zeit den Hack einmal genauer zu betrachten. Besonders hat uns natürlich interessiert, was der Hack überhaupt bewirkt. Auch sollte einmal klar gesagt werden was der Hack genau NICHT kann.

Die Beutelschneidenden Raubkopierer träumen natürlich schon von wilden Downloadorgien. Aber hat der Hack überhaupt einen praktischen Nutzen? Ist es streng genommen überhaupt ein „Hack“ oder doch nur ein eher abstruser Exploit ohne Auswirkungen?

Um diese Fragen beantworten zu können muss man sich schon etwas mit der Wirkung des Exploits, der Konstruktion der PS3 und mit den Umständen des Betriebs derselben auseinandersetzen. Fangen wir mit der Konstruktion der PS3 an, um dann die Wirkung des Exploits besser zu verstehen.

Alle alten PS3 Modelle VOR der PS3 Slim hatten die Option ein anderes Betriebssystem in einem getrennten Festplattenbereich zu installieren. Mit der OtherOS Funktion konnte Linux auf der PS3 installiert werden. Als Schutz vor allzu anspruchsvollen Programmen in diesem Modus hat Sony einen sogenannten Hypervisor eingebaut. Der Funktioniert in etwa wie ein übel gelaunter Türsteher vor der Disko. Wenn deine Visage ihm nicht passt: „Du kommst hier net rein!“ Von Anfang an versuchten Hacker diese Einschränkung ausser Kraft zu setzen um direkten Hardwarezugriff auf den Grafikchip der PS3 zu erlangen. Die Hardware der PS3 ist im OtherOS Modus in mehrere „Ringförmige“ Sicherheitsstufen unterteilt. Die innerste Schicht, der sogenannte Ring-null hat als einzige direkten Zugriff auf die Hardware. Alle anderen Schichten können nur über streng festgelegte Befehle über den Hypervisor auf Teile der Hardware zugreifen.

Wie funktioniert nun der Hack? Ziel von Geohot war es nun den Hypervisor außer Kraft zu setzen, um direkt an den Speicher zu kommen. Um das zu erreichen muss nun in einem nur 40ns dauernden Zeitfenster ein Impuls auf die Hardware gegeben werden um diese mit dem Kurzschluß in einen falschen Status zu versetzen. Bei erfolgreichen Puls hat der Hypervisor mehrere neue Befehle, welche einen direkten Zugriff auf den Hauptspeicher erlauben. Jedoch ist die Zeit so eng bemessen, das der Hack nicht immer geht, sondern gerne in Totalabstürzten endet, sprich SegmentationFault oder Kernel-Panik. Das ganze erinnert stark anb eine Gehirnoperation mit einem Elektroschocker statt dem Skalpell. In der Regel stirbt der Patient, aber in seltenen Fällen kann er plötzlich fließend Thai sprechen.

Nun hat der Hacker also durch Stromstöße auf den Signalbus der PS3 (klingt nach einer guten Möglichkeit etwas dauerhaft zu zerstören…) ein paar extra Befehle, welche das direkte Auslesen des Hauptspeichers bewirken. Toll! Was kann ich nun damit anfangen?

Nichts.

Nun gut, nichts stimmt nicht ganz, im PS3 Modus bringt es NICHTS, aber im OtherOS Modus könnte jemand evtl oder vielleicht einen 3d-Beschleunigten Grafiktreiber für den Chip basteln. Da endet allerdings auch schon der Nutzen.

Aber WARUM bringt das nichts für PS3 Modchips? werden sich die Leute nun fragen. Das ist einfach erklärt, aber sehr kompliziert in der Umsetzung. Wie bereits beschrieben funktioniert der Hack/Crack/Exploit  nur bei den alten PS3 Modellen, und dort auch nur im OtherOS Modus. Das GameOS ist jedoch mit dem geheimen Root Key und dem Secure Key(individuell für jede PS3) gesichert. Wer nun glaubt, diese Keys könnten wie bei der Wii einfach aus dem Speicher gelesen werden, da ja nun Ring-Null Zugriff auf diesen möglich ist, der hat sich getäuscht. Weder der Root Key, noch der individuelle Secure Key befinden sich zu irgend einem Zeitpunkt im Speicher der PS3. Diese Schlüssel stehen in der für das Betriebssystem reservierten SPU. Ein Auslesen dieser SPU ist weder über Software noch über angeschlossene Hardware (Modchip) möglich(1).  Sony und IBM hatten die PS3 von Grunde her auf Sicherheit getrimmt. Der Hypervisor war nur EINE der, wie eine Zwiebelschale aufgebauten, Sicherheitsschichten. Sony und IBM hatten für den Worst Case, also genau den vorliegenden Hack, eines Vollzugriffs auf den Speicher ohne Hypervisor eine tieferliegende Sicherheitsschicht in Hardware eingebaut.

Schutzmauer gegen Key auslesen durch verarbeitung in einer hardwaregesicherten SPU

Die Taktik die beiden zentralen Schlüssel in einer isolierten SPU unterzubringen zahlt sich nun aus, denn  im Gegensatz zur Wii, bei der die Keys mitlerweile bekannt sind, kann ein Hacker selbst mit kompletten Speicherzugriff nicht an die für den Schutz lebensnotwendigen Schlüssel heran. Damit fällt auch jede Form von Iso Loader etc. Flach. Denn das GameOS ist im gegensatz zum OtherOS komplett verschlüsselt und signiert. Jede Änderung am GameOS, wie etwa eine „Custom Firmware“ fällt sofort auf und führt zur Blockade der PS3. Auch fehlen in allen PS3 BD Spieledumps welche im Internet getauscht werden die nicht auslesbaren Informationen die nur in einem Presswerk auf die BluRay geschrieben werden können. Daher scheitert eine BluRay Kopie auch an dieser Stelle. Wenn das ISO geladen werden soll erfolgt ein erzwungener check durch die isolierte SPU, welche sofort die fehlenden Informationen bemerkt, und die BluRay oder das ISO daraufhin ablehnt.

Was bringt also der Hack im Detail?

  1. Nutzer des OtherOS (Linux) können nun, wenn sie ihre PS3 mit Elektroschocks malträtieren, in 1 von 3 Fällen auf den kompletten Speicher zugreifen. sollte ein Modchip entwickelt werden, der dies erledigt kann es sein, das der Hack Modus häufiger funktioniert.
  2. in diesem Modus könnten OtherOS Nutzer evtl. Hardwarenahe Treiber einsetzen und damit beschleunigte 3D Ausgabe unter Linux verwirklichen.
  3. Sollte die vorliegende PS3(Phat) über original PS2 Hardware verfügen könnte ein Softwareemulator dies nützen und damit eine deutlich bessere Emulation der PS2 erreichen, unter der dann sogar ISO’s laufen würden.

Was bringt der Hack NICHT?

  1. lauffähige PS3 Raubkopien
  2. Custom Firmwares für den GameOS Modus
  3. Zugriff auf die alles entscheidenden Schlüssel zum überwinden der Festplattenverschlüsselung etc.

Bis zum nächsten „Hack“,

euer Hardware Lumbo

(1) http://www.ibm.com/developerworks/power/library/pa-cellsecurity/