首页> 外文会议>International Conference on Information and Communications Security >Architecture- and OS-Independent Binary-Level Dynamic Test Generation
【24h】

Architecture- and OS-Independent Binary-Level Dynamic Test Generation

机译:架构和OS独立的二进制级动态测试生成

获取原文
获取外文期刊封面目录资料

摘要

Dynamic test generation approach consists of executing a program while gathering symbolic constraints on inputs from predicates encountered in branch statements, and of using a constraint solver to infer new program inputs from previous constraints in order to steer next executions towards new program paths. Variants of this technique have recently been adopted in finding security vulnerabilities in binary level software. However, such existing approaches and tools are not retargetable: on the one hand, they can only find vulnerabilities in the binaries for a specific ISA; on the other hand, they can only find vulnerabilities over a specific OS because the execution trace is totally OS-dependently recorded in these tools. This paper presents a new dynamic test generation technique and a tool, ReTBLDTG, short for ReTargetable Binary-Level Dynamic Test Generation, that implements this technique. Unlike other such techniques, ReTBLDTG can deal with binaries for any ISAs over any Oses. ReTBLDTG is based on the whole system virtual machine that provides OS-independent and fast concrete execution of the target program. And which thread the executing instruction belongs to is OS-independently identified by analyzing the registers' value and hardware events over the virtual machine. Thus, the execution trace is recorded, without knowing the internal structure of the guest OS. At the same time, ReTBLDTG defines a Meta Instruction Set Architecture (MetaISA); ReTBLDTG maps the execution information, which is collected during the binary source code execution, to MetaISA; and symbolic execution, constraint collection and constraint solver operates on MetaISA, thus making these tasks ISA-independent. We have implemented our ReTBLDTG, retargeted it to 32-bit x86, PowerPC and Sparc ISAs, and used it to automatically find the six known bugs in the six benchmarks over Linux and Windows. Our results indicate that our ReTBLDTG can be easily retargeted to any ISA with only a few overheads; and ReTBLDTG can effectively find bugs located deep within large applications over any OS.
机译:动态测试生成方法由执行程序的同时从在分支语句谓词遇到输入端上的符号收集的限制,并且使用约束求解器以引向新的程序的路径下的执行来推断从先前约束新程序输入的。最近通过在二进制级软件中找到安全漏洞来采用这种技术的变体。但是,这种现有的方法和工具不是重新批准的:一方面,他们只能在特定ISA的二进制文件中找到漏洞;另一方面,它们只能在特定操作系统上找到漏洞,因为执行跟踪完全依赖于这些工具中记录。本文介绍了一种新的动态测试生成技术和工具,Retbldtg,用于重新滥用二进制级动态测试生成的短路,实现该技术。与其他此类技术不同,Retbldtg可以在任何iS上处理任何ISA的二进制文件。 Retbldtg基于整个系统虚拟机,提供无关的无关和快速混凝土执行目标程序。并且,执行指令所属的线程是通过在虚拟机上分析寄存器的值和硬件事件来独立地识别的操作系统。因此,在不知道客户操作系统的内部结构的情况下记录执行跟踪。同时,RetBldtg定义了元指令集架构(Metaisa); Retbldtg将在二进制源代码执行期间收集的执行信息映射到Metaisa;符号执行,约束收集和约束求解器在Metaisa上运行,从而使这些任务是独立的。我们已经实现了我们的Retbldtg,将其重新设置为32位X86,PowerPC和SPARC ISAS,并使用它在Linux和Windows上自动找到六个基准中的六个已知错误。我们的结果表明,我们的Retbldtg可以很容易地重新归结为任何ISA,只有几个开销; Retbldtg可以有效地发现在任何操作系统上的大型应用程序中都会有效地找到了深度的错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号