Konsolidierung mehrerer Embedded-Anwendungen mit einem Separation Kernel

| Autor / Redakteur: Markus Jastroch * / Sebastian Gerstl

Trennung von Anwendungen durch Separation Kernel

Eine strikte Trennung von Anwendungen in Partitionen ist das grundlegende Designprinzip von PikeOS.
Eine strikte Trennung von Anwendungen in Partitionen ist das grundlegende Designprinzip von PikeOS. (Bild: SYSGO)

Die Verwendung unabhängiger Hardwarekomponenten für sicherheitsrelevante und andere Anwendungen sorgt für eine sichere Trennung, führt aber auch zu erhöhten Hardwarekosten. Ein auf einem Separation Kernel basierendes Betriebssystem wie etwa PikeOS von SYSGO ermöglicht dagegen die Trennung von Applikationscode auf derselben Hardwareplattform durch die Aufteilung der physikalischen und zeitlichen Ressourcen der Hardware.

Die Trennung von physikalischen Ressourcen wird als räumliche Trennung oder Ressourcenpartitionierung bezeichnet, während die Trennung der verfügbaren Ausführungszeit als zeitliche Trennung oder Zeitpartitionierung bekannt ist. Das Trennungsprinzip kann mit einem Hypervisor verglichen werden, doch der Hauptunterschied besteht darin, dass ein Separation Kernel die folgenden Fähigkeiten bietet:

  • Unumgehbar: Eine Komponente kann den Kommunikationsweg nicht umgehen, auch nicht mit Lower-Level-Mechanismen.
  • Manipulationssicher: Vermeidung von unbefugten Änderungen durch die Überwachung der Änderungsrechte für den Sicherheitsmonitor-Code, die Konfiguration und die Daten.
  • Immer aktiv: Jeder Zugriff und jede Message wird von den entsprechenden Sicherheitsmonitoren überprüft.
  • Evaluierbar: Vertrauenswürdige Komponenten können hinsichtlich der Sicherheit daraufhin evaluiert werden, ob sie modular, gut entworfen, gut spezifiziert, gut umgesetzt, klein, wenig komplex etc. sind.

In der Nomenklatur eines Separation Kernels werden die isolierten Anwendungsbereiche als Partitionen bezeichnet. Die Trennung von Applikationen in Partitionen sorgt dafür, dass sich die Applikationen nicht gegenseitig stören können, so dass jede Applikation auf ihrem zugeordneten Safety Integrity Level (SIL) arbeiten kann. So kann eine Hardwareplattform Anwendungen gemischter Kritikalitätsstufen verarbeiten. Ein Kommunikations-Stack (z. B. TCP/IP, Web-Server, OPC-US usw.) kann in einer SIL 0-Partition gehostet werden, während eine sicherheitsrelevante Anwendung in einer SIL 4-Partition läuft. Jeder Partitionsinhalt muss in einem solchen Fall für seine jeweilige SIL-Ebene zertifiziert werden.

Hypervisor und Echtzeitbetriebssystem

PikeOS basiert auf einem Mikrokernel mit der Leistung eines traditionellen Echtzeitbetriebssystems. Der Hypervisor stellt Partitionen zur Verfügung, die verschiedene Anwendungen hosten können - von einer einfachen, aber hochkritischen Steuerungsaufgabe bis hin zu einem vollwertigen Betriebssystem wie Linux oder Android. Dies hat zur Folge, dass sichere und unsichere Anwendungen auf derselben Plattform koexistieren können. Komplexe Systeme, die in der Vergangenheit aus mehreren Geräten bestanden, können so auf einer einzigen Hardwareplattform konsolidiert werden. Der PikeOS Hypervisor läuft sowohl auf x86 als auch auf ARM, PowerPC, SPARC V8/LEON oder MIPS und kann problemlos an andere CPU-Architekturen angepasst werden.

PikeOS wurde speziell für die Entwicklung von Software in eingebetteten Systemen mit hohen Sicherheitsanforderungen entwickelt. Mit Echtzeit-Virtualisierung und Partitionierung bietet es alle Funktionen, die für die Entwicklung moderner multifunktionaler und hochintegrierter Geräte erforderlich sind. Die Software-Architektur bildet dabei auch die Grundlage für die Zertifizierung und behördliche Abnahme kritischer Systeme nach den Standards für funktionale Sicherheit und IT-Sicherheit, wie sie z.B. in der Luftfahrt und im Bahnwesen sowie häufig auch bei industriellen und medizinischen Anwendungen erforderlich ist. Die zunehmende Zahl von Softwareanwendungen und Assistenzsystemen im Auto wird auch hier einen deutlichen Trend zu Zertifizierungsanforderungen mit sich bringen.

Da es selbst nach den höchsten Industriestandards zertifiziert ist, stellt PikeOS eine gute Grundlage für kritische Systeme dar, die sowohl funktionale Sicherheit als auch IT-Sicherheitsanforderungen erfüllen müssen. Die Schutzmechanismen beruhen im Wesentlichen auf zwei Prinzipien: strikte Trennung der Anwendungen durch Zeit- und Ressourcen-Partitionierung sowie strikte Kontrolle der Kommunikationskanäle. Die einzelnen Anwendungen, aus denen sich das Gesamtsystem zusammensetzt, können unterschiedliche Kritikalitätsstufen repräsentieren. Durch die von PikeOS bereitgestellten Schutzmechanismen kann die Zertifizierung nach branchenspezifischen Sicherheits- und/oder Sicherheitsstandards für jede Anwendung separat erfolgen - ein wesentliches Merkmal, um die Kosten unter Kontrolle zu halten, zumal die Kosten für die Zertifizierung ohne weiteres die Hälfte der gesamten Entwicklungskosten eines kritischen Systems ausmachen können.

Software-Design zum Schutz kritischer Systeme vor Meltdown und Spectre

Software-Design zum Schutz kritischer Systeme vor Meltdown und Spectre

12.04.18 - Viele kritische Systeme sind anfällig für Meltdown und Spectre, müssen es aber nicht zwangsläufig sein. Die hier beschriebenen Tools und Entwurfsmethoden befähigen Systementwickler dazu, in Hinblick auf diese (und andere) Software- und Hardware-Schwachstellen ein hochgradiges Maß an Leistung und Sicherheit aufrechtzuerhalten. lesen

* Markus Jastroch ist Director Marketing Communications bei der SYSGO AG.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45277850 / Tools & Softwarekomponenten)