当前位置:主页 > 管理论文 > 移动网络论文 >

Chromium浏览器V8引擎漏洞扫描平台设计与实现

发布时间:2020-11-05 15:44
   从上世纪90年代互联网快速发展以来,互联网生活已是普罗大众日常生活中不可分割的一部分。浏览器是人们最常用的访问互联网的媒介,通过它,人们可以访问互联网上的各种各样的资源,包括阅读新闻、即时通信、网上购物、发表言论,甚至是玩游戏等等。这一切,均是由浏览器的核心完成的。随着人们对互联网的需求愈发复杂,对浏览器提供的多媒体支持提出越来越多的要求,浏览器本身也变得越来越贴近操作系统底层。直至今日,浏览器本身已变得空前强大,因而互联网上针对浏览器内部漏洞的攻击也愈发频繁。但浏览器本身的复杂性加上其上运行的JavaScript的动态特性,导致对浏览器本身的漏洞扫描变得不易。目前,对于浏览器本身的漏洞扫描技术的研究并不广泛,且大多停留在JavaScript引擎内部,缺乏整体性,无法在浏览器嵌入环境下工作。而且目前国内外均无针对浏览器的一体式漏洞扫描平台。考虑到基于Chromium浏览器研发的各大厂商的浏览器,其市场份额无论在国内还是国际都遥遥领先,将第二名远远甩在后面;同时,最近几年来,根据已披露的CVE漏洞数量来看,Chromium浏览器与其内部的V8引擎如其市场份额一样,也牢牢占据第一名的位置。因此,本文以目前市面上最为流行的Chrome浏览器作为切入点,以其对应的开源项目Chromium为研究对象,详细分析其核心工作机制,指出易产生漏洞的模块,并重点研究。然后将介绍以Chromium项目为首,并被广泛使用的Chrome调试协议的基本组成,和其工作机制。之后,以Chrome调试协议作为支点,讨论针对其内部V8引擎的漏洞扫描平台的设计与实现细节。最后,再以三个典型CVE漏洞为测试用例,对特定版本的Chromium浏览器进行漏洞排查和修复工作,并评估漏洞扫描平台的有效性。
【学位单位】:哈尔滨工业大学
【学位级别】:硕士
【学位年份】:2019
【中图分类】:TP393.092
【部分图文】:

浏览器


第2章 Chromium 浏览器分析在 Chromium 浏览器中,V8 引擎负责对网页的 JavaScript 脚本进行解析和运行,在结构上属于 Chromium 浏览器的一个模块。为了做到对 Chromium 浏览器 V8 引擎的漏洞扫描,必须首先了解 V8 引擎被以何种方式集成到 Chromium浏览器中,并以何种方式同 Chromium 浏览器进行交互。根据 W3C HTML 标准[26],当网页渲染过程需要 JavaScript 脚本参与时(如处理<script>标签,或是处理 DOM 事件等),V8 脚本引擎才会启动。为收集 V8 脚本引擎在运行时的关键信息,需要对 Chromium 浏览器访问网页的全流程,尤其是解析 JavaScript 脚本的流程进行详细分析,明确 Chromium 浏览器调用 V8 的流程与 V8 独立运行的流程的不同,以及 Chromium 浏览器与 V8 引擎互操作的细节。如此一来,对Chromium 浏览器的体系结构的整体分析,势在必行。2.1 Chromium 浏览器总体结构分析从源代码结构上来分析,Chromium 浏览器的结构如图 2-1 所示:

对应关系,指针,结点,标签


图 2-4 HTML 与 DOM 结点的对应关系图 2-4 是一段简易 HTML 文本以及其对应的 DOM 树示意。一开始,DOM树的当前(current)指针停留在根结点上。读取到<html>时,新增结点编号为 1,类型为 HTMLHtmlNode;并将 current 指针指向编号 1。然后读取到<head>结点,新增结点 HTMLHeadNode 编号为 2,置为 1 的子节点,并将 current 指向 2。不断重复上述步骤,直到全部 HTML 标记都处理完毕,current 指针此时应回到root 结点上,DOM 树生成完毕。若 current 指针未能返回到 root 结点上,说明存在未能闭合的标签,此时 DOM 树生成器会自动补全这些标签,但不考虑标签之间的从属关系是否正确。若 current 指针提前返回到 root 结点上,后续多余的 HTML 闭合标签标记将被抛弃,但对于标准标签标记,DOM 树生成器会尝试将其置入<body>标签的末尾。以上操作符合 HTML 标准,保证了 HTML 的容错性。2.3 Chromium 浏览器的脚本引擎 V8 分析JavaScript 脚本语言因为其特有的面向对象特性[27]、事件驱动特性、安全性

对应关系,指针,结点,标签


图 2-4 HTML 与 DOM 结点的对应关系图 2-4 是一段简易 HTML 文本以及其对应的 DOM 树示意。一开始,DOM树的当前(current)指针停留在根结点上。读取到<html>时,新增结点编号为 1,类型为 HTMLHtmlNode;并将 current 指针指向编号 1。然后读取到<head>结点,新增结点 HTMLHeadNode 编号为 2,置为 1 的子节点,并将 current 指向 2。不断重复上述步骤,直到全部 HTML 标记都处理完毕,current 指针此时应回到root 结点上,DOM 树生成完毕。若 current 指针未能返回到 root 结点上,说明存在未能闭合的标签,此时 DOM 树生成器会自动补全这些标签,但不考虑标签之间的从属关系是否正确。若 current 指针提前返回到 root 结点上,后续多余的 HTML 闭合标签标记将被抛弃,但对于标准标签标记,DOM 树生成器会尝试将其置入<body>标签的末尾。以上操作符合 HTML 标准,保证了 HTML 的容错性。2.3 Chromium 浏览器的脚本引擎 V8 分析JavaScript 脚本语言因为其特有的面向对象特性[27]、事件驱动特性、安全性
【相似文献】

相关期刊论文 前10条

1 周勇生;;善于向漏洞扫描要安全[J];网络安全和信息化;2016年03期

2 易永红;;计算机网络安全中的漏洞扫描技术运用[J];电子技术与软件工程;2017年07期

3 胡骏;;网络安全中的系统漏洞扫描以及防病毒技术设计[J];信息与电脑(理论版);2017年18期

4 魏翠红;;漏洞扫描技术分析[J];信息与电脑(理论版);2016年06期

5 戴新华;;漏洞扫描工作的有效管理[J];中国金融电脑;2010年11期

6 高凌雯;;网络漏洞扫描原理分析[J];福建电脑;2009年09期

7 卢铮;分布式漏洞扫描技术与系统[J];信息网络安全;2005年09期

8 徐海军;浅析网络安全中的漏洞扫描技术[J];软件工程师;2005年Z1期

9 王颖;张仕海;胡燏;赵艳玲;;基于互联网+的乐山乡村智慧旅游发展研究[J];中国新通信;2019年05期

10 周鹏;倪昀泽;;一种评估漏洞扫描工具效果的测试集生成方法[J];科技视界;2018年18期


相关硕士学位论文 前10条

1 杨博文;网络漏洞扫描关键技术研究[D];电子科技大学;2019年

2 秦梦远;Chromium浏览器V8引擎漏洞扫描平台设计与实现[D];哈尔滨工业大学;2019年

3 于鹏文;基于P2P的分布式漏洞扫描技术研究[D];北方工业大学;2019年

4 陈晶洁;高性能Web应用漏洞扫描系统的设计与实现[D];北京邮电大学;2019年

5 肖征;基于网络爬虫的网络漏洞扫描检测系统的设计与实现[D];吉林大学;2014年

6 沈佳坤;面向云计算的漏洞扫描代理的设计与实现[D];北京邮电大学;2013年

7 王良;基于插件技术的漏洞扫描系统设计与应用[D];上海交通大学;2012年

8 王熠;基于入侵检测漏洞扫描联动机制攻击场景模型[D];武汉科技大学;2009年

9 郭俸明;漏洞扫描工具原理与实现[D];中国地质大学(北京);2008年

10 黄乐;RFID系统安全研究及漏洞扫描工具设计[D];电子科技大学;2012年



本文编号:2871847

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/ydhl/2871847.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户6639d***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com