Next Article in Journal
Micro-Blog Sentiment Classification Method Based on the Personality and Bagging Algorithm
Previous Article in Journal
What Is an Open IoT Platform? Insights from a Systematic Mapping Study
Previous Article in Special Issue
Publishing Anonymized Set-Valued Data via Disassociation towards Analysis
Open AccessArticle

DeepDiver: Diving into Abysmal Depth of the Binary for Hunting Deeply Hidden Software Vulnerabilities

Department of Computer and Information Security, Sejong University, 209 Neungdong-ro, Gwangjin-gu, Seoul 05006, Korea
Author to whom correspondence should be addressed.
Current address: Rm. #727, Daeyang AI center, 209 Neungdong-ro, Gwangjin-gu, Seoul 05006, Korea.
Future Internet 2020, 12(4), 74;
Received: 30 March 2020 / Revised: 13 April 2020 / Accepted: 16 April 2020 / Published: 18 April 2020
(This article belongs to the Special Issue Security and Privacy in Social Networks and Solutions)
Fuzz testing is a simple automated software testing approach that discovers software vulnerabilities at a high level of performance by using randomly generated seeds. However, it is restrained by coverage and thus, there are chances of finding bugs entrenched in the deep execution paths of the program. To eliminate these limitations in mutational fuzzers, patching-based fuzzers and hybrid fuzzers have been proposed as groundbreaking advancements which combine two software testing approaches. Despite those methods having demonstrated high performance across different benchmarks such as DARPA CGC programs, they still present deficiencies in their ability to analyze deeper code branches and in bypassing the roadblocks checks (magic bytes, checksums) in real-world programs. In this research, we design DeepDiver, a novel transformational hybrid fuzzing tool that explores deeply hidden software vulnerabilities. Our approach tackles limitations exhibited by existing hybrid fuzzing frameworks, by negating roadblock checks (RC) in the program. By negating the RCs, the hybrid fuzzer can explore new execution paths to trigger bugs that are hidden in the abysmal depths of the binary. We combine AFL++ and concolic execution engine and leveraged the trace analyzer approach to construct the tree for each input to detect RCs. To demonstrate the efficiency of DeepDiver, we tested it with the LAVA-M dataset and eight large real-world programs. Overall, DeepDiver outperformed existing software testing tools, including the patching-based fuzzer and state-of-the-art hybrid fuzzing techniques. On average, DeepDiver discovered vulnerabilities 32.2% and 41.6% faster than QSYM and AFLFast respectively, and it accomplished in-depth code coverage. View Full-Text
Keywords: software vulnerability; hybrid fuzzing; concolic execution; patching-based fuzzing software vulnerability; hybrid fuzzing; concolic execution; patching-based fuzzing
Show Figures

Figure 1

MDPI and ACS Style

Rustamov, F.; Kim, J.; Yun, J. DeepDiver: Diving into Abysmal Depth of the Binary for Hunting Deeply Hidden Software Vulnerabilities. Future Internet 2020, 12, 74.

Show more citation formats Show less citations formats
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

Search more from Scilit
Back to TopTop