Visible to the public Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection

TitleNeural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection
Publication TypeConference Paper
Year of Publication2017
AuthorsXu, Xiaojun, Liu, Chang, Feng, Qian, Yin, Heng, Song, Le, Song, Dawn
Conference NameProceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4946-8
Keywordsbinary code, Collaboration, cyber physical systems, Metrics, network coding, Neural Network, neural networks security, policy, policy-based governance, Policy-Governed Secure Collaboration, pubcrawl, resilience, Resiliency, similarity detection

The problem of cross-platform binary code similarity detection aims at detecting whether two binary functions coming from different platforms are similar or not. It has many security applications, including plagiarism detection, malware detection, vulnerability search, etc. Existing approaches rely on approximate graph-matching algorithms, which are inevitably slow and sometimes inaccurate, and hard to adapt to a new task. To address these issues, in this work, we propose a novel neural network-based approach to compute the embedding, i.e., a numeric vector, based on the control flow graph of each binary function, then the similarity detection can be done efficiently by measuring the distance between the embeddings for two functions. We implement a prototype called Gemini. Our extensive evaluation shows that Gemini outperforms the state-of-the-art approaches by large margins with respect to similarity detection accuracy. Further, Gemini can speed up prior art's embedding generation time by 3 to 4 orders of magnitude and reduce the required training time from more than 1 week down to 30 minutes to 10 hours. Our real world case studies demonstrate that Gemini can identify significantly more vulnerable firmware images than the state-of-the-art, i.e., Genius. Our research showcases a successful application of deep learning on computer security problems.

Citation Keyxu_neural_2017