Mehr Softwarecode im Fahrzeug führt zu einer größeren Angriffsfläche alspotenzielles Ziel für Hacker. Dementsprechend steigen die Herausforderungen bezüglich der Cybersicherheit. An diesem Punkt setzt die Norm ISO-21434 für Cybersecurity in Fahrzeugen an.
Der Schutz von Straßenfahrzeugen vor Cyberbedrohungen ist wichtiger denn je. Zu den Hauptangriffszielen gehören elektronische Steuergeräte (ECU), die die Kommunikation und wichtige Funktionen für den Betrieb, die Überwachung und die Konfiguration von Fahrzeugsubsystemen bereitstellen. Steuergeräte werden wegen ihrer Zeitabhängigkeit von kritischen Vorgängen in Subsystemen zusammengefasst.
In modernen Straßenfahrzeugen kommunizieren bis zu 100 Steuergeräte über ihren angeschlossenen Bus, wobei die gesamte Steuergerätekommunikation über ein Gateway abgewickelt wird, das die von den Steuergeräten gesendeten Nachrichten verwaltet und validiert. Die Verwendung von Steuergeräten hinter einem Gateway soll sicherstellen, dass nur die Steuergeräte miteinander kommunizieren, die dies auch wirklich müssen. Dazu kam es, weil früher viele Angriffe auf Fahrzeuge auf den Kabelbus erfolgten – etwa der berühmte Jeep-Hack. Dies löste umfangreiche Verbesserungen der Cybersicherheitsstandards für die Automobilindustrie aus.
In modernen Straßenfahrzeugen kommunizieren bis zu 100 Steuergeräte über ihren angeschlossenen Bus, wobei die gesamte Steuergerätekommunikation über ein Gateway abgewickelt wird, das die von den Steuergeräten gesendeten Nachrichten verwaltet und validiert. Die Verwendung von Steuergeräten hinter einem Gateway soll sicherstellen, dass nur die Steuergeräte miteinander kommunizieren, die dies auch wirklich müssen. Dazu kam es, weil früher viele Angriffe auf Fahrzeuge auf den Kabelbus erfolgten – etwa der berühmte Jeep-Hack. Dies löste umfangreiche Verbesserungen der Cybersicherheitsstandards für die Automobilindustrie aus.
Es gibt ausreichend Belege für Konzepte, Forschungsarbeiten und tatsächliche Schwachstellen, die zeigen, wie Steuergeräte manipuliert werden können. Dazu zählen unter anderem die Tesla-Hacks von 2016 und 2017 sowie der BMW-Hack von 2018. Immer wurde das Steuergerät erfolgreich angegriffen und so kompromittiert, dass Angreifer das Verhalten von Fahrzeugfunktionen umprogrammieren und ändern konnten, beispielsweise auf diese Arten:
In einer Studie mit dem Titel »Realistic Trends in Vulnerability based on Hacking into Vehicle«, die auf der Car Hacking Village Def Con 18 vorgestellt wurde, untersuchten Forscher mehr als 40 Steuergeräte verschiedener Hersteller und Zulieferer. Dabei entdeckten sie mehr als 300 Schwachstellen sowohl in der Hardware als auch in der Software der Steuergeräte, wobei die riskantesten Schwachstellen alle in der Software zu finden waren. Die Studie zeigte auch, dass die komplexeren Steuergeräte sowie die Infotainment-Steuergeräte die meisten Schwachstellen aufwiesen.
Die Integration der Sicherheit von Anfang an ist das Hauptziel der ISO 21434, die mit Anforderungen und Empfehlungen direkt auf die Art und Weise einwirkt, wie Komponenten für Straßenfahrzeuge entworfen und entwickelt werden. Sie gilt für elektronische Bauteile und Software von in Serie gefertigten Fahrzeugen sowie Ersatz- und Zubehörteile und umfasst die Phasen Entwicklung, Produktion, Betrieb, Wartung und Recycling von Fahrzeugen.
Die ISO 21434 zielt darauf ab, hochwertige Schutz- und Cybersicherheitsmaßnahmen in den gesamten Produktentwicklungszyklus zu integrieren. Dies soll sicherstellen, dass Straßenfahrzeuge mit Sicherheitsmechanismen konstruiert, hergestellt und eingesetzt werden, die das Vertrauen, die Integrität, die Verfügbarkeit und die Authentizität von Fahrzeugfunktionen in Straßenfahrzeugen schützen.
Softwaretests spielen eine entscheidende Rolle, wenn es darum geht, Hersteller und Zulieferer zu unterstützen, die Anforderungen und Empfehlungen der ISO 21434 zu erfüllen. Die Formalisierung der statischen Codeanalyse als Teil der Softwareverifikationsaktivitäten ist ein idealer Weg, um Mehrdeutigkeiten im Code zu identifizieren und zu beseitigen sowie Schwachstellen aufzudecken, die zu Sicherheitslücken in der Software von Steuergerätekomponenten führen können. Dies trägt dazu bei, die Angriffsfläche zu minimieren.
Speziell in Abschnitt 10.4 (Anforderungen und Empfehlungen) erwähnt und verlangt die ISO 21434 die statische Analyse. Dieser Abschnitt über die Anforderungen an das Design unterstreicht die Notwendigkeit von geeigneten Programmiersprachen, die einen syntaktisch korrekten Code mit einer gültigen Struktur und Grammatik erzwingen. Der Code muss logisch und semantisch sinnvoll sein, sauber kompilierbar und in eine Folge von Anweisungen übersetzbar, sowie den Regeln der verwendeten Sprache entsprechen.
Zu den weiteren definierten Anforderungen gehören die Durchsetzung einer starken Typisierung, die Verwendung von Sprachuntergruppen und die Implementierung defensiver Implementierungstechniken. Die Formalisierung von Sicherheits-Compliance-Praktiken mithilfe der Parasoft-MISRA-C- und CERT-C-Checker und -Regeln hilft Herstellern und Zulieferern, die Anforderungen und Empfehlungen der ISO 21434 zu erfüllen, um potenzielle Risiken in Software und Design zu minimieren.
Die Unterstützung von Softwareverifizierung und -validierung mithilfe von Cybersecurity- und Safety-Coding-Verfahren gilt als Best Practice und ist unerlässlich, um die in ISO 21434 beschriebenen Cybersecurity-Spezifikationen zu erfüllen. Mit modernen Tools wie den Code-Analysefunktionen von Parasoft C/C++ lassen sich die strengen Softwaretests für sicherheitskritische Software leichter erfüllen. Zudem vereinfacht die Entwicklungstestlösung Parasoft C/C++test das Automatisieren von Softwaretests durch einen integrierten Ansatz, der statische Analyse, Codeabdeckung, Unit-Tests, Rückverfolgbarkeit von Anforderungen sowie Berichtsanalysen umfasst (Bild 3).
Der Abschnitt 10.4.2 der ISO 21434 enthält eine Liste von Methoden zur Softwareverifizierung, die mit den C/C++-Code-Analysefunktionen von Parasoft durchgeführt werden können. Viele Sicherheitslücken werden mithilfe der Kontroll- und Datenflussanalyse erkannt. Die C/C++ Code Analysis Engine von Parasoft ermöglicht Produktentwicklungsteams die Breite und Tiefe einer komplexen Flussanalyse, wie zum Beispiel Use-After-Free, Double-Free und Pufferüberläufe.
Angesichts der Komplexität und des Umfangs moderner Softwareentwicklung sollte die Anwendung zusätzlicher Testtechniken und -tools gefordert werden, da jede Technik andere Arten von Problemen aufdeckt. So stehen Fuzzing, Penetrationstests und Vulnerability Scans als Softwareverifizierungs- und Testaktivitäten als Empfehlungen in RC-10-12.
Um Sicherheitsrisiken bei der Entwicklung von Softwareprodukten aufzudecken, sollten die Teams Werkzeuge und Testtechniken einsetzen, die die folgenden Szenarien abdecken:
Anbieter auf dem Markt reagieren mit konkreten Lösungen, etwa mit der integrierten automatisierten Testlösung Parasoft C/C++, die sich über den SDLC und die Produktentwicklung hinweg skalieren lässt. Dahinter steht die breite Erfahrung und Expertise auf dem Markt für Embedded-Software, mit der Entwickler bei der Erfüllung von Sicherheits- und Cybersecurity-Anforderungen gezielte Unterstützung erhalten. Eine innovative Kombination aus Tools zur Automatisierung von Softwaretests, Analytik, KI und Berichterstellung bietet von Anfang an Einblick in Qualitäts- und Sicherheitsprobleme. So können Produktingenieure die Softwareüberprüfung in Übereinstimmung mit den vom Markt geforderten Standards und Best Practices beschleunigen.
Intelligenz und Konnektivität in Fahrzeugen haben die Art und Weise verändert, wie man Cybersicherheit in der Produktentwicklung betrachtet und priorisiert. Durch die Formalisierung der ISO 21434 können Produktentwicklungsteams Bedrohungsanalysen und Bedrohungsmodellierungsaktivitäten nutzen, um Designentscheidungen und die Produktentwicklung während des gesamten Lebenszyklus zu unterstützen.
Wenn es um die Sicherheit von Autofahrern geht, darf die Integration von Sicherheit nicht länger nur ein Schlagwort sein. Vielmehr muss Cybersicherheit in die Denkweise und die Aktivitäten des gesamten Produktentwicklungsteams einfließen, um Cyberangriffe zu verhindern und abzuschwächen. Mit der ISO 21434 erhalten Hersteller und Zulieferer einen Fahrplan, um die Herausforderungen im Bereich Sicherheit und Cybersicherheit in der Produktentwicklung zu meistern. Dieser neue Standard dient als Baustein zur Verstärkung der Sicherheitsschutzmechanismen in Straßenfahrzeugen, die letztlich Leben retten werden.
Arthur Hicken
ist Evangelist bei Parasoft. Seit über 25 Jahren beschäftigt er sich mit Automatisierungs-praktiken bei Parasoft. Zu seinen vielen Projekten gehören Datenbankentwicklung, Software Development Lifecycle, Software Security, komplexe Internetanwendungen und die Integration in vorhandene Systeme. Herr Hicken arbeitete mit IT-Abteilungen in Unternehmen wie Cisco, Vanguard und Motorola und anderen großen Unternehmen zusammen, um sie bei der Verbesserung ihrer Praktiken zur Softwareentwicklung zu unterstützen. Er unterrichtete am College von DuPage in Illinois. Darüber hinaus entwickelt und führt er zahlreiche Trainingskurse bei Parasoft durch.