Automatisierte Sicherheitstests sind für die moderne Softwareentwicklung unverzichtbar. Der schiere Umfang der Digitalisierung und die Komplexität des Codes vermehren die potenziellen Angriffsvektoren beträchtlich, so dass manuelle Sicherheitstests oder Audits nicht mehr ausreichend sind. Fuzzing, eine dynamische Softwaretesttechnik, die von Miller et al. entwickelt wurde, hat sich bei der Fehlersuche als äußerst nützlich erwiesen. Allein im Chrome-Browser wurden von Googles Open-Source-Fuzzing-Infrastruktur ClusterFuzz über 25.000 Fehler und weitere etwa 22.500 Fehler in über 340 Open-Source-Projekten gefunden. Ein Fuzzing-Tool (oder Fuzzer) generiert Testfälle mit zufälligen und sich verändernden Strategien, die als Eingabe für eine zu testende Software dienen und sich dadurch auszeichnen, dass sie die Sonderfälle der Softwarenutzung abdecken. Während des Fuzzings wird die ausgeführte Software z.B. auf Abstürze oder Nichtterminierung überwacht, die auf einen ausgelösten Fehler hindeuten.
In der Vorlesung „Secure Coding“ des Masterstudiengangs „Angewandte Informatik“ beschäftigen sich die Studierenden theoretisch und praktisch mit automatisierten Sicherheitstests. Dr. Christopher Huth, aus dem Forschungsbereich der Robert Bosch GmbH beteiligt sich an der Vorlesung mit einem Tutorial über Fuzzing. In dem Tutorial wird gezeigt, was Fuzzing ist und wie die Eingabegenerierung mit selbstverbesserndem Feedback funktioniert. Es werden verschiedenen Arten von Fuzzing und unterschiedlichen Metriken behandelt. Die Studierenden erhalten Hinweise, wo man mit Fuzzing beginnen kann, wie man Fuzz-Tests verbessert und wie man Fuzzing in die kontinuierliche Integration einbezieht. Die Theorie wird durch Beispiele mit Open-Source-Software in die Praxis umgesetzt, so dass die Studierenden anschließend in der Lage sind, selbst zu fuzzen.
Christopher Huth promovierte an der Ruhr-Universität Bochum im Bereich Physical-Layer Security Architectures for the Internet of Things. Derzeit arbeitet er als Forschungsingenieur bei der Robert Bosch GmbH und beschäftigt sich mit Cybersicherheit und automatisierten Sicherheitstests, u.a. mit Fuzzing.