首页> 外文会议>Asian Symposium on Programming Languages and Systems >A Next-Generation Platform for Analyzing Executables
【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: – 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. – To understand memory-access operations, it is necessary to determine the set of addresses accessed by each operation. This is difficult because. While some memory operations use explicit memory addresses in the instruction (easy), others use indirect addressing via address expressions (difficult). 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. There is no notion of type at the hardware level, so address values cannot be distinguished from integer values. 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. Portions of this paper have appeared in .
机译:近年来,对分析师可以用来了解COTS组件,插件,移动代码和DLL的运作的工具,以及蠕虫和病毒感染代码的内存快照的工具越来越需要。静态分析提供了有助于这些问题的技术;但是,必须克服几个障碍: - 对于多种潜在的恶意程序,符号表和调试信息完全不存在。即使存在,它也不能依赖。 - 要了解内存访问操作,必须确定每个操作访问的一组地址。这很难,因为。虽然某些内存操作在指令中使用显式内存地址(简单),但其他内存操作,则其他内容使用地址表达式(困难)使用间接寻址。地址算术是普遍存在的。例如,即使当局部变量的值从激活记录中的时隙加载时,也会执行地址算法。硬件级别没有类型的概念,因此无法与整数值区分地址值。内存访问不必对齐,因此字样的地址值可能会从未对读取和写入中汇集在一起​​。我们已经开发了静态分析算法,以恢复有关内存位置内容的信息以及如何由可执行文件操纵。通过将这些分析与IDAPRO和Codesurefer工具包提供的设施相结合,我们创建了代码索/ x86,是用于浏览,检查和分析X86可执行文件的原型工具。从x86可执行文件中,代码求/ x86恢复类似于以高级语言编写的程序的编译器创建的中间表示。 CodesURERER / X86还支持脚本语言,以及多种复杂的模式匹配功能。这些设施提供了开发其他工具的平台,用于分析可执行文件的安全性属性。本文的一部分出现在。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号