Publication | Closed Access
1dVul: Discovering 1-Day Vulnerabilities through Binary Patches
34
Citations
26
References
2019
Year
Unknown Venue
Software MaintenanceEngineeringInformation SecuritySoftware EngineeringNew SolutionSoftware AnalysisFormal VerificationHardware SecurityVulnerability Assessment (Computing)FuzzingComputer EngineeringBinary PatchesComputer ScienceStatic Program AnalysisData SecuritySecurity Testing MethodSoftware SecurityToig ProblemProgram AnalysisSoftware TestingFormal MethodsSymbolic Execution
Discovering 1-day vulnerabilities in binary patches is worthwhile but challenging. One of the key difficulties lies in generating inputs that could reach the patched code snippet while making the unpatched program crash. In this paper, we named it as a target-oriented input generation problem or a ToIG problem for clarity. Existing solutions for the ToIG problem either suffer from path explosion or may get stuck by complex checks. In the paper, we present a new solution to improve the efficiency of ToIG which leverage a combination of a distance-based directed fuzzing mechanism and a dominator-based directed symbolic execution mechanism. To demonstrate its efficiency, we design and implement 1dVul, a tool for 1-day vulnerability discovering at binary-level, based on the solution. Demonstrations show that 1dVul has successfully generated inputs for 130 targets from a total of 209 patch targets identified from applications in DARPA Cyber Grant Challenge, while the state-of-the-art solutions AFLGo and Driller can only reach 99 and 107 targets, respectively, within the same limited time budget. Further-more, 1dVul runs 2.2X and 3.6X faster than AFLGo and Driller, respectively, and has confirmed 96 vulnerabilities from the unpatched programs.
| Year | Citations | |
|---|---|---|
Page 1
Page 1