Abstract
目标: 生成语义语法有效的测试用例
工具: ProFuzzer
特色: 即时探测;智能化更新变异策略
具体:
automatically recovers and understands input fields of critical importance to vulnerability discovery during a fuzzing process and intelligently adapts the mutation strategy to enhance the chance of hitting zero-day targets
自动恢复并且找到比较重要的input fields,向能够发现0-day漏洞的方向智能调整变异策略
步骤:
- 首先变异独立的bytes
- 分析fuzzing results,将有联系的bytes识别出来
- 之后会把有联系的bytes一起mutate,这样就能减少搜索空间
Q: 本文在所有应用程序中广泛地定义了probe types,这使得我们地技术不可知。
实验:
竞品: AFL, AFLFast, VUzzer; Driller; QSYM
效果: outperforms.
在两个月间,找到10个程序中42个bugs,30个CVEs
1. Intro
P1: fuzzing有用(以几个造成了巨大经济损失的CVE为例),但传统方法在现代软件庞大的输入空间和复杂的执行关系中显得不足
P2: 挑战:基于生成的方法不足:需要人工先验知识或者要从多次执行中学习