Softwaretools ARM-Toolchain sorgt für die Einhaltung funktionaler Sicherheit

Anbieter zum Thema

Da ARM-Prozessoren auch in sicherheitsbezogenen Anwendungen zum Einsatz kommen, unterliegt die Software einer immer genaueren Prüfung: Denn selbst der kleinste Fehler kann verheerende Folgen haben.

Bild 1: ARM-Prozessoren finden sich nicht mehr nur in Mobil-, Consumer- und Datenserver-Anwendungen, sondern nun auch in den Bereichen Automotive, Industrie und dort, wo eine Einhaltung funktionaler Sicherheitsstandards nach IEC 61508 und ISO 26262 erforderlich ist. MCU-Softwareentwickler stehen damit vor neuen Herausforderungen.
Bild 1: ARM-Prozessoren finden sich nicht mehr nur in Mobil-, Consumer- und Datenserver-Anwendungen, sondern nun auch in den Bereichen Automotive, Industrie und dort, wo eine Einhaltung funktionaler Sicherheitsstandards nach IEC 61508 und ISO 26262 erforderlich ist. MCU-Softwareentwickler stehen damit vor neuen Herausforderungen.
(Bild: ARM)

Sicherheitsstandards wie IEC 61508 und ISO 26262 sollen garantieren, dass die Software neuesten besten Praktiken entspricht. Diese Best Practices dehnen sich nun auf die Wahl der Toolchain und deren Einsatz aus, welche ein wichtiger Bestandteil der modernen Softwareentwicklung sind und die Sicherheitsintegrität eines Systems direkt beeinflussen können.

ARM in sicherheitsbezogenen Anwendungen

ARM-basierte Prozessoren finden ihren Weg in sicherheitsbezogene Anwendungen von Antriebssteuerungen und Automatisierungstechnik, über Fahrwerks- und Motorsteuerungen in Fahrzeugen bis hin zu Infusionspumpen und Herzschrittmachern in der Medizintechnik.

Bild 1: IEC 61508 und ihre branchenspezifischen Auslegungen sind Richtlinien für sicherheitsbezogene elektrische, elektronische und programmierbare Systeme, um neueste Anforderungen zu erfüllen.
Bild 1: IEC 61508 und ihre branchenspezifischen Auslegungen sind Richtlinien für sicherheitsbezogene elektrische, elektronische und programmierbare Systeme, um neueste Anforderungen zu erfüllen.
(Bild: ARM)

Der Übergang auf MCUs und Programmierbarkeit rückt den Softwarebereich ins Augenmerk der Sicherheit - nun müssen Sicherheitsstandards wie IEC 61508 erfüllt werden.

ISO 26262 geht noch weiter und weist einen detaillierteren Rahmen auf, der auch sicherheitsbezogene Systeme auf Basis anderer Technologien mit einbezieht, wie das Lebenszyklus-Management oder die Beziehungen zum Zulieferer. Für Softwareentwickler steht damit ein Automotive-spezifischer risikobasierter Ansatz zur Bestimmung der ASILs (Automotive Safety Integrity Levels) zur Verfügung.

Toolchains und ihrer Auswirkungen auf die Sicherheit

Moderne ARM-Prozessoren sind mit Fehlererkennungs- und Kontrollfunktionen ausgestattet, wie z.B. ECC-Logik (Error Correction Code), MPU (Memory Protection Units), Lock-Step-Funktion und Support für Softwarepartitionierung mittels Hypervisor. Es besteht allerdings weiterhin die Möglichkeit, dass Softwarefehler durch die Abwehrmechanismen hindurch gelangen und den Prozessor zu etwas Ungewolltem zwingen, was verheerende Folgen haben kann.

100-prozentige Sicherheit ist schwierig, wenn gar unmöglich zu erreichen. Moderne Softwareentwicklung kann das Risiko, dass ein Prozessor anstelle zulässiger Anweisungen etwas Unbeabsichtigtes ausführt, erheblich verringern. Sicherheitsstandards wie IEC 61508 und ISO 26262 bieten eine Anleitung für beste Praktiken in der Softwareentwicklung. Diese beziehen zunehmend auch die Tools mit ein, die während der Softwareentwicklung verwendet werden, vor allem Code-Generatoren wie Compiler.

Sicherheitsstandards kategorisieren Entwicklungstools auf Basis ihrer Auswirkungen auf die Sicherheitsintegrität eines Systems. Ein Text-Editor ist z.B. ein gängiges Tool, das während der Softwareentwicklung zum Einsatz kommt, aber nur begrenzte Fähigkeiten aufweist, einen Fehler in ein funktionierendes System einzubringen. Ein Compiler hingegen kann logisch korrekten Quellcode in falschen ausführbaren Zielcode fehlinterpretieren und so unwissend Fehler in ein laufendes System einbringen. Compiler stellen deshalb die höchste Risikoklasse unter den Support-Tools dar, da sie direkt oder indirekt den ausführbaren Code in einem sicherheitsbezogenen System beeinflussen können. Ihre Auswahl und ihr Einsatz sollte deshalb im Rahmen der IEC 61508-3 erfolgen.

Artikelfiles und Artikellinks

(ID:43669326)

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.

Aufklappen für Details zu Ihrer Einwilligung