首页> 外文会议>IEEE Symposium on Security and Privacy >Asm2Vec: Boosting Static Representation Robustness for Binary Clone Search against Code Obfuscation and Compiler Optimization
【24h】

Asm2Vec: Boosting Static Representation Robustness for Binary Clone Search against Code Obfuscation and Compiler Optimization

机译:ASM2VEC:促进二进制克隆搜索的静态表示稳健性,防止代码混淆和编译器优化

获取原文

摘要

Reverse engineering is a manually intensive but necessary technique for understanding the inner workings of new malware, finding vulnerabilities in existing systems, and detecting patent infringements in released software. An assembly clone search engine facilitates the work of reverse engineers by identifying those duplicated or known parts. However, it is challenging to design a robust clone search engine, since there exist various compiler optimization options and code obfuscation techniques that make logically similar assembly functions appear to be very different. A practical clone search engine relies on a robust vector representation of assembly code. However, the existing clone search approaches, which rely on a manual feature engineering process to form a feature vector for an assembly function, fail to consider the relationships between features and identify those unique patterns that can statistically distinguish assembly functions. To address this problem, we propose to jointly learn the lexical semantic relationships and the vector representation of assembly functions based on assembly code. We have developed an assembly code representation learning model emph{Asm2Vec}. It only needs assembly code as input and does not require any prior knowledge such as the correct mapping between assembly functions. It can find and incorporate rich semantic relationships among tokens appearing in assembly code. We conduct extensive experiments and benchmark the learning model with state-of-the-art static and dynamic clone search approaches. We show that the learned representation is more robust and significantly outperforms existing methods against changes introduced by obfuscation and optimizations.
机译:逆向工程是一种手动密集但必要的技术,用于了解新恶意软件的内部工作,在现有系统中寻找漏洞,以及检测发布软件中的专利侵权。组件克隆搜索引擎通过识别那些重复或已知的部分来促进反向工程师的工作。然而,设计一个强大的克隆搜索引擎是挑战,因为存在各种编译器优化选项和制作逻辑上类似的装配函数的代码混淆技术看起来非常不同。实际的克隆搜索引擎依赖于汇编代码的强大矢量表示。然而,依赖于手动功能工程过程的现有克隆搜索方法,以形成组装功能的特征向量,无法考虑特征之间的关系,并识别可以统计地区分装配功能的那些唯一的模式。为了解决这个问题,我们建议联合学习基于汇编代码的词汇语义关系和装配函数的矢量表示。我们开发了一个装配代码表示学习模型 emph {asm2vec}。它只需要装配代码作为输入,不需要任何先前的知识,例如装配功能之间的正确映射。它可以在汇编代码中出现的令牌之间找到并包含丰富的语义关系。我们通过最先进的静态和动态克隆搜索方法进行广泛的实验并基准学习模型。我们表明,学习的表示更加强大,并且显着优于采用混淆和优化引入的变革的现有方法。

著录项

相似文献

  • 外文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号