Anwendungstechniken von modernen Fuzz-Tests auf Softwaresysteme
- Fuzz-Tests haben sich zu einem wichtigen Werkzeug entwickelt, um Schwachstellen in Softwaresystemen frühzeitig entdecken zu können. Durch die Entdeckung von prominenten Fehlern, wie dem Heartbleed-Bug, erfährt diese Testtechnik eine steigende Beliebtheit. Dies hat zu der Entwicklung von immer fortschrittlicheren Fuzzern und Fuzz-Techniken geführt. Diese Arbeit betrachtet Fuzzing vor dem Hintergrund der kommerziellen Softwareentwicklung. Dabei wird diese Technik im Kontext der Theorie von Softwaretests eingeordnet und die Frage untersucht, wie sie in den Testprozess integriert werden kann. Es werden verschiedene Formen von Fuzz-Tests vorgestellt und dabei besonders die Sachverhalte im Detail erklärt, die in vielen Dokumentationen nicht erklärt oder als gegebenes Wissen angenommen werden. Auf diese Weise soll dem Leser der Übergang von einem Einsteiger zu einem erfahrenen Anwender erleichtert werden. Im Anschluss wird die Funktionsweise gängiger Sanitizer erklärt, welche häufig mit Fuzz-Tests kombiniert werden. Abschließend wird Structure-Aware Fuzzing, durch Kombination von libFuzzer mit Googles Protocol Buffern, als vielversprechende Technik vorgestellt und untersucht.
Author: | Tim Klamt |
---|---|
URN: | urn:nbn:de:gbv:916-opus4-17887 |
Referee: | Felix Büsching, Lucas Harms |
Document Type: | Bachelor Thesis |
Language: | German |
Year of Completion: | 2024 |
Date of first Publication: | 2024/08/07 |
Granting Institution: | Ostfalia Hochschule für angewandte Wissenschaften |
Release Date: | 2024/08/07 |
Tag: | Cybersecurity; Fuzz-Test; Fuzzing; Software Testing |
GND Keyword: | Computersicherheit; ISO 29119; Software |
Page Number: | 65 |
Faculty: | Elektrotechnik |
DDC classes: | 000 Allgemeines, Informatik, Informationswissenschaft / 000 Allgemeines, Wissenschaft / 004 Informatik |
Licence (German): | Creative Commons - CC BY-NC-ND - Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International |