Abstract
目前Fuzzer存在的问题: 生成分布是均一分布
本文: CMFuzz
特点: context-aware adaptive mutation scheme
- 采用contextual bandit algo LinUCB来选择变异算子
- 动态提取文件特征
实验A:
- 实现: 在多个前沿fuzzers上实现该机制称为CMFuzz-PT, CMFuzz-AFL, CMFuzz-AFLFast
- 数据集: 12个真实开源的应用+LAVA-M数据集
- 效果: 1. 覆盖率更高 2. 找到crashes的速度更快
实验B:
- 使用了其他采样方法,比如Thompson采样和epsilon-greedy,称为Thompson-PT和Greedy-PT
- 效果: CMFuzz-PT效果最好
- 与Thompson-PT相比,1.79x #unique crashes, 1.29x #unqiue paths
- 与Greedy-PT相比, 1.11x #unique crashes, 1.05x #unique paths