首页> 外文学位 >Deobfuscation of packed and virtualization-obfuscation protected binaries.
【24h】

Deobfuscation of packed and virtualization-obfuscation protected binaries.

机译:打包和虚拟化受保护的二进制文件的反混淆。

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

摘要

Code obfuscation techniques are increasingly being used in software for such reasons as protecting trade secret algorithms from competitors and deterring license tampering by those wishing to use the software for free. However, these techniques have also grown in popularity in less legitimate areas, such as protecting malware from detection and reverse engineering. This work examines two such techniques -- packing and virtualization-obfuscation -- and presents new behavioral approaches to analysis that may be relevant to security analysts whose job it is to defend against malicious code. These approaches are robust against variations in obfuscation algorithms, such as changing encryption keys or virtual instruction byte code.;Packing refers to the process of encrypting or compressing an executable file. This process "scrambles" the bytes of the executable so that byte-signature matching algorithms commonly used by anti-virus programs are ineffective. Standard static analysis techniques are similarly ineffective since the actual byte code of the program is hidden until after the program is executed. Dynamic analysis approaches exist, but are vulnerable to dynamic defenses. We detail a static analysis technique that starts by identifying the code used to "unpack" the executable, then uses this unpacker to generate the unpacked code in a form suitable for static analysis. Results show we are able to correctly unpack several encrypted and compressed malware, while still handling several dynamic defenses.;Virtualization-obfuscation is a technique that translates the original program into virtual instructions, then builds a customized virtual machine for these instructions. As with packing, the byte-signature of the original program is destroyed. Furthermore, static analysis of the obfuscated program reveals only the structure of the virtual machine, and dynamic analysis produces a dynamic trace where original program instructions are intermixed, and often indistinguishable from, virtual machine instructions. We present a dynamic analysis approach whereby all instructions that affect the external behavior of the program are identified, thus building an approximation of the original program that is observationally equivalent. We achieve good results at both identifying instructions from the original program, as well as eliminating instructions known to be part of the virtual machine.
机译:代码混淆技术正越来越多地用于软件中,其原因包括保护商业秘密算法不受竞争对手的攻击,以及阻止那些希望免费使用该软件的人篡改许可证。但是,这些技术在不太合法的领域也越来越流行,例如保护恶意软件免受检测和逆向工程。这项工作研究了两种这样的技术-打包和虚拟化-混淆-提出了新的行为分析方法,这些方法可能与旨在防止恶意代码的安全分析人员有关。这些方法对于抵制混淆算法的变化(例如更改加密密钥或虚拟指令字节代码)具有鲁棒性。打包是指对可执行文件进行加密或压缩的过程。此过程“加扰”可执行文件的字节,以使防病毒程序常用的字节签名匹配算法无效。标准的静态分析技术同样无效,因为该程序的实际字节代码一直被隐藏,直到执行完该程序为止。存在动态分析方法,但是容易受到动态防御的影响。我们详细介绍了一种静态分析技术,该技术首先确定用于“解压缩”可执行文件的代码,然后使用此解压缩器以适合静态分析的形式生成解压缩的代码。结果表明,我们能够正确解压缩几种加密和压缩的恶意软件,同时仍能处理多种动态防御。虚拟化混淆是一种将原始程序转换为虚拟指令,然后为这些指令构建自定义虚拟机的技术。与打包一样,原始程序的字节签名也被破坏。此外,对经过混淆处理的程序的静态分析仅显示虚拟机的结构,而动态分析则产生动态轨迹,原始程序指令在其中混合在一起,并且通常与虚拟机指令没有区别。我们提出了一种动态分析方法,可以识别所有影响程序外部行为的指令,从而建立与观察程序等效的原始程序的近似值。在从原始程序中识别指令以及消除已知是虚拟机一部分的指令方面,我们都取得了良好的结果。

著录项

  • 作者

    Coogan, Kevin Patrick.;

  • 作者单位

    The University of Arizona.;

  • 授予单位 The University of Arizona.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2011
  • 页码 117 p.
  • 总页数 117
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号