Derzeit übliche Software-Architekturen im Auto stoßen angesichts der Marktanforderungen an ihre Grenzen: Moderne Fahrer erwarten Head-Units mit umfangreichen Infotainment- und Telematik-Systemen sowie den Zugriff auf immer bessere Fahrerassistenzsysteme. Dafür sind leistungsstarke Prozessoren nötig, weshalb zusehends Multicore-Technologie ins Auto einzieht. Wenn aber weiterhin für jede Funktion ein eigenes Steuergerät zuständig ist, dann steigt die Menge dieser Embedded-Computer über alle Maße. Bei all dem stellen Funktionssicherheit und Angriffsschutz eine Grundvoraussetzung dar. Es ist wohl an der Zeit, die Architekturen zu hinterfragen.

Auf einen Blick

Das Forschungsprojekt Virtu-OS untersuchte, inwieweit sich Avionik-Software auch im Auto verwenden lässt. Flugzeugbauer müssen sich längst mit der enormen Komplexität von Steuergeräten befassen, wie sie sich nun auch im Auto abzeichnet. Ihre Lösung: Mit Virtualisierung die Zahl der Steuergeräte senken und die Systeme stärker partitionieren. Dieser Ansatz passt auch fürs Auto, sogar die Sicherheitsstandards lassen sich aufeinander abbilden.

Ein im Kfz neuer Lösungsansatz ist Virtualisierung. Das heißt, dass Betriebssysteme nicht mehr die physische, sondern eine virtuelle Hardware nutzen. Typischerweise basiert Virtualisierungstechnologie auf einem Mikrokern. Er erzeugt verschiedene logische Software-Partitionen auf einem Single- oder Multicore-Prozessor. Der Mikrokern sorgt für die Unabhängigkeit der einzelnen Partitionen und verhindert, dass sie sich gegenseitig unkontrolliert beeinflussen. Somit können in den Partitionen verschiedene Betriebssysteme ablaufen, auch solche mit sehr unterschiedlichen Anforderungen. Die Betriebssysteme merken davon in der Regel nichts und wähnen sich allein auf ihrer Hardware. Die Abschottung der einzelnen Partitionen voneinander bildet zusätzlich einen Schutz vor böswilligen Angriffen.

Bild 1: Airbus verwendet den Mikrokern Pike-OS der Firma Sysgo für sein militärisches Transportflugzeug Airbus A400M. Coqos basiert auf diesem Kernel und ermöglicht so die Integration dieser sicheren Software ins Auto.

Bild 1: Airbus verwendet den Mikrokern Pike-OS der Firma Sysgo für sein militärisches Transportflugzeug Airbus A400M. Coqos basiert auf diesem Kernel und ermöglicht so die Integration dieser sicheren Software ins Auto.Open Synergy

Über den Wolken

In der Avionik werden Mikrokerne bereits seit über zehn Jahren serienmäßig eingesetzt. Hier stieg die Zahl der Funktionen schon sehr viel früher als im Auto und die Flugzeugentwickler mussten eine Gewichtszunahme durch immer mehr Steuergeräte dringend vermeiden. So ermöglichte der Mikrokern Pike-OS der Firma Sysgo die Integration vieler Funktionen auf einer einzelnen Hardware. Airbus zum Beispiel verwendet diesen Mikrokern für sein Langstreckenflugzeug A350 und das militärische Transportflugzeug A400M (Bild 1).

Vor diesem Hintergrund überlegen manche Automobilhersteller und Zulieferer längst, Virtualisierung auch im Auto zu verwenden. Das Berliner Softwareunternehmen Open Synergy begann 2007 damit, einen entsprechenden Mikrokern zu entwickeln und ihn mit einer Autosar-Schnittstelle zu kombinieren. Daraus entstand die offene Standardplattform Coqos. Heute ist diese Plattform mit dem erwähnten Mikrokern Pike-OS ausgestattet (Bild 2).

Bild 2: Der Coqos-Demonstrator auf einem Freescale i.MX6-Quadqore zeigt, wie Pike-OS in Coqos logische Partitionen erzeugt. Der Informationsfluss zwischen Infotainment- und Autosar-Partition wird durch kryptografische Technologie von Secunet PU geschützt.

Bild 2: Der Coqos-Demonstrator auf einem Freescale i.MX6-Quadqore zeigt, wie Pike-OS in Coqos logische Partitionen erzeugt. Der Informationsfluss zwischen Infotainment- und Autosar-Partition wird durch kryptografische Technologie von Secunet PU geschützt.Open Synergy

Unabhängig auf der Straße

Dank des Mikrokerns bietet Coqos voneinander unabhängige Partitionen, in denen Softwaresysteme mit unterschiedlichen Zeitanforderungen und Sicherheitsansprüchen laufen können, ohne dass sie sich gegenseitig beeinflussen können. Dank Gast-Betriebssystemen wie Linux oder Android lässt sich Open-Source-Software für Automotive-Systeme nutzen. Modulares Booten und eine Fast-Boot-Technologie stellen sicher, dass sicherheitskritische Funktionen sehr schnell bereit stehen, obwohl Infotainment-Software auf derselben Hardware integriert ist und länger zum Starten braucht.

Spezielle Treiber ermöglichen sogar, dass unterschiedlichen Partitionen die Hardware-Ressourcen gemeinsam nutzen, zum Beispiel Audio oder Video ausgeben. 2013 wird mit Coqos das erste Automotive-Steuergerät in Serie gehen, das auf einer Mikrokern-basierten Architektur und einem virtualisierten Linux basiert (Bild 3).

Bild 3: Der CAN-Bus übermittelt den Batteriestatus an die Infotainment-Partition. Je nach Geschwindigkeit zeigt die Head-Unit an, wie weit das Fahrzeug noch kommt, bevor es eine Ladung benötigt.

Bild 3: Der CAN-Bus übermittelt den Batteriestatus an die Infotainment-Partition. Je nach Geschwindigkeit zeigt die Head-Unit an, wie weit das Fahrzeug noch kommt, bevor es eine Ladung benötigt.Open Synergy

Damit hat Virtualisierungstechnologie den Weg ins Auto gefunden. Möglich wurde dieser Schritt durch die Wiederverwendung einer Software, die für Flugzeuge entwickelt wurde. Es stellt sich die Frage, ob Automobilhersteller auch weitere Software aus der Avionik im Auto wiederverwenden können? Entspricht die Weiterentwicklung dieser Software für Automotive-Zwecke der ISO 26262?

Sicher am Boden und in der Luft

Diesen Fragen untersuchten die Technische Universität Berlin, das Fraunhofer-Institut für Rechnerarchitektur und Softwaretechnik (FIRST) und das Berliner Softwareunternehmen Open Synergy im Rahmen des dreijährigen Forschungsprojektes Virtu-OS. Dessen Name steht für „Virtuelle Architekturen für sichere Automotive-Softwaresysteme mit domänenübergreifender, sicherheitsrelevanter Kommunikation“. Das Forschungsprojekt wurde durch die TSB Technologiestiftung Berlin aus Mitteln des Zukunftsfonds des Landes Berlin gefördert und kofinanziert von der Europäischen Union – Europäischer Fonds für Regionale Entwicklung.

Die Projektpartner ermittelten unter anderem, dass Avionik-Sicherheitsstandards wie DO-178B grundsätzlich mit Sicherheitsstandards für Automotive-Software wie ISO 26262 vergleichbar sind. DO-178B beschreibt Ziele für Prozesse, Arbeitsergebnisse und Interaktionen mit der Zertifizierungsbehörde, um fehlerfreie Software für den Betrieb in Flugzeugen zu erstellen. Das entspricht den Anforderungen der ISO 26262, die die funktionale Sicherheit bei der Entwicklung von sicherheitskritischen Automotive-Systemen gewährleistet.

FIRST analysierte unter anderem diese beiden Standards. Da die Validierung von Schedules eine wichtige Voraussetzung für den Einsatz in sicherheitskritischen Bereichen ist, untersuchte das Fraunhofer FIRST Scheduling-Methoden und erarbeitete ein Scheduling-Konzept zur sicheren Software-Partitionierung. Diese Methoden dienen als Grundlage für Tools, mit denen sichere Automotive-Software hergestellt wird.

Fehler früh vermeiden

Beide Standards gehen davon aus, dass sich Funktionssicherheit nur dann herstellen lässt, wenn die Beteiligten schon im Entwicklungsprozess Fehler vermeiden. Es muss daher Maßnahmen geben, die diese Fehlervermeidung sicherstellen. In diesem Zusammenhang steht der Beitrag des Fachgebietes Softwaretechnik SWT am Institut für Softwaretechnik und Theoretische Informatik der TU Berlin. Es entwickelte ein Verifikationskonzept zur Fehlerfindung bei der Anwendung externer Softwarebibliotheken. Dabei verwendet das Institut statische Codeanalyse. Diese kann helfen, Software schon bei der Entwicklung sicher zu machen. Die statische Codeanalyse findet Programmierfehler im Quelltext frühzeitig.

Die Projektpartner untersuchten und entwickelten darüber hinaus weitere Prozesse, Werkzeuge und Methoden für nachweisbar sichere Automotive-Embedded-Software. Im diesem Rahmen überprüften und konkretisierten sie die Anforderungen aus der ISO 26262 an die Coqos-Plattform und passten Teile der Plattform gemäß dieser Anforderungen an. Im Zusammenhang mit der Integration des Avionik-Mikrokerns Pike-OS in Coqos prüften und bestätigten die Projektpartner die Übertragbarkeit von Safety-Normen aus der Avionik auf die Automobilwelt.

Die kleinen Unterschiede

Allerdings gibt es auch Unterschiede: So fordert die ISO 26262 im Gegensatz zur DO-178B Maßnahmen für den Betrieb im Feld, zum Beispiel das Erstellen von Wartungsplänen. Außerdem gibt es im Gegensatz zum Avionik-Standard keine Zertifizierungsstelle für ISO 26262. Trotzdem kann man sowohl den angenommenen Softwarelebenszyklus und einen Großteil der Arbeitsprodukte aufeinander abbilden.

Es gibt also kein grundlegendes Hindernis für die Vergleichbarkeit der Sicherheitsstandards. Im Gegenteil: die Untersuchungen im Rahmen von Virtu-OS kommen zu dem Ergebnis, dass man praktisch alle Artefakte aus DO-178B für die Entwicklung nach ISO 26262 wiederverwenden kann. Eine vorhergehende Zertifizierung nach dem Avionikstandard bringt sogar einen Vorteil für die Automotive-Software-Entwicklung nach ISO 26262 mit sich.

Bild 4: Typisches Systemdesign bei Verwendung von Coqos (links) im Vergleich zur Integrated-Modular-Avionics-Architektur.

Bild 4: Typisches Systemdesign bei Verwendung von Coqos (links) im Vergleich zur Integrated-Modular-Avionics-Architektur.Open Synergy

In Bild 4 ist links das typische Systemdesign beim Einsatz von Coqos zu sehen. Es zeigt, dass sich mehrere sehr unterschiedliche Funktionen über ein µOS integrieren lassen. Das µOS basiert dabei auf einem Mikrokern, der die sichere Trennung der einzelnen Funktionen gewährleistet. Auf der rechten Seite der Grafik ist zu erkennen, dass die Architekturen für IMA-basierte Systeme nach demselben Prinzip erstellt werden.

Sicher virtuell

Virtualisierungstechnologie hat in der Avionik bereits seit langer Zeit die Probleme der Softwarekomplexität reduziert, wenn nicht sogar gelöst. Die Automobilindustrie kann daher technische Anregungen und sogar fertige Softwaresysteme aus der Flugzeugtechnik beziehen. Da das Virtu-OS-Porjekt die Vergleichbarkeit von Sicherheitsstandards in der Avionik und im Automotive-Bereich festgestellt hat, stehen die Türen offen um Software-Bausteine zwischen beiden Welten zu übertragen. Die Wiederverwendbarkeit erspart den Automobilherstellern viel Entwicklungsaufwand und gewährt mehr Funktionssicherheit, denn die Avionik stellt ihnen sichere Fahrzeugtechnologie zu verantwortbaren Kosten zur Verfügung.