Professional Articles

Safety & Security

Safety first? Security ist genauso wichtig

Bei vielen Anwendungen in der Eisenbahn-, Flugzeug- oder Automobilindustrie ist das Zusammenspiel von Safety und Security von besonderer Bedeutung, da sie in vielen Fällen voneinander abhängig sind und daher nicht mehr getrennt betrachtet werden können.

Ob im Schienenverkehr, in der Luftfahrt oder in der Automobilindustrie - elektronische Steuerungssysteme und ihre Entwickler stehen heute vor komplexen Herausforderungen. Einerseits entstehen durch die zunehmende Vernetzung Probleme der funktionalen Sicherheit und der IT-Sicherheit. Andererseits werden zunehmend Standardprodukte eingesetzt und einzelne Steuerelemente müssen Mehrfachaufgaben übernehmen, um Gewicht, Kosten und Energie zu sparen. Gerade in solchen Umgebungen ist das Zusammenspiel von Safety (funktionale Sicherheit) und Security (IT Sicherheit) von besonderer Bedeutung, da es viele Abhängigkeiten zwischen ihnen gibt und sie daher nicht mehr getrennt betrachtet werden können. 

Bei der funktionalen Sicherheit geht es um das unbeabsichtigte Versagen von Komponenten oder Code, während es bei der (IT) Sicherheit um den Schutz vor absichtlichen und meist bösartigen Angriffen geht. Kurz gesagt, Safety schützt die Umgebung vor dem System, während es bei der Security genau umgekehrt ist - sie schützt das System vor der Umgebung. Die funktionale Sicherheit ist seit langem einer der wichtigsten Aspekte der Verkehrstechnik, und es hat sich eine Vielzahl von Normen etabliert, nach denen technische Systeme zertifiziert werden müssen.

  • Die IEC 61508 ist eine industrieunabhängige Grundnorm für die funktionale Sicherheit von elektrischen, elektronischen und programmierbaren Systemen mit Sicherheitsbezug. Sie unterscheidet zwischen vier Kritikalitätsstufen, SIL 4 bis SIL 1 (Safety Integrity Level).
  • DO-178 ist der maßgebliche Standard für die Softwareentwicklung in der Luft- und Raumfahrt. Die Norm kennt fünf Kritikalitätsstufen DAL A bis E (A = katastrophal bis E = keine Auswirkung). 
  • EN 50128 ist eine europäische Norm für die Softwareentwicklung im Zusammenhang mit Eisenbahnanwendungen mit fünf Kritikalitätsstufen (SIL 4 bis SIL 0). Die EN 50129 für die Signaltechnik im Schienenverkehr ist mit dieser Norm verwandt.
  • Die ISO 26262 definiert die Anforderungen an die funktionale Sicherheit von Fahrzeugen im Straßenverkehr. Basierend auf den Sicherheitsintegritätsstufen der EN 61508 definiert sie vier ASIL-Stufen D - A, wobei D für die kritischsten Systeme steht.

Bei der Security (IT Sicherheit) geht es um die Verhinderung von Fehlern, die zu unberechtigtem Zugriff auf oder Manipulation von Daten oder Systemen führen können. Dabei geht es vor allem darum, Schwachstellen durch IT-Sicherheitsmaßnahmen zu vermeiden oder deren Ausnutzung durch Angriffe unmöglich zu machen. Auch für sicherheitskritische Systeme gibt es internationale Sicherheitsstandards, von denen nur wenige branchenspezifisch sind.

  • ISO 15408, besser bekannt als CC oder Common Criteria (für Information Technology Security Evaluation), ist der weltweit wichtigste Standard zur Prüfung und Bewertung der Sicherheitseigenschaften von IT-Produkten. Sie führt sieben Bewertungsstufen (EAL 1 - 7) für die Vertrauenswürdigkeit ein. 
  • EUROCAE ED 202 bietet Entwicklern und Zertifizierungsstellen eine Anleitung für Luftfahrtsysteme, die durch menschliche Interaktion beeinflusst werden und die Sicherheitseigenschaften eines Flugzeugs beeinträchtigen können.
  • Die SAE (ehemals Society of Automotive Engineers) arbeitet an einer Reihe von Normen zu verschiedenen Aspekten von IT-Systemen in Automobilen und führt den Begriff ACsIL (Automotive Cybersecurity Integrity Level) ein, der auf den Safety Integrity Levels im 2016 veröffentlichten Draft J3061 basiert. Die ISO arbeitet derzeit an ISO 21434 (Road Vehicles - Cybersecurity Engineering).

Bei funktionalen Sicherheitsfehlern (Safety) handelt es sich in der Regel um zufällige Fehler, die als "freundliche" Fehler in einer sicheren Umgebung betrachtet werden. Hinzu kommen zufällige und systematische Fehler wie elektromagnetische Strahlung, Hardwarefehler, Spezifikations- und Designfehler oder Softwarefehler. Dabei müssen alle sicherheitsrelevanten Funktionen (z.B. Echtzeitverhalten) berücksichtigt werden. Die Expositionszeit, d.h. der Zeitraum, in dem das System dem Fehler ausgesetzt ist, kann das Auftreten eines Fehlers beeinflussen oder auch nicht.

Bei der IT Sicherheit (Security) hingegen geht es in der Regel um absichtliche Fehler, die durch interne oder externe Angriffe verursacht werden. Neben solchen Angriffen müssen jedoch auch systematische Fehler wie Konstruktionsfehler, Softwarefehler, schwache Passwörter oder kryptografische Schlüssel sowie unerwartete versteckte Kanäle berücksichtigt werden. Die Expositionszeit beeinflusst typischerweise den Erfolg und die Folgen eines Angriffs.

Obwohl oder gerade weil die Common Criteria Standards völlig technologie- und branchenunabhängig sind, bieten sie in Verbindung mit den meist branchenspezifischen funktionalen Sicherheitsstandards eine gute Grundlage für die Entwicklung kritischer eingebetteter Systeme. Insbesondere ist es möglich, einzelne Systeme einem EAL-Level (Evaluation Assurance Level) zwischen 1 und 7 zuzuordnen (von den geringsten bis zu den höchsten Anforderungen an Design, Test und Verifikation). Man sollte sich jedoch darüber im Klaren sein, dass CC-zertifizierte Produkte nicht die Abwesenheit von Schwachstellen garantieren, sondern nur, dass die Test- und Prüfziele erreicht wurden und eine dem Stand der Technik entsprechende Schwachstellenanalyse durchgeführt wurde.

Während die Anwendung guter Software-Praktiken, vor allem im Hinblick auf Verifikation und Validierung, bei sicherheitsrelevanten Themen aufgrund der strengen Zertifizierungsanforderungen längst etabliert ist, besteht bei der IT Sicherheit oft noch Nachholbedarf. Im Gegenzug reagiert die IT Sicherheitsindustrie sehr schnell auf Veränderungen. Auch im Bereich der funktionalen Sicherheit müssen Techniken entwickelt werden, um die Zeit für Änderungen an zertifizierten Systemen zu verkürzen.

Die heutigen modularen Systeme bieten eine verbesserte Konnektivität, die gemeinsame Nutzung von Ressourcen zwischen Anwendungen unterschiedlicher Kritikalitätsstufen auf demselben Computer und fördern die Verwendung von Standard- oder COTS-Produkten (Commercial-Off-the-Shelf) in sicherheitsrelevanten Systemen. Diese Entwicklungen bringen Vorteile wie geringere Entwicklungs- und Wartungskosten oder Einsparungen bei Gewicht und Energieverbrauch mit sich, bedeuten aber unter dem IT Sicherheitsaspekt auch eine Vergrößerung der Angriffsfläche für bösartige Programme. Außerdem erhalten potenzielle Angreifer durch die Verwendung von COTS-Hardware und -Software mehr Informationen über mögliche Schwachstellen, die zum Teil öffentlich zugänglich sind. Dies betrifft sowohl die Kommunikation zwischen räumlich getrennten Anwendungen als auch die Kommunikation zwischen Anwendungen in verschiedenen Partitionen auf demselben Steuergerät.

Das Hauptproblem bei der Verwendung von COTS und der Konsolidierung verschiedener Anwendungen auf einer Hardware ist die strikte Trennung der einzelnen Anwendungen voneinander, so dass Probleme mit einer Anwendung keine Auswirkungen auf andere haben können. Dies erfordert eine strikte Partitionierung der verfügbaren Ressourcen, damit die Anwendungen tatsächlich völlig unabhängig voneinander laufen können. Partitionierung und Trennung sind auch die Eckpfeiler des MILS-Konzepts (Multiple Independent Layers of Security), das eine mehrschichtige IT Sicherheitsarchitektur (Security) für die Koexistenz von vertrauenswürdigen und nicht vertrauenswürdigen Komponenten auf der Grundlage von überprüfbaren Trennungsmechanismen und kontrollierten Informationsflüssen beschreibt (Abbildung 1).


Abbildung 1: Das MILS-Konzept ermöglicht die Koexistenz von vertrauenswürdigen und nicht vertrauenswürdigen Komponenten auf einer einzigen Plattform

Das MILS-Konzept erfordert ein (Echtzeit-)Betriebssystem, das in der Lage ist, Anwendungen oder Prozesse und deren Ressourcen strikt zu trennen - sowohl räumlich als auch zeitlich. Ein solches System wird auch als Separationskernel bezeichnet - ein Beispiel dafür ist PikeOS des deutschen Herstellers SYSGO (Abbildung 2).


Abbildung 2: PikeOS kann für Implementierungen des MILS-Konzepts verwendet werden - in diesem Fall in der Automobilindustrie

Eine Separation der Kernel-Architektur erleichtert dem Systemintegrator ein klar strukturiertes Design, in dem funktionale Sicherheitsanwendungen mit weniger sicheren Anwendungen im selben System koexistieren, ohne Kompromisse zwischen Safety und Security einzugehen. So können beispielsweise Linux-Gäste, die für die externe Kommunikation über komplexe Netzwerkdienste zuständig sind, mit Anwendungen auf einer höheren Sicherheitsstufe zusammenarbeiten. Diese Anwendungen mit höherem IT Sicherheitsniveau und die zugehörigen Geräte bleiben durch Partitionierung strikt von der Außenwelt getrennt. Da PikeOS nicht nur eine räumliche, sondern auch eine zeitliche Partitionierung unterstützt, ermöglicht es auch die Implementierung komplexer zeitgesteuerter Anwendungen.

Ein robuster Partitionierungsansatz ist sowohl für Security- als auch für Safety-Anwendungen von Vorteil und wird in praktisch allen oben genannten Standards mehr oder weniger explizit gefordert. Eine robuste Zeitpartitionierung ermöglicht z. B. die Koexistenz von Echtzeit- und Nicht-Echtzeit-Anwendungen auf einer einzigen Hardware. Darüber hinaus schafft diese Trennung unabhängige Sicherheitsdomänen für Anwendungen unterschiedlicher Kritikalität und erleichtert damit auch die Zertifizierung erheblich, da Anwendungen in unterschiedlichen Sicherheitsdomänen unabhängig voneinander zertifiziert werden können.

Mehr Informationen unter www.sysgo.com/pikeos

PikeOS RTOS & Hypervisor

PikeOS
RTOS & Hypervisor

Learn more

PikeOS for MPU

PikeOS for MPU

Learn more

ELinOS Embedded Linux

ELinOS
Embedded Linux

Learn more

Need more Information?


Contact us