Testen von Datensicherheit in vernetzten und automatisierten Fahrzeugen durch virtuelle Steuergeräte
Creators: name: Lauber, Andreas Florian
Publisher: name: Karlsruhe
Year: 2020
Subjects: Security
Testing
virtual ECU

description: In der Automobilindustrie sind in den vergangenen Jahren die zwei Trends Automatisierung und Vernetzung entstanden. Diese Trends sorgen für eine steigende Anzahl an Funktionen im Fahrzeug. Neben einer Erhöhung des Komforts nehmen jedoch auch die Risiken durch den unerlaubten Zugriff von außen zu. Das IT-Manipulationen bei Fahrzeugen keine Ausnahme bilden, zeigen bereits erste Beispiele. Besonders durch die langen Lebenszyklen in der Automobilindustrie und der Tatsache, dass 44% aller Angriffe auf IT-Systeme durch bekannte Schwachstellen geschehen, müssen Fahrzeuge bereits in der Entwicklung abgesichert werden. Bezogen auf die funktionale Sicherheit (engl. Safety) existieren in der Automobilentwicklung bereits eine Vielzahl an Testprozessen und -methoden. Eine Übertragbarkeit dieser auf die Datensicherheit (engl. Security) ist jedoch nicht gegeben, wodurch neue Methoden am Entstehen sind. Daher wird eine Testmethode mittels virtuellen Steuergeräten vorstellt. Hierfür wird aufgezeigt, welche Beobachtungspunkte und Überwachungsfunktionen für die Tests der Datensicherheit gegeben sein müssen, wie sich daraus eine Testmethodik ableiten lässt und wie diese Testmethodik anschließend in die Automobilentwicklung eingebunden werden kann. Für die Testmethodik wurden die Bereiche Speicher-, Numerische-, Systematische-, Funktionale- und Anwendungsfehler identifiziert. Der Fokus wird dabei auf die ersten beiden Fehlerarten gelegt und daraus Kriterien für einen Test der Datensicherheit abgeleitet. Anhand der Kriterien werden Beobachtungspunkte in bestehenden Testsystemen analysiert und basierend auf einem virtuellen Steuergerät neue Beobachtungspunkte ergänzt. Hierbei werden nicht nur Schnittstellen des Steuergeräts berücksichtigt, sondern ebenfalls interne Zustände des steuernden Artefakts (ausgeführte Instruktionen, Variablen und Speicherbereiche) und des ausführenden Artefakts (Register, lokaler Busse und Recheneinheit). Eine Berücksichtigung der internen Zustände ist wichtig, da Speicherfehler und numerische Fehler nicht zwangsläufig an die Schnittstellen propagieren und dadurch in der Umwelt sichtbar sind. Anhand der Beobachtungspunkte in einem virtuellen Steuergerät wurde eine Gesamtsystemsimulation erstellt, die das Steuergerät mit Applikation, Prozessor und Peripherie simuliert. Eine Co-Simulation übernimmt die Erzeugung der Teststimuli. Durch die Beobachtungspunkte können Rückschlüsse auf das Verhalten und die Zustände innerhalb des Steuergeräts gezogen werden. Durch die zusätzlichen Beobachtungspunkte können Testmethoden wie Überwachung der Instruktionen und Register, Analyse der Eingaben, Markierung des genutzten Speichers und Analysemöglichkeiten der Codeabdeckung eingesetzt werden. Zusätzlich ergeben sich durch evolutionäre Verfahren die Möglichkeit der Maximierung des Variablen Wachstums und des Speicherzugriffs sowie die Minimierung des Abstands zwischen Heap und Stack. Um die Testmethoden in einem Entwicklungsprozess einsetzten zu können werden die Ergebnisse auf eine vernetzte Funktion (Adaptive Cruise Control) skaliert und das Echtzeitverhalten beurteilt. Für die Simulation eines einzelnen Steuergeräts können dabei bis zu 62 Steuergeräte parallel simuliert werden, bevor die Simulation auf der realen Hardware schneller als der Ablauf in der Simulation ist. Durch die Ergänzung von Überwachungsfunktionen und Co-Simulationen sinkt das Echtzeitverhältnis jedoch exponentiell. Abschließend wird die Testmethodik mit Angriffen aus der Automobilindustrie bewertet und aufgezeigt, welche Fehler erkannt worden wären. Die Testmethodik ist dabei jedoch nur so genau, wie die zugrundeliegenden Modelle. Eine Erhöhung der Genauigkeit bedeutet dabei höhere Kosten in der Entwicklung. Zudem muss der Quellcode für die Applikation als Source- oder Maschinencode bekannt sein. Wird die Testmethode als Ergänzung zu bereits bekannten Testverfahren eingesetzt, können jedoch Probleme in der Datensicherheit bereits der Entwicklung erkannt werden.