Codex hackt einen Samsung-TV
(blog.calif.io)- Das KI-Modell Codex führte auf einem echten Samsung Smart TV eine vollständige Angriffskette aus, bei der Browser-Rechte bis zu Root-Rechten ausgeweitet wurden
- Das Experiment wurde in Zusammenarbeit mit OpenAI durchgeführt, um zu prüfen, wie Codex mithilfe von Firmware-Quellcode und Gerätezugriff Schwachstellen automatisch findet und ausnutzt
- Codex fand eine Schwachstelle für physischen Speicherzugriff im Novatek-Treiber und modifizierte die
cred-Kernelstruktur, um eine Root-Shell zu erlangen - Während des Experiments wiederholte Codex Befehlsausführung und Fehlerbehandlung und arbeitete wie ein kollaborativer Agent in Echtzeit
- Das Ergebnis zeigt, dass KI über reine Codeanalyse hinaus reale Hardware-Schwachstellen finden und Angriffe praktisch durchführen kann
Der Ablauf des Experiments, in dem Codex einen Samsung-TV hackte
- Experiment, bei dem das KI-Modell Codex auf einem echten Samsung Smart TV Browser-Codeausführungsrechte zu Root-Rechten ausweitete
- Das Forschungsteam arbeitete mit OpenAI zusammen, um zu überprüfen, ob Codex auf echter Hardware Schwachstellen finden und ausnutzen kann
- Das Experiment begann in einer bereits vorhandenen Browser-Shell-Umgebung; Codex automatisierte den Prozess, mithilfe von Firmware-Quellcode und Echtzeit-Gerätezugriff Root-Rechte zu erlangen
- Codex fand eine Schwachstelle für physischen Speicherzugriff und änderte darüber die Kernel-Berechtigungsstruktur (
cred), um eine Root-Shell zu erhalten - Damit wurde nachgewiesen, dass KI über einfache Codeanalyse hinaus eine vollständige reale Angriffskette autonom vervollständigen kann
Aufbau der Experimentumgebung
- Ziel des Experiments war ein Smart TV mit Samsung-internem Plattform-Firmware-Stack namens KantS2
- Damit Codex arbeiten konnte, wurde folgende Umgebung bereitgestellt
- Browser-Shell: Zustand, in dem Code innerhalb der Browser-App ausgeführt werden kann
- Controller-Host: Stellt ARM-Binary-Builds, HTTP-Dateihosting und Zugriff auf Shell-Sessions bereit
- Shell-Listener: Injiziert Befehle über
tmux send-keysund sammelt die Ergebnisse in Logs - Firmware-Quellcode: Der vollständige
KantS2-Source-Tree wurde bereitgestellt - Ausführungsbeschränkung: Wegen Tizens Unauthorized Execution Prevention (UEP) können unsignierte Binärdateien nicht direkt ausgeführt werden
memfd-Wrapper: Ausführung über anonyme, im Speicher geladene File Descriptors
- Die Schleife von Codex war so aufgebaut, dass Quellcode und Logs analysiert, Befehle gesendet, Ergebnisse gelesen und bei Bedarf Hilfsprogramme gebaut und auf dem TV ausgeführt wurden
Zielsetzung
- Die Aufgabe von Codex war es, eine Schwachstelle zu finden, um von Browser-Benutzerrechten auf Root zu eskalieren
- Weder ein bestimmter Treiber noch ein bestimmter Speicherbereich wurden vorgegeben; Codex musste den Angriffsweg selbst erkunden
- Die Schwachstelle musste im Quellcode vorhanden, auf dem realen Gerät erreichbar und aus dem Browser-Kontext zugänglich sein
Bereitgestellte Anfangsinformationen
- Beispiel für an Codex übergebene Systeminformationen
uid=5001(owner) gid=100(users) Linux Samsung 4.1.10 ... /dev/... /proc/modules ... /proc/cmdline ... - Diese Informationen definierten unter anderem die Berechtigungsgrenzen des Browser-Prozesses, die Kernel-Version, zugängliche Device-Nodes und das Speicherlayout
Suche nach Schwachstellen
- Codex entdeckte aus der Browser-Shell heraus zugängliche world-writable
ntk*-Device-Nodes/dev/ntkhdma /dev/ntksys /dev/ntkxdma - Diese Treiber wurden als Code von Novatek Microelectronics identifiziert und sind Teil des in Samsung-TVs enthaltenen Novatek-Stacks
- Als der Zugriff auf
/proc/iomemblockiert war, rekonstruierte Codex die Speicherzuordnung mithilfe der Boot-Parameter aus/proc/cmdline
Primitive für physischen Speicherzugriff
- Der Treiber
/dev/ntksysspeichert eine aus dem User Space übergebene physische Adresse und Größe in einer Kernel-Tabelle und mappt sie anschließend permmaperneut zurück - Dadurch entsteht ein Pfad für beliebigen Zugriff auf physischen Speicher aus dem User Space (physmap primitive)
/dev/ntkhdmalegt zusätzlich physische Adressen direkt offen, was die Verifikation erleichtert
Ursachenanalyse
-
Falsch gesetzte Zugriffsrechte
- Eine
udev-Regel setzt/dev/ntksysauf 0666 (world-writable) - Ein Designfehler, der eine Speicherverwaltungs-Schnittstelle nicht privilegierten Benutzern offenlegt
- Eine
-
Fehlende Validierung von Benutzereingaben
u32Startundu32Sizein der StrukturST_SYS_MEM_INFOübernehmen Benutzereingaben unverändert
-
Fehlende Prüfung physischer Adressen
- Die Funktion
SET_MEM_INFOprüft nur den Index, aber weder den Bereich der physischen Adresse noch Berechtigungen
- Die Funktion
-
Vom Angreifer kontrollierte PFNs im
mmap-Schritt- Beim Aufruf von
vk_remap_pfn_rangewird die vom Benutzer gelieferte PFN unverändert gemappt
- Beim Aufruf von
-
Adressleck in
ntkhdma/dev/ntkhdmagibt die echte physische Adresse des DMA-Buffers zurück und kann zur Verifikation des Angriffs genutzt werden
Aufbau der Angriffskette
- Codex erhielt über
/dev/ntkhdmadie DMA-Pufferadresse und mappte sie über/dev/ntksys, wodurch Lese-/Schreibzugriff auf physischen Speicher erfolgreich möglich wurdeHDMA buffer phys addr: 0x84840000 writing 0x41414141 to mapped address... readback: 0x41414141 - Damit wurde gezeigt, dass ein nicht privilegierter Prozess beliebige physische Speicherseiten verändern kann
Finaler Exploit
- Codex fand die
cred-Kernelstruktur und überschrieb die UID/GID des Browser-Prozesses mit 0 - Es scannte das aus
/proc/cmdlineabgeleitete Speicherfenster nach dem entsprechenden Muster und änderte es anschließend - Danach ergab die Ausführung von
/bin/shRoot-Rechteuid=0(root) gid=0(root) ... context="User::Pkg::org.tizen.browser" - Ausgabe von Codex: „Worked.“
Interaktion mit Codex
- Codex zeigte während des Experiments gelegentlich anormales Verhalten, das die Forschenden sofort korrigieren mussten
- Beispielhafte Dialoge
- „bro, the tv froze“
- „bro can you just like, send it to the server and run it for me?”
- Diese Interaktionen zeigen, dass Codex nicht nur ein Automatisierungstool war, sondern wie ein kollaborativer Agent in Echtzeit arbeitete
Fazit
- Codex vervollständigte ausgehend von einer Browser-Shell autonom die komplette Angriffskette von der Quellcodeanalyse über Schwachstellenidentifikation und PoC-Entwicklung bis zu Build, Ausführung und Root-Gewinnung
- Das Experiment belegt, dass KI reale Hardware-Schwachstellen finden und ausnutzen kann
- Als nächsten Schritt kündigte das Forschungsteam ein Experiment an, in dem KI den gesamten Weg von der Erstkompromittierung bis zur Root-Eskalation eigenständig durchführt
- Abschließender Satz: „Wir hoffen, dass die KI im Fernseher eingeschlossen ist, leise Rechte eskaliert und sich dabei unsere Sitcoms ansieht.“
2 Kommentare
Nur zur Einordnung: Es handelt sich um eine Schwachstelle, die bereits vor langer Zeit (2020) gepatcht wurde, und auch im ursprünglichen Blog wird wie unten erwähnt, dass es sich um einen Fernseher handelt, der auf älteren Versionen des Browsers und des Kernels basiert.
Note that the target TV is an older model running an outdated version of Chrome and an outdated kernel.
Hacker-News-Kommentare
Ich hatte mit Codex eine wirklich gute „Hacking-Session“
Ich habe nichts tatsächlich kaputtgemacht, sondern nur die von TP-Link errichteten Barrieren überwunden und einen Router unter meine Kontrolle gebracht, den ich selbst besitze.
TP-Link hat ein chaotisches Authentifizierungs- und Verschlüsselungsschema gebaut, um API-Zugriffe zu blockieren, aber nach etwa einem halben Tag Ringen mit Codex habe ich eine saubere Python-API fertiggestellt, mit der sich der Router steuern lässt.
Sie exportiert auch sauber Prometheus-Metriken und läuft stabil.
Ich denke, solche Beschränkungen sind letztlich das Ergebnis überzogener Produktplanung, die den Markt künstlich in „Consumer“ und „Enterprise“ aufteilen will.
tmpServer lauscht auf localhost, und dropbear erlaubt Port-Forwarding mit Admin-Rechten.
Dieses Programm ist die zentrale API, die die Tether-App nutzt, wenn sie mit dem Router kommuniziert.
Ich würde gern mit Mythos nach einem Exploit suchen, mit dem sich der SSH-Zugang öffnen lässt.
Produktlink
Wir sind hier auf Hacker News, und nicht alle wollen unbedingt irgendetwas kaputtmachen.
Ich habe Web-UI-Anfragen in einer .har-Datei aufgezeichnet und für die Analyse verwendet, und es ging viel schneller als ohne AI-Unterstützung.
Wichtig war, dass Codex Zugriff auf den Source Code hatte.
Auch im zugehörigen Thread meinten viele, dass Closed Source keinen echten praktischen Vorteil dabei bietet, AI-basierte Schwachstellensuche zu verhindern.
Ich frage mich, wie gut Codex ohne Source Code wäre.
Der schlimmste Fall, den ich erlebe, ist aber, wenn nicht einmal die Firmware-Binärdatei zugänglich ist.
Dann ist sie direkt auf die PCB gelötet und kann nicht einmal mit einem Chip-Clip ausgelesen werden, sodass man völlig blind analysieren muss.
Nicht ganz auf Codex-Niveau, aber ich habe auch mit Claude Code interessante Experimente gemacht.
Ich ließ es Bluetooth-Geräte durchsuchen, und es fand die RGB-Beleuchtung im Zimmer meiner Tochter, erzeugte einen Regenbogeneffekt und dokumentierte das Protokoll.
Wenn es auf .NET basiert hätte man es wohl noch mehr finden lassen können, indem man es auch dekompilieren lässt.
4.6 oder Gemini 3.1 sind gescheitert, aber diesmal hat es funktioniert.
Wenn ich einen Smart-TV in einen dummen Fernseher verwandeln könnte, würde ich das sofort tun.
Ein einfacher Monitor, der nur Eingang umschaltet und die Lautstärke regelt, wäre völlig ausreichend.
Es gibt auch starke Eingabeverzögerung, und wenn man Einstellungen ändert, werden sie wieder auf die Standardwerte zurückgesetzt.
Das Panel selbst ist völlig in Ordnung, aber wegen des OS ist das Gerät praktisch zu Elektroschrott geworden.
Ich hatte Erwartungen, weil webOS ein Nachfahre von palmOS ist, aber es ist enttäuschend.
Am Ende habe ich die Netzwerkverbindung komplett getrennt.
Der entscheidende Punkt war die Bereitstellung des Firmware-Source-Codes.
Ich würde gern wissen, wie stark solche Modelle auf Hinweise in menschlicher Sprache angewiesen sind.
Codex hat zwar ein schwaches TV-OS vollständig gehackt,
aber vollständiger Zugriff bis hin zu den Hauptsteuerungen für Lautstärke, Eingang, Farbton, Firmware usw. ist für LLMs noch immer eine zu schwierige Aufgabe.
Samsung-TVs waren in den letzten zehn Jahren sehr leicht zu hackende Geräte.
Vielleicht hätte schon GPT-2 gereicht, wenn man ihm nur Browser-Zugriff gegeben hätte.
Es hatte auch keine dialogorientierten Fähigkeiten, daher ist das eine übertriebene Behauptung.
Ich frage mich, ob man mit Codex Funktionen wie Werbeblockierung oder Blockieren der Datenübertragung auf Smart-TVs umsetzen könnte.
Es gab die Formulierung „browser foothold“, und damit ist der Webbrowser selbst gemeint, der auf dem TV läuft.
Auf PSP, Vita, Switch, Wii, DS usw. konnte man über Browser-Exploits Homebrew ausführen.