覆盖率引导模糊测试 - 扩展检测以更快地找出漏洞!

主要观点:IncludeSec 有时需为客户开发模糊测试工具,覆盖引导模糊测试在安全评估中有作用,可通过修改 Fuzzilli 工具的插装来获取更多信息以更易识别漏洞,文中以 JerryScript 为例进行了相关实验。
关键信息

  • 介绍了覆盖引导模糊测试的概念及相关工具,如 Clang 的各种 sanitizer 等。
  • 详细阐述了模糊测试的过程及相关结构。
  • 说明了如何修改 Fuzzilli 的插装以获取更多代码覆盖信息,包括利用__sanitizer_cov_trace_pc_guard函数等。
  • 在实验室环境中利用 JerryScript 进行模糊测试实验,包括设置环境、执行测试、分析结果等,展示了通过该技术可识别漏洞的根因等。
    重要细节
  • Clang 的 AddressSanitizer 可检测内存错误等,UndefinedBehaviorSanitizer 可识别未定义行为等。
  • Fuzzilli 利用简单插装响应进程,其他工具如 LLVM-COV 可静态捕获代码覆盖信息。
  • 在实验室环境中,需克隆 JerryScript 仓库、打补丁、修改编译配置等步骤来进行测试,且要注意禁用 ASLR 以保持地址固定。
  • 实验中通过执行带有漏洞的 PoC 文件触发漏洞,可看到相关的堆栈跟踪信息等。
  • 提出可利用历史漏洞信息等改进 Fuzzilli 算法,后续将在后续博客中展示其应用。
阅读 98
0 条评论