Tesla Model 3 Bordcomputer: Vom Ersatzteil zum Sicherheitsforschungslabor
Ein Cyber-Sicherheitsexperte und Forscher hat erfolgreich einen funktionsfähigen Tesla Model 3 Bordcomputer aus Teilen nachgebaut, die aus Unfallfahrzeugen geborgen wurden. Ziel des Projekts war es, eine Testumgebung für die Entdeckung von Schwachstellen und die Analyse von Firmware im Rahmen des Tesla Bug-Bounty-Programms zu schaffen. Diese Fallstudie beleuchtet die tiefgreifenden technischen Komplexitäten und unkonventionellen Lösungen, die erforderlich sind, um hochentwickelte Automobilelektronik außerhalb ihrer nativen Umgebung zu betreiben, und unterstreicht gleichzeitig die entscheidende Rolle der Dokumentation bei Reverse-Engineering-Bemühungen.
Aufbau des Prüfstands: Von Teilen zur Inbetriebnahme
Das Projekt begann mit der Notwendigkeit, Tesla Model 3 Hardware für die Teilnahme am Bug-Bounty-Programm zu beschaffen. Die Kernkomponenten des Bordcomputers sind die Media Control Unit (MCU) und die Autopilot (AP)-Einheit, die sich typischerweise hinter dem Handschuhfach befinden. Diese Einheiten, etwa so groß wie ein Tablet und so dick wie ein 500-seitiges Buch, sind in einem wassergekühlten Metallgehäuse untergebracht. Um diese Komponenten zu erhalten, wandte sich der Forscher an eBay, wo zahlreiche Angebote von Unternehmen gefunden wurden, die sich auf die Demontage beschädigter Fahrzeuge spezialisiert haben. Die MCU-Preise lagen zwischen 200 und 300 US-Dollar.
Zusätzlich zur Haupteinheit wurden folgende Artikel für die Inbetriebnahme benötigt:
- Ein Gleichstromnetzteil, das 12V liefern kann. Eine einstellbare 10A-Einheit wurde gewählt, was sich als die richtige Entscheidung erwies, da das System in Spitzenzeiten bis zu 8A ziehen konnte.
- Ein Touchscreen-Modul (Display) von einem beschädigten Model 3. Displays erwiesen sich als unerwartet teuer; eines wurde für 175 US-Dollar erworben.
- Ein spezielles Kabel zur Verbindung von MCU und Display.
Der letzte Punkt erwies sich als der schwierigste. Sowohl der Computer als auch das Display wurden mit durchtrennten Kabeln geliefert, was die Suche nach dem Originalstecker erforderlich machte. Dank Teslas öffentlich zugänglichen „Electrical Schematics“ auf ihrer Service-Website konnte festgestellt werden, dass das Display ein 6-poliges Kabel mit einem speziellen Rosenberger 99K10D-1D5A5-D Stecker verwendet. Versuche, ein solches Kabel auf dem Markt zu finden, blieben erfolglos. Auch Bemühungen, ein ähnliches Automotive-LVDS-Kabel, wie es in BMWs üblich ist, zu verwenden, scheiterten aufgrund der Steckerinkompatibilität.
Teslas Netzwerkinfrastruktur und Softwareschnittstellen
Nach der Beschaffung der MCU und dem Anschluss an die Stromversorgung wurden blinkende rote LEDs beobachtet, die den Startvorgang anzeigten. Ohne Display war die Interaktion mit dem System begrenzt, aber frühere Forschungen deuteten auf ein internes Netzwerk mit Webservern auf einigen Komponenten hin. Das Anschließen eines Ethernet-Kabels an einen Port der MCU stellte eine Netzwerkverbindung mit einem Laptop her.
Diesem internen Netzwerk fehlt DHCP, daher musste die IP-Adresse manuell eingestellt werden. Der empfohlene IP-Adressbereich ist 192.168.90.X/24, wobei X über 105 liegen muss, um Konflikte mit anderen Hosts zu vermeiden. Das Studium alter /etc/hosts-Dateien von Tesla-Fahrzeugen half, Standard-IP-Zuweisungen zu identifizieren:
192.168.90.100 cid ice # mcu
192.168.90.100 ic # only in Model X/S | IC = instrument cluster
192.168.90.102 gw # gateway
192.168.90.103 ap ape # ap = autopilot
192.168.90.104 lb # no clue
192.168.90.105 ap-b ape-b # also autopilot
192.168.90.30 tuner # Also no clue
192.168.90.60 modem # this has the ftp server
Auf der MCU (IP 192.168.90.100) wurden zwei Hauptdienste entdeckt: ein SSH-Server auf Port 22 und eine REST-ähnliche API auf Port 8080.
- SSH-Server: Der Verbindungsversuch ergab die Meldung „SSH allowed: vehicle parked.“ Der Zugriff erfordert speziell signierte SSH-Schlüssel, die von Tesla generiert wurden. Bemerkenswerterweise stellt Tesla im Rahmen des Bug-Bounty-Programms Forschern, die eine gültige Schwachstelle entdecken, die Root-Rechte ermöglicht, ein permanentes SSH-Zertifikat für den Root-Zugriff zur Verfügung. Dies vereinfacht die weitere Schwachstellensuche erheblich.
- ODIN API: Eine REST-ähnliche API auf Port
8080, bekannt als ODIN (On-Board Diagnostic Interface Network), gibt eine Historie von „Aufgaben“ zurück und ist für die Verwendung durch Teslas Diagnose-Tool „Toolbox“ vorgesehen.
Die interne Struktur der MCU umfasst zwei übereinander gestapelte Platinen, was ihre modulare Architektur bestätigt.
Überwindung von Hardware-Herausforderungen: Von LVDS zum Kabelbaum
Erste Versuche, Display und MCU mit einem BMW LVDS-Kabel zu verbinden, scheiterten aufgrund physischer Steckerinkompatibilität. Verzweifelte Versuche, die durchtrennten Kabel direkt zu verbinden, führten zu einem Kurzschluss und dem Ausfall eines der Leistungs-Mikrocontroller-Chips auf der Platine. Dies machte die Bestellung einer neuen MCU erforderlich. Mit Hilfe eines erfahrenen Freundes wurde die verbrannte Komponente jedoch als „MAX16932CATIS/V+T“ Buck-Controller identifiziert. Der Chip wurde bestellt und erfolgreich in einer Werkstatt ersetzt, wodurch die beschädigte MCU wiederhergestellt werden konnte, was zu zwei funktionsfähigen Einheiten führte.
Da die Suche nach einem eigenständigen Rosenberger-Kabel aussichtslos war, kam der Forscher zu dem Schluss, dass tatsächliche Tesla-Fahrzeuge keine separaten Kabel für das Display verwenden. Stattdessen kombinieren große, integrierte Kabelbäume zahlreiche Kabel aus angrenzenden Bereichen. Mithilfe von Teslas Schaltplan wurde die Teilenummer für den benötigten Kabelbaum (1067960-XX-E) gefunden. Die Beschaffung eines solchen Kabelbaums erwies sich trotz seiner Größe und Kosten von etwa 80 US-Dollar als die einzig praktikable Lösung.
Nach der Installation des kompletten Kabelbaums funktionierte das System korrekt. Der Touchscreen schaltete sich ein, und ein voll funktionsfähiger Tesla Model 3 Bordcomputer mit laufendem Betriebssystem war nun auf dem Prüfstand in Betrieb. Dies markierte einen wichtigen Meilenstein bei der Schaffung einer umfassenden Testumgebung für zukünftige Forschungen.
Forschungsperspektiven und nächste Schritte
Die Inbetriebnahme des Tesla Model 3 Bordcomputers auf einem Prüfstand eröffnet vielfältige Möglichkeiten für eine eingehende Untersuchung seiner Funktionalität und Sicherheit. Mit einem voll funktionsfähigen System plant der Forscher, sich auf folgende Bereiche zu konzentrieren:
- Erforschung der Benutzeroberfläche (UI): Analyse der Systeminteraktion, Identifizierung versteckter Funktionen und potenzieller Einstiegspunkte.
- Interaktion mit Netzwerkschnittstellen: Detailliertere Untersuchung der entdeckten SSH- und ODIN-APIs sowie die Suche nach weiteren offenen Ports und Diensten.
- CAN-Bus-Forschung: Analyse der über das interne Automotive-CAN-Netzwerk übertragenen Daten, um die Kommunikation zwischen verschiedenen Fahrzeugkomponenten zu verstehen.
- Firmware-Extraktion: Versuche, Zugriff auf die Betriebssystem-Firmware zu erhalten, für statische Analyse und Schwachstellenentdeckung auf niedrigerer Ebene.
Diese Schritte werden nicht nur ein tieferes Verständnis der Systemarchitektur und des Betriebs von Tesla ermöglichen, sondern auch potenziell kritische Schwachstellen aufdecken, was das primäre Ziel der Teilnahme am Bug-Bounty-Programm ist.
Wichtige Erkenntnisse
- Zugang zur Hardware-Plattform: Für eine effektive Cybersicherheitsforschung an Tesla-Fahrzeugen ist der physische Zugang zum Bordcomputer entscheidend, der durch die Beschaffung von Teilen aus beschädigten Autos erreicht wird.
- Wert offener Dokumentation: Teslas Veröffentlichung detaillierter Schaltpläne vereinfacht den Reverse-Engineering-Prozess und die Komponentenmontage außerhalb der nativen Umgebung erheblich.
- Herausforderungen spezialisierter Ausrüstung: Automobilelektronik verwendet einzigartige Steckverbinder und Kabelbäume, die schwer zu beschaffen sind oder unkonventionelle Lösungen für die Integration erfordern.
- Interne Netzwerkarchitektur: Der Tesla-Bordcomputer verfügt über ein eigenes isoliertes Netzwerk mit vordefinierten IP-Adressen und spezialisierten Diensten wie SSH und der ODIN-API.
- Anreize für Forscher: Teslas Bug-Bounty-Programm, das die Bereitstellung von Root-Zugriff für entdeckte Schwachstellen umfasst, motiviert Experten, eingehende Analysen durchzuführen und die Sicherheit von Automobilsystemen zu verbessern.
— Editorial Team
Noch keine Kommentare.