Anbieter zum Thema
Robuste Kapselung virtualisierter ECUs

Der technische Lösungsansatz von Renesas im R-Car ist eine umfangreiche Hardware-Virtualisierungsunterstützung, die weit über das hinausgeht, was bei klassischen PCs für virtuelle Maschinen zum Einsatz kommt.
Dort wird hauptsächlich der benutzte Speicher für die jeweiligen Anwendungen virtualisiert. Das heißt, ein Programm greift auf eine Speicheradresse zu, die dann aber von einer speziellen Hardware in die physikalische Adresse übersetzt wird. Diese Übersetzungseinheit befindet sich unter der Kontrolle eines Betriebssystems (auch Hypervisor), welches genau die Zugriffsrechte des jeweiligen Programms kennt.
In einem hochintegrierten SoC wie dem R-Car gibt es aber viel mehr Hardware, die selbständig auf den Arbeitsspeicher zugreifen kann. Beispielsweise kann ein Videoeingang den gesamten Programmarbeitsspeicher manipulieren, wenn man keinen Schutzmechanismus vorsieht. Videodecoder und Audio-DSPs können Ähnliches. Und ein Videoausgang kann sämtliche Geheimnisse im Arbeitsspeicher einfach über ein HDMI-Interface ausgeben, wenn eine Schadsoftware sich die Rechte verschafft, die Ausgabeadressen zu manipulieren.
Abhilfe schafft ein mehrstufiges Speicherschutzkonzept im R-Car. Zum einen gibt es globale Zugriffsrechte für die jeweiligen Hardwarebeschleuniger. Zum anderen lässt sich jedes dieser Module gleichfalls in einen virtuellen Adressraum verschieben. In diesem steht es unter der Kontrolle einer System-MMU, die analog der CPU-MMU die Speicheranfragen in den physikalischen Adressraum übersetzt. Dabei greifen die gleichen Zugriffsrechte wie schon bei der CPU-basierten Software. Die System-MMU wird vollständig durch das sichere Betriebssystem kontrolliert (Bild 2). In Verbindung mit einem umfassenden Secure-Boot-Konzept sind nachträgliche Manipulationen dieses Betriebssystems praktisch unmöglich.
Dennoch wäre ein reiner Speicherschutz zu kurz gegriffen. Die verschiedenen gekapselten Programme brauchen dennoch Zugriff auf die Hardwarebeschleuniger im R-Car. Zum Beispiel will sowohl die Infotainmentapplikation als auch das Kombiinstrument 3D-Grafik auf ihrem individuellen Display darstellen. Da aber die leistungsfähige 3D-GPU die mit Abstand größte Baugruppe auf dem SoC ist, kann man sie nicht einfach doppeln oder jeder Applikation etwa eine halbe GPU anbieten. Das Eine wird zu teuer, das Andere ist uneffektiv, falls nicht beide Teile exakt die gleichen Performanceanforderungen haben. Und was, wenn eine dritte Applikation die GPU benötigt?

Reine Softwarevirtualisierungen der GPU sind möglich, kosten aber Grafikleistung. Und davon kann man nie genug haben. Auch ist ein wirklicher Speicherschutz nicht gegeben. Daher hat Renesas zusammen mit Imagination Technologies ein neues GPU-Hardwarevirtualisierungskonzept umgesetzt. Dieses bietet den verschiedenen Programmen bis zu acht virtuelle GPUs. Diese werden vollständig von der Hardware verwaltet, nachdem das zentrale Betriebssystem die Ressourcenverteilung und Priorisierung bestimmt hat.

Dieser Ansatz hat eine Reihe von Vorteilen. Erstens generiert er nahezu keinerlei Leistungseinbußen gegenüber einem nicht virtualisierten Einzelsystem. Zweitens sind alle Prozesse unabhängig voneinander abbrechbar ohne Einfluss auf die anderen. Diese Unabhängigkeit erlaubt garantierte Leistungsverteilungen, so dass ein Kombiinstrument unter allen Umständen seine Inhalte sicher zeichnen kann. Dies ist auch dann der Fall, wenn beispielsweise der Webbrowser des Infotainmentsystems nicht mehr reagiert und neu gestartet werden muss.
Genauso ist es der GPU möglich, nach einer definierten Wartezeit böswillige oder schadhafte Software zu erkennen und zu beenden, wie zum Beispiel sogenannte ‚Shader Bombs‘, die die GPU sonst zu 100 Prozent auslasten könnten. Und schlussendlich verwendet jede virtualisierte Software ihren eigenen Grafiktreiber, der nicht an ein bestimmtes Betriebssystem gebunden ist (Bild 3). Jeder Lieferant einer virtualisierten Steuergerätesoftware kann das passende Betriebssystem für seine Anwendung wählen, wie z. B. ein quelloffenes Linux für das Infotainmentsystem und ein ISO26262-zertifiziertes O/S für die sicherheitskritische Applikation.
Die Verwaltung der Hardwareressourcen und die Konfiguration der Sicherheitsmechanismen übernimmt in solch einem System der sogenannte Hypervisor, der eine Art einfaches Betriebssystem mit höchsten Zugriffsrechten darstellt. Hier gibt es verschiedene Ansätze auf dem Markt, die individuelle Vorteile bieten. Renesas unterstützt seine Partner bei der Portierung ihres Hypervisors auf den R-Car, so dass Kunden ihre favorisierte Lösung auswählen können.
Artikelfiles und Artikellinks
(ID:44609259)