obfFuzz: Empirical Study to Boost Fuzzing the Obfuscated Software

Code obfuscation is a well-known method of protecting proprietary software against reverse engineering. Although obfuscation is beneficial, it alters the program’s control and data flow. Thus, systematic control and data flow alteration significantly affect the quality of the binaries, especially from the point of view of fuzzing testing. Although these modifications can introduce bugs in the program, there is still a lack of clear understanding of how implementing an obfuscation algorithm degrades the quality of fuzzing obfuscated software.This paper proposes obfFuzz, the first empirical study to reveal and understand the challenges behind the fuzzing of obfuscated software. Our study begins by fuzzing the unobfuscated binaries and comparing the results with obfuscated binaries. We chose the most popular fuzzing technique, AFL++. It is interesting because of its approach to combining mutation-based test case generation with code coverage metrics, which is the most affected component, by applying obfuscation transformation techniques. We have evaluated our tool on four real-world programs (pdfinfo, exif, tiffinfo, and md2roff). Our study revealed several findings: 1) Control flow obfuscation makes the code more complex, significantly decreasing the percentage of code coverage by $\mathbf{6 0 \%}$ compared to the original code. 2) Due to data flow obfuscation, we have inefficient mutations during fuzzing, so it takes $\mathbf{7 0 \%}$ more time to expose crashes than in the unobfuscated code with the same constraints. 3) Applying obfuscation techniques increases the program code size and decreases execution speed, giving us inefficient fuzzing results for the obfuscated binary. 4) Our observation shows that fuzzing an obfuscated binary is inefficient. Obfuscation transformations add more complexity, degrading the resultant binary and introducing buggy code.

Authors

Institutions

Publication Details

Published
2024-12-27
DOI
https://doi.org/10.1109/icctit64404.2024.10928491
Primary Topic
Advanced Malware Detection Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

obfFuzz: Empirical Study to Boost Fuzzing the Obfuscated Software

Kawkab Aldoshan
1 links
Advanced Malware Detection Techniques
article

obfFuzz: Empirical Study to Boost Fuzzing the Obfuscated Software

Kawkab Aldoshan
article en

Abstract

Code obfuscation is a well-known method of protecting proprietary software against reverse engineering. Although obfuscation is beneficial, it alters the program’s control and data flow. Thus, systematic control and data flow alteration significantly affect the quality of the binaries, especially from the point of view of fuzzing testing. Although these modifications can introduce bugs in the program, there is still a lack of clear understanding of how implementing an obfuscation algorithm degrades the quality of fuzzing obfuscated software.This paper proposes obfFuzz, the first empirical study to reveal and understand the challenges behind the fuzzing of obfuscated software. Our study begins by fuzzing the unobfuscated binaries and comparing the results with obfuscated binaries. We chose the most popular fuzzing technique, AFL++. It is interesting because of its approach to combining mutation-based test case generation with code coverage metrics, which is the most affected component, by applying obfuscation transformation techniques. We have evaluated our tool on four real-world programs (pdfinfo, exif, tiffinfo, and md2roff). Our study revealed several findings: 1) Control flow obfuscation makes the code more complex, significantly decreasing the percentage of code coverage by $\mathbf{6 0 \%}$ compared to the original code. 2) Due to data flow obfuscation, we have inefficient mutations during fuzzing, so it takes $\mathbf{7 0 \%}$ more time to expose crashes than in the unobfuscated code with the same constraints. 3) Applying obfuscation techniques increases the program code size and decreases execution speed, giving us inefficient fuzzing results for the obfuscated binary. 4) Our observation shows that fuzzing an obfuscated binary is inefficient. Obfuscation transformations add more complexity, degrading the resultant binary and introducing buggy code.

University of Georgia (US)
Reduced inequalities
Openalex Percentile: Top 68%
Advanced Malware Detection Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

obfFuzz: Empirical Study to Boost Fuzzing the Obfuscated Software — Kawkab Aldoshan · (2024) | TGRS Research Map | TGRS