APP下载

子树类型敏感的JavaScript引擎灰盒测试技术

2021-08-25王聪冲甘水滔王晓锋

信息安全学报 2021年4期
关键词:引擎

王聪冲,甘水滔,王晓锋

1江南大学人工智能与计算机学院 无锡 中国 214122 2数字工程与先进计算国家重点实验室 无锡 中国214083

1 介绍

JavaScript引擎是浏览器的必要组成部分,其安全性一直备受关注[1],由于其代码量巨大、逻辑极其复杂,导致漏洞挖掘技术发展一直无法满足JavaScript引擎的安全测试需求,针对JavaScript引擎漏洞攻击事件层出不穷。通过对 CVE漏洞库统计,暴露在 Jerryscript[2]、ChakraCore[3]、SpiderMonkey[4]、JavaScriptCore[5]、V8[6]其高危漏洞条目超过 450条,其中ChakraCore和V8的数量分别超过150条和200条。并且在2020年上半年暴露的高危漏洞数量已超过2019年全年暴露的总数。具体如图1所示。通过进一步对过去JavaScript引擎漏洞暴露来源调查,模糊测试是发现JavaScript引擎漏洞的主流自动化检测方法[7]。

图1 主流JavaScript引擎的CVE漏洞暴露统计情况Figure 1 CVE vulnerability exposure statistics for mainstream JavaScript engines

模糊测试[8]通过不断自动构造随机非预期的输入数据给目标软件,实时监视目标软件运行异常信号,能有效发现软件存在的脆弱性[9]。模糊测试主要分为黑盒和灰盒模型,在2014年以前基本以黑盒模型为主,黑盒模型不具备程序信息反馈能力,具有运行速度快,能适应复杂规模代码软件等优点,但测试效率一直受限于随机性过大、代码覆盖能力弱等问题[10]。从 2015年开始,自经典灰盒测试系统AFL[11]问世以来,通过路径覆盖信息实时反馈,在文档解析、图片解析、音频解析等文件型输入的软件目标测试过程中达到较高代码覆盖率,发现大量未公开漏洞,并实现了向协议型[12]和内核型[13]对象应用扩展。灰盒模型已逐步成为最有效的主流模糊测……

登录APP查看全文

猜你喜欢

引擎
以学促干 挺膺担当 激活砥砺前行的红色引擎
江阴市“三个创新”打造危化品安全监管新引擎
新海珠,新引擎,新活力!
消费继续发挥经济增长第一引擎作用
蓝谷: “涉蓝”新引擎
休闲垂钓 传统渔业新引擎
信息化,“盛京”加速的新引擎
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
外汇业务装上新引擎