Fuzzing technologies have evolved at a fast pace in recent years, revealing bugs in programs with ever increasing depth and speed. Applications working with complex formats are however more difficult to take on, as inputs need to meet certain format-specific characteristics to get through the initial parsing stage and reach deeper behaviors of the program. Unlike prior proposals based on manually written format specifications, we propose a technique to automatically generate and mutate inputs for unknown chunk-based binary formats. We identify dependencies between input bytes and comparison instructions, and use them to assign tags that characterize the processing logic of the program. Tags become the building block for structure-aware mutations involving chunks and fields of the input. Our technique can perform comparably to structure-aware fuzzing proposals that require human assistance. Our prototype implementation WEIZZ revealed 16 unknown bugs in widely used programs.

WEIZZ: automatic grey-box fuzzing for structured binary formats / Fioraldi, A.; D'Elia, D. C.; Coppa, E.. - (2020), pp. 1-13. (Intervento presentato al convegno International Symposium on Software Testing and Analysis tenutosi a Los Angeles; USA) [10.1145/3395363.3397372].

WEIZZ: automatic grey-box fuzzing for structured binary formats

Fioraldi A.
Primo
;
D'Elia D. C.
Penultimo
;
Coppa E.
Ultimo
2020

Abstract

Fuzzing technologies have evolved at a fast pace in recent years, revealing bugs in programs with ever increasing depth and speed. Applications working with complex formats are however more difficult to take on, as inputs need to meet certain format-specific characteristics to get through the initial parsing stage and reach deeper behaviors of the program. Unlike prior proposals based on manually written format specifications, we propose a technique to automatically generate and mutate inputs for unknown chunk-based binary formats. We identify dependencies between input bytes and comparison instructions, and use them to assign tags that characterize the processing logic of the program. Tags become the building block for structure-aware mutations involving chunks and fields of the input. Our technique can perform comparably to structure-aware fuzzing proposals that require human assistance. Our prototype implementation WEIZZ revealed 16 unknown bugs in widely used programs.
2020
International Symposium on Software Testing and Analysis
binary testing; chunk-based formats; Fuzzing; structural mutations
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
WEIZZ: automatic grey-box fuzzing for structured binary formats / Fioraldi, A.; D'Elia, D. C.; Coppa, E.. - (2020), pp. 1-13. (Intervento presentato al convegno International Symposium on Software Testing and Analysis tenutosi a Los Angeles; USA) [10.1145/3395363.3397372].
File allegati a questo prodotto
File Dimensione Formato  
Fioraldi_WEIZZ_2020.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.3 MB
Formato Adobe PDF
1.3 MB Adobe PDF   Contatta l'autore
Fioraldi_postprint_WEIZZ_2020.pdf

accesso aperto

Note: https://doi.org/10.1145/3395363.3397372
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.42 MB
Formato Adobe PDF
1.42 MB Adobe PDF

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1499674
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 48
  • ???jsp.display-item.citation.isi??? ND
social impact