Proceedings 2021 Network and Distributed System Security Symposium 2021
DOI: 10.14722/ndss.2021.24118
|View full text |Cite
|
Sign up to set email alerts
|

SymQEMU: Compilation-based symbolic execution for binaries

Abstract: Symbolic execution is a powerful technique for software analysis and bug detection. Compilation-based symbolic execution is a recently proposed flavor that has been shown to improve the performance of symbolic execution significantly when source code is available. We demonstrate a novel technique to enable compilation-based symbolic execution of binaries (i.e., without the need for source code). Our system, SymQEMU, builds on top of QEMU, modifying the intermediate representation of the target program before t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0
1

Year Published

2021
2021
2024
2024

Publication Types

Select...
6
2
2

Relationship

0
10

Authors

Journals

citations
Cited by 37 publications
(12 citation statements)
references
References 21 publications
(38 reference statements)
0
10
0
1
Order By: Relevance
“…However, these methods are far from perfect since they are built on the token level and the AST level rather than the semantic level, and this leads to the scenario that two semantically equal code snippets may have a relatively low CodeBLEU score. Some methods like dynamic testing [29] or symbolic execution [20,54] have been proposed to solve this. But such methods are either too heavy to be practical or even impractical for code snippet which does not have a clear input and output.…”
Section: Discussionmentioning
confidence: 99%
“…However, these methods are far from perfect since they are built on the token level and the AST level rather than the semantic level, and this leads to the scenario that two semantically equal code snippets may have a relatively low CodeBLEU score. Some methods like dynamic testing [29] or symbolic execution [20,54] have been proposed to solve this. But such methods are either too heavy to be practical or even impractical for code snippet which does not have a clear input and output.…”
Section: Discussionmentioning
confidence: 99%
“…Despite the advances and improvements that made the new generation whitebox fuzzers much more performant [32], greybox approaches remain the leading technique to discover vulnerabilities in modern codebases. For instance, the OSS-Fuzz project by Google [3] makes use of greybox fuzzing approaches to test and detect bugs in a large number of popular open-source projects.…”
Section: Fuzz Testingmentioning
confidence: 99%
“…Compared to all these solutions, LSym focuses on optimizing off-the-shelf concolic execution tools by means of conservative constraint debloating, which is a simple and effective way to improve the scalability of concolic execution without much compromising its soundness. Very recently Poeplau et al proposed SymCC [34] and SymQEMU [35]compilation-based symbolic execution technique for source and binary solutions respectively. We believe that the technique presented in LSym can further enhance symbolic execution performance by combining above mentioned techniques with taintflow analyses (e.g.…”
Section: Concolic Executionmentioning
confidence: 99%