Empfohlenes Webinar: KI-gestütztes API-Testing: Ein No-Code-Ansatz zum Testen | Zum Video
Übersicht
Ausblick für die Automobilindustrie
Der Automobilindustrie Die Branche entwickelt sich weiterhin rasant und dringt in technische Bereiche vor, in denen andere Branchen schon seit vielen Jahren tätig sind. Das Jet Propulsion Laboratory der NASA veröffentlicht beispielsweise Codekorrekturen und neue Funktionen, die derzeit für ein Millionen von Kilometern entferntes Raumschiff entwickelt werden, das sich auf dem Weg zu seinem Ziel befindet. In ähnlicher Weise stellt die Automobilindustrie Software-Updates für Autos bereit, die bereits verkauft wurden und von Kunden auf der ganzen Welt gefahren werden.
Auch die Zukunft selbstfahrender Autos sieht vielversprechend aus und könnte in den nächsten Jahrzehnten weit verbreitet sein. Mehrere Unternehmen, darunter Waymo, Tesla, Uber und traditionelle Autohersteller wie GM und Ford, sind Vorreiter bei der Entwicklung selbstfahrender Technologie. Viele führen umfangreiche Tests durch und einige haben Pilotprogramme in ausgewählten Städten gestartet. Mit zunehmender Weiterentwicklung der Technologie wird erwartet, dass sie den Verkehr revolutionieren und ihn sicherer, effizienter und zugänglicher machen wird.
Herausforderungen im Bereich Sicherheit
Diese Art der Entwicklung – insbesondere bei fortschrittlichen Fahrerassistenzsystemen (ADAS) – bringt neue Herausforderungen in Bezug auf Sicherheit und Schutz mit sich. Normen wie ISO 26262 befassen sich mit der funktionalen Sicherheit bei der Entwicklung elektrischer und elektronischer Systeme (E/E), zu denen Antrieb, dynamische Steuerungssysteme und Fahrerassistenz gehören.
Darüber hinaus bieten Plattformen wie AUTOSAR eine offene standardisierte Software-Schichtarchitektur, die die Sicherheit weiter verbessert. Sie enthalten Richtlinien für die Verwendung der Sprache C++14 bei der Entwicklung kritischer und sicherheitsrelevanter Systeme. Die Hersteller haben jedoch erkannt, dass aufgrund der zunehmenden Komplexität und Unbekanntheit der Zusammenarbeit moderner Technologien sowie der Änderungen in der internen und externen Umgebung Sicherheitsbedenken aufgekommen sind, die diese Standards nicht berücksichtigen.
Wenn Sie sich mit ISO 21343 befassen, ist es wichtig zu verstehen, dass die empfohlenen Sicherheitsüberlegungen zur Cybersicherheit in Ihre vorhandenen Entwicklungsprozesse integriert werden sollten. ISO 21434 verweist auf ISO 26262, um einen interdisziplinären Austausch von Strategien, Koordination und sogar verwendeten Tools zwischen diesen beiden Disziplinen zu ermöglichen. Das bedeutet, dass Ihre Organisation Ihre Systemingenieure in der Phase der Anforderungsanalyse für Sicherheit und Schutz mit Ihren Sicherheitsingenieuren zusammenarbeiten lassen sollte.
Führen Sie parallel dazu eine Gefahrenanalyse und Risikobewertung (HARA) für die Sicherheit sowie eine Bedrohungsanalyse und Risikobewertung (TARA) für die Sicherheit durch. Dennoch ist eine starke kollaborative Umgebung erforderlich, um ein sicheres Ergebnis zu gewährleisten.
Die Gewährleistung der Sicherheit bei der Softwareimplementierung beginnt mit Anwenden einer statischen CodeanalyseDer MISRA-Codierungsstandard enthält Sicherheitsrichtlinien, aber Sie können die Codesicherheit auch erweitern und stärken, indem Sie Einführung von CERT.
Führen Sie auf der rechten Seite des V weiter Unit-Tests aller Ihrer Sicherheitsanforderungen auf niedriger Ebene durch. Erstellen Sie in der nächsten Phase Testfälle, die zusätzliche Funktionen integrieren. Diese Testfälle stellen sicher, dass Ihre Anforderungen auf hoher Ebene erfüllt werden.
Erstellen Sie Systemtests, um sicherzustellen, dass die Systemanforderungen überprüft werden. Stellen Sie sicher, dass alle Testfälle auf Ihre Anforderungen zurückgeführt werden können. Dies garantiert, dass keine Anforderung ungetestet bleibt. Um jedoch sicherzustellen, dass jede Anforderung vollständig getestet wird, integrieren Sie eine strukturelle Codeabdeckung, wie in ISO 21434 und ISO 26262 empfohlen. Die Codeabdeckung stellt nicht nur sicher, dass jede Codezeile getestet wurde, sondern auch, dass Ihre Sicherheitstestfälle durch ihre Maßnahmen zur Behebung der Sicherheitsfunktionalität jeden möglichen Ausführungspfad vollständig abdecken.
Um Sicherheitsprobleme zu überwinden, können Teams auf Lösungen wie Parasoft C/C++test zurückgreifen, das vom TÜV SÜD für den Einsatz in sicherheitskritischen Anwendungen gemäß ISO 26262 und durch die Vereinigung für ISO 21434 zertifiziert wurde. Beide Standards empfehlen die Durchführung einer statischen Analyse, einer dynamischen Analyse – die Unit-, Integrations- und Systemtests umfasst –, einer Codeabdeckung und einer Anforderungsnachverfolgung. Parasoft bietet genau das, was ISO 26262 und ISO 21434 für die Softwareüberprüfung in Bezug auf Sicherheit empfehlen, und stellt auch die erforderliche Dokumentation zum Nachweis der Einhaltung beider Standards bereit.
UNECE WP.29 Regulatorische Anforderungen
Die Wirtschaftskommission der Vereinten Nationen für Europa (UNECE) hat am 23. Juni 2020 regulatorische Anforderungen veröffentlicht, in denen sie neue Prozesse und Technologien skizziert, die Automobilhersteller sowohl in ihre Organisation als auch in ihre Fahrzeuge integrieren müssen. Diese Vorschriften gelten auch für Tier-1- und Tier-2-Lieferanten von Software- und Hardwarekomponenten, einschließlich mobiler Dienste.
Fahrzeughersteller müssen in ihre Organisationsstruktur ein risikobasiertes Management-Framework zur Erkennung, Analyse und Abwehr relevanter Bedrohungen, Schwachstellen und Cyberangriffe integrieren.
Für die folgenden Kategorien sind Cybersicherheitstests und das Bestehen von Inspektionen erforderlich.
- Kategorie M umfasst Standardfahrzeuge mit vier Rädern.
- Kategorie N ist für Pickups und Transporter.
- Die Kategorien L6 und L7 umfassen Elektroautos und autonome Fähigkeiten.
Wenn der Hersteller die organisatorischen und fahrzeugbezogenen Schlüsselanforderungen von WP.29 erfüllt, erhält er eine Konformitätsbescheinigung. Neue Fahrzeuge ohne diese Bescheinigung dürfen in der EU ab Juli 2024 nicht mehr verkauft werden. Beachten Sie, dass die USA nicht teilnehmen und keine eigenen ähnlichen Regelungen haben. Die Zeichen stehen jedoch an der Wand.
Auto-Gewürz
Automotive Software Process Improvement and Capability Determination (ASPICE) bietet einen Messrahmen für unabhängige Gutachter, um die Fähigkeiten einer Organisation zur Softwareentwicklung zu bewerten. Die Gewährleistung der Softwaresicherheit und Cybersicherheit liegt nicht nur in den technischen Aspekten der Entwicklung des elektronischen Systems, sondern erfordert auch die Integration von Prozessen und Kontrollen durch die Organisation.
Diese Prozesse und Kontrollen müssen Möglichkeiten zur Verfolgung und Überwachung des Fortschritts in allen Abläufen der Organisation umfassen, um Folgendes sicherzustellen:
- Es wurden Sicherheits- und Cybersicherheitspraktiken übernommen.
- Die Anforderungen an Sicherheit und Cybersecurity werden erfüllt.
Dies ist auch eines der beiden wichtigsten Zertifizierungskriterien für UNECE WP.29 zur organisatorischen Cybersicherheitsfähigkeit.
Unsichere Szenarien
Es wurden weitere Auswüchse von ISO 26262 umgesetzt, wie etwa ISO/PAS 21448, das allgemein als SOTIF (Safety of the Intended Functionality, Sicherheit der beabsichtigten Funktionalität) bezeichnet wird. SOTIF hilft Ihnen, den Missbrauch der beabsichtigten Funktionalität zu analysieren und zu verhindern, wenn er zu einem unsicheren Szenario führt. Beispielsweise schaltet sich Ihr Fahrzeug während der Fahrt aufgrund eines eingeleiteten Softwareupdates unbeabsichtigt ab.
Sicherheitslücken stellen ebenfalls gefährliche Szenarien dar. Ein Angreifer könnte die Wi-Fi-Verbindung des Autos nutzen, um einen exponierten Port aus der Ferne auszunutzen. Er könnte sich auf irgendeine Weise vom fortschrittlichen Infotainmentsystem im Fahrzeug (IVI) aus vorarbeiten und die Kontrolle über sicherheitskritische Komponenten wie Bremsen oder Lenkung übernehmen oder diese beeinflussen, da diese die gleiche Kommunikationsinfrastruktur nutzen.
Die Rolle von Standards
Standards wie SAE J3061, ersetzt durch ISO/SAE 21434, schreiben vor, dass zunächst eine Bedrohungsanalyse und Risikobewertung (TARA) durchgeführt werden muss, um potenzielle Bedrohungen in Bezug auf Betrieb, Datenschutz und andere Faktoren zu bewerten, die einen Verkehrsteilnehmer/Fahrer betreffen können. Wenn das Risiko einer Bedrohung ausreichend hoch ist, ist ein Cybersicherheitsprozess erforderlich. Es gibt verschiedene Ansätze zum Aufdecken von Sicherheitslücken und Anforderungen, die die Risiken mindern. Erfahren Sie mehr über TARA und warum Ihr Entwicklungsteam TARA braucht.
Standards wie UL 4600 gibt es mittlerweile speziell für den Betrieb vollautonomer Fahrzeuge. Das bedeutet, dass es keine menschliche Aufsicht gibt und das autonome Fahrzeug die volle Verantwortung übernimmt. Dieser Standard konzentriert sich auf die Erstellung eines Sicherheitsnachweises für den Einsatz von Fahrzeugen der SAE-Stufe 4/5, nicht darauf, wie die Sicherheit autonomer Fahrzeuge auf öffentlichen Straßen getestet werden kann. Dafür wäre ein anderer Standard erforderlich.
Diese und andere Normen spielen eine entscheidende Rolle für die Sicherheit der Automobilindustrie. Die OEMs tragen die Haftungskosten für die Auslieferung unsicherer Fahrzeuge an die Massen. Um diese Risiken zu mindern, müssen die OEMs diese Normen übernehmen und einhalten. Allerdings sollten die OEMs von ihren Zulieferern die gleiche Qualität und Einhaltung verlangen. Eine Schwäche in einer Komponente kann die Sicherheit des gesamten Systems gefährden.
Erstellen benutzerdefinierter Codierungsstandards
In Zusammenarbeit mit einigen seiner Automobilhersteller hat Parasoft benutzerdefinierte Codierungsstandards entwickelt, die MISRA, AUTOSAR C++14, CERT, CWE und andere benutzerdefinierte Regeln enthalten, die von ihren Lieferanten verwendet werden können. Dadurch wird sichergestellt, dass in der gesamten Lieferkette die gleiche Qualität der Software vorhanden ist.
Parasoft C/C++test ist eine einheitliche Testlösung die Unit-Tests und strukturelle Code-Abdeckung als Teil ihrer Funktionalität umfasst. Diese Lösung für die C/C++-Softwareentwicklung unterstützt eine umfassende Reihe von Hardwarezielen und Entwicklungsökosystemen, die Lieferanten und OEMs mit unterschiedlichen Entwicklungsinfrastrukturen nutzen können. C/C++test wurde vom TÜV SÜD für den Einsatz auf sicherheitskritischen Systemen zertifiziert. Für ADAS und sichere vernetzte Autos bietet C/C++test nahtlose Integrationen mit SOAtest und dem Virtualisieren Kombinieren Sie API-Tests mit Laufzeitanwendungsabdeckung und simulierten virtuellen Testumgebungen.
Was ist ISO 26262?
ISO 26262 ist ein funktionaler Sicherheitsstandard, der den gesamten Produktentwicklungsprozess im Automobilbereich abdeckt. Er umfasst Aktivitäten wie Anforderungsspezifikation, Design, Implementierung, Integration, Verifizierung, Validierung und Konfiguration.
Die Norm bietet Leitlinien für Aktivitäten im gesamten Automobil-Sicherheitslebenszyklus, indem sie die folgenden Anforderungen festlegt:
- Funktionales Sicherheitsmanagement für Automobilanwendungen
- Die Konzeptphase für Automotive-Anwendungen
- Produktentwicklung auf Systemebene für Softwarearchitekturdesign für Automobilanwendungen
- Produktentwicklung auf Hardwareebene für Software-Unit-Tests für Automobilanwendungen
- Produktentwicklung auf Softwareebene für Automotive-Anwendungen
- Produktion, Betrieb, Service und Außerbetriebnahme
- Unterstützende Prozesse: Schnittstellen innerhalb verteilter Entwicklungen, Anforderungen an das Sicherheitsmanagement, Änderungs- und Konfigurationsmanagement, Verifizierung, Dokumentation, Einsatz von Softwaretools, Qualifizierung von Softwarekomponenten, Qualifizierung von Hardwarekomponenten und Proven-in-Use-Argumentation
- Automotive Safety Integrity Level (ASIL) orientierte und sicherheitsorientierte Analysen
ISO 26262 ist eine Anpassung von IEC 61508 für die Automobilindustrie. IEC 61508 ist ein grundlegender funktionaler Industriesicherheitsstandard für elektrische, elektronische und programmierbare elektronische Geräte und gilt für alle Arten von Branchen. Andere Sektoren wie Medizin IEC 62304 und dem Bahn EN 50128 wurden ebenfalls aus der IEC 61508 abgeleitet.
Da ISO 26262 aus IEC 61508 für die Automobilindustrie abgeleitet und erweitert wurde, handelt es sich um einen funktionalen Sicherheitsstandard, der Leitlinien für die Regelung des gesamten Produktlebenszyklus auf Software- und Hardwareebene von der Konzeptentwicklung bis zur Außerbetriebnahme bereitstellt. Er umfasst elektrische und elektronische Automobilsysteme und deren Entwicklungsprozess, einschließlich Anforderungsspezifikation, Design, Implementierung, Integration, Verifizierung, Validierung und Konfiguration.
Die neueste Version, ISO 26262:2018, ist in 12 Teile unterteilt. Der Standard wurde seit seiner ersten Ausgabe im Jahr 2011 weiterentwickelt.
Was sind die Teile von ISO 26262?
Durchführen von Gefahrenanalysen und Risikobewertungen
In ISO 26262 muss eine Gefahrenanalyse und Risikobewertung (HARA) für das zu entwickelnde System durchgeführt werden. Nach Abschluss der HARA wird der Softwarekomponente ein ASIL zugewiesen, wobei die Stufen A bis D angegeben werden. Stufe A stellt die niedrigste Gefahrenstufe dar und Stufe D die höchste Gefahrenstufe. Das bedeutet, dass der Ausfall eines Systems mit ASIL D-Zuweisung katastrophale Folgen haben könnte.
Es gibt auch eine Zuordnung der Qualitätsmanagementebene (QM), was bedeutet, dass keine Sicherheitsanforderungen bestehen. ASIL wird zugewiesen, indem die Schwere der Verletzung mit der Wahrscheinlichkeit des Versagens und der Kontrollierbarkeit multipliziert wird. In der folgenden Tabelle sind die einzelnen Ebenen für Schwere, Gefährdung und Kontrollierbarkeit aufgeführt.
Exposition = Die Häufigkeit oder Wahrscheinlichkeit, mit der der Fehler auftritt.
Kontrollierbarkeit – Das Ausmaß, in dem wir sicherstellen können, dass das Ereignis nicht eintritt.
Es stehen mehrere kostenlos verfügbare Tabellen zur Verfügung, die bei der Ermittlung des ASIL-Werts hilfreich sind. Die folgende Tabelle ist ein Beispiel für eine Tabelle, die viel einfacher zu lesen ist und die ASIL-Stufen in Farben basierend auf Schweregrad, Belastung und Kontrollierbarkeit anzeigt.
Aktive und passive Sicherheit
Straßenfahrzeuge sind mit zahlreichen Sicherheitssystemen ausgestattet. Einige davon gelten als aktive Sicherheit, andere als passive Sicherheit.
Unter aktiver Sicherheit versteht man Technologien, die dabei helfen, einen Zusammenstoß oder Unfall zu verhindern. Dazu gehören Traktionskontrolle, Antiblockiersystem, Vision ADAS und mehr.
Passive Sicherheitssysteme dienen der Sicherheit der Passagiere. Im Falle eines Unfalls gibt es beispielsweise Airbags und Sicherheitsgurte. Der elektronische Scheibenwischer und das Kombiinstrument sind ebenfalls passive Sicherheitssysteme.
Durchführen von Testüberprüfungen und Validierungen des Entwurfs und der Implementierung von Softwareeinheiten
Da der Schwerpunkt dieses Handbuchs auf Software liegt, ist es wichtig, die Testverifizierungs- und Validierungsmethoden vom Standard empfohlen. Tabelle 7 erfasst beispielsweise die Verifizierungsmethoden 1a bis 1k, die während des Gerätedesigns und der Implementierung angewendet werden sollen. Methode 1h, „Statische Codeanalyse“, wird für die ASIL-Stufen A bis D dringend empfohlen.
Die Spalten in Tabelle 7 rechts zeigen die ASIL-Stufen A bis D. Ein einzelnes „+“-Symbol bedeutet, dass die Norm dies empfiehlt, ein doppeltes „++“ bedeutet, dass dies dringend empfohlen wird, und ein „o“ bedeutet, dass dies nicht empfohlen wird.
Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.
Entdecken Sie die Kapitel
- Einführung "
- 1. Übersicht »
- 2. Statische Analyse »
- 3. MISRA »
- 4. AUTOSAR C++ 14 »
- 5. SEI/CERT »
- 6. CWE »
- 7. Unit-Tests »
- 8. Regressionstests »
- 9. Software-Integrationstests »
- 10. Testen von Softwaresystemen »
- 11. Strukturelle Codeabdeckung »
- 12. Anforderungsrückverfolgbarkeitsmatrix »
- 13. Werkzeugqualifizierung »
- 14. Berichterstattung und Analyse »