Experten-Interview Sieben Fragen zu mehr Software-Sicherheit und -Qualität
Olaf C. Winne, Experte für die Entwicklung sicherheitsgerichteter Systeme, gibt Tipps zur Software-Entwicklung nach der Norm IEC 61508 und für mehr Qualität in Software.
Anbieter zum Thema
Herr Winne, was bedeutet Software-Entwicklung gemäß der Norm IEC 61508?
Herr Winne, was bedeutet Software-Entwicklung gemäß der Norm IEC 61508?
In der IEC 61508 wird besonders auf Prozesse, Dokumentation und Methoden eingegangen, die Sicherheit in der Entwicklung gewährleisten und Transparenz erzeugen sollen. Alleine die strukturierte Vorgehensweise des erweiterten sicheren V-Modells in der IEC 61508 und die geforderte Rückverfolgbarkeit der Sicherheitsanforderungen zwingen zu einem definierten Vorgehen im Entwicklungsprozess.
Wer erwartet, dass konkrete Anforderungen an die Programmierung gestellt werden, wird eher enttäuscht. Es gibt zwar, je nach SIL, geforderte Maßnahmen und Methoden, allerdings ohne konkrete Beispiele. Damit wird natürlich auch Wissen geschützt, das in Firmen vorhanden ist, die schon länger sicherheitsgerichtete Systeme entwickeln.
Leider ist der Abgleich der Norm- Forderungen mit den eigenen Bedürfnissen sehr zeitintensiv. Die Anforderung an Dokumentation aller Art steigt. Es müssen Prozesse über den Umgang mit sicherheitsbezogenen Systemen im Unternehmen verankert werden und einen Rahmen für die Entwicklung definieren. Für den Erstkontakt können Zertifizierer und externe Spezialisten wertvolle Unerstützung geben.
Für wen ist die IEC 61508 sinnvoll?
Für wen ist die IEC 61508 sinnvoll?
Für Unternehmen, die elektrische oder elektronische Systeme entwickeln und betreiben, die ein Risiko für Mensch und Umwelt darstellen können. Als generische Norm ist die IEC 61508 keiner Branche direkt zugeordnet, sie gilt übergreifend. Dabei ist die IEC61508 bisher allerdings nicht bindend. Sie gilt jedoch als Stand der Technik. Die Nichtbeachtung kann daher im Zweifelsfall haftungsrelevante Auswirkungen haben.
Andererseits befreit die Einhaltung der IEC 61508 nicht von der Verbindlichkeit bestehender Branchen- und Produkt- Normen, so dass hier gegebenenfalls ein erheblicher Mehraufwand zu verschmerzen ist. Daher versuchen diverse Branchen, die IEC 61508 zu integrieren oder die bisherigen Forderungen konform auszugestalten.
Verschiedene Branchennormen wurden oder werden unter Berücksichtigung der IEC61508 überarbeitet, beispielsweise die DIN IEC 61511 für die Prozessindustrie. Machinenbau, Kraftwerkstechnologie, Medizintechnik, Automotive und andere Branchen sind oder werden zeitnah folgen.
Welche Tools und Libraries sollten für sicherheitskritische Systeme eingesetzt werden?
Welche Tools und Libraries sollten für sicherheitskritische Systeme eingesetzt werden?
Nach der Norm sollen verwendete Tools sollen entweder zertifiziert sein, oder es muss nachgewiesen werden, dass diese Tools für sicherheitskritische Entwicklungen geeignet sind. Nach Teil 3 der Norm können diese Tools auch bezüglich der „Betriebsbewährtheit“ bewertet werden.
Diese ist jedoch Auslegungssache, eine Absprache mit dem Zertifizierungspartner ist empfehlenswert. Eine praxisorientierte Sichtweise kann über Verkaufszahlen und Versionslisten eines kontinuierlich gewarteten Tools, wie z.B. Compiler und Linker, erfolgen. Schwierig sind dann Nischenprodukte, die in sehr geringen Stückzahlen auf dem Markt sind.
Quellen aus Libraries oder Code- Generatoren müssen normalerweise vollständig auf Code- Ebene in den gesamten Entwicklungsprozess einbezogen werden, es sei denn sie sind bereits zertifiziert. Daher sind vorkompilierte Bibliotheken ohne Quellcode nur erlaubt, wenn sie nach dem erforderlichen SIL zertifiziert sind. Auch hier gibt es den Passus der Betriebsbewährtheit, der in Applikationssoftware nur schwer zu vertreten sein dürfte.
Vorsicht: In C gibt es Spezifikations- und Definitionslücken Lücken. C-Code kann sich auf einer anderen Umgebung durchaus anders verhalten. Es sind zwar nur wenige Fälle, diese können jedoch gravierende Auswirkungen haben.
(ID:320645)