In der Nintendo-Switch-2-Hacking-Szene gibt es einen interessanten neuen Entwicklungsschritt: Der Entwickler Gezine hat nach eigenen Angaben das Binary eines laufenden Switch-2-Spiels extrahiert.
Dabei kommt ein ungewöhnlicher Ansatz zum Einsatz: Ein vorhandener Userland-Exploit wird genutzt, um Daten aus dem laufenden Spiel auszulesen und anschließend über den HDMI-Ausgang der Konsole zu übertragen.
Wichtig: Es handelt sich dabei nicht um einen vollständigen ROM-Dump. Extrahiert wurde zunächst das ausführbare Binary eines Spiels. Für die weitere Sicherheitsforschung könnte dieser Zugriff trotzdem sehr interessant sein.
🛠️ Ein Userland-Exploit als Ausgangspunkt
Gezine hatte zuvor einen neuen Userland-Exploit für Switch und Switch 2 vorgestellt. Dieser ermöglicht die Ausführung eigenen Codes innerhalb einer Anwendung, stellt aber noch keinen vollständigen Zugriff auf das Betriebssystem der Konsole dar.
Ein Userland-Exploit bedeutet daher nicht automatisch Custom Firmware, Kernel-Zugriff oder einen vollständigen Jailbreak.
Der neue Zugriff ermöglicht es allerdings, sich wesentlich genauer mit dem Code echter Switch-2-Anwendungen zu beschäftigen.
📺 Game-Binary über HDMI ausgelesen
Besonders ungewöhnlich ist die Methode, mit der das Binary extrahiert wurde.
Die Daten werden dabei so verarbeitet, dass sie über den HDMI-Ausgang als Bildinformationen ausgegeben werden. Eine Capture Card zeichnet die entsprechenden Frames auf.
Anschließend können die aufgezeichneten Bilddaten am PC wieder dekodiert und die ursprünglichen Daten rekonstruiert werden.
Der Vorgang ist entsprechend nicht besonders schnell. Nach den Angaben des Entwicklers dauerte die Extraktion des betreffenden Binaries mehr als eine Stunde.
Der Ansatz ist dennoch interessant, weil dafür kein herkömmlicher Datei- oder Debugging-Zugriff auf das System erforderlich ist.
🔐 Besonders interessant: ARM Pointer Authentication
Der eigentliche Wert des extrahierten Binaries liegt weniger darin, nun ein einzelnes Spiel analysieren zu können.
Gezine möchte den Code unter anderem untersuchen, um besser zu verstehen, wie Pointer Authentication Codes (PAC) auf der Switch 2 verwendet werden.
PAC ist eine Sicherheitsfunktion moderner ARM-Prozessoren. Dabei werden Pointer beziehungsweise deren Verwendung kryptografisch abgesichert, wodurch bestimmte Angriffstechniken deutlich erschwert werden.
Durch die Untersuchung von echtem Switch-2-Code lässt sich möglicherweise besser nachvollziehen, welche Schutzmechanismen Nintendo in der Praxis einsetzt und wie diese von Anwendungen verwendet werden.
💾 Kein vollständiger Switch-2-ROM-Dump
In der Community wurde die Meldung teilweise bereits als erster Switch-2-Game-Dump bezeichnet. Das ist allerdings etwas missverständlich.
Nach dem derzeit bekannten Stand wurde zunächst das ausführbare Binary eines laufenden Spiels extrahiert.
Ein vollständiger Spieldump würde dagegen auch die zahlreichen weiteren Dateien und Daten enthalten, beispielsweise Texturen, Modelle, Audio und andere Assets.
Gezine hat nach eigenen Angaben zwar grundsätzlich Möglichkeiten, weitere Daten auszulesen, der Schwerpunkt seiner Arbeit liegt jedoch auf der Analyse des ausführbaren Codes.
🚧 Noch kein Switch-2-Jailbreak
Der aktuelle Fortschritt sollte deshalb nicht mit einem fertigen Switch-2-Hack verwechselt werden.
Der vorhandene Userland-Zugriff ermöglicht zwar interessante Untersuchungen, reicht alleine aber nicht für vollständigen Systemzugriff aus. Für einen klassischen Jailbreak wären weitere Exploits beziehungsweise Privilege-Escalation-Schritte erforderlich.
Interessant ist vor allem, dass Forscher nun beginnen können, echten Switch-2-Code aus laufenden Spielen zu untersuchen.
Gerade die Analyse von PAC und anderen Sicherheitsmechanismen könnte für zukünftige Arbeiten an der Switch 2 eine wichtige Grundlage darstellen.
Der vermeintliche „Game-Dump“ ist damit weniger wegen des Spiels selbst interessant, sondern vor allem wegen dessen Potenzial für die weitere Erforschung der Switch-2-Sicherheit.
