首页> 外文会议>2010 Network and distributed system security symposium >Binary Code Extraction and Interface Identification for Security Applications
【24h】

Binary Code Extraction and Interface Identification for Security Applications

机译:安全应用程序的二进制代码提取和接口标识

获取原文
获取原文并翻译 | 示例

摘要

Binary code reuse is the process of automatically identifyingrnthe interface and extracting the instructions andrndata dependencies of a code fragment from an executablernprogram, so that it is self-contained and can bernreused by external code. Binary code reuse is useful forrna number of security applications, including reusing thernproprietary cryptographic or unpacking functions fromrna malware sample and for rewriting a network dialog.rnIn this paper we conduct the first systematic study of automatedrnbinary code reuse and its security applications.rnThe main challenge in binary code reuse is understandingrnthe code fragment's interface. We propose arnnovel technique to identify the prototype of an undocumentedrncode fragment directly from the program's binary,rnwithout access to source code or symbol information.rnFurther, we must also extract the code itself fromrnthe binary so that it is self-contained and can be easilyrnreused in another program. We design and implement arntool that uses a combination of dynamic and static analysisrnto automatically identify the prototype and extractrnthe instructions of an assembly function into a form thatrncan be reused by other C code. The extracted functionrncan be run independently of the rest of the program'srnfunctionality and shared with other users.rnWe apply our approach to scenarios that include extractingrnthe encryption and decryption routines fromrnmalware samples, and show that these routines can bernreused by a network proxy to decrypt encrypted trafficrnon the network. This allows the network proxy tornrewrite the malware's encrypted traffic by combining thernextracted encryption and decryption functions with thernsession keys and the protocol grammar. We also showrnthat we can reuse a code fragment from an unpackingrnfunction for the unpacking routine for a different samplernof the same family, even if the code fragment is not arncomplete function.
机译:二进制代码重用是自动识别接口并从可执行程序中提取代码片段的指令和数据依存关系的过程,因此它是自包含的,可以被外部代码重用。二进制代码重用对于许多安全应用程序都是有用的,包括重用rna恶意软件样本中的专有加密或拆包功能以及重写网络对话。本文中,我们对自动化二进制代码重用及其安全应用程序进行了首次系统研究。二进制代码重用是理解代码片段的接口。我们建议使用arnnovel技术直接从程序的二进制文件中识别出未记录的rncode片段的原型,而无需访问源代码或符号信息。rn此外,我们还必须从二进制文件中提取代码本身,以便它是自包含的并且可以轻松地在其中重复使用。另一个程序。我们设计和实现使用动态和静态分析相结合的arntool,以自动识别原型并将组装函数的指令提取为可被其他C代码重用的形式。提取的功能可以独立于程序的其余功能运行,并与其他用户共享。我们将我们的方法应用于包括从恶意软件样本中提取加密和解密例程的方案,并表明这些例程可以被网络代理重用以解密加密贩运网络。这允许网络代理通过将提取的加密和解密功能与会话密钥和协议语法相结合,来重写恶意软件的加密流量。我们还表明,即使代码片段不是arncomplete函数,我们也可以将来自unpackingrn函数的代码片段重用于同一家族的另一个samplerno的解包例程。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号