Per RCM Exploit gelang den Hackern einen Vollzugriff auf der Nintendo Switch, damit verfügt man die volle Kontrolle über den sicheren Bootprozess, das Nintendo nur der Versuch blieb einen cleveren Workaround zu bauen mithilfe von TSEC (Tegra Security Co-processor) für die Signierung und Abschottung der Keys, welcher ab der FW 6.2.0 als alternativer sicherer Bootvorgang auf der Switch fungierte, um das Ausführen einer CFW zu verhindern/erschweren.
Ab 7.0.x konnte der TSEC zu dem nicht mehr via SMMU umgangen werden.
TSEC ist eine dedizierte Einheit, die von einem NVIDIA Falcon-Mikroprozessor mit Kryptoerweiterungen angetrieben wird.
Er galt bislang als gut gesichert und unhackbar, bis jetzt nun,
Mike Heskin (@hexkyz) twittert, dass der TSEC nun gehackt wurde:
"Es scheint, dass meine Tweets von gestern einige Leute verwirrt haben. Ich kann es dir nicht verübeln. Dass ich bei der einfachen englischen Sprache scheiterte ("bis" statt "während", smh) *und* den falschen Hash zu posten, half überhaupt nicht, aber was soll ich sagen? Ich war zu aufgeregt und müde, um es überhaupt zu bemerken.
Ich werde nun versuchen, einen kurzen Überblick über all dies zu geben. TSEC ist eine Steuerung, die in den meisten Tegra-Geräten verwendet wird, einschließlich des Switch. Wie viele andere Controller in Tegra-Geräten wird er von einem Falcon-Mikroprozessor betrieben, jedoch mit zusätzlichen Kryptofunktionen (über das SCP).
Auf dem Switch wird neben HDCP auch der TSEC im Bootprozess der Konsole verwendet, indem er eine zusätzliche Quelle der Geheimhaltung für die Schlüsselableitung bietet.
Mit fw 6.2.0 wurde die Rolle von TSEC erweitert, um eine sichere Boot-Kette wiederherzustellen, da der RCM-Exploit sie zerstört hatte.
Als 6.2.0 fiel, konnten wir TSEC mit Tegras SMMU besiegen. Dies funktionierte, indem TSEC den Eindruck erweckte, dass es in einer sicheren Umgebung läuft, während wir die volle Kontrolle über den Speicherinhalt hatten. In diesem Fall gab es keine Kompromisse bei der TSEC selbst.
Dann kam 7.0.0. das eine TSEC-Nutzlast einführte, die die SMMU vollständig umgehen konnte, indem sie einen versteckten Kommunikationskanal zwischen der TSEC und dem Tegra Memory Controller nutzte. Dies erforderte die tatsächliche Nutzung der TSEC, die schließlich die notwendigen Schlüssel lieferte.
Was Sie wahrscheinlich nicht wissen, ist, dass dieser spezifische Exploit nur unter bestimmten Umständen funktionieren würde (was aus offensichtlichen Gründen nicht näher erläutert wird). Während die Schlüssel 7.0.0 auf diese Weise extrahiert werden konnten, konnten die Schlüssel 6.2.0 zum Beispiel nicht (so bizarr das auch klingen mag).
Aus diesem Grund war es ungewiss, ob Schlüssel in zukünftigen Updates extrahiert werden konnten oder nicht..... Bis jetzt. Das dritte Mal ist der Charme. Ich habe vor ein paar Wochen einen kritischen Designfehler gefunden und nach einer kurzen Brainstorming-Sitzung mit @SciresM konnten wir das Krypto-Schema des TSEC für immer auslöschen.
Das bedeutet, dass alle Falcon v5 (und möglicherweise auch davor oder danach) basierten Controller auf Hardware-Ebene anfällig sind, was uns die Möglichkeit gibt, alle notwendigen zukünftigen Schlüssel zu extrahieren!
Der Weg dorthin war nicht einfach: Ich begann bereits im Januar 2018 mit dem Angriff auf TSEC. Aber zusammen mit den brillanten Köpfen von @qlutoo, @shuffle2, @SciresM und @elmirorac konnten wir über 5 verschiedene Fehler unter uns finden und ausnutzen, die entscheidend waren, um hierher zu gelangen.
Der erste Hash sollte von einem 6.2.0er Schlüssel sein, den wir vorher nicht ausgeben konnten (außer, dass ich es versaut habe und den Hash von *dem* *nur* einen* gepostet habe, den wir tatsächlich *auskippen könnten, seufzen....), während der zweite Hash von etwas ist, das nur von dieser Ebene der Pwn erhalten werden kann.
Noch einmal, ein großer Applaus an @qlutoo, @shuffle2, @SciresM und @elmirorac für die gesamte Arbeit und auch an die Leute von nouveau/envytools für die erstaunliche Arbeit bei der Dokumentation der Falcon und anderer obskurer Controller im Laufe der Jahre!"
Quelle: https://twitter.com/hexkyz/status/1101940118338838530
.