Hardware Reverse Engineering 101: Basics of the board

|

reverse engineering_fe

Stellen Sie sich vor, Sie halten einen geheimnisvollen schwarzen Kasten in den Händen, dessen Innenleben hinter Schichten von Silizium, Lötzinn und Software verborgen ist. Das ist die Essenz des Hardware-Reverse-Engineering – eine faszinierende Mischung aus Neugier, technischem Geschick und Detektivarbeit. Ganz gleich, ob Sie sich mit Automobilelektronik, Unterhaltungselektronik oder industriellen Systemen befassen, das Verständnis der Grundlagen ist entscheidend für den Erfolg. Am Beispiel einer elektronischen Steuereinheit (ECU) eines Fahrzeugs erklären wir die ersten Schritte und grundlegenden Konzepte des Reverse Engineering.


Erste Eindrücke: Intuition eines Ingenieurs

Der erste Blick auf eine Leiterplatte ist wie die Eröffnungsszene eines Kriminalromans. Welche Geheimnisse birgt sie? Reverse Engineering beginnt mit Beobachtung und Schlussfolgerung. Beginnen Sie damit, das Offensichtliche zu erkennen:

  • Steckverbinder: Große, bestückte Anschlüsse signalisieren oft Schnittstellen wie CAN (Controller Area Network) für die Kommunikation im Fahrzeug. Hinter unbestückten Anschlüssen können sich Debug-Schnittstellen wie JTAG verbergen, die darauf warten, ihre Geheimnisse preiszugeben, wenn man sie richtig sondiert.
  • Markierungen und Layouts: Siebdruckmarkierungen, Pinbeschriftungen und das Layout selbst lassen oft auf die Funktionalität schließen. Ein dicht besetzter Bereich kann die Energieverwaltung enthalten, während gruppierte Pins zu Kommunikationsschnittstellen gehören können.

Stromversorgungsschaltkreis: Das Herzstück der Platine

Schematische Darstellung der ECU-Stromversorgung

Der Stromversorgungsschaltkreis ist die Lebensader jeder Leiterplatte (PCB – Printed Circuit Board). In Kfz-Steuergeräten sind DC-DC-Buck-Regulatoren die Norm, die von System Basis Chips (SBCs) verwaltet werden, die oft mehrere Stromversorgungsbereiche verwalten. Erkennen Sie die Stromversorgungsschaltkreise, indem Sie folgendes suchen:

  • Große Induktoren: Diese Komponenten dominieren den Bereich der Stromversorgung. Induktoren werden sowohl zur Filterung des Eingangsstroms als auch als Komponente in Abwärtswandlern verwendet.
  • Große Kondensatoren: Elektrolytkondensatoren werden an jeder Versorgungsschiene angebracht, um die Spannung zu glätten. Die größten Kondensatoren sind in der Regel mit dem Eingangspin und dem Ausgang von Spannungsreglern verbunden.
  • Schutzdioden: Konfigurationen in Reihe oder parallel (normalerweise beides) sorgen dafür, dass Spannungsspitzen die Elektronik nicht durchbrennen lassen. Eine TVS-Zener-Diode, die parallel zur Stromversorgung geschaltet ist, schließt jede anomale Spannung kurz, öffnet eine rücksetzbare Sicherung und schützt das Steuergerät, während eine Gleichrichterdiode in Reihe mit der Versorgungsleitung einen Stromfluss in die falsche Richtung verhindert.

Es ist wichtig zu wissen, wo Sie die Stromversorgung anschließen müssen, insbesondere wenn Sie mit einem unbekannten Steuergerät experimentieren, das aus zweiter Hand und ohne Schaltplan oder Hardware gekauft wurde. Der Stromanschluss ist in der Regel größer und mit einer dickeren Leiterbahn verbunden als andere Anschlüsse. Der Masseanschluss ist in der Regel direkt mit dem Massebereich verbunden, der die Umgebung der Platine durchflutet.

Beachten Sie, dass der Erdungs-Pin oben links nicht mit dem dunkleren Ring versehen ist, der ihn von der Erdungsflut isoliert, und dass der Stromversorgungs-Pin unten links mit einer dicken Leiterbahn verbunden ist (und Durchgang zeigt, wenn er an den großen Eingangsschutzdioden geprüft wird)


Transformatoren

Transformatoren auf Leiterplatten im Automobilbereich übernehmen in der Regel die Rolle von Signalfiltern und nicht die der Energieverwaltung. Transformatoren verschiedener Art sind in der Regel leicht auf der Leiterplatte zu erkennen. Die Suche nach Transformatoren, die in der Kommunikation verwendet werden, ist nützlich, um herauszufinden, an welche Pins die jeweiligen Schnittstellen angeschlossen werden müssen.

Die häufigste Art von Transformator, die Sie in einem Steuergerät finden, ist der sog. Common-Mode Choke, ein 4-poliger Transformator mit der gleichen Anzahl von Windungen auf beiden Seiten. Er wird zur Unterdrückung von Störungen bei Protokollen mit Differenzsignalen wie CAN, FlexRay und Automotive Ethernet verwendet. Diese Chokes sind mit zwei differentiellen Paaren verbunden: eines ist mit dem äußeren Anschluss verbunden und das andere mit dem entsprechenden Transceiver.

Manchmal finden Sie auch normale Ethernet-Transformatoren auf der Platine. Dabei handelt es sich nicht um Automotive-Ethernet, sondern um Standard-Ethernet nach IEEE 802.3, das normalerweise in Gateway-Steuergeräten zu finden ist, die mit dem OBD-Anschluss verbunden sind.

Entschlüsselung von integrierten Schaltkreisen (ICs): Das Gehirn des Systems

ICs sind der Schlüssel zur Funktionalität, aber sie zu identifizieren erfordert Geduld und Einfallsreichtum. Hier erfahren Sie, wie Sie diese Aufgabe angehen können:

  • Teilenummern: Suchen Sie online nach gedruckten Teilenummern oder Markierungen. Versuchen Sie verschiedene Kombinationen von Zeichenfolgen, wenn direkte Treffer keine Ergebnisse liefern.
  • Errata-Dokumente: Selbst wenn die tatsächliche Teilenummer nicht auf dem Chip steht, ist es die Chargennummer, die manchmal in Errata Sheets gefunden werden kann, die anschließend die tatsächliche Teilenummer enthüllen.
  • Proprietäre Komponenten: Einige ICs, wie z.B. Mikrocontroller (MCUs) für Kraftfahrzeuge, werden speziell für Automobilhersteller entwickelt. Für diese gibt es möglicherweise keine offenen Datenblätter, aber das Tracen ihrer Verbindungen kann ihre Rolle offenbaren.

Transceiver: Übersetzer der Kommunikation

Transceiver (auch PHY genannt) übersetzen Signale zwischen logischen Pegeln und Busprotokollen. Hier sind gängige Typen, die in Automobilsystemen zu finden sind:

CAN-Transceiver

Diese überbrücken Signale auf Logikebene (RX, TX) mit differentiellen Bussignalen (High, Low). Beliebte Beispiele sind:

  • Microchip MCP25518-pin High-Speed CAN Transceiver, der in vielen alten Steuergeräten und Arduino/Raspberry Pi CAN Shields zu finden ist. Bis zu 1Mbps Datenübertragungsrate.
  • NXP TJA1441: CAN FD (Flexible Data rate) Transceiver, unterstützt Datenübertragungsraten bis zu 5 Mbps. Die Pinbelegung ist die gleiche wie beim MCP2551.
  • NXP TJA1059: Zwei CAN-Transceiver im gleichen 14-Pin-Gehäuse, zu finden in den meisten deutschen Steuergeräten.

Andere Protokolle

  • Automotive Ethernet: identisch mit Ethernet auf der MAC-Ebene, aber mit einer anderen physischen Schnittstelle mit nur 2 Drähten für erhöhte Zuverlässigkeit. Geschwindigkeiten bis zu 1000 Mbps in Halbduplex oder Vollduplex, je nach Konfiguration.
  • FlexRay: Ein differentielles Protokoll, das CAN ersetzen sollte. In Wirklichkeit ergänzt es CAN nur in Anwendungen, in denen eine zusätzliche Geschwindigkeit erforderlich ist. Die Übertragungsgeschwindigkeit beträgt bis zu 10 Mbps.
  • LIN: Single-Line Busprotokoll, das normalerweise von einfachen Sensoren und Aktoren verwendet wird. Auf der Logikebene sehr ähnlich zu UART. Die Geschwindigkeit beträgt etwa 20 Kbps.
  • SWCAN: Eindrahtige, langsamere Version von CAN und meist in GM-Fahrzeugen zu finden. Die Geschwindigkeit beträgt normalerweise 33,3 Kbps. Ein spezieller SWCAN-Transceiver kann 12V-Spitzen senden, um Steuergeräte aufzuwecken. Ansonsten kann ein normaler CAN-Transceiver für die Kommunikation mit SWCAN verwendet werden (CAN Low ist mit dem Massesignal und CAN High mit dem Bus verbunden).

Nichtflüchtige Speicher

Speicherchips auf Platinen speichern die Firmware und Konfigurationen. Die Identifizierung und Interaktion mit diesen Komponenten kann wertvolle Erkenntnisse bringen:

  • NAND-Flash-Speicher finden sich manchmal in einigen modernen Steuergeräten, um die Firmware für einige Systems on Chip (SoC) zu speichern. Typischerweise geschieht dies in Hochleistungsprozessoren, auf denen Mehrbenutzer-Betriebssysteme wie Android oder QNX laufen. Diese lassen sich leicht auslagern, indem Sie einige Drähte an die Platine löten und das SDIO-Protokoll verwenden. Modernere Steuergeräte verwenden UFS-Flash-Chips, die einen speziellen Dumper erfordern.
  • EEPROM-Speicher bieten weniger Speicherplatz, aber mehr Schreibzyklen und Zuverlässigkeit als NAND-Flash-Speicher. Sie werden typischerweise zum Speichern von Konfigurationen von Steuergeräten oder zum Protokollieren von Daten (auch des Kilometerstandes) verwendet. Persönliche Fußnote: Es kann Spaß machen, die Daten im EEPROM zu fuzzen und zu sehen, wie das Steuergerät reagiert.

System-Basis-Chips (SBC): Multitasking-Wunderwerke

SBCs integrieren mehrere Kfz-Funktionen auf einem einzigen Chip. Einige Beispiele für die integrierten Funktionen sind:

  • Power Management (z.B. DC-DC-Regelung, Spannungsregelung für Low-Power-Domäne, mehrere Power-Domänen)
  • Kommunikationstransceiver (LIN, CAN): Wenn der SBC als Transceiver verwendet wird, wird er normalerweise wie jeder andere Transceiver an einen Common-Mode Choke angeschlossen.
  • Hardware-Watchdogs (Setzt die MCU zurück, wenn diese sich nicht korrekt verhält)

Einige SBCs sind handelsübliche Komponenten (z.B. TLE9461ES), andere werden speziell für bestimmte Anwendungen hergestellt. Eine gründliche Untersuchung dieser Chips kann einen Überblick über die Funktionalität des Steuergeräts geben.

Fazit

Reverse Engineering von Hardware ist wie das Schälen einer Zwiebel von außen: man enthüllt Schicht für Schicht ein Netzwerk von Verbindungen, Komponenten und Designphilosophien. Mit den richtigen Werkzeugen, Neugierde und dem entsprechenden Wissen kann selbst die komplexeste Leiterplatte zu einem offenen Buch werden.

Wenn Sie auf Herausforderungen stoßen, können unsere spezialisierten Schulungen und Workshops Ihnen das Fachwissen und die Unterstützung bieten, die Sie benötigen, um Reverse Engineering mit Zuversicht zu meistern.

Sie haben Fragen oder benötigen Unterstützung?

Wir sind für Sie da! Wenden Sie sich an unseren Experten, wenn Sie Fragen zu dissecto HydraVision oder unseren anderen Dienstleistungen haben:

+ 49 941 4629 7370

contact-us@dissec.to