Angriffsbasierte Automatisierung von Security Testing für IoT-Anwendungen
01. Sept. 2020 bis 31. Aug. 2022
Immer mehr Geräte unseres Alltags sind über das Internet vernetzt. So tauschen auf diesem Weg z. B. Smart-Home-Anwendungen, vernetzte Fahrzeuge oder Maschinen in der Landwirtschaft Daten aus. Die umfangreiche Vernetzung führt jedoch dazu, dass die Risiken von Angriffen, z. B. durch Hacker, steigen. Dabei machen es die Komplexität der Systeme sowie die verschiedenen Anwendungsszenarien immer schwieriger und aufwändiger, die Systeme gegen sicherheitsrelevante Schwachstellen abzusichern. Gleichzeitig steht durch eine immer stärkere Integration von Entwicklung und Betrieb sowie kürzere Releasezyklen weniger Zeit für hinreichende Security Tests zur Verfügung.
Im Projekt »Angriffsbasierte Automatisierung von Security Testing für IoT-Anwendungen« wird daher eine durchgehende Automatisierung von Security Tests mit Hilfe von genetischen Algorithmen, Fuzzing und Datenanalysetechniken zur Angriffserkennung entwickelt, die die Entwicklung wirksamer Patches gegen Sicherheitslücken unterstützen.
Die Wissenschaftlerinnen und Wissenschaftler unterstützen im Projekt die Entwicklung von Sicherheitspatches durch die automatisierte Testfallerstellung basierend auf realen Angriffen. Dazu entwickeln sie eine automatisierte Vorgehensweise, bei der aus erfolgreichen Angriffen auf Internet-of-Things (IoT)-Anwendungen Testfälle abgeleitet werden. Die so entstandenen Testfälle unterstützen die Erstellung eines Patches gegen die Sicherheitslücke. Zum Einsatz kommen dabei Techniken der sensor-gestützten Angriffserkennung mit Hilfe von Datenanalysetechniken und Techniken zur Testfallreduktion, wie z. B. Delta-Debugging.
Eine weitere Entwicklung im Projekt ist die sensorbasierte, analysegetriebene Testbewertung. Dazu werden im Projekt Sensoren eingesetzt, die datenfluss- und kontrollfluss-basierte Aspekte von IoT-Anwendungen messen. Die Sensoren werden dabei nicht in das zu untersuchende Programm eingebracht, sondern beobachten die ein- und Ausgangsdatenströme sowie die Kommunikation mit dem Betriebssystem. Auf diese Weise wird das Verhalten der IoT-Anwendung erfasst. Die dabei erhobenen Daten werden mit modernen Klassifizierungsverfahren, wie z. B. maschinellem Lernen, analysiert, geclustert und bewertet.
Im Projekt kommt darüber hinaus automatisiertes Security Testen zum Einsatz. Dafür wird Fuzzing mit suchbasierten Testverfahren kombiniert, wodurch der Suchraum erheblich reduziert werden kann. Durch diesen Ansatz wird der Testaufwand verringert und die Testabdeckung erhöht.
Fraunhofer FOKUS arbeitet im Projekt schwerpunktmäßig an der Testfallextraktion und dem genetischen Fuzzing.
Im Projekt arbeiten neben Fraunhofer FOKUS auch IT Power Solutions GmbH, quapona technologies GmbH und die Universität Leipzig zusammen.
Das Projekt wird gefördert durch das Bundesministerium für Wirtschaft und Energie (BMWi) aufgrund eines Beschlusses des Deutschen Bundestags.