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.

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.
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)