主页 / BlueHat Shanghai 2019 Security Conference / 使用数据流敏感模糊测试发现漏洞
-
作者Shuitao Gan & Chao Zhang
-
简介
- 模糊测试
- 经典灰盒: 基于进化变异的模糊测试
- 基于进化变异的模糊测试优化
- GREYONE:数据流敏感模糊测试
- Part 1: 模糊测试驱动的污点推理
- Part 2: 污点制导的变异
- Part 3: 一致性制导的进化
- Part 4: 性能优化
- 评估
- 结论
覆盖引导的模糊化是最流行的漏洞发现解决方案之一。AFL、Syzkaller等引信(如libfuzzer、honggfuzz、kafl等)均利用控制流特性(即测试时是否探测代码块)来调整随机引信的方向,以有效提高测试的代码覆盖率。随着较高的代码覆盖率,引信更有可能发现更多的漏洞。然而,它们只关注控制流,很少有解决方案考虑模糊过程中应用程序的数据流。我们发现,数据流对于指导引信探索难以到达的代码(例如校验和和和幻数检查)和发现漏洞非常有用。在本次谈话中,我们将介绍我们的数据流敏感引信灰体。它首先利用一个经典的数据流特性——污染——来引导模糊化,例如,确定要改变的字节以及如何改变。然后,它使用一个新的数据流特性——约束一致性——来调整模糊化的发展方向,例如,有效地满足未接触分支的约束。为了支持这些数据流特征,我们提出了一种轻量级和声音模糊驱动的污染推断(FTI)来推断变量的污染。对19个现实应用程序(包括libtiff、libwpd、libsass等)的评估结果表明,在代码覆盖率和漏洞发现方面,greyone优于各种最先进的引信(包括afl、honggfuzz、vuzzer和collafl)。与第二个最佳引信相比,Greyone平均发现112%的独特程序路径和209%的独特错误。总共发现105个新的安全漏洞,其中41个被CVE确认。
- 模糊测试
-
援引https://www.microsoft.com/china/bluehatshanghai/2019/#Agenda
-
提示本站仅做资料的整理和索引,转载引用请注明出处
相关推荐
-
2019-10-15 07:22:04
-
2016-07-31 14:41:52
-
2016-11-07 04:35:37
-
2020-03-29 10:32:07