Serie Software Engineering für Embedded Systeme, Teil 4

Grundlagen funktionaler Sicherheit von Software

Seite: 3/3

Anbieter zum Thema

Konzeptionelle Fehler werden häufig spät erkannt

Man muss sich dieser konzeptionellen Fehler bewusst sein und systematisch entscheiden, ob noch ein Restrisiko besteht und wie es beherrscht wird. Viele der schwerwiegenden Unfälle in den vergangenen Jahren sind auf konzeptionelle Fehler zurückzuführen [Leveson]. Daher sollten durch Sicherheitsanalysen gerade konzeptionelle Fehler aufgedeckt werden.

Dabei reicht eine Betrachtung konzeptioneller Fehler auf Systemebene in der Regel nicht aus. Viele konzeptionelle Fehlerbilder findet man erst in der fertigen Software. Somit übernehmen Software-Safety-Analysen zwei Aufgaben: die Identifikation und die risikobezogene Bewertung konzeptioneller Fehler, sowie die Identifikation und Analyse der Fehlerfortpflanzung von Softwarefehlern bis zu gefährdenden Ereignissen (auf Systemebene). In erster Linie untersucht man die Spezifikation und nicht den Code, um einen Nutzen und Mehrwert zu erzielen.

SICMA: Methode für die Fehleranalyse

Die am Fraunhofer IESE entwickelte Methode SICMA (Software Integrated Component Failure Modes and Fault Tree Analysis) ermöglicht es, ein System nicht nur sicher zu entwickeln, sondern auch ein sicheres System zu erhalten. Wir haben die Erfahrung gemacht, dass die Art der Software, ihr Umfang, der damit verbundene Umgang und nicht zuletzt die Bedeutung der Software im Gesamtsystem von Unternehmen zu Unternehmen verschieden ist. Selbst von Projekt zu Projekt gibt es Unterschiede. Aus diesem Grund besteht SICMA aus modularen Teilbausteinen, die individuell und effizient kombiniert werden können.

SICMA ermöglicht es, ein stabiles Sicherheitsgeflecht aufzubauen, in dem man sich nach den eigenen Anforderungen flexibel bewegen kann, um möglichst effizient zu einem sicheren System zu gelangen. In den Bausteinen kommen nicht nur unterschiedliche Methoden und Techniken zur Anwendung, es wird auch ein Augenmerk auf den Reifegrad einer Methode gelegt.

Bild 2: Beispiel eines Component Fault Tree (CFT). Die am Fraunhofer IESE entwickelte Methode SICMA ermöglicht es, ein System nicht nur sicher zu entwickeln, sondern auch ein sicheres System zu erhalten.
Bild 2: Beispiel eines Component Fault Tree (CFT). Die am Fraunhofer IESE entwickelte Methode SICMA ermöglicht es, ein System nicht nur sicher zu entwickeln, sondern auch ein sicheres System zu erhalten.
( Fraunhofer IESE)

Je nach Domäne oder Projektvorgabe in der sicherheitsgerichteten Entwicklung kann zur Fehlerursachenanalyse ein traditioneller Fehlerbaum in einem Tool erstellt werden, wie z.B. in FaultTree+. Man kann aber auch der Modularisierung einer Sicherheitsanalyse (zur Strukturierung, Steigerung der Wiederverwendung etc.) Rechnung tragen und komponentenbasierte Fehlerbäume einsetzen (CFTs – Component Fault Trees). Oder man geht direkt den Schritt in die systemintegrierte Sicherheitsanalyse durch das Anwenden der modellbasierten Entwicklung auch auf Sicherheitsanalysen (Bild 2).

Fazit: Sichere Systeme zu entwickeln bedeutet, dass auch die Software als immens wichtiger Bestandteil des Systems mit in die Sicherheitsbetrachtung einzubeziehen ist. Aufgrund unterschiedlicher Charakteristiken von Fehlerursachen ist es nötig, durch verschiedene Techniken möglichst alle Fehlerbildklassen abzusichern. Für Software heißt das, dass insbesondere konzeptionelle Fehler identifiziert und deren Auswirkung analysiert werden müssen.

Artikelfiles und Artikellinks

(ID:24136900)