<!–

(adsbygoogle=window.adsbygoogle||[]).push({})

–>

(adsbygoogle=window.adsbygoogle||[]).push({})

<!–
–>

​

本文系原创,转载请说明出处

Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯

原论文:《The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing》

链接:https://arxiv.org/pdf/2005.11907.pdf

一 提问

阅读全文,回答以下几个问题:

Q1、什么是模糊测试?什么又是定向模糊测试?二者之间有什么不同?

Q2、定向模糊测试有哪些应用场景?每个应用场景有哪些代表工具?这些不同场景下的定向模糊测试技术有无差异?

Q3、研究进展:定向模糊测试技术发展的怎么样了?有哪些技术流派(分类)?每类流派有哪些技术?

Q4、这些技术有什么缺陷?可以通过哪些方法弥补这些缺陷?

Q5、定向模糊测试未来的研究方向?

Q6、…………………?

这我自己提的问题,原文的研究问题是这样的:

​编辑

二 回答

模糊测试技术:模糊测试是一种自动化的测试技术,它通过向目标程序或系统输入随机、无效或异常数据,以触发潜在的漏洞或异常行为。

假定你的测试目标是桥梁的稳定性,测试对象是桥梁,通过向桥梁输入随机的车辆数目、车辆重量等,观察桥梁有没有断裂,从而测试桥梁是否具备一定程度的稳定性

模糊测试方法可以大致分为黑盒、白盒、灰盒这三种,本文主要讲灰盒,既不像白盒一样了解完全的细节,也不像黑盒一样完全不了解,即了解源代码的部分细节如源代码架构、源代码部分区域的语义等信息

定向模糊测试(灰盒,缩写为DGF):在灰盒模糊测试的基础上,将更多的计算资源放在到达特定目标上,如探测源代码是否存在UAF漏洞。

不同之处:在于“Directed 定向”,传统灰盒模糊测试更注重提高测试代码的覆盖率,即更全面,而DGF更倾向于测试指定区域,更局部。

定向模糊测试的主要框架:

首先,通过各类方法如静态程序分析、基于知识等方法,确认被测试的程序可能存在问题的区域;然后,在模糊测试过程中,结合这些信息,生成测试用例,输入到被测程序来判断是否存在此漏洞。

​编辑

(1)补丁测试

应用需求:工程师会用补丁来修复bug,但这个补丁可能只修复了一部分而其他部分的漏洞依然存在,甚至这所修的部分能引起其他的漏洞。DGF则可以用来测试这个补丁是否完整(是否完全修复)且兼容(是否会引起其他bug)。

代表工作or工具:

  • DeltaFuzz
  • AFLChurn
  • SemFuzz
  • 1dvul

(2)bug复现

应用需求:很多安全研究员都有复现bug的需求,但并不是所有的bug发现者都会公开验证代码poc,DGF可以逐渐找到这些bug的区域,所用的测试用例就是一个可用poc

代表工作or工具:

  • TortoiseFuzz
  • DrillerGo
  • UAFuzz

(3)特殊bug检测

应用需求:有些bug使用传统的灰盒模糊测试很难检测出来

代表工作or工具:

  • 不受控制内存的漏洞发现:Memlock: Memory usage guided fuzzing
  • UAF:Binary-level directed fuzzing for use-after-free vulnerabilities,Typestate-guided fuzzer for discovering use-after-free vulnerabilitie
  • 算法复杂漏洞发现:Slowfuzz,Understanding and detecting performance bugs in markdown compiler

(4)结果验证

应用需求:很多基于静态程序和数据驱动的程序分析方法假阳率太高了,比如将本不是漏洞识别成是漏洞,所以这些方法只能够用来初步判断哪些区域是可能存在漏洞。然后结合DGF来验证这个bug是否是真的漏洞。

代表工作or工具:

  • SUZZER
  • DeFuzz
  • V-Fuzz
  • ParmeSan

(5)知识聚合 和 节约资源

知识聚合指DGF结合了更多的人工经验,让模糊测试少走了很多弯路去发现更多的程序路径;节约资源指的是为了达到挖掘漏洞的目的减小了资源消耗。

不同的应用场景有无技术差异?

有的,比如patch测试一般会检测打过补丁的程序和未打过补丁的程序,而检测特定类型bug的测试一般不会用这种初步分析方式

2.3.1 研究趋势:

ICP+EDI电信增值业务许可证申请审核网站源码

扫码联系技术微信【备注:站媒体网】
客服QQ:137483024