Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security 2015
DOI: 10.1145/2810103.2813663
|View full text |Cite
|
Sign up to set email alerts
|

Symbolic Execution of Obfuscated Code

Abstract: Symbolic and concolic execution find important applications in a number of security-related program analyses, including analysis of malicious code. However, malicious code tend to very often be obfuscated, and current concolic analysis techniques have trouble dealing with some of these obfuscations, leading to imprecision and/or excessive resource usage. This paper discusses three such obfuscations: two of these are already found in obfuscation tools used by malware, while the third is a simple variation on an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
53
0
2

Year Published

2016
2016
2020
2020

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 68 publications
(55 citation statements)
references
References 28 publications
0
53
0
2
Order By: Relevance
“…Recently Yadegari and Debray considered the problem of symbolically analyzing obfuscated conditionals [8]. They also focus on manipulating conditionals to hide them or to hide their relation with the inputs.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Recently Yadegari and Debray considered the problem of symbolically analyzing obfuscated conditionals [8]. They also focus on manipulating conditionals to hide them or to hide their relation with the inputs.…”
Section: Related Workmentioning
confidence: 99%
“…State of the art in deobfuscation shows that control flow flattening not based on opaque predicates can be broken by using static path deobfuscation [7]. Recent work [8,9] focuses on the use of symbolic analysis together with taint analysis to deobfuscate virtualized binaries and allow exploration of their execution path. Symbolic analysis maintains sets of constraints on the execution paths to determine which inputs cause each branch of a conditional statement to be explored.…”
Section: Introductionmentioning
confidence: 99%
“…A first, critical point to make is that none of the mentioned static techniques have been scientifically validated as successfully breaking complex forms of opaque predicates (such as the graph-based ones from Collberg et al [22]) on software of real-world complexity. Symbolic execution, for example, was only tested on programs of at most two functions [19]. Abstract interpretation was only evaluated on opaque predicates of which the program slice (i.e., the code computing the predicate) consisted of a tiny fragment immediately preceding the conditional branch [18].…”
Section: Resilience Against Counterattacksmentioning
confidence: 99%
“…Although the virtualization obfuscation may lead to the excessive resource usage of LoPD, we do not view it as a hard limit. The latest work on symbolic execution of obfuscated code has proposed using fine-grained bit-level taint analysis to mitigate this problem [71]. We plan to integrate the bit-level taint analysis to improve LoPD's robust against the virtualization obfuscation.…”
Section: A Case Study I: Same Programsmentioning
confidence: 99%