Original-URL des Artikels: https://www.golem.de/news/homebrew-system-auf-nintendos-switch-glitch-the-switch-1712-131899.html    Veröffentlicht: 29.12.2017 14:30    Kurz-URL: https://glm.io/131899

Homebrew-System auf Nintendos Switch

Glitch the Switch!

Bei Nintendos Switch baut Nvidia sich eine eigene Backdoor im Grafikprozessor, und Nintendo mapped den Kernel aus Versehen ausführbar in den Userspace. Trotzdem ist es gar nicht so leicht, eigenen Code zur Ausführung zu bringen - für einen Angriff werden sogar Kondensatoren getauscht.

Bevor eine Konsole nicht gehackt wurde, um darauf ein anderes Betriebssystem zu installieren, ist sie für viele Hacker ein reizendes Forschungsobjekt. Und genau, wie es schon bei Nintendos Vorgängermodell 3DS oder dem Konkurrenten PS4 von Sony der Fall war, wird auch auf der 34C3 in Leipzig darüber gesprochen, wie die Konsole gehackt werden könnte.

Ein kompletter Hack der Switch liegt allerdings noch nicht vor. In ihrem Vortrag stellten die Hacker plutoo, derrek und naehrwert jedoch zahlreiche verschiedene Schwachstellen vor, die bereits an einigen Stellen die Ausführung eigenen Codes ermöglichen. Sie versprechen: Der Homebrew kommt. Bis es so weit ist, muss aber für zahlreiche Komponenten eine Lösung gefunden werden.

Die Joycons haben keine Security

Einige Komponenten machen es den Forschern dabei leicht. Die beiden Joycons, also die Controller der Switch, verfügen ihren Angaben zufolge über "keinerlei Sicherheit". Der Inhalt des Speichers könne ohne Probleme ausgelesen werden. Doch für die Installation einer eigenen Firmware oder eines eigenen Betriebssystems sind andere Komponenten wichtiger. Um festzustellen, wie ein solcher Hack ablaufen könnte, ist es zunächst erforderlich, detaillierte Informationen über die Innereien der Konsole zu sammeln. Der ARM-Cortex-Prozessor mit vier Kernen wird auf dem Package als Nvidia-ODNX02-A2-Chip bezeichnet. In Wirklichkeit handelt es sich nach Angaben der Hacker aber um einen handelsüblichen Tegra X1. Dies habe ein Decapping des Chips ergeben, das einen detaillierten Vergleich zulasse.

Weil es sich um einen Standardprozessor handelt, gibt es auch eine umfangreiche Dokumentation. Das Manual für den Prozessor ist online verfügbar und hat ungefähr 3.000 Seiten. Im weiteren Verlauf der Anstrengungen spielt es eine größere Rolle, als zunächst anzunehmen ist.

Die größte Angriffsfläche bietet nach Angaben der Hacker Webkit, der Prozess hat die wenigsten Berechtigungen. Es gibt allerdings bereits mehrere Schwachstellen, die für Exploits ausgenutzt werden können. Dazu muss eine Applikation mit Webkit-Zugang genutzt werden - etwa ein Spiel, das auf eine Webadresse verweist, oder aber Captive-Portals von WLAN-Hotspots. Webkit wurde bereits bei anderen Konsolenhacks als Einfallstor genutzt.

Die Hacker nutzen auch eine Schwachstelle im System aus, bei der Prozesse nachfragen, welche Applikations-Whitelist für einen bestimmten Prozess gilt. Dabei verzichten sie darauf, die PID selbst zu initialisieren, das System denkt dann, dass die PID gleich Null ist, und gibt Zugriff auf alle Funktionen. Nun konnten die Hacker zwar auf Prozesse zugreifen, aber nicht auf den Code selbst.

Kein Free BSD auf der Switch

Wichtig ist natürlich auch das verwendete Betriebssystem. Seit längerem andauernde Spekulationen, dass es sich um eine Version von Free BSD handeln würde, treten die Vortragenden entgegen: "Nein, hört auf zu fragen", heißt es dazu. Bekannt ist allerdings, dass Nintendo einen Mikrokernel einsetzt und außerdem Webkit verwendet.

Die Switch hat an verschiedenen Stellen ein durchaus fortschrittliches Sicherheitsmanagement. So laufen Anwendungen in einer Sandbox, können also nicht ohne Weiteres andere Prozesse beeinflussen. Die verschiedenen Services auf dem Gerät haben mit wenigen Ausnahmen außerdem keinen direkten Zugriff auf das Dateisystem. Weiterhin ist für Spiele und das Betriebssystem ASLR aktiviert - Adress Space Layout Randomization. Die Funktion sorgt dafür, dass möglicherweise vorhandene Fehler im Speichermanagement nicht so einfach ausgenutzt werden können, weil Inhalte im Arbeitsspeicher an nicht vorhersehbaren Stellen abgelegt werden.

Der Kernel wird aus Versehen im Userspace gemapped

ASLR kann jedoch umgangen werden. Denn der Kernel ist an verschiedenen statischen Orten gemapped und - wohl aus Versehen - auch im Userspace. Weil der Code dort auch als ausführbar markiert ist, kann dies als Einfallstor für weitere Angriffe genutzt werden.

Die Gruppe attackierte jedoch nicht den Kernel selbst, sondern SMMU, also die System Memory Management Units. Dazu nutzte sie das bereits erwähnte Handbuch. Per Suchfunktion fanden die Hacker dort eine Anleitung für "Bypass SMMU", also die Umgehung der Sicherheitsfunktion. Im Handbuch wird erwähnt, dass die Grafikeinheit SMMU umgehen kann. Dazu hieß es im Talk trocken: "Nvidia hat sich selbst gebackdoored." Da der Prozess in Hardware implementiert ist, kann die Schwachstelle auch nicht gepatched werden.

Schlüssel per Glitch auslesen

Um an die notwendigen Schlüssel zur Ausführung eigenen Codes zu kommen, mussten die Forscher außerdem die Kondensatoren auf dem Board durch Mosfet-Transistoren ersetzen. Über diese Transistoren wurde die Spannung so weit heruntergefahren, dass der Prozess der Authentifizierung fehlschlug. Mit dem richtigen Timing gelang es dann, alle Schlüssel und die Binaries auszulesen. Der Angriff wird als "Glitch" bezeichnet.

Die Hacker untersuchten auch die sogenannte Trustzone des Prozessors - also den Bereich, in dem geheime Schlüssel abgelegt werden und angeblich vor unbefugtem Zugriff geschützt sind. Doch in der Implementierung der Funktion machte Nintendo offenbar gravierende Fehler. Denn wenn das Gerät aus dem Ruhezustand aufgeweckt wird, werden die Inhalte der Trustzone kurzfristig unverschlüsselt im Userspace gespeichert und sind somit auch für unprivilegierte Nutzer zugänglich. Eigentlich sollte dies gar nicht möglich sein. Letztlich sei die Überlistung der Trustzone - von den Hackern "Untrustzone" genannt - aber gar nicht so sinnvoll für den Homebrew, sondern eher ein Spaß.

Wer in Zukunft plant, ein Homebrew-Betriebssystem einzusetzen, dem empfehlen die Hacker, vorläufig auf Version 3.0 des Betriebssystems zu bleiben - in den nachfolgenden Versionen sei unter anderem das Problem mit der Process ID behoben worden, was Angriffe deutlich erschwert. Bis es so weit ist, dürfte es aber ohnehin noch etwas dauern. Denn bislang fehlt neben der Hardware-Unterstützung für die Grafikeinheit auch noch Audio und eine einheitliche Startfunktion für eigene Applikationen.

Auch der Einsatz komplett eigener Betriebssysteme ist bislang nicht möglich, auch wenn es "sehr interessant" sei, wenn zum Beispiel Android auf der Tablet-Konsole laufen würde. Die anwesenden Hacker wurden vor allem aufgefordert, Spiele für Homebrew-Switches zu schreiben - damit der Spaß auch nach einem erfolgreichen Hack nicht zu kurz kommt.  (hg)


Verwandte Artikel:
Fritzbox 7583: AVM zeigt neuen Router für diverse Vectoring-Techniken   
(23.02.2018, https://glm.io/132954 )
Fluggastdaten: Regierung dementiert Hackerangriff auf deutsches PNR-System   
(10.03.2018, https://glm.io/133261 )
Reverse Engineering: Das Xiaomi-Ökosystem vom Hersteller befreien   
(23.02.2018, https://glm.io/132878 )
Lexip: Joystick, Analogstick und Gamingmaus in einem   
(06.03.2018, https://glm.io/133163 )
THEC64 Mini: C64-Emulator erscheint am 29. März in Deutschland   
(01.02.2018, https://glm.io/132519 )

© 1997–2019 Golem.de, https://www.golem.de/