Grundsätzlich sicher Security in komplexen Automotive-Systemen

Software-Separierung als Schlüsselelement

Die kontinuierlich steigenden Abhängigkeiten zwischen verschiedenen Signalen und Funktionen innerhalb eines Fahrzeugs sowie eine zunehmende Systemkomplexität, führen dazu, dass vermehrt voneinander unabhängige Funktionen in einem einzelnen Steuergerät konsolidiert werden müssen (Bild 1). Speziell im Bereich Embedded Security ist dabei ein wichtiges Schlüsselelement, dass die gegenseitige Beeinflussung von sicherheitsrelevanten und nicht-sicherheitsrelevanten Funktionen zuverlässig unterbunden wird (Freedom from Interference).

Ein Echtzeitbetriebssystem (Real-Time Operating System, RTOS) wie Integrity von Green Hills Software ermöglicht das, indem es eine gemäß Safety und Security sichere Software-Separierung auf Basis der zugrunde liegenden Mikrokernel-Architektur bietet.

Kommunikationskanäle zwischen verschiedenen Adressräumen und damit Applikationen existieren nur, wenn sie bereits im Vorfeld im Rahmen der Systemdefinition festgelegt wurden. Dadurch lassen sich Angriffe unterbinden, bei denen versucht wird, eine Verbindung zwischen einer ungeschützten und einer sicherheitskritischen Funktion zu etablieren. In vielen anderen Betriebssystemen stellt diese Angriffsfläche eine ernste Gefahr für sensitive Daten dar.

Neben diesem Security-Vorteil für die Software-Architektur bietet der Type-2-Hypervisor-Ansatz von Integrity aber noch weitere Vorteile: Die Software-Separierung auf Kernel-Ebene stellt bereits ohne zusätzliche Software-Schichten eine Hypervisor-Funktion zur Verfügung, was sich – verglichen mit einer konventionellen Type-1-Hypervisor-Lösung – in einer niedrigeren Komplexität und geringerer Code-Größe niederschlägt (Bild 2).

Als direkte Folgen ergeben sich daraus weniger Kontextwechsel, was wiederum zu höherer Systemleistung, geringeren Latenzzeiten und besserer Vorhersagbarkeit von Ausführungszeiten führt. Ebenfalls positiver Effekt der Software-Separierung: Mögliche Schäden, egal ob durch einen Angriff von außen oder durch einen Fehler in der Applikation verursacht, bleiben auf die spezifische Software-Partition limitiert, innerhalb derer die Applikation läuft.

Warum ein sicheres Betriebssystem so wichtig ist

Betrachtet man die verschiedenen Angriffsvektoren, mit denen in der jüngeren Vergangenheit versucht wurde, Systeme zu penetrieren, so zielten letztendlich quasi alle auf die unterste Software-Schicht: das Betriebssystem (Operating System, OS). Das OS ist oft die letzte Verteidigungslinie, die einen Angreifer davon abhalten kann, Zugriff zu wichtigen und sensitiven Daten zu erhalten, nachdem dieser bereits Zugang zum System erlangt hat.

Neben den Aufgaben des Betriebssystems, wie die bereits erwähnte Abwehr von Angriffen, die wiederum von verschiedenen Anwendungsprogrammen ausgehen können, und der Kontrolle von Hardware-Ressourcen sowie den Schnittstellen zwischen Software-Partitionen und Adressräumen, darf nicht vergessen werden, dass auch vom OS selbst eine gewisse Gefahr ausgeht. Je nach Betriebssystem-Typ und -Version besteht eine gewisse Anzahl von bekannten und unbekannten Vulnerabilitäten, die ein potenzielles Einfallstor für Angriffe von außen darstellen.
Es ist deshalb angeraten, bei der Evaluierung und beim Vergleich verschiedener Betriebssysteme nicht nur Funktionen zu betrachten, sondern ebenso Security-relevante Zertifizierungen mit einzubeziehen, beispielsweise die Common-Criteria-Security-Bewertung.

Für hochwertige und kritische Systeme, die einem entsprechend hohen Angriffsrisiko ausgesetzt sind – wie Fahrzeuge, von denen im Schadensfall zusätzlich eine hohe Bedrohung ausgeht – wird eine Security-Einstufung von mindestens Evaluation Assurance Level (EAL) 6 empfohlen.

Abschließend bleibt zu bemerken, dass die Wahl des richtigen, sicheren Betriebssystems nur einen Security-Aspekt eines Systems abdeckt – es bedarf weiterer Anstrengungen und Maßnahmen auf allen Projektebenen. Der Verzicht auf ein entsprechend sicheres Betriebssystem in einem sicherheitsrelevanten System gleicht allerdings dem Bau eines Wolkenkratzers ohne entsprechendes Fundament. Es ist letztendlich nicht eine Frage ob, sondern wann ein Angreifer sich Zugang zum System verschaffen kann.

In-Vehicle Intrusion Detection and Prevention System für CAN-Bussysteme

CAN ist heute das am weitesten verbreitete Bussystem in Fahrzeugen. Jeder Busteilnehmer kann Daten auf dem CAN-Bus senden oder empfangen; es gibt keinen dedizierten Bus-Master und jeder Teilnehmer kann im Rahmen eines Arbitrierungsprozesses eine Übertragung initiieren.

Nachdem die Anzahl von im Fahrzeug verbauten Steuergeräten innerhalb der letzten Jahre deutlich zugenommen hat und gleichzeitig die Sicherheitsanforderungen unterschiedlicher Steuergeräte stark voneinander abweichen, ist man dazu übergegangen, die Steuergeräte auf verschiedene Sub-Busse aufzuteilen, die wiederum über ein Gateway miteinander verknüpft werden.

In diesem Zusammenhang bietet der CAN-Bus für Hacker eine geeignete Angriffsfläche, um die komplette Kontrolle über ein Fahrzeug zu erlangen. Durch einen Zugriff auf ein Gateway lassen sich schädliche Nachrichten in praktisch jedes CAN-Bussegment injizieren – sogar in Bereiche, die für die Motorsteuerung oder das Bremssystem verantwortlich sind.

Um derartige Ereignisse zu verhindern, hat der Israelische Cybersecurity-Spezialist Arilou (Teil der NNG Group) ein In-Vehicle Intrusion Detection and Prevention System (IDPS) entwickelt, das es jedem Steuergerät ermöglicht, zwischen legitimen und Schad-Nachrichten zu unterscheiden. Möglich wird das durch einen Security-Agenten, der die empfangenen Nachrichten mit einem Modell des OEM-spezifischen CAN-Nachrichtenverkehrs vergleicht und alle ungewollten Nachrichten herausfiltert, bevor sie vom eigentlichen Steuergerät verarbeitet werden.

 

 

Die Autoren

Nikola Velinov (M.Sc.)

ist als Senior Business Development Engineer für Green Hills Software tätig. Er hat einen Master-Abschluss in Software Systems Engineering der RWTH Aachen und vor seinem Einstieg bei Green Hills Software eingebettete Software-Lösungen für die Branchen Automotive und Entertainment entwickelt. Er verfügt über Erfahrung in den Bereichen Grafik- und Netzwerkanwendungen für eingebettete Systeme, Treiberentwicklung, Middleware-Komponenten, Frameworks und Software-Architektur.

 

 

Dipl.-Ing. Stephan Janouch

arbeitet derzeit als Senior Business Development Manager für Green Hills Software und ist dabei für die Region EMEA zuständig. Er hat an der Hochschule für angewandte Wissenschaften Landshut Elektrotechnik studiert. Vor seinem Einstieg bei Green Hills Software war er in verschiedenen Positionen in Applikation, Vertrieb und Marketing tätig, ebenso als Chefredakteur für die Fachzeitschrift Elektronik automotive.