Architektur für Embedded-Systeme Schwachpunkte ausmerzen

Isolierte Safe-Harbor-Systeme

Gegen die genannten Bedrohungen gibt es, wie gesagt, derzeit keine kommerziell verfügbare Abhilfe. Im Gegensatz zu High-End-Prozessoren in Laptops und Smartphones sind die Steuerchips klein und in ihren Ressourcen recht beschränkt.

Es fehlen ihnen die Sicherheits-Features, die in anderen Prozessoren heute allgemein üblich sind, wie diverse Berechtigungsebenen beim Zugang und Speicher-Segmentierung. Und der Austausch aller eingebetteten Prozessoren gegen High-End-Systeme ist keine tragbare Option, einfach wegen der damit verbundenen Kosten, ihrer Komplexität und des höheren Leistungsverbrauchs.
Aus allen diesen Gründen hat es sich das Imec zur Aufgabe gesetzt, eine von Grund auf sichere Architektur zu entwickeln – eine Architektur also, die sich für die heutigen eingebetteten Systeme eignet, wie die CAN-Netzwerke in Fahrzeugen, für industrielle Steuersysteme in der Fertigung oder auch für sehr kleine IoT-Komponenten. Ein derartiges System müsste eine geringe Komplexität und Kostenstruktur aufweisen. Das ist eine definitive Anforderung von Seiten der Industrie.

Um das umzusetzen, kam ein kleiner und leichter Mikrocontroller als Basis zum Einsatz, dessen Design erweitert wurde, indem ein sicheres Speichermanagement und eine Krypto-Einheit, die für eine niedrige Leistungsaufnahme optimiert ist, hinzugefügt wurden. Das Ergebnis ist ein Prozessor, der nicht viel größer ist und nicht wesentlich mehr Energie verbraucht (etwa 6 Prozent). Aber er kann die kritische Software isolieren und damit eine Art von Safe-Harbor-Umgebung schaffen, innerhalb derer der Prozessor läuft.
Durch diese systemische Isolierung lässt sich die Software-Funktion nicht von außen beeinträchtigen. Als Trusted-Computing-Basis ist sie auf die Hardware eingegrenzt, auf der sie läuft. Mit der Ausnahme von unerkannten Schwachstellen in einer derart geschützten Applikation selbst kann keine Software, seien es andere Applikationen oder Betriebssysteme, sei sie auf demselben Prozessor oder in externen Abläufen, die vorgesehenen Sicherheits-Checks übergehen und den geschützten Runtime-Status lesen oder überschreiben.

Wissen, wem man vertrauen kann

Allerdings könnte der Prozessor, der die Bremsen eines Fahrzeugs kontrolliert, auch wenn er nicht länger von außen gehackt werden kann, immer noch illegitime Bremskommandos befolgen. Deshalb hat das Imec die vertrauenswürdigen Quellen auf solche eingeschränkt, die sich als legitim authentifizieren können. Ein Bremskommando kann also nur von einem vertrauenswürdigen Prozessor kommen, der selbst nicht gehackt werden kann, und von einer korrekt authentifizierten Software-Komponente. Auf diese Weise wird das CAN-Netzwerk eines Fahrzeugs aus kleinen angriffssicheren Applikationen aufgebaut, die sich gegenseitig authentifizieren und vertrauen.

Nun müssen Embedded-Systeme in einem Fahrzeug immer noch von der Außenwelt kontaktiert werden können, etwa von einem Software-Anbieter, der Updates installieren will, oder seitens der Verkehrsinfrastruktur. Daher wurde zusätzlich eine sichere Kommunikation mit Integritätsprüfung implementiert. Somit kann eine äußere Instanz zwar Meldungen über ein spezifisches Software-Modul oder Knoten senden oder empfangen – aber nur dann, wenn gewährleistet ist, dass das über das korrekte Modul geschieht (Authenticity), dass es nicht verändert wurde (Integrity) und dass sein Status korrekt ist (Freshness).