MRMCD 2023

Automatisiertes und Optimiertes Fuzzing von .NET DLLs
03.09, 14:45–15:15 (Europe/Berlin), C120 - Arkanraum
Language: Deutsch

Fuzzing ist eine effektive Möglichkeit bestehende Software auf ihre Robustheit zu testen. Allerdings ist Fuzzing häufig mit intensiver manueller Vorbereitung verbunden. In dem Vortrag „Automatisiertes und Optimiertes Fuzzing von Dynamic-link Libraries" werden wir zeigen, wie vollautomatisches Fuzzing von .NET DLLs möglich ist. Hierzu werden wir kurz Fuzzing an sich und wichtige Begriffe wie z.B. Harness, Corpus und Coverage erklären. Anschließend erläutern wir anhand eines entwickelten Tools, wie wir bei der Automatisierung vorgegangen sind. Wir zeigen erst wie automatisch Targets, also zum Fuzzing geeignete Funktionen, mittelst statischer Sourcecode-Analyse ermittelt und für diese ein Harness generiert wird. Anschließend gehen wir auf das Scheduling ein, welches mögliche negative Auswirkungen der automatischen Targetauswahl minimiert und gleichzeitig durch Parallelisierung den Prozess des Fuzzings optimiert. Im Anschluss zeigen wir das automatische Reproduzieren von gefundenen Fehlern. Zum Abschluss der Präsentation gehen wir näher auf die Auswertung von verschiedenen untersuchten DLLs ein. In mehreren Testläufen wurden bei 31 Targets Fehler ausgelöst, meist handelt es sich um Abstürze, in einigen Fällen hat sich die DLL bei der Verarbeitung der generierten Eingabe aufgehängt. Betroffen sind unter anderem eine Kryptobibliothek.

Ich habe vor kurzem mein Informatikstudium an der Technische Hochschule Würzburg-Schweinfurt abgeschlossen und arbeite jetzt im Bereich Incident Handling und Forensik.