Proceedings of the 3rd ACM Workshop on Software Protection 2019
DOI: 10.1145/3338503.3357719
|View full text |Cite
|
Sign up to set email alerts
|

Defeating Opaque Predicates Statically through Machine Learning and Binary Analysis

Abstract: We present a new approach that bridges binary analysis techniques with machine learning classification for the purpose of providing a static and generic evaluation technique for opaque predicates, regardless of their constructions. We use this technique as a static automated deobfuscation tool to remove the opaque predicates introduced by obfuscation mechanisms. According to our experimental results, our models have up to 98% accuracy at detecting and deobfuscating state-of-the-art opaque predicates patterns. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
18
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 15 publications
(18 citation statements)
references
References 30 publications
0
18
0
Order By: Relevance
“…For example, Backward-Bounded DSE [3] can detect 100% of the opaque predicates inserted by the OLLVM obfuscator [18]. However, dynamic symbolic execution-based approaches' detection accuracy decreases when encountering opaque predicates of varied constructions [37]. This is because their detection approaches are based on determining if a conditional branch contains an invariant expression.…”
Section: Contributionsmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, Backward-Bounded DSE [3] can detect 100% of the opaque predicates inserted by the OLLVM obfuscator [18]. However, dynamic symbolic execution-based approaches' detection accuracy decreases when encountering opaque predicates of varied constructions [37]. This is because their detection approaches are based on determining if a conditional branch contains an invariant expression.…”
Section: Contributionsmentioning
confidence: 99%
“…Depending on how the opaque predicate is constructed, it can be non-trivial or even undecidable to identify the invariant expression. Tofighi-Shirazi et al [37] recently introduce a detection approach using machine learning based on a decision-tree classification model. Although it can detect opaque predicates of varied constructions, the performance of Tofighi-Shirazi's approach suffers when detecting an opaque predicate whose construction is not previously encountered in its training data.…”
Section: Contributionsmentioning
confidence: 99%
“…is language is part of the symbolic execution engine that we use for the implementation of our methodology as IDA Pro plug-in. Additionally, the normalized Miasm2 intermediate language has also been successful for the application of machine learning techniques in order to deobfuscate opaque predicates [61]. Listing 1 illustrates the symbolic state S of the rst basic-block of the function quick-sort, which is illustrated in Figure 1.…”
Section: Semantic-based Raw Datamentioning
confidence: 99%
“…As seen in [61], semantic reasoning and machine learning provides promising results for deobfuscation methodology. e evaluations shown in this paper illustrate that our model does not depend on the code functionality.…”
Section: Perspectives and Future Workmentioning
confidence: 99%
See 1 more Smart Citation