Ein Angebot von

Konsolidierung mehrerer Embedded-Anwendungen mit einem Separation Kernel

| Autor / Redakteur: Markus Jastroch * / Sebastian Gerstl

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 Entwicklung eingebetteter Systeme steht zunehmend im Zeichen der Konsolidierung: Immer mehr Anwendungen müssen auf immer weniger Hardware-Plattformen laufen. Der gemeinsame Betrieb sicherheitskritischer und unkritischer Anwendungen auf einer Plattform erfordert neue Ansätze.

In vielen Bereichen, sei es Medizintechnik, Automotive oder fertigende Industrie, laufen viele Systeme noch parallel. Doch Konsolidierung mehrerer Anwendungen auf eine einzige Hardware-Plattform wird immer gefragter. Das hat vielfältige Gründe: Einer der Treiber der Konsolidierung, speziell in der Automobilindustrie und in der Luft- und Raumfahrt, ist die Gewichtsersparnis sowohl bei Systemen als auch bei der Verkabelung. Ein weiterer Faktor sind Stromaufnahme und Energiebedarf: Eine einzelne Hardware-Plattform ist ressourcenschonender und produziert weniger Abwärme als mehrere gleichzeitig laufende Systeme mit eigenen Prozessoren.

Natürlich spielen in allen Industriebereichen, von der Fertigung, Luft- und Raumfahrt, dem Automotive-Sektor hin zum Bahnwesen oder bei medizinischen Geräten, natürlich auch die Kosten eine erhebliche Rolle. Eine geringere Vielzahl und Vielfalt an Hardwareplattformen reduziert sowohl die Produktions- als auch die Entwicklungskosten.

Bedenkt man, dass in einem normalen PKW heute ohne weiteres 60 bis 100 verschiedene CPUs bei marginaler Auslastung jeweils lediglich eine definierte Aufgabe erfüllen und über bis zu sieben Bussysteme miteinander kommunizieren, kann man das Potential der Konsolidierung mehrerer Systeme erahnen. Nicht anders ist es in vielen anderen Branchen, insbesondere dort, wo sicherheitskritische und unkritische Anwendungen parallel laufen müssen.

Trennung von sicherheitskritischen und unkritischeren Systemen

Bei allen Problemen, die der Wildwuchs von CPUs mit sich bringt, hat er doch einen großen Vorteil: Er trennt die einzelnen Funktionen, so dass kein System von Fehlern in einem anderen beeinträchtigt werden kann, und sorgt so für ein hohes Maß an funktionaler Sicherheit. So kann in heutigen Fahrzeugen das Audiosystem keinesfalls auf die Bremsen einwirken, da beide von strikt getrennten Systemen kontrolliert werden, und die Klimasteuerung im Flugzeug arbeitet völlig unabhängig von allen sicherheitsrelevanten Systemen.

Migriert man solch unterschiedliche Systeme auf eine einheitliche Hardware-Plattform, ist das nicht mehr von vornherein gewährleistet. Eine Trennung muss in diesem Fall also auf anderen Wegen erreicht werden. Im Flugzeug- und im Eisenbahnbau ist dieses Problem heute bereits weitgehend gelöst, und die dort verwendeten Ansätze lassen sich auch auf Automobile, die Produktionsautomatisierung oder medizinische Geräte übertragen. Im Zusammenhang mit der zunehmenden Vernetzung und insbesondere dem Internet of Things (IoT) treten dabei neben der funktionalen Sicherheit auch Aspekte der IT-Sicherheit und des Datenschutzes in den Vordergrund.

Bei der IT-Sicherheit geht es dabei vor allem darum, kritische Systeme vor unerlaubten Zugriffen zu schützen und damit vor Manipulation, aber speziell bei Automobilen und in der Medizintechnik auch vor dem unbefugten Zugriff auf personenbezogene Daten. Bei strikt getrennten Systemen, wie sie in der Vergangenheit üblich waren, ist das relativ einfach. Der Parallelbetrieb sicherheitskritischer und unkritischer Anwendungen auf einer Hardwareplattform birgt dagegen erhebliche Risiken. Erhält beispielsweise ein Angreifer Zugriff auf ein vergleichsweise unsicheres Board Entertainment-System und kann er über dieses Einfallstor auch auf sicherheitskritische Systeme zugreifen, hat das unter Umständen sehr gravierende Konsequenzen. Es ist daher unabdingbar, Anwendungen mit unterschiedlichen Kritikalitäts-Levels strikt voneinander zu trennen, auch wenn sie auf der selben Hardware laufen. Hier kommen Hypervisor-Technologien ins Spiel.

Mehrere Partitionen statt multipler CPUs

Ein Hypervisor kann auf einem Controller unterschiedliche Funktionen in mehreren Partitionen hosten, die bisher separate CPUs erforderten. Allerdings muss dabei absolut sichergestellt werden, dass die Software, die die Hypervisor-Funktionalität zur Verfügung stellt, tatsächlich eine strikte Trennung zwischen den Partitionen garantiert. Ansonsten hat man zwar eine einheitliche Hardware-Plattform, aber möglicherweise Interaktionen zwischen kritischen und nicht kritischen Anwendungen.

Eine Zertifizierung gibt hier die Sicherheit, dass Funktionen in unterschiedlichen Partitionen tatsächlich so voneinander getrennt sind, als liefen sie auf unterschiedlichen CPUs. Dabei sind abhängig von der Branche unterschiedliche Standards einzuhalten, die jedoch in der Regel vergleichbare Anforderungen stellen.

Insbesondere auf Multicore-Systemen ist der Einsatz von Hypervisoren grundsätzlich eine geeignete Möglichkeit, den Herausforderungen beim System-Design zu begegnen. Primär werden solche CPUs zwar aus Performance-Gründen verwendet, doch sie können auch die verlangte Trennung einzelner Funktionen unterstützen.

Allerdings ist der Einsatz von Hypervisoren allein noch keine Garantie für die strikte Trennung der unterschiedlichen Funktionen. Die meisten Hypervisoren werden auf ein RTOS (Real Time Operating System) aufgesetzt, das vom eigenen Design her eine solche Trennung nicht unterstützt. Gerade in sicherheitskritischen Anwendungen ist es aber wichtig, dass bereits das RTOS speziell für die getrennte Ausführung unterschiedlicher Funktionen ausgelegt ist, es also vom Design her eher ein Separation Kernel ist denn ein simples RTOS.

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? Infos finden Sie unter www.mycontentfactory.de (ID: 45277850 / Embedded Betriebssysteme)