主要观点:IncludeSec 有时需为客户开发模糊测试工具,覆盖引导模糊测试在安全评估中有作用,可通过修改 Fuzzilli 工具的插装来获取更多信息以更易识别漏洞,文中以 JerryScript 为例进行了相关实验。
关键信息:
- 介绍了覆盖引导模糊测试的概念及相关工具,如 Clang 的各种 sanitizer 等。
- 详细阐述了模糊测试的过程及相关结构。
- 说明了如何修改 Fuzzilli 的插装以获取更多代码覆盖信息,包括利用
__sanitizer_cov_trace_pc_guard
函数等。 - 在实验室环境中利用 JerryScript 进行模糊测试实验,包括设置环境、执行测试、分析结果等,展示了通过该技术可识别漏洞的根因等。
重要细节: - Clang 的 AddressSanitizer 可检测内存错误等,UndefinedBehaviorSanitizer 可识别未定义行为等。
- Fuzzilli 利用简单插装响应进程,其他工具如 LLVM-COV 可静态捕获代码覆盖信息。
- 在实验室环境中,需克隆 JerryScript 仓库、打补丁、修改编译配置等步骤来进行测试,且要注意禁用 ASLR 以保持地址固定。
- 实验中通过执行带有漏洞的 PoC 文件触发漏洞,可看到相关的堆栈跟踪信息等。
- 提出可利用历史漏洞信息等改进 Fuzzilli 算法,后续将在后续博客中展示其应用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。