Statische und dynami... Studien- und Diploma... Statische und dynami...

Bachelorarbeit

Evaluierung von Werkzeugen für das Fuzzing kommunizierender Systeme

 

Zusammenfassung

Fuzzing (bzw. fuzz testing) bezeichnet eine Klasse von Testverfahren zur automatisierten Überprüfung der IT-Sicherheit eines Systems. Hierzu werden ungültige bzw. von der geplanten Nutzung abweichende Daten bzw. Datensequenzen generiert, an das zu testende System übermittelt und das Verhalten des Systems überwacht. Durch einen Vergleich des beobachteten mit dem zu erwartenden Verhalten können durch Verhaltensanomalien Indizien für IT-Sicherheitslücken erkannt werden, die sich etwa durch Verletzungen der Datenintegrität, der Informationsvertraulichkeit bzw. der Dienstverfügbarkeit äußern können. Mittlerweile existiert bereits eine Fülle an kommerziellen bzw. frei verfügbaren Frameworks, die die Anwendung von Fuzzing in den verschiedensten Anwendungsbereichen z. T. automatisiert unterstützen.

Im Rahmen dieser Arbeit sind zunächst bestehende netzwerkbasierte Fuzzing-Werkzeuge zu untersuchen und hinsichtlich bedeutender Merkmale zu charakterisieren, etwa der Eingabedatengenerierung bzw. der Abhängigkeit von speziellen Kommunikationsprotokollen, Netzwerktopologien und Kenntnissen über das System bzw. das Netzwerk. Ergänzend zur vergleichenden Bewertung sind auch die von den Frameworks unterstützten Testende-Kriterien und bereitgestellten Werkzeuge zur Fehlererkennung bzw. zur Messung des Testfortschritts zu ermitteln und zu dokumentieren.

Abschließend ist die Einsetzbarkeit der untersuchten Werkzeuge für ein vom Lehrstuhl hinsichtlich Netzwerktopologie, Kommunikationsprotokoll und Angreiferprofil vorgegebenes Angriffsszenario zu bewerten. Darauf basierend ist ein geeignetes Werkzeug nachvollziehbar auszuwählen; in Bezug auf das gegebene Szenario sind schließlich dessen Fehlererkennungspotential und Aufwandsbedarf zu evaluieren.

Bearbeiter: Mark Rudtke

Betreuer: Dipl.-Inf. David Föhrweiser