Im Rahmen meiner Tätigkeit für Continental/Bertrandt entwickelte und betreute ich eine spezialisierte Toolchain zur Absicherung von Firmware-Images für Automotive-Steuergeräte. Der Fokus lag dabei auf der Integrität und Authentizität der ausgelieferten Softwarekomponenten.

Die Herausforderung

In modernen Fahrzeugen müssen Firmware-Updates über verschiedene Schnittstellen (OTA, Werkstatt-Tester) sicher eingespielt werden. Hierbei muss sichergestellt werden, dass:

  1. Die Firmware von einer autorisierten Quelle stammt (Authentizität).
  2. Die Firmware auf dem Weg zum Steuergerät nicht verändert wurde (Integrität).
  3. Sensible Code-Bereiche vor Reverse Engineering geschützt sind (Vertraulichkeit).

Die Lösung: adas_rbin_tools

Kern der Arbeit war die Entwicklung und Pflege der adas_rbin_tools, einer Python-basierten Suite zur Transformation und Signierung von Binärdaten.

1. elf2rbin: Strukturierte Absicherung

Das Tool transformiert ELF-Dateien (Executable and Linkable Format) in das proprietäre RBIN-Format.

2. rbins2muco: Multi-Component Images

Für komplexe Systeme mit mehreren Prozessorkernen (Multi-Core) wurde das MUCO-Format (Multi-Component) genutzt. rbins2muco erlaubt das Aggregieren mehrerer RBIN-Dateien zu einem konsistenten Gesamtimage inklusive globalem Header und Prüfsummen.

3. Diversität der Eingangsformate

Neben ELF-Dateien wurden auch andere Industriestandards unterstützt:

Ergebnis

Die Toolchain wurde fest in den CI/CD-Prozess (Jenkins) integriert. Durch automatisierte Validierungsskripte (validate.py) wurde sichergestellt, dass jedes generierte Image den Spezifikationen entspricht, bevor es in die Release-Pipeline gelangt. Dies minimiert das Risiko von “Bricks” (unbrauchbare Hardware durch fehlerhafte Firmware) und erhöht die Sicherheit der gesamten Fahrzeugflotte.