Suchen

Expertenbeitrag

 Mark Hermeling

Mark Hermeling

Senior Director Product Marketing, GrammaTech, Inc., GrammaTech, Inc.

Statische Analyse und Railway Software Sicherheitskritische Software und die EN 50128 Norm

Autor / Redakteur: Mark Hermeling / Redaktions Team

Verkehrssysteme und insbesondere Eisenbahnsysteme sind Wachstumsmärkte, in denen Software zur Befehlsgabe, Kommunikation und Steuerung immer stärkeren Einsatz findet. Weil Fehler und Unfälle schwerwiegende Folgen nach sich ziehen, untersteht die Entwicklung dieser Software strengen Normen wie der EN 50128, die den Einsatz sicherer Praktiken, Tools und Techniken beim Programmieren sehr genau definiert.

Firmen zum Thema

Security ist immer noch einer der bestimmenden Faktoren für das IoT.
Security ist immer noch einer der bestimmenden Faktoren für das IoT.
(Pixabay)

Die EN 50128 Norm  enthält klare Anforderungen an sichere Programmiertechniken, wie Modularität und komponenten-, struktur- und objektorientierte Programmierung. Zudem fordert sie den Einsatz von Modellierungs- und Programmierungsstandards sowie Sprachen-Subsets wie MISRA C. Für das Sicherheitsintegritätslevel (SIL) 3 und 4 sind diese Programmierungsstandards sogar obligatorisch. Hier bieten statische Analysetools wertvollen Support, denn sie eignen sich sehr gut zur Umsetzung strenger Codier-Standards, unabhängig davon ob es sich dabei um gängige wie MISRA C oder um kundenspezifische Versionen handelt.

 Tatsächlich schreibt die EN 50128 Norm die Nutzung statischer Analysetoolsunter Verwendung eines flexiblen Satzes von Programmierungsstandards, Steuerfluss- und Datenfluss-Analyseregeln vor, und empfiehlt sie dringend für SIL 1 bis 4. Interessanterweise heißt es in dieser Norm: „Nutzen Sie das inter-prozedurale Steuerflussanalyse-Modul, um eingesetzte Variablen vor deren Initialisierung, Pufferüberläufe, Speicherlecks usw. zu finden. Damit ist klar, dass die statische Analyse einen wichtigen Bestandteil jedes Instrumentariums für die Entwicklung sicherheitsrelevanter Software darstellt.

Grammatech

Die Tabelle veranschaulicht, wie spezifische Anforderungen von EN 50128  von statischen Analysetools erfüllt werden sowie ihren zugehörigen Empfehlungsgrad. Die Verweise beziehen sich auf einzelnen Klauseln in EN 50128.

Zusätzlich zur Konformität ist die Dokumentation zu ihrem Nachweis ein wichtiger Bestandteil der Erfüllung der Anforderungen von EN 50128. Automatisierte Softwaretools, einschließlich statischer Analyse, unterstützen den Zertifizierungsaufwand mithilfe von Berichtsfunktionen. Zusätzlich zu den weiteren Vorteilen wie Risikominimierung und einer kürzeren Entwicklungszeit erzielen sie eine schnellere Time-to-Market und Kosteneinsparungen.

Ein nach EN 50128 zertifiziertes Tool ist CodeSonar, dessen Funktionsumfang und Entwicklungsprozess von der SGS-TÜV Saar GmbH geprüft wurde, die auch bestätigt, dass es die Anforderungen für den Einsatz zur Entwicklung sicherheitsrelevanter Software erfüllt. Warum ist das wichtig? Werkzeuge zum Entwickeln von sicherheitsrelevanter Software müssen dokumentiert, und ihre Ergebnisse analysiert werden. Den Zertifizierungsvorgang mit zertifizierten Tools zu unterstützen verringert Risiko, Kosten und Zeit. Demgegenüber erfordern nicht zertifizierte Tools weitere Prüfungen durch die Zertifizierungsstellen – und führen gegebenenfalls zu höherem Aufwand und Risiko für das Entwicklungsteam.

Über den Autor

 Mark Hermeling

Mark Hermeling

Senior Director Product Marketing, GrammaTech, Inc., GrammaTech, Inc.