Fuzzing Error Handling Code in Device Drivers Based on Software Fault Injection - Archive ouverte HAL
Communication Dans Un Congrès Année : 2019

Fuzzing Error Handling Code in Device Drivers Based on Software Fault Injection

Résumé

Device drivers remain a main source of runtime failures in operating systems. To detect bugs in device drivers, fuzzing has been commonly used in practice. However, a main limitation of existing fuzzing approaches is that they cannot effectively test error handling code. Indeed, these fuzzing approaches require effective inputs to cover target code, but much error handling code in drivers is triggered by occasional errors (such as insufficient memory and hardware malfunctions) that are not related to inputs. In this paper, based on software fault injection, we propose a new fuzzing approach named FIZZER, to test error handling code in device drivers. At compile time, FIZZER uses static analysis to recommend possible error sites that can trigger error handling code. During driver execution, by analyzing runtime information, it automatically fuzzes error-site sequences for fault injection to improve code coverage. We evaluate FIZZER on 18 device drivers in Linux 4.19, and in total find 22 real bugs. The code coverage is increased by over 15% compared to normal execution without fuzzing.
Fichier principal
Vignette du fichier
FIZZER_published.pdf (661.75 Ko) Télécharger le fichier
Origine Accord explicite pour ce dépôt
Loading...

Dates et versions

hal-02389293 , version 1 (02-12-2019)

Identifiants

Citer

Zu-Ming Jiang, Jia-Ju Bai, Julia L. Lawall, Shi-Min Hu. Fuzzing Error Handling Code in Device Drivers Based on Software Fault Injection. ISSRE 2019 - The 30th International Symposium on Software Reliability Engineering, Oct 2019, Berlin, Germany. ⟨10.1109/ISSRE.2019.00022⟩. ⟨hal-02389293⟩
190 Consultations
964 Téléchargements

Altmetric

Partager

More