【24h】

A Next-Generation Platform for Analyzing Executables

机译:下一代分析可执行文件的平台

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

摘要

In recent years, there has been a growing need for tools that an analyst can use to understand the workings of COTS components, plugins, mobile code, and DLLs, as well as memory snapshots of worms and virus-infected code. Static analysis provides techniques that can help with such problems; however, there are several obstacles that must be overcome: 1. For many kinds of potentially malicious programs, symbol-table and debugging information is entirely absent. Even if it is present, it cannot be relied upon. 2. To understand memory-access operations, it is necessary to determine the set of addresses accessed by each operation. This is difficult because 2.1 While some memory operations use explicit memory addresses in the instruction (easy), others use indirect addressing via address expressions (difficult). 2.2 Arithmetic on addresses is pervasive. For instance, even when the value of a local variable is loaded from its slot in an activation record, address arithmetic is performed. 2.3 There is no notion of type at the hardware level, so address values cannot be distinguished from integer values. 2.4 Memory accesses do not have to be aligned, so word-sized address values could potentially be cobbled together from misaligned reads and writes. We have developed static-analysis algorithms to recover information about the contents of memory locations and how they are manipulated by an executable. By combining these analyses with facilities provided by the IDAPro and CodeSurfer toolkits, we have created CodeSurfer/x86, a prototype tool for browsing, inspecting, and analyzing x86 executables. From an x86 executable, CodeSurfer/x86 recovers intermediate representations that are similar to what would be created by a compiler for a program written in a high-level language. CodeSurfer/x86 also supports a scripting language, as well as several kinds of sophisticated pattern-matching capabilities. These facilities provide a platform for the development of additional tools for analyzing the security properties of executables.
机译:近年来,对分析工具可用于了解COTS组件,插件,移动代码和DLL以及蠕虫和病毒感染代码的内存快照的工作的工具的需求日益增长。静态分析提供了可以解决此类问题的技术;但是,必须克服几个障碍:1.对于许多潜在的恶意程序,完全没有符号表和调试信息。即使存在,也不能依靠它。 2.要了解内存访问操作,有必要确定每个操作访问的地址集。这很困难,因为2.1虽然某些内存操作在指令中使用显式的内存地址(简单),而其他一些内存操作则通过地址表达式(难于使用)进行间接寻址。 2.2地址运算无处不在。例如,即使从激活记录中的插槽中加载了局部变量的值,也要执行地址运算。 2.3在硬件级别上没有类型的概念,因此地址值不能与整数值区分开。 2.4内存访问不必对齐,因此字大小的地址值可能会因未对齐的读取和写入而被拼凑在一起。我们已经开发了静态分析算法来恢复有关内存位置内容以及可执行文件如何操作它们的信息。通过将这些分析与IDAPro和CodeSurfer工具箱提供的功能相结合,我们创建了CodeSurfer / x86,这是用于浏览,检查和分析x86可执行文件的原型工具。 CodeSurfer / x86从x86可执行文件中恢复类似于由编译器为高级语言编写的程序创建的中间表示形式。 CodeSurfer / x86还支持脚本语言以及多种复杂的模式匹配功能。这些功能为开发用于分析可执行文件的安全性的其他工具提供了一个平台。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号