My Fuzzers Won’t Build: An Empirical Study of Fuzzing Build Failures
Fuzzing is an automated software testing technique used to find software vulnerabilities that works by sending large amounts of inputs to a software system to trigger bad behaviors. In recent years, the open-source software ecosystem has seen a significant increase in the adoption of fuzzing to avoid spreading vulnerabilities throughout the ecosystem. While fuzzing is the state-of-the-art approach to uncover vulnerabilities, there is currently a lack of knowledge regarding the challenges of conducting and maintaining fuzzing activities over time. Specifically, fuzzers are very complex tools to set up and build before they can be used. Quantitative and Qualitative analyses. We set out to empirically find out how challenging is build maintenance in the context of fuzzing. We mine over 1.2 million build logs from Google’s OSS-Fuzz service to investigate fuzzing build failures. We first conduct a quantitative analysis to quantify the prevalence of fuzzing build failures. Our results show that most open-source projects carefully manage their fuzzing builds and fix fuzzing build failures very quickly. We then manually investigate 677 failing fuzzing builds logs and establish a taxonomy of 25 root causes of build failures. Our taxonomy can serve as a reference for practitioners conducting fuzzing build maintenance.
Automated build failure classification. From our labeled dataset, we then extract and highlight common patterns of failures from the build logs. Using these patterns and our 677 labeled build logs, we finally train a machine learning model to recognize common failure patterns in failing build logs. Our model was able to achieve an F1-score of over 85% for three of the five most common types of failures when trying to automatically classify the root cause of failure in failing builds. Our modeling experiment shows the potential of using automation to simplify the process of fuzzing.
Tue 24 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30 | Fuzzing 2Industry Papers / Journal First / Ideas, Visions and Reflections / Research Papers at Aurora B Chair(s): Haipeng Cai University at Buffalo, SUNY | ||
14:00 20mTalk | AFLNet Five Years Later: On Coverage-Guided Protocol Fuzzing Journal First Ruijie Meng National University of Singapore, Singapore, Thuan Pham University of Melbourne, Marcel Böhme MPI for Security and Privacy, Abhik Roychoudhury National University of Singapore | ||
14:20 20mTalk | My Fuzzers Won’t Build: An Empirical Study of Fuzzing Build Failures Journal First Olivier Nourry The University of Osaka, Yutaro Kashiwa Nara Institute of Science and Technology, Weiyi Shang University of Waterloo, Honglin Shu Kyushu University, Yasutaka Kamei Kyushu University | ||
14:40 20mTalk | Directed Testing in MLIR: Unleashing Its Potential by Overcoming the Limitations of Random Fuzzing Research Papers Weiyuan Tong Northwest University, Zixu Wang Northwest University, Zhanyong Tang Northwest University, Jianbin Fang National University of Defense Technology, Yuqun Zhang Southern University of Science and Technology, Guixin Ye Northwest University DOI | ||
15:00 10mTalk | GAFLERNA Ahoy! Integrating EM Side-Channel Analysis into Traditional Fuzzing Workflows Ideas, Visions and Reflections Jorge Barredo IKERLAN, Mondragon Unibertsitatea, Justyna Petke University College London, David Clark University College London, Daniel Blackwell University College London, Maialen Eceiza IKERLAN, Jose Luis Flores University of the Basque Country UPV/EHU, Mikel Iturbe Mondragon Unibertsitatea | ||
15:10 20mTalk | Grey-Box Fuzzing in Constrained Ultra-Large Systems: Lessons for SE Community Industry Papers Jiazhao Yu Sun Yat-sen University, Yanlun Tu Ant Group, Zhanlei Zhang Macquaire University, TIEHUA ZHANG Tongji University, Cheng Xu Ant Group, Weigang Wu Sun Yat-sen University, Hong Jin Kang University of Sydney, Xi Zheng Macquarie University |
Aurora B is the second room in the Aurora wing.
When facing the main Cosmos Hall, access to the Aurora wing is on the right, close to the side entrance of the hotel.