Terminator: enabling efficient fuzzing of closed-source GUI programs by automatic coverage-guided termination
This program is tentative and subject to change.
When fuzzing a proprietary file-processing program, one typically executes the whole program repeatedly with sampled input files, and distinguishes between normal and abnormal termination. While this works well for many command-line utilities, it is more complicated for programs that usually do not terminate after input file processing. Many real-world applications are examples of such programs, in particular, those with a graphical user interface (GUI), such as image editors, media players and document viewers. In these cases, the fuzzer has to define the scope of the execution and forcefully terminate the program under test.
In order to efficiently fuzz test file-processing programs with a GUI, a standard approach is to define a dedicated testing harness, which executes the file processing in isolation and strips irrelevant program parts. However, this either requires the source code of the program or an expert’s effort in reverse engineering. Alternative approaches work on the unmodified binary of the program, and use a heuristic to decide when the input processing is likely done. For example, one can terminate the program after a fixed timeout or once its CPU usage has dropped below a threshold. We show that these heuristics, while simple to implement, are inefficient and ineffective.
We present Terminator, a fully-automated approach to facilitate efficient fuzzing of closed-source file-processing programs with a GUI. Terminator modifies the binary of the program under test so that it automatically terminates when code coverage stops increasing without user interaction. Consequently, Terminator (1) ensures that the program terminates soon after the input processing instead of waiting for user interaction, and, at the same time, (2) prevents premature termination during input processing. We show that Terminator outperforms the timeout and CPU usage heuristics and significantly increases fuzzing efficiency.
This program is tentative and subject to change.
Wed 19 NovDisplayed time zone: Seoul change
14:00 - 15:30 | |||
14:00 10mTalk | Terminator: enabling efficient fuzzing of closed-source GUI programs by automatic coverage-guided termination Research Papers | ||
14:10 10mTalk | Function Clustering-Based Fuzzing Termination: Toward Smarter Early Stopping Research Papers ding liang University of Science and Technology of China, Wenzhang Yang Institute of AI for industries, Yinxing Xue Institute of AI for Industries, Chinese Academy of Sciences | ||
14:20 10mTalk | Risk Estimation in Differential Fuzzing via Extreme Value Theory Research Papers Rafael Baez University of Texas at El Paso, Alejandro Olivas University of Texas at El Paso, Nathan K Diamond University of Texas at El Paso, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires, Yannic Noller Ruhr University Bochum, Saeid Tizpaz-Niari University of Illinois Chicago | ||
14:30 10mTalk | Advanced White-Box Heuristics for Search-Based Fuzzing of REST APIs Journal-First Track Andrea Arcuri Kristiania University College and Oslo Metropolitan University, Man Zhang Beihang University, China, Juan Pablo Galeotti University of Buenos Aires | ||
14:40 10mTalk | BCFuzz: Bytecode-Driven Fuzzing for JavaScript Engines Research Papers Jiming Wang SKLP, Institute of Computing Technology, CAS & University of Chinese Academy of Sciences, Chenggang Wu Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences; Zhongguancun Laboratory, Jikai Ren SKLP, Institute of Computing Technology, CAS & University of Chinese Academy of Sciences, Yuhao Hu SKLP, Institute of Computing Technology, CAS & University of Chinese Academy of Sciences, Yan Kang Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Xiaojie Wei SKLP, Institute of Computing Technology, CAS, Yuanming Lai Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Mengyao Xie SKLP, Institute of Computing Technology, CAS, Zhe Wang Institute of Computing Technology at Chinese Academy of Sciences; Zhongguancun Laboratory | ||
14:50 10mTalk | LSPFuzz: Hunting Bugs in Language Servers Research Papers Hengcheng Zhu The Hong Kong University of Science and Technology, Songqiang Chen The Hong Kong University of Science and Technology, Valerio Terragni University of Auckland, Lili Wei McGill University, Yepang Liu Southern University of Science and Technology, Jiarong Wu , Shing-Chi Cheung Hong Kong University of Science and Technology Pre-print | ||
15:00 10mTalk | TEPHRA: Principled Discovery of Fuzzer Limitations Research Papers Vasil Sarafov μCSRL, CODE Research Institute, University of the Bundeswehr Munich, David Markvica μCSRL, CODE Research Institute, University of the Bundeswehr Munich, Stefan Brunthaler μCSRL, CODE Research Institute, University of the Bundeswehr Munich | ||
15:10 10mTalk | Learning-Guided Fuzzing for Testing Stateful SDN Controllers Journal-First Track Raphaël Ollando University of Luxembourg, Seung Yeob Shin University of Luxembourg, Lionel Briand University of Ottawa, Canada; Lero centre, University of Limerick, Ireland | ||
15:20 10mTalk | Learning from the Past: Real-World Exploit Migration for Smart Contract PoC Generation Research Papers Kairan Sun Nanyang Technological University, Zhengzi Xu Imperial Global Singapore, Kaixuan Li Nanyang Technological University, Lyuye Zhang Nanyang Technological University, Yebo Feng Nanyang Technological University, Daoyuan Wu Lingnan University, Yang Liu Nanyang Technological University | ||