Visible to the public Obfuscation Resilient Search Through Executable Classification

TitleObfuscation Resilient Search Through Executable Classification
Publication TypeConference Paper
Year of Publication2018
AuthorsSu, Fang-Hsiang, Bell, Jonathan, Kaiser, Gail, Ray, Baishakhi
Conference NameProceedings of the 2Nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages
ISBN Number978-1-4503-5834-7
Keywordsbytecode analysis, bytecode search, Deep Learning, executable search, graph theory, Human Behavior, malware analysis, Metrics, obfuscation resilience, privacy, pubcrawl, Resiliency

Android applications are usually obfuscated before release, making it difficult to analyze them for malware presence or intellectual property violations. Obfuscators might hide the true intent of code by renaming variables and/or modifying program structures. It is challenging to search for executables relevant to an obfuscated application for developers to analyze efficiently. Prior approaches toward obfuscation resilient search have relied on certain structural parts of apps remaining as landmarks, un-touched by obfuscation. For instance, some prior approaches have assumed that the structural relationships between identifiers are not broken by obfuscators; others have assumed that control flow graphs maintain their structures. Both approaches can be easily defeated by a motivated obfuscator. We present a new approach, MACNETO, to search for programs relevant to obfuscated executables leveraging deep learning and principal components on instructions. MACNETO makes few assumptions about the kinds of modifications that an obfuscator might perform. We show that it has high search precision for executables obfuscated by a state-of-the-art obfuscator that changes control flow. Further, we also demonstrate the potential of MACNETO to help developers understand executables, where MACNETO infers keywords (which are from relevant un-obfuscated programs) for obfuscated executables.

Citation Keysu_obfuscation_2018