Zertifizierung Sichere Software für den Schienenverkehr

Hardware- und Software-Systeme, die in Schienenverkehrssystemen eingesetzt werden, müssen besondere Anforderungen hinsichtlich der Sicherheit erfüllen. Welche Normen involviert sind und wie man zu einer Software kommt, die diesen Normen gerecht wird, zeigt dieser Beitrag.

In Eisenbahnen, Straßenbahnen und der Schienenverkehrsinfrastruktur werden immer mehr Systeme durch Elektronik ersetzt, die bisher mechanisch oder sogar manuell gesteuert wurden. Dies gibt den Schienenverkehrssystemen mehr Flexibilität, sodass in Echtzeit Anpassungen zur Steigerung der Geschwindigkeit, zur Änderung des Fahrwegs und zur Komfortverbesserung für die Fahrgäste möglich sind. Die neuen elektronischen Steuerungs- und Überwachungssysteme bieten viele Vorteile für den sicheren Betrieb dieser Verkehrsmittel. Sie unterliegen allerdings Vorschriften, die ein gründliches Testen und Dokumentieren vorschreiben und die Einhaltung bestimmter Industriestandards bei der Hard- und Software- Entwicklung verlangen.

In anderen Branchen haben sich ähnliche Entwicklungen vollzogen. Zum Beispiel müssen sicherheitskritische Systeme im Bereich der Avionik strikte Anforderungen erfüllen, um die Zertifizierung durch staatliche Aufsichtsbehörden zu erhalten. Vergleichbares gilt für die Medizintechnik, die in Europa den Normen IEC 60601 und IEC 62304 unterliegt, um die korrekte Funktion der Software medizinischer Geräte zu gewährleisten.

Da im Bereich des Schienenverkehrs eine größere Zahl elektronischer Systeme ins Spiel kommt, muss alles Notwendige getan werden, um den korrekten Betrieb dieser anspruchsvollen Systeme zu gewährleisten. Wie wichtig dies ist, verdeutlicht das Beispiel einer Störung im Stellwerk Hamburg- Altona im Jahr 1995 [1]:

„Die Deutsche Bahn wollte das in die Jahre gekommene Stellwerk im Bahnhof Hamburg-Altona durch ein voll computergesteuertes Stellwerk der Firma Siemens ersetzen. Unmittelbar nach dem Hochfahren der neuen Systeme aber fiel der Zentralrechner aus. Nachdem Siemens-Fachleute stundenlang vergeblich nach der Ursache gefahndet hatten, entschloss sich die Deutsche Bahn, den gesamten Bahnhof zu schließen. Die Fahrgäste mussten ihre Reise daraufhin teils an Bahnhöfen in bis zu 25 km Entfernung antreten. Die Suche nach dem Fehler gestaltete sich schwierig, weil dieser sehr selten auftrat. Es dauerte zwei volle Tage, bis die Experten entdeckten, dass es unter bestimmten Umständen zu einem Stack-Überlauf kam. Als nächstes wurde deshalb die Routine untersucht, die eigentlich für den Umgang mit solchen Stack-Überläufen vorgesehen war. Wie sich herausstellte, geriet diese Routine infolge eines Programmierfehlers in einen Deadloop. In einer Pressekonferenz argumentierte der verantwortliche Siemens- Manager, derart ,verborgene’ Fehler seien schwierig zu finden. Die Fachleute des Unternehmens wären davon ausgegangen, dass die für StackÜberläufe zuständige Routine nie gebraucht würde.“

Dieses Beispiel zeigt: Die in sicherheitskritischen Systemen verwendete Software ist ein kritisches Element für den ordnungsgemäßen Betrieb. In den meisten Fällen handelt es sich bei der Software um ein Applikationsprogramm, das auf einem Betriebssystem läuft.

Im Fall des Stellwerks Hamburg- Altona wäre man gut beraten gewesen, ein kommerzielles Echtzeit-Betriebssystem (Real-Time Operating System – RTOS) zu verwenden, das auf analytischem Weg die von der Applikation maximal benötigte Stack-Größe ermitteln kann. Mit einem solchen Tool hätte sich die Störung von vornherein vermeiden lassen. Tools wie StackX von Express Logic sind in der Lage, den maximalen Stack-Bedarf durch Auswertung einer ausführbaren .elf-Datei zu ermitteln.

Bahn-Sicherheitsstandards ergänzen die IEC 61508

Wegen der hohen Priorität, die der sichere Betrieb elektronischer Systeme hat, aber auch als Folge von Vorfällen, wie sie in Hamburg-Altona passiert sind, befassen sich verschiedene staatlich finanzierte Stellen und unabhängige technische Normungs-Organisationen mit der Festlegung von Vorschriften für sicherheitskritische Systeme. Die International Electrotechnical Commission (IEC), die weltweit tätig ist, propagiert die internationale Zusammenarbeit in allen Fragen, die die Standardisierung in der Elektrotechnik und Elektronik betreffen. IEC 61508, der internationale Standard für elektrische, elektronische und programmierbare elektronische Systeme, legt fest, welche Anforderungen an das Design, die Implementierung, den Betrieb und die Wartung eingehalten werden müssen, um den erforderlichen „Safety Integrity Level“ (SIL) attestiert zu bekommen.

In Europa regelt das Europäische Komitee für elektrotechnische Normung (CENELEC) die europäischen Eisenbahn-Standards, die sich zunehmend auch bei den Eisenbahnen und öffentlichen Verkehrsmitteln in Nordamerika durchsetzen. In der Regel werden die CENELEC-Standards EN 50126, EN 50128 und EN 50129 angewandt, um eine angemessene Sicherheits- Analyse für folgende Systeme zu definieren:

  • EN 50126 bezieht sich auf Zuverlässigkeit, Verfügbarkeit, Instandhaltbarkeit und Sicherheit des gesamten Eisenbahnsystems.
  • EN 50128 bezieht sich auf sicherheitsrelevante Software für Eisenbahn- Steuerungs- und -Sicherungssysteme.
  • EN 50129 bezieht sich auf sicherheitsrelevante elektronische Steuerungs- und Sicherungssysteme.

Die IEC-Standards werden auf verschiedenen Safety Integrity Levels angewandt, die abhängig vom Einsatzgebiet des jeweiligen Systems unterschiedliche Kritikalitätsgrade wiedergeben. Die Norm IEC EN 61508 skizziert die Tolerierung einer Ausfallwahrscheinlichkeit auf jeder Ebene, wobei die kritischsten Aspekte des Systems (d.h. SIL 4) die niedrigste Ausfalltoleranz haben. Wie in Tabelle 1 genauer dargestellt ist, legt der Standard eine Ausfallwahrscheinlichkeit (Probability of Failure on Demand, PFD) und einen Risiko-Reduzierungsfaktor (Risiko-Reduzierungsfaktor, RRF) für jede Sicherheitsanforderungsstufe fest.

SIL Ausfall-Wahrscheinlichkeit Risiko-Reduzierungsfaktor
10,1 - 0,01
10 - 100
20,01 - 0,001
100 -1000
30,001 - 0,00011000 - 10.000
40,0001 - 0,0000110.000 - 100.000
Tabelle 1. Ausfallwahrscheinlichkeit und Risiko-Reduzierungsfaktor der einzelnen Sicherheitsanforderungsstufen (SIL).

Unter der Ausfallwahrscheinlichkeit versteht man die Wahrscheinlichkeit dafür, dass das System versagt, wenn es eine bestimmte Funktion ausführen soll, für die es ausgelegt ist. Der Risiko-Reduzierungsfaktor sagt aus, wie weit das Risiko durch Implementierung des entsprechenden SIL-Systems gesenkt werden kann.