《表2 JavaScript引擎漏洞检测工具汇总》

《表2 JavaScript引擎漏洞检测工具汇总》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《JavaScript引擎漏洞检测方法综述》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

已有的JavaScript引擎漏洞检测方法和实现的工具种类繁多,各有优势,在静态漏洞检测工具中uchex[63]是经典的通过语义分析和符号执行的检测工具。chromeuchex,typy[64]等工具是在uchex的基础上针对JavaScript引擎的API进行适配并进行了性能上的优化;Dachshund、StateFuzzer[65]、GramFuzz[66]、JFF[43]是对模糊测试方法中的样本生成针对不同的漏洞类型进行改进,检测相应漏洞。Dachshund是针对漏洞利用过程中关键的JIT代码编译时的常量绑定方式进行模糊测试,增大了大整数在生成样本中出现的机率。StateFuzzer是在样本生成的时候破坏了原本的文件格式打破原本的文件格式扰乱执行流,主要检测JavaScript引擎在处理非常规文件格式时候的容错率。JFF通过将已有的1day漏洞样本进行最小的变异带来了样本变异的创新。在样本变异的方面,sigpwn将AFL当中的覆盖率反馈的机制引入到了JavaScript引擎的模糊测试当中,在语法层面给每一种语法增加了单独的uid(uniqueID),使用和AFL相同的布隆过滤器的方法实现覆盖率反馈。GramFuzz通过分析已有的JavaScript文件生成相应的语法树并生成相应的语法片段,通过结构化的策略变异生成测试用例。表2列出了各种JavaScript引擎漏洞检测方法之间的比较。