Empfohlenes Webinar: MISRA C++ 2023: Alles, was Sie wissen müssen | Zum Video

Warum Automotive Cybersecurity wichtig ist

Parasoft-Würfel-Logo 300x300
31. März 2022
7 min lesen

Automobilunternehmen sind heute auf komplexe Software angewiesen, um intelligente Autos zu bauen. Dies hat einige Bedenken hinsichtlich der Schwachstellen in modernen Automobilen aufgeworfen. Lesen Sie, warum Automobilunternehmen Cybersicherheit in ihre Fahrzeugentwicklungsstrategien integrieren sollten.

Die Umstellung vieler Automobilunternehmen auf elektronische Straßenfahrzeuge hat die Branche grundlegend verändert und die Konnektivität und Intelligenz in Autos erhöht. Je vernetzter und intelligenter, desto abhängiger werden auch Elektrofahrzeuge (EVs). Software für den Fahrzeugbetrieb, das Fahren von mehr Funktionen und Funktionen, um das Fahrerlebnis zu verbessern.

Mehr Features und Funktionalität in Straßenfahrzeugen führen zu mehr Komplexität und mehr Code. Mehr Code bedeutet mehr Probleme. Probleme wie eine größere Angriffsfläche für Fahrzeuge könnten zu Schwachstellen führen, die Angreifer ausnutzen können, um das Straßenfahrzeug zu kontrollieren und zu übernehmen. Dies wirft schwerwiegende Sicherheitsprobleme und schwerwiegende Bedenken hinsichtlich der Cybersicherheit auf, die hoffentlich die Art und Weise, wie moderne Autos entworfen und entwickelt werden, revolutionieren werden.

Cybersicherheit ist die neue Sicherheit, da Software moderne Straßenfahrzeuge antreibt. Ein Standard-EV führt über 100 Millionen Codezeilen aus, je nachdem, welche zusätzlichen Funktionen damit ausgestattet sind. Der Schutz von Straßenfahrzeugen vor Cybersicherheitsbedrohungen ist wichtiger denn je. Einer der wichtigsten Angriffsvektoren ist die elektronische Steuereinheit (ECU), die wichtige Kommunikations- und wesentliche Funktionen für den Betrieb, die Überwachung und die Konfiguration der Fahrzeugsubsysteme bereitstellt.

DevOps Best Practices für die Automobilentwicklung

Was ist eine elektronische Steuereinheit (ECU)?

ECUs sind mikroprozessorgesteuerte Geräte, die eine breite Palette von wesentlichen Fahrzeugfunktionen bereitstellen, einschließlich der folgenden:

  • Motor und Servolenkung
  • Kraftstoffeinspritzung
  • Komfortaspekte wie elektrische Fensterheber und Sitze
  • Temperaturkontrolle
  • Sicherheitsfunktionen wie Keyless Entry und Türschlösser

Die ECUs werden aufgrund der zeitkritischen Natur kritischer Ereignisse basierend auf ihrer Funktionalität in Subsysteme gruppiert. Moderne Straßenfahrzeuge haben bis zu 100 ECUs, die Fahrzeugfunktionen ausführen. ECUs kommunizieren über ihren angeschlossenen Bus, wobei die gesamte ECU-Kommunikation von einem Gateway abgewickelt wird, um von ECUs gesendete Nachrichten zu verwalten und zu validieren.

Automotive-Softwaretests für SDVs

Durch die Bereitstellung von Steuergeräten hinter einem Gateway soll sichergestellt werden, dass nur Geräte miteinander kommunizieren, die dies auch tun müssen. Dies ist eine Verbesserung gegenüber herkömmlichen ECU-Designs, die Befehle von beliebigen Entitäten auf demselben Verdrahtungsbus akzeptierten und Informationen mit ihnen teilten. Dies war der Angriffsvektor für viele Automobilangriffe wie den berühmten Jeep-Hack, der viele Verbesserungen rund um die Cybersicherheitsstandards für Automobile auslöste.

Steuergeräte sind wahrscheinlich Ziele von Cyberangriffen

Es gibt genügend Beweise für Konzepte, Forschung und tatsächliche Schwachstellen-Exploits, die zeigen, wie Steuergeräte rückentwickelt und kompromittiert werden können. Diese reichen vom Jeep-Hack im Jahr 2015, Tesla-Hacks von 2016 und 2017, BMW-Hacks von 2018 und vielen weiteren in freier Wildbahn. In all diesen Beispielen wurde das Steuergerät erfolgreich angegriffen und kompromittiert, um Angreifern die Möglichkeit zu geben, das Verhalten von Fahrzeugfunktionen neu zu programmieren und zu ändern.

Hier ist eine kurze Zusammenfassung, wie Angreifer die ECUs in Straßenfahrzeugen angreifen konnten.

  • Senden geänderter CAN-Nachrichten an ECUs, um als legitime Nachrichten zum Abschalten des Motors, der Bremsen und zum Drehen des Lenkrads zu erscheinen.
  • Neuprogrammierung und in einigen Fällen Firmware-Reflash auf ECUs, um Entsperr-Seeds zu erhalten, um privilegierte Operationen wie Lese-/Schreibspeicher auszuführen.
  • Zurücksetzen und Deaktivieren legitimer ECUs, die das Empfangen und Senden von CAN-Nachrichten verhinderten.
  • Durch das Ausspähen von CAN-Nachrichten konnten Angreifer vertrauliche Informationen extrahieren, die von und zu Steuergeräten gesendet wurden.

In einer kürzlich auf der Car Hacking Village Def Con 28 präsentierten Studie mit dem Titel „Realistische Trends bei Schwachstellen basierend auf Hacking in Fahrzeuge“ untersuchten Forscher über 40 ECUs von verschiedenen Herstellern und Zulieferern.

Ihre Analyse der ECUs entdeckte mehr als 300 Schwachstellen sowohl in der ECU-Hardware als auch in der Software, wobei alle Hochrisiko-Schwachstellen in der Software liegen. Die Studie zeigte auch, dass die komplexeren Steuergeräte die meisten Schwachstellen aufwiesen. Die Infotainment-Steuergeräte enthielten die meisten Schwachstellen, die in der Studie entdeckt wurden.

Sicher durch Design

Sicherheit von Anfang an aufzubauen, ist das oberste Ziel des neuen Automobils Cybersicherheitsstandard, ISO 21434. Es gibt eine laufende Liste von Schwachstellen in Steuergeräten, die die Ernsthaftigkeit der Cybersicherheit und ihre Auswirkungen auf die Sicherheit demonstrieren, denen dieser Standard mit Anforderungen und Empfehlungen zu begegnen versucht, die sich direkt auf die Konstruktion und Entwicklung von Komponenten für Straßenfahrzeuge auswirken.

ISO 21434 zielt darauf ab, hochwertige Sicherheits- und Cybersicherheitsmaßnahmen während des gesamten Produktentwicklungslebenszyklus zu integrieren, um sicherzustellen, dass Straßenfahrzeuge mit Sicherheitsmechanismen entwickelt, hergestellt und eingesetzt wurden, um das Vertrauen, die Integrität, die Verfügbarkeit und die Authentizität von Fahrzeugfunktionen in Straßenfahrzeugen zu schützen .

Leitfaden zu CI/CD für Automotive DevOps

Zwei Kernaspekte der ISO 21434 konzentrieren sich auf Folgendes.

  1. Durchführung von Aktivitäten zur Bedrohungsanalyse und Risikobewertung (TARA), die sich auf die wahrscheinlichen Bedrohungsszenarien und Angriffsvektoren konzentrieren und wie sich diese Bedingungen auf die Sicherheit und Cybersicherheit von Straßenfahrzeugen auswirken können. Die Verwendung von TARA und das Verständnis wahrscheinlicher Angriffsvektoren gegen Komponenten ist der ideale Weg, um Cybersicherheit in Design und Architektur zu kodifizieren, um Cyberangriffe abzuschwächen. Produktteams sollten die TARA nutzen, um Sicherheitstests zu leiten und zu informieren.
  2. Die Sicherstellung der Produktentwicklung befasst sich mit Cybersicherheit in allen Phasen des Produktentwicklungslebenszyklus, vom Konzept (Design) bis zur Außerbetriebnahme. ISO 21434 fördert die Ausrichtung am System-Engineering-V-Modell, um Fahrzeughersteller und Zulieferer bei der Einhaltung solider architektonischer Designanforderungen für Cybersicherheit zu unterstützen. Dies erfordert eine Softwareverifizierung und -validierung im Rahmen von Produkttests.

Infografik eines V-Modells für Automobilsoftware zur Erfüllung von ISO/SAE 21434.

ISO 21434 fordert Aktivitäten zur Softwareverifizierung auf

Softwaretests spielen eine entscheidende Rolle, wenn es darum geht, Herstellern und Lieferanten dabei zu helfen, die in ISO 21434 beschriebenen Anforderungen und Empfehlungen zu erfüllen. Die Formalisierung der statischen Codeanalyse als Teil der Softwareverifizierungsaktivitäten ist ein idealer Weg, um Mehrdeutigkeiten im Code zu identifizieren und zu beseitigen sowie Schwachstellen zu lokalisieren, die aufgedeckt werden könnten Schwachstellen in Software, die in Steuergerätekomponenten verwendet wird. Dies trägt dazu bei, die Angriffsfläche zu minimieren, die ein Angreifer ausnutzen kann, um ECUs zu kompromittieren, die kritische Fahrzeugvorgänge steuern.

Insbesondere verweist ISO 21434 in Abschnitt 10.4 „Anforderungen und Empfehlungen“ auf die statische Analyse und nennt sie.

Abschnitt 10.4.1 Gestaltung

Auszug aus ISO 21434, Abschnitt 10.4.1 Design

Der Abschnitt 10.4.1 der Anforderungsdetails für das Design hebt die Notwendigkeit hervor, Programmiersprachen auszuwählen, die zum Erzwingen von Code geeignet sind, der syntaktisch korrekt mit gültiger Struktur und Grammatik ist. Der Code muss semantisch logisch sinnvoll sein und einem Regelwerk der verwendeten Sprache entsprechen. Code muss sich sauber kompilieren lassen, um ihn in eine Folge von Anweisungen umzuwandeln.

Das Erzwingen einer starken Typisierung, die Verwendung von Sprachteilmengen und das Implementieren defensiver Implementierungstechniken sind allesamt Anforderungen, die in ISO 21434 spezifiziert sind. Sichere Codierung formalisieren Compliance-Praktiken Die Verwendung von Parasoft MISRA C- und CERT C-Checkern und -Regeln hilft Herstellern und Lieferanten, die Anforderungen und Empfehlungen von ISO 21434 zur Minderung potenzieller Risiken in Software und Design einzuhalten.

Der Einsatz von Cybersicherheits- und Sicherheitscodierungspraktiken zur Unterstützung der Softwareverifizierung und -validierung ist eine bewährte Methode und unerlässlich für die Bestätigung der in ISO 21434 beschriebenen Cybersicherheitsspezifikation. Die Verwendung von Parasoft C/C++-Codeanalysefunktionen erleichtert die strengen Softwaretests im Zusammenhang mit sicherheitskritischer Software.

Automatisierung von Softwaretests mit Parasoft C/C++test wird durch einen integrierten Ansatz vereinfacht, der statische Analysen, Codeabdeckung, Komponententests, Anforderungsrückverfolgbarkeit und Berichtsanalysen umfasst, um Ihre ISO 21434-Compliance-Anforderungen zu optimieren.

Abschnitt 10.4.2 Integration und Verifizierung

Auszug aus ISO 21434, Abschnitt 10.4.2 Integration und Verifikation

ISO 21434, Abschnitt 10.4.2, enthält eine Liste von Methoden zur Softwareverifizierung, die mit den C/C++-Codeanalysefunktionen von Parasoft erfüllt werden können. Viele Sicherheitslücken können mithilfe von Kontroll- und Datenflussanalysen erkannt werden. Die C/C++-Codeanalyse-Engine von Parasoft ist darauf ausgelegt, Produktentwicklungsteams die Breite und Tiefe in komplexe Flussanalysen wie Use-After-Frees, Double-Frees und Pufferüberläufe zu geben.

Sehen Sie Parasoft C/C++test in Aktion!

RC-10-12

Andere Softwareverifizierungs- und Testaktivitäten, auf die in ISO 21434 verwiesen wird, umfassen Fuzzing, Penetrationstests und Schwachstellenscans. Sie sind als Empfehlungen aufgeführt und von RC-10-12 notiert. Angesichts der Komplexität und Größe der modernen Softwareentwicklung sollte die Ausführung zusätzlicher Testtechniken und -tools erforderlich sein, da jede Technik unterschiedliche Arten von Problemen findet.

Auszug aus ISO 21434, Abschnitt Abschnitt 10.4.2 Integration und Verifikation, RC-10-12

Um Sicherheitsrisiken in Softwareproduktentwicklungsteams aufzudecken, sollten Tools und Testtechniken verwendet werden, um die folgenden Szenarien abzudecken.

  • Bekannt Bekannt. Tests zur Identifizierung von Software mit bekannten/identifizierbaren CVEs. Dazu gehören Testfunktionen wie Tools zur Analyse der Softwarezusammensetzung (SCA), die bekannte CVEs in Softwarekomponenten kennzeichnen.
  • Bekannt Unbekannt. Tests zum Identifizieren von CWEs, die ausnutzbar sein könnten, und zum Aufdecken von Schwachstellen (CVEs) in Software. Dazu gehören Testfunktionen wie statische und dynamische Analysen.
  • Unbekannt unbekannt. Tests zur Identifizierung von Software mit nicht identifizierten Risiken/Problemen, es ist kein CWE oder CVE damit verbunden. Dazu gehören Testfunktionen wie Fuzzing.

Cybersicherheit: Der Front Seat Driver

Cybersicherheit auf den Vordersitz von Straßenfahrzeugen mit ISO 21434 zu stellen, wird der Automobilindustrie dabei helfen, bessere Praktiken voranzutreiben, um Cyber-Bedrohungen und -Angriffe zu reduzieren und abzuschwächen, die schließlich zu Todesfällen führen können.

Die Konnektivität und Intelligenz in Autos hat die Art und Weise verändert, wie Cybersicherheit in der Produktentwicklung kontextualisiert und priorisiert wird. Durch die Formalisierung von ISO 21434 können Produktentwicklungsteams Bedrohungsanalysen und Bedrohungsmodellierungsaktivitäten nutzen, um Designentscheidungen und Produktentwicklungen während des gesamten Lebenszyklus zu informieren.

„Building Security-in“ darf nicht mehr nur ein Schlagwort sein, denn es geht um die Sicherheit der Fahrer. Cybersicherheit muss in die Denkweise und Aktivitäten des gesamten Produktentwicklungsteams integriert werden, damit das gesamte Team darüber nachdenkt, wie Software entworfen und entwickelt werden sollte, um Cyberangriffe zu verhindern und abzuschwächen.

ISO 21434 bietet eine Roadmap, die Herstellern und Zulieferern hilft, sich durch Sicherheits- und Cybersicherheitsherausforderungen in der Produktentwicklung zu navigieren. Dieser neue Standard dient als Baustein zur Stärkung von Sicherheitsschutzmechanismen in Straßenfahrzeugen, die letztendlich Leben retten werden.

Parasoft: Der Weg zur Automobil-Cybersicherheit

Die integrierte automatisierte C/C++-Testlösung von Parasoft ist die beste ihrer Art und skaliert mit Ihren SDLC- und Produktentwicklungsbemühungen. Parasoft ist einzigartig positioniert mit umfassender Erfahrung und Expertise auf dem Markt für eingebettete Software und hilft Ihnen, Ihre Sicherheits- und Cybersicherheits-Compliance-Anforderungen zu erfüllen.

Parasoft V-Modell, das zeigt, wo jedes automatisierte Testprodukt von Parasoft während der Verifizierungs- und Validierungstests verwendet wird.

Eine einzigartige Kombination aus Automatisierungstools für Softwaretests, Analysen, KI und Berichterstellung bietet von Anfang an Einblick in Qualitäts- und Sicherheitsprobleme. Auf diese Weise können Produktingenieurteams die Softwareverifizierung gemäß den vom Markt geforderten Standards und Best Practices beschleunigen.

Beschleunigen Sie die Bereitstellung sicherer und konformer Automotive-Software.

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.