Fuzzing-Tests werden zusätzlich zu den funktionalen Security-Tests angewendet, um systematisch durch verschiedene unerwartete, ungültige oder unplausible Nachrichten ein unstabiles, fehlerhaftes, vor allem aber ungewolltes Verhalten des Testsystems aufzudecken. So wird beispielsweise gezielt versucht, ein Fehlverhalten oder eine nicht vorgesehene Informationspreisgabe zu provozieren, die für einen Cyber-Angriff ausgenutzt werden kann. Fuzzing bezeichnet dabei eine stark automatisierte Testmethode, bei der die Test-Software – der Fuzzer – speziell generierte Eingaben an die Schnittstellen des zu testenden Systems leitet und die Reaktionen des Systems daraufhin analysiert. Mit einer hohen Anzahl solcher systematisch erstellten Eingaben können viele verschiedene interne Zustände des Systems gezielt durchlaufen werden.
Für diese Tests wird der Fuzzer spezifisch auf das zu testende Ziel und seine Schnittstellen angepasst. Unter anderem lässt sich so bestimmen, ob alle Daten einer Nachricht oder nur bestimmte Nachrichtenfelder geprüft werden sollen. Im Automobilbereich gibt es bereits Fuzzer für die Busprotokolle CAN und UDS. Die größte Herausforderung ist dabei die möglichst vollständige Überwachung der Reaktionen des Testobjekts, weil die Reaktionen nicht immer nur auf der zu testenden Schnittstelle erkennbar sind, sondern oft auch nur über das Verhalten des Testobjektes oder über Ausgaben auf anderen Schnittstellen erkennbar sind.
Vulnerability Scanning
Vulnerability Scanning wiederum konzentriert sich auf die Prüfung bereits bekannter Einfallstore, Sicherheitslücken und Verwundbarkeiten für Cyber-Angriffe. Für diese Security-Tests wird meist eine Datenbank mit allen zu dem Zeitpunkt bekannten Schwachstellen für das Testobjekt verwendet, beispielsweise für typische Schwachstellen des Unified Diagnostic Services-Protokolls (UDS) wie zu kurze Seed-Werte oder zu schwache Schlüssel-Berechnungsalgorithmen. Während zahlreiche umfangreiche und aktuelle Sammlungen für allgemeine, klassische IT-Verwundbarkeiten existieren, wie die Mitre-CVE-Datenbank, besteht eine der größten Herausforderungen für die Automotive Security, entsprechende Sammlungen analog für alle relevanten Automotive-Protokolle und Technologien aufzubauen und stetig zu aktualisieren.
Penetration-Tests
Penetration-Tests untersuchen die Cyber Security in der Regel erst bei Release-Kandidaten von neuen Hardware- oder Software-IT-Systemen. Diese erweiterten, vornehmlich manuell durchgeführten Security-Tests folgen dem Security-Prinzip, dass ein IT-System nur dann ausreichend getestet ist, wenn es auch mit den Wissen und Mitteln eines realistischen Angreifers umfangreich untersucht wurde. Folglich nimmt der Security-Tester dafür die Rolle eines echten Cyber-Angreifers ein. Penetration-Tests lassen sich in verschiedenen Testtiefen durchführen, je nachdem wie viel internes Wissen, Werkzeuge und Expertise dem Angreifer eingeräumt werden.
Sogenannte Black-Box-Tests arbeiten dabei nur mit öffentlich verfügbaren Informationen und Tools. Bei White-Box-Tests stehen dem als Cyber-Angreifer agierende Security-Tester hingegen auch alle internen Informationen und Hilfsmittel des Systems zur Verfügung. Abstufungen dazwischen werden passenderweise als Grey-Box-Tests bezeichnet. Weil sich die meisten IT-Systeme aus der Angriffsperspektive oft stark unterscheiden, müssen bekannte Angriffe oftmals noch individuell adaptiert werden. Daher hängen der Erfolg und die Aussagekraft von Penetrations-Test maßgeblich von der Erfahrung und Kreativität des Testers ab.