Mit Genetik und Fuzz-Testing zu mehr Sicherheit im Internet der Dinge
News vom 04. Nov. 2024
Über das Internet der Dinge sind ein Großteil unserer Geräte und Systeme, wie z. B. Telefone, Computer oder Server, miteinander vernetzt. Sie tauschen über sogenannte »Broker« und deren Kommunikationsprotokolle, bspw. MQTT, Nachrichten untereinander aus. Fraunhofer FOKUS hat ein neues Verfahren für Sicherheitstests im IoT entwickelt. Es besteht aus innovativen Methoden und Werkzeugen, mit denen Schwachstellen in Kommunikationsprotokollen effizient identifiziert und behoben werden können.
Die zunehmende Vernetzung im Internet der Dinge (Internet of Things – IoT) bringt nicht nur innovative Anwendungen, wie z. B. Predictive Maintenance, also die vorausschauende Wartung von Anlagen und Maschinen, oder Asset Tracking, die Überwachung von Standort und Status in Echtzeit, hervor, sondern führt auch zu erhöhten Sicherheitsrisiken durch Hackerangriffe.
Bei dem von Fraunhofer FOKUS entwickelten Verfahren werden genetische Algorithmen und Fuzzing kombiniert, um die Effizienz von Sicherheitstests im IoT zu steigern. Dafür wird in einem ersten Schritt eine Spezifikation des Kommunikationsprotokolls eines Brokers erstellt. Ein genetischer Algorithmus erzeugt aus dieser Spezifikation Testfälle. In einem zweiten Schritt wird das zu testende System mithilfe des Fuzzings mit einer Vielzahl solcher Testfälle konfrontiert. Der genetische Algorithmus wertet die Ergebnisse dieser Tests aus und erzeugt, ähnlich wie in der Biologie, optimierte Testfälle für weitere Fuzzing-Angriffe. Dieses Verfahren wird so lange wiederholt, bis das zu testende System zum Beispiel nicht mehr reagiert.
Die Besonderheit dabei: Die Generierung von Testfällen wurde optimiert, indem der genetische Algorithmus direkt auf der Spezifikation operiert, wodurch effizienter die Grenzen des Kommunikationsprotokolls getestet werden können. Dazu haben die Wissenschaftlerinnen und Wissenschaftler die von Fraunhofer FOKUS entwickelte Fuzzing-Bibliothek Fuzzino weiterentwickelt, um eine effiziente Erzeugung von Testdaten mit Hilfe von genetischen Algorithmen zu ermöglichen. Sie entwickelten darüber hinaus ein Framework zur Bewertung der Fitness von Testfällen, die Indikatoren wie Antwortzeit, Nachrichtengröße und Codeabdeckung auswerten.
Um die Wirksamkeit des neuen Verfahrens zu zeigen, wurde der Eclipse-Mosquitto-Broker, ein weit verbreitetes und von vielen Entwicklerinnen und Entwicklern eingesetztes Tool, getestet. Der Mosquitto-Broker wird bisher mit Hilfe von Google OSS-Fuzz, einem Open-Source-Fuzzing-Tool, kontinuierlich getestet. Dabei wurde die Schwachstelle, die die Methode von Fraunhofer FOKUS innerhalb weniger Minuten offengelegt hat, nicht aufgedeckt. Die Eclipse Foundation hat die Schwachstelle mittlerweile behoben (CVE-2024-8376).
Die Methode kann für jedes Kommunikationsprotokoll, auch jenseits des Internets der Dinge, eingesetzt werden und so die Sicherheitsprüfung und Entwicklung von Sicherheits-Patches verbessern.