- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C h r o m e 浏览器解优化过程中的
漏洞安全研究
刘博寒 腾讯安全玄武实验室
Chrome 浏览器解优化过程中的漏洞安全研究
1. 背景知识
2. 解优化模块历史漏洞分析
3. 解优化漏洞利用技术研究
4. 总结
Chrome安全现状
Chrome作为当前市场占比最高的浏览器,是最为广泛的互联网入口,饱受APT攻击、0day漏洞
的困扰。
Chrome安全现状
根据对Google捕获或收到的Chrome在野漏洞报告统计,V8引擎占比大于50%。而在V8漏洞中,
优化漏洞由于数量多品相好、可利用性高等特点,在V8引擎漏洞中占比很大,也是攻击者挖掘的
主要目标。
CVE编号 类型
CVE-2021-21148 Heap buffer overflow in V8.
CVE-2021-21166 Object lifecycle issue in audio.
CVE-2021-21193 Use after free in Blink.
CVE-2021-21224 Type Confusion in V8.
CVE-2021-21206 Use after free in Blink.
CVE-2021-21220 Insufficient validation of untrusted input in V8 for x86_64.
CVE-2021-30554 Use after free in WebGL.
CVE-2021-30551 Type Confusion in V8.
CVE-2021-30563 Type Confusion in V8.
CVE-2021-37975 Use after free in V8.
CVE-2021-37976 Information leak in core.
Chrome安全现状
但Google对待优化类漏洞的修
复比较激进,在修复漏洞的同
时,也会对通用的利用方法增
加防御措施。
1. 背景知识
V8中js代码执行流程
Ignition
Ignition是V8引擎中架构独立的解释执行器。JavaScript源码首先被解析成AST ,然后生成
Bytecode,Bytecode是Ignition执行的基本单位。
V8中js代码执行流程
Turbofan
当在Ignition中执行足够多次,Turbofan会根据收集到参数信息进行推断优化,生成JIT代码。
Turbofan原理
解优化
当JIT能处理的类型不能满足输入的要求时,JIT代码会解优化,回退到对应Bytecode中去执行。
add(“a”,”b”,”c”); ?
Turbofan原理
Turbofan的解析阶段
Native
Context Typer General
Graph Specialization Code
Bui
文档评论(0)