Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title Fuzzing - An Automation Pipeline With Harness Generation in Java
Organization Unit
Authors
  • Stefano Anzolut
Supervisors
  • Alberto Bacchelli
  • David Ackermann
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2021
Abstract Text Fuzzing is an automatic vulnerability discovery technique that makes software more resilient andsecure. Fuzzing is becoming more relevant than ever, nonetheless the lack of intuitive tools makeit less accessible to newcomers. To ease access to fuzzing, we create initial fuzz harnesses thatspecify what and how to fuzz a target function inside a program explicitly. As fuzzing harnessesare usually written by a domain expert and require in-depth knowledge about a project. Thisthesis proposes an automation pipeline that leverages existing Java test suites to generate fuzzingharnesses automatically and fuzzes them with Jazzer.
Zusammenfassung Fuzzing ist eine automatisierte Technik um Schwachstellen zu erkennen, die Software wider-standsfähiger und sicherer macht. Fuzzing wird immer relevanter, dennoch ist es durch den Man-gel an intuitiven Tools für Neueinsteiger weniger zugänglich. Um den Zugang zum Fuzzing zu erleichtern, erstellen wir anfängliche Fuzzing-Harnesses, die explizit angeben, was und wie eineZielfunktion innerhalb eines Programms zu fuzzen ist. Da Fuzzing-Harnesses normalerweisevon einem Fachexperten geschrieben werden und vertiefte Kenntnisse über ein Projekt benöti-gen. Diese Arbeit schlägt eine Automatisierungspipeline vor, die vorhandene Java-Testsuitennutzt, um Fuzzing-Harnesses automatisch zu generieren und diese mit Jazzer zu fuzzen.
PDF File Download
Export BibTeX