当前位置: 代码迷 >> 综合 >> STOCHFUZZ: Sound and Cost-effective Fuzzing of Stripped Binaries by Incremental and Stochastic Rewri
  详细解决方案

STOCHFUZZ: Sound and Cost-effective Fuzzing of Stripped Binaries by Incremental and Stochastic Rewri

热度:71   发布时间:2023-12-14 02:34:46.0

IEEE 2021
通过增量和随机重写对剥离二进制文件进行合理且经济高效的模糊化

摘要

模糊化剥离的二进制文件带来了许多困难的挑战,因为模糊程序需要检测二进制文件来收集运行时反馈,以指导输入变异。然而,由于缺少符号信息,在剥离的二进制文件上很难进行正确的检测。现有技术要么依赖硬件和昂贵的动态二进制翻译引擎(如QEMU),要么做出不切实际的假设(如二进制文件没有内联数据)。我们观察到,模糊化是一个高度重复的过程,提供了大量的尝试和错误机会。因此,我们提出了一种新的增量随机重写技术STOCHFUZZ,它借助于模糊化过程。它生成许多不同版本的重写二进制文件,其有效性可以通过多次模糊运行得到批准/不批准。概率分析用于汇总通过样本运行收集的证据,并改进重写。这个过程最终会收敛到一个正确重写的二进制文件上。我们在两组真实的程序上评估STOCHFUZZ,并与其他五个基线进行比较。结果表明,STOCHFUZZ在稳健性和成本效益方面优于最先进的纯二进制模糊器(例如e9patch、DDISSM和andRetroWrite),并实现了与源模糊器相当的性能。STOCHFUZZ可公开获取[1]。

背景

灰盒模糊[2]–[5]是一种广泛使用的安全测试技术,它为目标程序生成输入以暴露漏洞。从一些种子输入开始,模糊器在改变输入的同时重复执行程序。突变通常是由覆盖信息引导的。例如,一种流行的策略是,导致覆盖率提高的输入突变被认为是重要的,并且可能会发生进一步的突变。因此,现有的模糊引擎依赖于工具来跟踪代码覆盖率。通常,当源代码可用时,它们会利用编译器在模糊化之前进行检测。然而,在许多情况下,只有二进制可执行文件可用。已经开发了各种技术来支持

  相关解决方案