...
首页> 外文期刊>The Journal of Systems and Software >SimFuzz: Test case similarity directed deep fuzzing
【24h】

SimFuzz: Test case similarity directed deep fuzzing

机译:SimFuzz:测试用例相似性指导深度模糊​​测试

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

获取外文期刊封面封底 >>

       

摘要

Fuzzing is widely used to detect software vulnerabilities. Blackbox fuzzing does not require program source code. It mutates well-formed inputs to produce new ones. However, these new inputs usually do not exercise deep program semantics since the possibility that they can satisfy the conditions of a deep program state is low. As a result, blackbox fuzzing is often limited to identify vulnerabilities in input validation components of a program. Domain knowledge such as input specifications can be used to mitigate these limitations. However, it is often expensive to obtain such knowledge in practice. Whitebox fuzzing employs heavy analysis techniques, i.e., dynamic symbolic execution, to systematically generate test inputs and explore as many paths as possible. It is powerful to explore new program branches so as to identify more vulnerabilities. However, it has fundamental challenges such as unsolvable constraints and is difficult to scale to large programs due to path explosion. This paper proposes a novel fuzzing approach that aims to produce test inputs to explore deep program semantics effectively and efficiently. The fuzzing process comprises two stages. At the first stage, a traditional blackbox fuzzing approach is applied for test data generation. This process is guided by a novel test case similarity metric. At the second stage, a subset of the test inputs generated at the first stage is selected based on the test case similarity metric. Then, combination testing is applied on these selected test inputs to further generate new inputs. As a result, less redundant test inputs, i.e., inputs that just explore shallow program paths, are created at the first stage, and more distinct test inputs, i.e., inputs that explore deep program paths, are produced at the second stage. A prototype tool SimFuzz is developed and evaluated on real programs, and the experimental results are promising.
机译:模糊检测被广泛用于检测软件漏洞。黑盒模糊测试不需要程序源代码。它将格式正确的输入进行变异以产生新的输入。但是,这些新输入通常不执行深度程序语义,因为它们可以满足深度程序状态条件的可能性很小。结果,黑盒模糊测试通常仅限于识别程序输入验证组件中的漏洞。诸如输入规范之类的领域知识可以用来减轻这些限制。但是,在实践中获得此类知识通常很昂贵。白盒模糊测试使用繁重的分析技术(即动态符号执行)来系统地生成测试输入并探索尽可能多的路径。探索新的程序分支以识别更多漏洞非常强大。但是,它具有诸如无法解决的约束之类的根本挑战,并且由于路径爆炸而难以扩展到大型程序。本文提出了一种新颖的模糊测试方法,旨在产生测试输入以有效地探索深度程序语义。起毛过程包括两个阶段。在第一阶段,将传统的黑盒模糊测试方法应用于测试数据生成。此过程由新颖的测试用例相似性度量指导。在第二阶段,基于测试用例相似性度量,选择在第一阶段生成的测试输入的子集。然后,将组合测试应用于这些选定的测试输入,以进一步生成新的输入。结果,在第一阶段创建较少的冗余测试输入,即,仅探索浅层程序路径的输入,而在第二阶段产生更多不同的测试输入,即,探索深层程序路径的输入。 SimFuzz原型工具是在真实程序上开发和评估的,实验结果很有希望。

著录项

  • 来源
    《The Journal of Systems and Software》 |2012年第1期|p.102-111|共10页
  • 作者单位

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

    Department of Computer Science and Engineering, University of Texas at Arlington, Arlington, United States;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    fuzzing; software testing; software vulnerability;

    机译:绒毛软件测试;软件漏洞;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号