Agenten knacken meine Peripherie: Eine Webcam, ein Mikrofon und eine Lampe offenbaren ihre Geheimnisse
Everything I own, owned

In nur zwei Wochen hat der Autor mit Hilfe von KI-Agenten die Firmware von fünf Geräten reverse-engineert: einer Webcam, einem Monitor, einem Mikrofon, einem Video-Capture-Dongle und einer WiFi-Lampe. Das Ergebnis: eine vollständige Kommandozeile im Mikrofon, eine Webcam, deren Aufnahme-LED sich abschalten lässt, und eine Lampe, die Speicherzugriffe über das Netzwerk erlaubt. Die meisten Geräte haben keinerlei Sicherheitsvorkehrungen – nur die Lampe signiert ihre Firmware, aber auch diese Prüfung lässt sich mit einem einzigen HTTP-POST umgehen. Der Autor zeigt, wie einfach es ist, Geräte zu manipulieren, und warnt vor den Sicherheitsrisiken.
Ein einzelner HTTP-POST von `ATSE=0200ED94,0E001009` macht die Signaturprüfung zur No-Op, und wir können frei auf ein Firmware-Image ohne legitime Signatur aktualisieren.
- SillyUsername
Ich habe das gemacht, aber mit einer dedizierten Maschine für die Silicon Motion sm750 GPU. Eine günstige GPU-Karte mit einem einzelnen HDMI-Ausgang für Server und einer maximalen Auflösung von 1080p. Sie basiert auf einer älteren VGA/DVI-Version derselben Hardware.
Ich teste noch, aber oh wow. Mein neuer Treiber funktioniert jetzt mit meinem Ultra-Wide-21:9-Monitor bei 2048x864, er schafft auch 2048x1152.
Der Treiber funktioniert gut und hat jetzt volle DRM- und DKMS-Unterstützung. Er läuft auch auf modernem Linux, nachdem der Hersteller beschlossen hat, nur bis Kernel 5.x zu gehen; Windows-Unterstützung ist offensichtlich weiterhin in Ordnung.
Er fand viele Fehler im ursprünglichen Quellcode, wie zum Beispiel, dass jemand die HDMI-Spezifikationen nicht gelesen hat / keine Ahnung hatte, was er tat.
Der neue Treiber ist vollständig spezifikationskonform bei Timings und Abläufen, hängt nicht mehr beim Herunterfahren und ignoriert EDID, um mehr Bildschirmmodi zu ermöglichen.
Er hat auch Double Buffering und Shadow Buffering sowie einen benutzerdefinierten Magic-Square-Dither-Modus für 16-Bit-Farben und ist im Vergleich zum 32-Bit-Modus absolut schnell. Der Dither, den ich erfunden habe, stammt von einem, den ich vor Jahren für Retro-Hardware entwickelt habe, aber er ist so gut, dass er (meiner Meinung nach) nicht von allgemeinen JPEG-Artefakten zu unterscheiden ist und ziemlich schwer zu finden/sehen ist. Ich musste Codex ein paar Mal bitten, zu überprüfen, dass die GPU nicht im 32-Bit-Farbmodus läuft.
Die GPU hat immer noch einen nervigen Fehler und funktioniert über KVM nicht konsistent, ohne in VESA-Modi die Synchronisation zu verlieren, aber ich bin nicht überzeugt, dass es die GPU-Hardware ist, die das verursacht; direkt angeschlossen funktioniert sie einwandfrei.
Ich werde dafür bald ein GitHub-Repo hochladen, sobald es [...]
- ndiddy
> Mein ASUS ROG Swift PG42UQ-Monitor war tatsächlich mein Ausgangspunkt, weil mich das Pop-up-Overlay genervt hat, das ab und zu erscheint und mich auffordert, die "Pixelbereinigung" durchzuführen. Ich habe noch nie absichtlich die Pixelbereinigung auf diesem Monitor durchgeführt und werde es auch nie tun, das ist mir egal, und ich möchte, dass dieses Overlay für immer verschwindet. Vielleicht gibt es ein Debug-Menü oder so etwas, um es zu deaktivieren, oder im schlimmsten Fall patchen wir einen Zweig in der Firmware?
Beachten Sie, dass dies ein OLED-Monitor ist, also ist die "Pixelbereinigung" wahrscheinlich eine Art Anti-Einbrenn-Funktion. Sie könnten die KI wahrscheinlich bitten, sich die Firmware anzusehen und zu beschreiben, was sie tut.
- phh
Ich liebe diesen Artikel und diesen Geist definitiv. Ich habe viel Schrott/billiges IoT angesammelt, ich werde sie wahrscheinlich besitzen!
Zwei Dinge:
- Um die Parade zu verderben: Die europäische RED-Richtlinie macht sichere Updates für alles, was mit dem Internet verbunden ist, verpflichtend (ich vermute, das ist der Grund, warum die Elgato Key Light Mini signierte Firmware hat). Die Hersteller sind jetzt also verpflichtet, Sie daran zu hindern, das zu tun. (EN18031-1). Es verlangt sogar, dass Netzwerk-Anmeldeinformationen (WiFi-SSID/PSK) in sicherem Speicher abgelegt werden (keine Ahnung, ob man diese Anforderung ohne Secure Boot erfüllen kann. Ich würde vermuten, Elgato tut das?). "Sicheres Update" ist lose definiert als "Integrität und Authentizität sind zum Zeitpunkt der Installation gültig", also verbietet uns diese Anforderung nicht, unsere Hardware zu upgraden, aber die wahrscheinlichste Umsetzung durch die Hersteller tut es.
- Wenn Sie das auf Android-Smartphones tun wollen (bitte tun Sie es!): Ich empfehle den GSI/Treble-Weg: So haben Sie schnell ein OS, das bootet. Es gibt viele Dinge zu beheben, aber es wird hauptsächlich Userspace-Zeug sein, mit dem der Agent leichter arbeiten kann. Der Agent wird in der Lage sein, den Userspace des Herstellers zu dekompilieren und mit dem Userspace von AOSP zu vergleichen und die Unterschiede zu implementieren. (Das ist im Vergleich zur "Legacy"- oder offiziellen LineageOS-Methode, die komplizierter ist, einschließlich Kernel-Zeug, und es kann kompliziert sein, nur bis "es bootet" zu kommen).
- philips
Ich habe erst vor ein paar Wochen das Supernote-Notizdateiformat mit einem Agenten reverse engineered. Jahrelang hatte die Community um ein Dokument über das Format gebeten. Und in ein paar Stunden war der Agent, mit etwas über 20 Beispiel-Fixtures und etwas über 30 Prompts, in der Lage, das Format herauszureversen.
Es wäre völlig die Mühe nicht wert gewesen, das von Hand für ein Nischengerät zu machen. Jetzt gibt es nach ein paar Stunden Arbeit funktionierenden Code und ein Dokument.
https://github.com/philips/supernote-typescript/blob/main/pl...
- Waterluvian
Vor zwei Wochen sagte ich zu Claude: "Ich habe ein <WLAN-Steckdosenrelais> im LAN unter <IP>. Übernimm die direkte Kontrolle darüber." Und nach etwa 8 Befehlsfreigaben hatte ich neue Firmware darauf laufen.
Wohlgemerkt, es fand und verwendete eine bestehende Firmware-Flash-Bibliothek für diese Gerätefamilie. Aber es fühlte sich großartig an, in 20 Minuten zu schaffen, was wahrscheinlich Stunden und Stunden Recherche und Bastelei gewesen wären, die mich nicht interessiert hätten. Ich wollte nur eine WLAN-Lavalampe.
- srcreigh
> Ich habe mich noch nicht getraut, eine modifizierte Firmware auf das Ding zu schreiben - es ist ein ziemlich teurer Monitor - aber ich werde irgendwann so weit sein.
Ehrlich gesagt, wenn Sie keine funktionierenden Patches haben, ist es wirklich nicht besessen.
Ich würde gerne besser verstehen, wie man sicher iterativ Firmware patchen kann. Letzte Woche habe ich einen Router gebrickt, als ich versuchte, einen TFTP-Boot-Pfad zur Boot-Partition hinzuzufügen. Es ist einfach nervig, dass es so riskant ist.
Damit zusammenhängend brauchen wir auch gute Glitching-Tools, da einige Firmware, sogar für billige Geräte, nicht unverschlüsselt verfügbar sind und das Lesen des Flashs deaktiviert ist...
Wir sind noch nicht so weit, aber ich hoffe, wir kommen bald dorthin.
- bobek
Ehrlich gesagt ist das eines der wenigen Dinge, die sich an LLMs aufregend anfühlen. Ich habe kürzlich ein Flip-Dot-Panel aus einem alten Bus wiederbelebt, indem ich seine Firmware reverse engineered und ersetzt habe -- https://www.bobek.cz/buse/
- teddyh
Wichtigste Erkenntnis:
> Und die Existenz von WebUSB, WebHID und WebBluetooth bedeutet, dass für einige Geräte, je nachdem, welche Klassen verwendet werden, ein Moment der Unachtsamkeit des Benutzers beim Akzeptieren einer Berechtigungsaufforderung dauerhaft eine Hintertür in eines seiner angeschlossenen Geräte einbauen könnte.
- Retr0id
LLMs für Reverse Engineering und Bug-Jagd zu nutzen, macht viel Spaß. Heute habe ich einen absoluten Hammer von einem Bug an das VRP von Google gemeldet. Die Schwachstelle war in einem HTTP-API-Endpunkt, für den ich keinen Quellcode habe, nur reverse engineered Client-Logik.
Die Idee hinter dem Bug war meine, von der Sorte "die waren doch nicht so dumm, xyz zu vergessen". Das Schreiben des Codes, um die Schwachstelle von Hand zu testen, hätte ein paar Stunden mühsamer Arbeit bedeutet, einschließlich der Rekonstruktion von Protobuf-Schemata usw. In der Vergangenheit hätte ich mir das nicht angetan, weil meiner Meinung nach die Erfolgsaussichten zu gering waren, um es wert zu sein. Aber es war ein Ein-Satz-Prompt, also warum nicht. Und es hat funktioniert!
- Abishek_Muthian
An diesem Punkt sollten Hersteller einfach ihre Firmware als Open Source veröffentlichen, da es keine Eintrittsbarriere für Reverse Engineering gibt. Sie würden stattdessen von einer Armee von Endbenutzern profitieren, die bereit sind, ihre Zeit und Token in die Behebung ihrer Fehler kostenlos zu investieren.