Entwicklung und Zertifizierung – deutlich vereinfacht
Das Echtzeitbetriebssystem (RTOS) und Virtualisierungssystem PikeOS ermöglicht die Entwicklung und den Betrieb sicherheits-zertifizierter Anwendungen auf einer gemeinsamen Hardware-Plattform.
Anbieter zum Thema

Fahrerassistenzsysteme und autonomes Fahren sind neben der Elektromobilität derzeit die wichtigsten Schwerpunkte in der Automobilentwicklung. Schon heute sind viele Funktionen in Automobilen vollständig oder teilweise automatisiert; Fahrerassistenzsysteme wie Abstandswarner, Rückfahrkameras oder Einparkhilfen finden Zugang in die Serienproduktion selbst kleiner und mittlerer Fahrzeuge. Komplett autonom fahrende PKW, Busse und auch LKW sind auf öffentlichen Straßen im Testbetrieb; erste Serienfahrzeuge können sich zumindest teilautonom bewegen.
Allerdings ist es noch ein großer Schritt hin zur kompletten Autonomie, die nicht nur entsprechende Systeme im Auto voraussetzt, sondern auch eine intelligente Infrastruktur sowie eine standardisierte Vehicle-to-Vehicle-Kommunikation (V2V). Zudem sind rechtliche Fragen zu klären, etwa zur Verantwortlichkeit bei Unfällen, und weitere große Themen sind Datenschutz und Sicherheit.
Das autonome Fahrzeug kommuniziert intensiv und produziert eine Vielzahl personenbezogener Daten. Dabei geht es nicht nur um Bewegungsprofile – schon heute gibt es Innenkameras, die anhand der Mimik erkennen, wann der Fahrer müde wird. Einige Hersteller testen Sensor-Arrays, die anhand der Reaktionen des Fahrers oder auch der Beifahrer einen reduzierten Blutzuckerspiegel und ähnliches diagnostizieren sollen. Diese Daten müssen ebenso geschützt werden wie private Daten aus dem trauten Heim.
Bei der Cybersicherheit geht es dagegen vor allem darum, kritische Systeme vor unerlaubten Zugriffen und vor allem vor Manipulation zu schützen. Diese Anforderung wird umso wichtiger, je mehr sicherheitskritische und unkritische Anwendungen innerhalb des Fahrzeugs betrieben werden und miteinander logisch oder physisch verbunden sind. So basieren viele Entertainment-Systeme auf dem vergleichsweise unsicheren Betriebssystem Android.
Sollte ein Angreifer Zugriff auf solche Systeme erlangen, ist das zwar lästig, aber nicht gefährlich. Kann er über dieses Einfallstor aber auf sicherheitskritische Systeme zugreifen, ändert sich das sofort dramatisch. Es ist daher unabdingbar, solche Anwendungen mit unterschiedlichen Kritikalitäts-Levels strikt zu trennen.
Allerdings läuft dies einem anderen wichtigen Bestreben der Hersteller diametral entgegen. Sie wollen den derzeitigen Wildwuchs in der Automobilelektronik dramatisch verringern und möglichst einheitliche Plattformen und Kommunikationskanäle für die unterschiedlichen elektronischen Komponenten einführen. Damit verfolgen sie das Ziel, Hardware- und auch Entwicklungskosten zu sparen, denn jede Plattform benötigt unterschiedliche Tools und Expertise. Interessant ist es für sie zudem, elektronische Komponenten modellübergreifend einsetzen zu können, vergleichbar mit den seit etwa Anfang des Jahrtausends populären Plattformstrategien bei mechanischen Komponenten.
Hersteller streben nach Konsolidierung und Standardisierung
Heutige Automobile besitzen bis zu 100 verschiedene Prozessoren für die unterschiedlichsten Funktionen und bis zu sieben Busse für die Kommunikation zwischen ihnen und den Sensoren bzw. Aktoren. Entsprechend komplex ist die Software-Umgebung – 100 Millionen Codezeilen sind im PKW keine Seltenheit. Die Konsolidierung auf wenige Hardware-Plattformen und Ethernet als einheitlichen Kommunikationskanal bietet daher ein erhebliches Einsparpotential. Allerdings muss bei dieser Konsolidierung gesichert bleiben, dass einzelne Anwendungen, insbesondere die sicherheitskritischen, strikt von allen anderen getrennt sind, selbst wenn sie auf der gleichen Hardware laufen.
PikeOS zur sicheren Trennung von Anwendungen
Mit PikeOS von SYSGO steht Entwicklern eine Umgebung zur Verfügung, die eine solche Trennung gewährleistet und sich bereits in der Flugzeugindustrie mit ihren mindestens ebenso hohen Sicherheitsanforderungen bewährt hat. PikeOS stellt eine modulare Software-Architektur dar, die mehrere Embedded-Anwendungen auf einer einzigen Hardware-Plattform integriert. PikeOS umfasst sowohl ein volles Echtzeit-Betriebssystem (Hard RTOS) als auch ein Virtualisierungs- und Partitionierungssystem, um die besonderen Anforderungen von Anwendungen in der Automobilindustrie zu unterstützen. Die Basis der PikeOS-Plattform ist ein kleiner, zertifizierbarer Microkernel, der eine Virtualisierungs-Infrastruktur zur Verfügung stellt. Damit ist es möglich, verschiedene Anwendungen und Ressourcen in sicheren, individuellen Partitionen zu platzieren.
Da Automotive-Anwendungen von nicht-kritischen Infotainment-Systemen bis hin zu hochkritischen Steuerungsfunktionen im Auto reichen, bietet PikeOS entsprechend eine breite Palette an Gastbetriebssystemen, sogenannten „Guest-OS“: von POSIX über Linux und Android bis AUTOSAR oder GENIVI. Dank der strengen Trennung der einzelnen Partitionen voneinander können Anwendungen verschiedener Kritikalitätsniveaus und mit unterschiedlichen Sicherheitsniveaus in einer gemischten Umgebung auf einer einzigen Standard-Hardware-Plattform laufen. Dank der integrierten Zeit-Partitionierung ist es dabei unerheblich, ob es sich um Echtzeit-Applikationen handelt oder nicht.
Hypervisor und Echtzeit- betriebssystem (RTOS)
PikeOS basiert auf einem Microkernel mit der Leistung eines herkömmlichen Echtzeitbetriebssystems. Der Hypervisor bietet Partitionen, die verschiedene Anwendungen hosten können - von einer einfachen, aber höchst kritischen Steuerungsaufgabe bis hin zu einem vollwertigen Betriebssystem wie Linux oder Android. Infolgedessen können sichere und nicht sichere Anwendungen auf der gleichen Plattform koexistieren. Komplexe Systeme, für die in der Vergangenheit multiple Geräte benötigt wurden, können damit auf einer einzigen Hardware konsolidiert werden. Das reduziert Gewicht, Energieverbrauch sowie Verkabelungsaufwand und verkleinert die Stückliste. Der PikeOS-Hypervisor läuft auf x86 sowie ARM, PowerPC, SPARC V8 / LEON oder MIPS und kann leicht an andere CPU-Architekturen angepasst werden.
Sehr interessant ist der Einsatz von Hypervisoren wie PikeOS auf Multicore-CPUs. Zum einen unterstützen multiple Cores by Design die Trennung von Anwendungen, zum anderen bieten sie auch die Performance, die dafür benötigt wird. Allerdings ist die Zertifizierung von Multicore-Systemen sehr komplex, und viele zertifizierte Systeme nutzen tatsächlich nur einen Kern. Werden allerdings unterschiedliche Funktionen in einer einzelnen Software gebündelt, die unter einem Echtzeit-Betriebssystem auf nur einem CPU-Kern läuft, können sehr leicht Interferenzen zwischen den Funktionen auftreten – die strikte Trennung ist nicht gewährleistet.
Beispielsweise kann die Auswirkung einer Anwendung auf das Laufzeitverhalten einer anderen Anwendung zu Sicherheitsproblemen führen, etwa das Überschreiten von Fristen bei Echtzeitanwendungen. Auf ähnliche Weise können Timing-Effekte aufgrund der gemeinsamen Nutzung der Systemressourcen, wie Caches und Speicherbusse, zu verborgenen Informationskanälen führen, die gegen die Vertraulichkeitsanforderungen der Anwendung verstoßen.
Sicherheit und Zertifizierung von Anwendungen
Der PikeOS-Hypervisor selbst ist nach höchsten Industriestandards zertifiziert und damit eine geeignete Grundlage für kritische Systeme, in denen sowohl funktionale Sicherheit als auch IT-Sicherheit gewährleistet sein müssen. Die Schutzmechanismen basieren dabei im Wesentlichen auf zwei Grundsätzen: strikte Trennung der Anwendungen durch Zeit- und Ressourcen-Partitionierung sowie Steuerung der Kommunikations-Kanäle. Die einzelnen Anwendungen innerhalb des Gesamtsystems können dabei unterschiedliche Kritikalitäts-Level besitzen.
Aufgrund dieser Schutzmechanismen von PikeOS kann die Zertifizierung nach branchenspezifischen Safety- und Security-Standards für jede Anwendung separat durchgeführt werden – ein wesentliches Merkmal, um die Kosten unter Kontrolle zu halten. Zudem war PikeOS die erste Plattform, die auch eine SIL 4-Zertifizierung in Multicore-Umgebungen erhielt.
ISO 26262 und SEooC (Safety Elements out of Context)
Die ISO 26262 ist ein internationaler Standard, der den Sicherheitslebenszyklus von elektrischen, elektronischen und Software-basierten Komponenten in PKW definiert. Basierend auf der IEC 61508 reduziert ISO 26262 die Gefahr des Auftretens von gefährlichen Betriebssituationen und definiert Sicherheitsmaßnahmen, die das Ausfallrisiko reduzieren.
Um die Anforderungen der ISO 26262 zu erfüllen, wird PikeOS optional mit einem Automotive Certification Kit angeboten, in das die langjährige und umfassende Zertifizierungs-Expertise von SYSGO eingeflossen ist. Das Zertifizierungskit enthält einen ISO 26262 Teil 6 konformen PikeOS-Hypervisor sowie umfassende Dokumentationshilfen für Entwicklung und Test. Weiterhin können zusätzliche Sicherheitsinformationen bereitgestellt werden, um ISO 26262-konforme Systeme zu erreichen. Wichtige Bestandteile dieser Zertifizierungskits sind ein Sicherheitshandbuch mit Richtlinien für die Verwendung von PikeOS in sicherheitskritischen Designs von Systemen sowie eine Fallstudie mit charakteristischen funktionalen Sicherheitsanforderungen entsprechend der jeweils erforderlichen Automotive Safety Integrity Levels (ASIL).
* Thomas Hertel ist freier Journalist.
Artikelfiles und Artikellinks
(ID:43745378)