Safety und Security Verifikations-Tools spielen entscheidende Rolle für die Sicherheit von Automotive-Software

Von Jay Thomas * 6 min Lesedauer

Anbieter zum Thema

Bei der Entwicklung von Automotive-Software setzten die zuständigen Teams in der Vergangenheit auf unsystematische, manuelle Verifikationskonzepte, um sicherzustellen, dass ihre Automotive-Software den einschlägigen Safety- und Security-Normen wie ISO26262 und SAE 21434 entsprach. Eine größere Effizienz versprechen integrierte, automatisierte Verifikationswerkzeuge.

Automotive-Software muss Sicherheitsnormen wie der ISO 26262 entsprechen. Dabei helfen automatisierte Verifikationswerkzeuge.(Bild:  frei lizensiert nach Pixabay)
Automotive-Software muss Sicherheitsnormen wie der ISO 26262 entsprechen. Dabei helfen automatisierte Verifikationswerkzeuge.
(Bild: frei lizensiert nach Pixabay)

Bei traditionellen Vorgehensweisen zur Software-Entwicklung kamen Spreadsheet-Programme, Applikationen zum Teilen von Dokumenten und eingebaute MISRA- oder Coverage-Checker zum Einsatz, die von Compilern oder modellbasierten Tools beigesteuert wurden. Angesichts der komplexen Software-Systeme moderner und zukünftiger Fahrzeuge und aufgrund der Tatsache, dass sich die Industrie und das regulatorische Umfeld rapide verändern, sind Automobilhersteller und -zulieferer inzwischen jedoch auf schnellere und effizientere Lösungen für die Verifikation und den Compliance-Nachweis angewiesen.

Integrierte, automatisierte Verifikations-Tools sind eigens für das schnelle und intuitive Dokumentieren, Verwalten und Teilen von Verifikationsergebnissen während des gesamten Entwicklungs-Lebenszyklus, über verschiedene Teams und Regionen hinweg sowie entlang der gesamten Lieferkette konzipiert. Diese Tools gehören zu den effektivsten Lösungen zur Bewältigung des Zeit- und Kostenaufwands sowie der Risiken, die mit der Produktentwicklung und -verifikation einhergehen, und können ebenfalls sicherzustellen, dass die Voraussetzungen für eine schnelle und effiziente Zertifizierung geschaffen werden. All diese Maßnahmen verkürzen die Markteinführungszeit und senken das Risiko, dass es zu Ausfällen im Feld und zu Rückrufen kommt.

Technologische Trends beeinflussen Entwicklung von Automotive-Software

Mehrere wichtige Trends, wie automatisiertes, vernetztes und Software-definiertes Fahren verleihen Straßenfahrzeugen neue Fähigkeiten und steigern die Bedeutung automatisierter, integrierter Tool-Pakete.

Verstärkte Kontrolle autonomer Systeme

Die Regelwerke für die Entwicklung und Zertifizierung autonomer Fahrzeuge werden immer strenger, was wiederum die Entwicklungskosten in die Höhe treibt und die Markteinführungszeit verlängert. Bestehende Sicherheitsrichtlinien für kleinere autonome Fahrzeuge legen weniger umfangreiche und risikoärmere Szenarien zugrunde als solche für größere Fahrzeuge. Das dürfte sich jedoch mit zunehmender Hochskalierung ändern.

Unternehmen, die mit robusten Verifikations- und Prüftools arbeiten, werden besser in der Lage sein, sich in diesen, sich ständig wandelnden regulatorischen Anforderungen zurechtzufinden. Zu den Tools, die für die Entwicklung von Automotive-Software gedacht sind, gehören eingebaute Standards Analyzer für alle einschlägigen Normen des Automobilsektors. Um zu gewährleisten, dass sich die Werkzeuge im Zuge der Weiterentwicklung der Standards stets auf dem aktuellen Stand befinden, sind die Tool-Anbieter selbst in den Normungsorganisationen aktiv.

Cyber-Bedrohungen durch verstärkte Konnektivität

Das Thema Cybersecurity kann bei Straßenfahrzeugen gravierende Auswirkungen auf die Sicherheit haben. Die empfohlene Strategie zur Abwehr von Cyber-Attacken besteht darin, von Anfang an entsprechende Schutzmaßnahmen einzubauen, sodass Schwachstellen bereits während der Entwicklung und des Deployments eliminiert werden. Durch Testen der fertiggestellten Software lässt sich die Wirksamkeit dieses Ansatzes nachweisen, bevor das Produkt in den praktischen Einsatz geht. Nicht zuletzt ist dies eine Strategie dafür, schnell auf neu aufgedeckte Sicherheitslücken reagieren zu können.

Um so früh wie möglich gegen Sicherheitsrisiken vorzugehen, setzen zahlreiche Teams auf das DevSecOps-Konzept, das geeignete Security-Aktivitäten während der gesamten Softwareentwicklung und im kompletten Betriebs-Lebenszyklus vorsieht. Dieser Schritt ermöglicht es den Software-Entwicklungs- und Security-Teams, gemeinsam an der Senkung der Kosten und Risiken sowie der Verbesserung der Effizienz zu arbeiten.

Flexible, individualisierbare Software-Verifikationswerkzeuge lassen sich einfach an das jeweilige Risikoniveau und die notwendige Stringenz der Risikominderung anpassen. Requirements Traceability Tools wiederum erlauben eine zügige Reaktion auf gefundene Sicherheitslücken selbst dann, wenn die betreffenden Systeme bereits jahrelang im Einsatz sind. Tools helfen dabei, die Auswirkungen geänderter Anforderungen oder notwendiger Code-Änderungen zu verstehen. So lässt sich rasch auf Sicherheitslücken reagieren. Die bidirektionale Rückverfolgbarkeit von den Anforderungen zum Code und zu den entsprechenden Testfällen stellt eine entscheidende Fähigkeit dar, um die Auswirkungen sowohl von geänderten Anforderungen als auch von identifizierten Schwachstellen im Quellcode bestimmen zu können.

Umstieg auf modellbasierte Entwicklung

Modelle ermöglichen die Entwicklung über unterschiedliche Abstraktionsebenen und Perspektiven hinweg, was die Entwicklung und Simulation von Algorithmen erleichtert. Dieses Konzept kann Entwicklern helfen, die Komplexität und das Fehleraufkommen zu reduzieren, für Wiederverwendbarkeit zu sorgen und die Markteinführung zu beschleunigen. Obwohl aber die modellbasierte Entwicklung ein zunehmender Trend im Bereich der Automotive-Software ist, können sich Automobilhersteller nicht ausschließlich auf Modelle verlassen, um zu gewährleisten, dass ihr Code funktional sicher und geschützt ist.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Code, ob automatisch generiert oder manuell aus Modellen erstellt, muss analysiert und geprüft werden. Automatisierte Verifikationswerkzeuge helfen Automobilherstellern und -zulieferern dabei, alle relevanten Standards einzuhalten und die Applikationen anhand ihrer Anforderungen zu testen. Mithilfe dieses Konzepts können Tier-1- und Tier-2-Zulieferer sicherstellen, dass ihr Code den funktionalen Anforderungen sowie den einschlägigen Functional-Safety- und Security-Standards entspricht.

Die Komplexität Software-definierter Fahrzeuge

Weil sich Software-definierte Fahrzeuge (Software-Defined Vehicles, SDVs) in Hinsicht auf Funktionen, Leistungsfähigkeit und Sicherheit auf Software stützen, ist eine rigorose Verifikation der Software unerlässlich. Infolge ihrer Konnektivitäts-Features sind SDVs zudem prinzipbedingt anfälliger gegen Cyber-Bedrohungen. Wenn die Fähigkeiten der Fahrzeuge mit der Zeit und von verschiedenen Entwicklungs-Teams über Over-the-Air-Updates und mithilfe modularer Software-Architekturen weiterentwickelt werden, gestaltet es sich immer schwieriger, die Einhaltung der Sicherheitsnormen zu wahren und sicherzustellen, dass neue Features keine Sicherheitslücken entstehen lassen.

Die den SDVs eigene Komplexität erfordert zwingend automatisierter Verifikations-Tools, die zwar strikt, aber dennoch genügend flexibel sind, um nicht nur mit traditionellen Programmierpraktiken umzugehen, sondern auch mit fortschrittlichen Umgebungen zurechtzukommen, die bei der Realisierung von Software auf Automation und KI zurückgreifen.

Zukünftige regulatorische Herausforderungen im Blick

Die Verifikation von Software erfordert in der Regel genauso viel Zeit, Aufwand und Ressourcen wie alle Planungs- und Entwicklungsprozesse zusammen, was das Testen und Zertifizieren zu kostspieligen Aktivitäten macht. Der Umstieg auf integrierte, automatisierte und erweiterbare Software-Entwicklungs- und Verifikations-Tools kann erhebliche Auswirkungen auf diesen Aufwand haben. Besonders wichtig kann das für entfernte, geografisch weit verstreute Teams sein, die während der Entwicklung, der Tests oder etwaiger Nacharbeiten Informationen bündeln müssen. Durch manuelle Prozesse und fragmentierte Tools können hierbei Ineffizienzen und potenzielle Fehler entstehen.

Im Unterschied zu Spreadsheets oder eigenständigen Dokumentenmanagement-Systemen bietet eine integriert Tool Suite umfassende, projekt- und teamübergreifende Transparenz und Change-Impact-Analysen, sodass in kürzerer Zeit bessere Design-Entscheidungen getroffen werden können. Hinzu kommen diverse Fähigkeiten, zu denen die Rückverfolgbarkeit der Anforderungen, Change-Impact-Analysen, das Testmanagement, die Einhaltung von Kodierstandards, das Prüfen der Code-Qualität, Code-Coverage-Analysen, Daten- und Kontrollfluss-Analysen, Programmeinheits-, Integrations- und Systemtests (einschließlich Tests auf dem Zielsystem) sowie die automatische Generierung von Zertifizierungs-Nachweisen gehören.

Eine kritische Komponente ist die Fähigkeit zur automatischen, projekt- und teamübergreifenden Bündelung von Verifikationsresultaten, damit umgehende Rückmeldungen über den Fortschritt der Verifikationsaktivitäten möglich sind. Diese Fähigkeit rückt auch Trends im Verifikationsprozess in den Blick, wie etwa Verbesserungen beim Testen, die Eindämmung von Problemen in der Software oder die Vollständigkeit der Tests.

Der Versuch, nacheinander die Konformität zu mehreren Standards zu erreichen, erhöht den Zeit- und Kostenaufwand und kann in unnötigen Nacharbeiten sowie einem teuren Kreislauf aus Regressionen und Problembehebungen resultieren. Die Vorteile, die sich bei der parallelen Berücksichtigung von Safety und Security ergeben, machen deutlich, wie wichtig die Erweiterbarkeit der Verifikationslösungen für bestimmte Anforderungen ist.

Entwicklungsteams, die mit einem automatisierten Verifikationstool-Paket arbeiten, profitieren von nachfolgenden Vorteilen:

  • Es wird von vornherein verhindert, dass sich Defekte und Schwachstellen in den Code einschleichen.
  • Teamübergreifend und über den gesamten Entwicklungsprozess hinweg wird für Transparenz gesorgt.
  • Ermöglichung eines modellbasierten Entwicklungs-Paradigmas mit Tools und Techniken für eine unabhängige Verifikation.
  • Erfüllung des Bedarfs an einer vollständig qualifizierten Werkzeugkette für die Software-Entwicklung.
  • Support Packages für die Tool-Qualifikation
  • Ausführung effizienter On-Target-Tests
  • Ermöglichung von Tests und Simulationen nach Software-in-the-Loop- und Processor-in-the-Loop-Konzept.

Fazit: Ein zielgerichtetes Verifikations-Toolpaket unterstützt die Entwicklung und Verifikation von Software, die sämtliche relevanten Automotive-Standards erfüllen muss, darunter die parallele Zertifizierung gemäß ISO 26262, ISO/SAE 21434 und ISO 21448 Road vehicles - Safety of the intended functionality.

 (se)

* Jay Thomas, Technical Development Manager, LDRA

(ID:50425700)