Fuzzing – Brute-Force CVE Generator

Master-Studiengang Information Security

Dipl.-Ing. Kevin Schneider, BSc

Betreuer: Dipl.-Ing. Dr. Martin Pirker, Bakk.

Ausgangslage

Das Testen von Software stellt eine wichtige Aufgabe in der Qualitätssicherung dar. Fuzzing ist eine der Möglichkeiten, die beim Software Testing benutzt werden kann, um Fehler und Sicherheitslücken möglichst automatisiert zu entdecken. Die Entwicklung verschiedenster Typen von Fuzzern hat das Thema Fuzzing zu einer praktisch relevanten Vorgangsweise beim Testen von Software gemacht. Obwohl Fuzzing als aufwendige „Brute-Force“ Möglichkeit bekannt ist, kann ein modernes Fuzzing bereits sehr gute Ergebnisse erzielen – folgt man den Veröffentlichungen und Berichten von Fuzzing-Projekten und großer Unternehmen der IT-Branche, mit deren scheinbar endlosen Auflistungen an gefundenen Fehlern und bestätigten Schwachstellen (CVEs) in verschiedenster Software.

Ziel

Diese Arbeit beschäftigte sich erstens mit der Auswahl passender Fuzzer oder Services zu einem konkreten Szenario. Zweites Ziel war die praktische Erprobung von Fuzzern. Die praktischen Ergebnisse eines Stabilitätstests eines Windows Drivers mittels Fuzzing und den dabei auftretenden Problemen lieferte in weiterer Folge die Ausgangslage für die Entwicklung eines neuen, besseren Fuzzing-Konzepts.

Ergebnis

Im durchgeführten Stabilitätstest konnten mehrere Fehler mittels Fuzzing entdeckt werden. Die Fehler wurden den Entwicklern des Windows Drivers weitergemeldet und somit konnte eine Verbesserung durch den Einsatz von Fuzzing erzielt werden. Basierend auf der durchgeführten Methodik des Stabilitätstests konnten aufgetretene Probleme und Verbesserungspotential im Anwendungsbereich Kernel Fuzzing von Closed-Source Systemen erkannt werden. Zum Abschluss wurde ein Konzept vorgestellt, welches eine zukünftige Anwendung von Fuzzern in diesem Bereich unterstützen soll.

Ausblick

Mit dem Aufkommen von neuen Konzepten und Technologien könnte auch ein weiterer Fortschritt im Fuzzing gelingen. Besonders die Entwicklungen hin zu neuen Dienstleistungen wie „Fuzzing as a Service“ könnten in der Zukunft eine wichtige Rolle spielen.