Security: Embedded Devices mit eingebetteten Sicherheitslücken

Wer Embedded Devices öffnen will, muss kein Experte sein. Entwickler von Spielekonsolen, Fernsehern und Media-Centern begehen immer wieder typische Fehler. Hacker haben es damit leicht und Benutzer erlangen uneingeschränkte Kontrolle über ihre eigenen Geräte.

Artikel veröffentlicht am , Keywan Najafi Tonekaboni
Embedded Devices haben meist Sicherheitslücken, die sich einfach ausnutzen lassen.
Embedded Devices haben meist Sicherheitslücken, die sich einfach ausnutzen lassen. (Bild: Lakshmin/Public Domain)

Wer als Hacker berühmt werden wolle, der solle in Embedded Devices einbrechen, scherzte Sven Peter von der Gruppe fail0verflow auf der Sigint 2013 in Köln. Seinen Vortrag hatte er zwar mit Embedded Devices Security Nightmares betitelt. Ein Albtraum ist die Sicherheit von Embedded Devices jedoch nur für die Hersteller, für den Hacker hingegen traumhaft: Die Einstiegshürden seien überraschend gering, denn die meisten Embedded-Programmierer hätten keine Ahnung von Sicherheitskonzepten, sagte Peter.

Es gibt, grob gesagt, zwei Arten von Embedded-Systemen: Firmware Marke Eigenbau und Linux-Systeme. Überraschenderweise sind Letztere laut Peter einfacher zu knacken. Denn hier nutzen Entwickler das beliebte Open-Source-System teilweise ohne genaueres Verständnis und sichern es nur unzureichend ab. Hinzu kämen veraltete Versionen des Kernels oder anderer Software. Sicherheit stehe oft nur am Ende des Entwicklungsprozesses. Selbstentwickelte Systeme seien dagegen besser abgesichert, da hier oft Sicherheit von Anfang an in die Konzeption des Systems einfließe. Als Beispiel für Linux-Unkenntnis nannte Peter einen Angriff per Symlinks. Die Dateimanager erlauben zwar nur Zugriffe auf bestimmte Verzeichnisse - etwa den Medienordner -, lesen aber auch Daten von Speicherkarten. Formatiert man diese mit Ext2 und legt an entsprechender Stelle einen Symlink auf das Wurzelverzeichnis, kann man das gesamte Dateisystem inklusive Firmware-Code auslesen. Ein Entwickler, der nur mit Fat32 arbeitet, erahnt kaum einen solchen Angriff.

Seriell in die Root-Shell

Bevor man versuche, mit Exploits ein Embedded Device anzugreifen, sollte zunächst die Platine aufmerksam begutachtet werden, empfahl Peter. Mit etwas Glück finde man einen seriellen Anschluss, der während der Entwicklung fürs Debugging verwendet wurde. Meist vergessen laut Peter die Entwickler, diesen Debugging-Zugang in der endgültigen Version zu deaktivieren. Der serielle Anschluss führt nicht selten zu einer Root-Shell ohne jegliche Authentifizierung - und wenn doch, dann mit einfachen Zugangsdaten wie root:root. Auch sonst riet Peter dazu, banale Angriffe nicht auszuschließen. Statt mühsam per Fuzzing nach Angriffsmöglichkeiten zu suchen, sollte man gründlich die einzelnen Syscalls durchgehen. Dort finden sich regelmäßig haarsträubende Fehler, die freien Eintritt verschaffen.

Mittlerweile überprüfen viele Geräte mittels Signatur die Bootloader und ausführbaren Code. Doch oft geschieht das nur einmalig, so bleibt ausreichend Zeit, später den eigenen Programmcode unterzujubeln. Peter berichtete von einem Update, das vor dem Einspielen ordentlich verifiziert wurde. Leider wurden die Dateien ins temporäre Verzeichnis (/tmp) entpackt, worauf jeder User Zugriff hat. Stattdessen hätte nur ein nicht offen lesbares Verzeichnis zum Zwischenspeichern verwendet werden müssen.

Kryptographie und Drogenkonsum

Für Sven Peter sind selbstentwickelte Kryptographieverfahren so gefährlich wie selbstgekochtes Crystal Meth. Ein Verschlüsselungssystem mit einer Stromchiffre konnte angegriffen werden, indem lauter Nullen in den Speicher geschrieben wurden. Durch das verwendete XOR offenbarte es den geheimen Schlüssel. Grund: Die Entwickler hatten beim Erzeugen der Stromchiffre für das Nonce stets den gleichen Wert verwendet. Dabei sagt bereits der Name Number used only once, dass dies eine schlechte Idee ist. Peter gab den Tipp, auf Verdacht zwei unterschiedliche Updatedateien gegeneinander per XOR zu verknüpfen, um so eventuell an den Schlüssel zu kommen. Er machte mangelnde Kryptographiekenntnisse für solche Fehler verantwortlich.

Aber auch, wer bewährte Kryptographiealgorithmen einsetzt, ist nicht vor Fehlern gefeit. Nintendo implementierte einst RSA so unzulänglich, dass die Verschlüsselung untypisch einfach zu knacken war. Daher empfiehlt Peter, immer den Code zu durchwühlen, sonst würde man einiges verpassen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


hackfin 10. Jul 2013

Im Artikel wurde zwar die serielle Schnittstelle/root shell angesprochen, aber nach...

0xDEADC0DE 09. Jul 2013

Außer dir scheint niemand zu verstehen, was du meinst. Ergo hast du nicht verstanden...

tundracomp 08. Jul 2013

:-D

Anonymer Nutzer 08. Jul 2013

Wenn man den Unterschied zwischen einem Treiber und einem Datasheet nicht kennt sollte...



Aktuell auf der Startseite von Golem.de
Automobil
Keine zwei Minuten, um einen Tesla Model 3 zu hacken

Bei der Hacking-Konferenz Pwn2Own 2023 hat ein Forschungsteam keine zwei Minuten benötigt, um ein Tesla Model 3 zu hacken. Das brachte dem Team jede Menge Geld und einen neuen Tesla ein.

Automobil: Keine zwei Minuten, um einen Tesla Model 3 zu hacken
Artikel
  1. Fiktive Szenarien und Stereotype: AfD nutzt KI-Fotos für propagandistische Zwecke
    Fiktive Szenarien und Stereotype
    AfD nutzt KI-Fotos für propagandistische Zwecke

    Politiker der Alternative für Deutschland (AfD) nutzen realistische KI-Bilder, um Stimmung zu machen. Die Bilder sind kaum von echten Fotos zu unterscheiden.

  2. Italien: Datenschutzbehörde untersagt Betrieb von ChatGPT
    Italien
    Datenschutzbehörde untersagt Betrieb von ChatGPT

    Dem ChatGPT-Entwickler OpenAI könnte eine Millionenstrafe drohen. Die GPDP bemängelt Probleme beim Jugend- und Datenschutz.

  3. Java 20, GPT-4, Typescript, Docker: Neue Java-Version und AI everwhere
    Java 20, GPT-4, Typescript, Docker
    Neue Java-Version und AI everwhere

    Dev-Update Oracle hat Java 20 veröffentlicht. Enthalten sind sieben JEPs aus drei Projekten. Dev-News gab es diesen Monat auch in Sachen Typescript, Docker und KI in Entwicklungsumgebungen.
    Von Dirk Koller

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Crucial SSD 1TB/2TB bis -43% • RAM im Preisrutsch • RTX 4090 erstmals unter 1.700€ • MindStar: iPhone 14 Pro Max 1TB 1.599€ • SSDs & Festplatten bis -60% • AOC 34" UWQHD 279€ • 3 Spiele kaufen, 2 zahlen [Werbung]
    •  /