PSE: Automotive Pentesting
Master Projekt Systementwicklung
Im Master Projekt Systementwicklung (PSE) bearbeiten Studierende im Team unter praxisnahen Bedingungen eine gegebene Themenstellung aus der Informatik. Der Dozent nimmt hierbei die Rolle des Auftraggebers / Kunden ein. Gleichzeitig unterstützt er das Team als leitendes Mitglied, um insbesondere in der Anfangsphase die Weichen richtig zu stellen und das Projekt ins Rollen zu bringen. Über die Projektlaufzeit nehmen die studentischen Teammitglieder für gewöhnlich wechselnde Rollen (z.B. Projektleiter, Architekt, Entwickler, Tester) ein und lernen so die Projektarbeit aus verschiedenen Perspektiven kennen.
In einer Einführungsveranstaltung wird zunächst die detaillierte Themenstellung dargelegt und die Rahmenbedingungen erläutert. Während des Projekts finden wöchentliche Projektsitzungen statt, in denen die Ergebnisse der vergangenen Woche vorgestellt und die Ziele der kommende(n) Woche(n) festgelegt werden.
Themenstellung
Moderne Fahrzeuge sind hochgradig vernetzt, z.B. mit anderen Fahrzeugen, mobilen Endgeräten (z.B. Smartphones), Infrastrukturkomponenten (z.B. Ladestationen für Elektrofahrzeuge), dem Internet und verschiedenen Backend-Systemen (z.B. des Herstellers oder von Versicherungen) verbunden. Dies ermöglicht neben autonomen Fahrfunktionen auch eine Vielzahl von neuen Mehrwertdiensten. Jedoch ergeben sich dadurch auch neue Angriffsmöglichkeiten mit teilweise erheblichen Folgen; u.a. wirtschaftliche Schäden (z.B. teure Rückrufaktionen, Imageverlust), Bedrohung von Leib und Leben (z.B. durch Manipulation von Lenkung und Bremse) und Verletzung der Privatsphäre (z.B. die Erstellung von Bewegungs- oder Nutzungsprofilen). IT-Sicherheits- und Datenschutzmaßnahmen sind deshalb unabdingbar für moderne Fahrzeuge.
Ein wichtiger Schritt im Entwicklungsprozess aber auch während der Lebenszeit eines Fahrzeugs ist die Überprüfung auf Schwachstellen. Hierfür eignen sich spezielle an den Fahrzeugkontext angepasste Pentesting Methoden und Tools.
Im Master PSE "Automotive Pentesting" soll ein bestehendes Framework aus Hard- und Software um neue Pentesting-Module erweitert werden, um Schwachstellen in Steuergeräten, Funktechnologien, Protokollen etc. aufzudecken. Die Teilnehmer werden in Teams aufgeteilt und jedes Team entwickelt ein Modul zu einem Schwerpunkt wie z.B.
- Fuzzing von Protokoll-Stacks, z.B. Bluetooth, WiFi, Mobilfunk
- Reverse Engineering, z.B. von Firmware eines Steuergeräts
- Angriffe auf spezifische Protokolle, z.B. Umgehen der Authentifizierung bei Unified Diagnostic Services (UDS)
- Unberechtigte Zugriffe auf Steuergeräte über Debugschnittstellen wie JTAG
- Angriffe über unzureichend abgesicherten APIs, z.B. im Infotainmentsystem
- Einschleusen, Modifizieren, Unterdrücken oder Abhören von interner Kommunikation, z.B. über CAN, Automotive Ethernet
- Analyse von kryptographischen Bibliotheken und Protokollen
- Analyse von (Android) Fahrzeug-Apps und Backend APIs
- Replay, Relay oder DoS Angriffe auf Funkschlüssel
- Angriffe auf die Kommunikation eines Elektrofahrzeugs mit der Ladeinfrastruktur, z.B. ISO 15118
- Angriffe auf V2X-Kommunikation
Vorkenntnisse
- Gute Programmierkenntnisse, insbesondere Kenntnisse in C/C++ und/oder Python sind hilfreich
- Veranstaltungen der IT-Sicherheit (z.B. IT-Sicherheit, Kryptographie, Netzwerksicherheit)
- Besuch der Veranstaltung Automotive Security ist hilfreich aber nicht notwendig
- Hilfreich sind Kenntnisse aus der Lehrveranstaltung "Softwareentwicklung für Embedded Systeme" sowie elektrotechnische Grundkenntnisse
Rahmenbedingungen
Der konkrete Umfang der zu entwickelnden Lösungen hängt unter anderem von der Teamgröße und den technischen Möglichkeiten ab. Bei der Entwicklung soll ein agiles Projektmanagement nach Scrum und Kanban zum Einsatz kommen. Es werden die üblichen Entwicklungstools eingesetzt, z.B. GIT Repository, Kanban-Board. Es ist geplant das Projekt in zukünftigen Veranstaltungen weiterzuführen. Das Projekt steht unter der MIT-Lizenz.
Kontakt
Kommunikation
Schöfferstraße 10
64295 Darmstadt
Büro: D19, 3.07
+49.6151.533-60152
christoph.krauss@h-da.de
1
Sprechstunde
nach Vereinbarung / by appointment