新一代Internet浏览器框架

来源 :科园月刊 | 被引量 : 0次 | 上传用户:szcentsweb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要] 纵观现在主流的浏览器,其中大多数浏览器都使用了一体化架构,即把用户和WEB整合到一个单独的保护域中。这样,一旦攻击者发现浏览器漏洞以后,就可以轻易的在用户机器上执行恶意代码、安装恶意软件或盗取敏感资料。本文介绍了一种新的浏览器框架,它同时也是谷歌Chrome浏览器(开源)的核心——Chromium安全框架。本文对该框架的结构、功能进行了探索研究,并对该架构抵御网页攻击的能力进行了分析,对未来浏览器的发展提供了参考。
  [关键词] 浏览器 Chromium 沙箱 渲染引擎 浏览器内核
  
  1、引言
  在过去几年中,网页的作用不再仅仅显示静态页面,而已经进化成了类似一个个应用程序运行平台。但是,大多数网页浏览器仍然使用1993年NCSA Mosaic设计的一体化架构,它的缺点是当客户端需要运行大量脚本时会出现一些问题。例如,一个WEB应用程序的运行失败会导致整个浏览器异常退出。从安全的观点来看,运行在一个独立保护域里的浏览器比较脆弱,攻击者可以利用未被修复的漏洞破坏整个浏览器,从而通过盗取用户权限在用户机器上为所欲为。
  近年来,模块化浏览器架构的研究方面有很大进展[1],其中包括多重保护域的思想。这些研究提高浏览器的安全方面做出了很大贡献,但都要以牺牲浏览器的兼容性为代价。
  2、 Chromium架构
  Chromium安全架构采用模块化的思想。在Chromium中有两个模块:浏览器内核和渲染引擎。其中浏览器内核代表用户运行,而渲染引擎代表网页运行,它们分别工作在单独的保护域里。为了防止攻击者利用渲染引擎的漏洞获得整个渲染引擎的执行权限,它被强制在一个“沙箱”[2]中运行,“沙箱”的作用是限制渲染引擎的权限,防止攻击者读取或篡改用户文件系统。表1-1是这两大模块各自要承担的任务。
  Chromium架构中,渲染引擎和浏览器内核里集成了多种的现代浏览器组件,并在安全、兼容性和性能上找到了最佳的平衡点。该架构把高风险的组件(例如HTML解析器,JVM,DOM)分配给在沙箱内运行的渲染引擎。这些组件不但复杂而且由于历史的原因遗留下很多安全问题,把他们放在沙盒中执行可以有效的降低执行风险。浏览器内核负责管理持久性资源,例如cookies和密码数据库,并负责和操作系统交互,接收用户输入、输出和联网。从设计角度讲,Chromium架构包括以下两个方面:
  (1)新架构必须和现有的网页兼容,特别是该架构的安全性约束应该对网站的显示不造成影响。这个要求在很大程度上限制了架构选择的范围,但是为了浏览器的有用性,这一条又是必须的。为了和基于网页的邮件站点保持兼容,新架构必须支持文件上传(用户常常需要为邮件添加附件)。
  (2)新架构的渲染引擎采用黑箱模型,输入待解析的HTML代码,输出渲染后的位图。(如图1-2)在这个过程中,渲染引擎必须执行同源策略,而浏览器内核仅需要执行基本的安全约束就可以了,采用这样的设计可以降低浏览器内核安全监视器的复杂度。
  图1-2 Chromium安全框架
  2.1 渲染引擎 (Rendering Engine)
  渲染引擎通过默认的行为(例如:绘制元素)和调用DOM API来解释执行页面内容。渲染页面内容要经过几个步骤,首先解析,然后再内存中创建文档对象模型DOM,设计文档,在脚本指导下操作文档。渲染引擎同时负责同源策略,这样可以防止恶意站点干扰用户和WEB站点的正常会话。
  渲染引擎的设计较为复杂,它负责直接和不信任的WEB内容交互。从表1可以看出,大部分解析工作都由渲染引擎完成,包括HTML解析、图像解码和JavaScript解析。这些组件较为复杂,而且由于历史原因,很多组件都有缺陷。渲染引擎使用浏览器内核和用户、本地机及网络交互。渲染引擎运行在“沙箱”中,这样可以防止渲染引擎访问操作系统。
  2.2浏览器内核(Browser Kernel)
  浏览器内核负责管理多个渲染引擎实例和实现浏览器内核API。具体的说,浏览器负责实现基于选项卡的视窗系统,包括地址栏。浏览器内核负责管理一些持久性的数据,例如用户书签、cookies或保存密码;而且浏览器内核也负责和网络交互,并协调渲染引擎和操作系统的本地窗口管理器。浏览器内核把权限分配给各个渲染引擎,调用API来维护权限状态信息,例如是否允许某个渲染引擎执行上传。浏览器内核使用这些状态信息实现安全策略,限制渲染引擎与用户操作系统交互。
  浏览器组件内嵌在模块中,它的设计兼顾安全、兼容性和性能。有些功能是由于历史原因人为分配的。例如,浏览器内核负责显示JavaScript警告框,而<选择>下拉式菜单由渲染引擎负责显示。还有一些任务(如对cookie数据的管理)需要直接访问文件系统,这些任务也交给浏览器内核完成,而另外一些任务(如执行正则表达式)是由渲染引擎执行的,因为这类执行常常不安全,沙箱保证了它们只能在一定权限内执行[3]。
  从表1可以看出,渲染引擎负责大部分的解析和解码任务,因为由于历史原因,这些任务通常都会导致浏览器漏洞。网站的快捷方式会显示在浏览器的地址栏里,这个快捷方式通常是一张位图图片,它由浏览器内核会从网络上取得,但浏览器内核不会对图片进行解码,解码的工作是由渲染引擎完成的,渲染引擎将图片解码后传给由浏览器内核。这个步骤看起来似乎绕了一个大弯,但这样做可以有效的阻止攻击者利用图像解码器的漏洞控制浏览器内核。
  但是,网络堆栈[4]是一个例外。众所周知,HTTP堆栈(网络堆栈的一种)负责解析HTTP响应的头部,它调用gzip或bzip2解码器在Content-encodings的帮助下解压缩HTTP响应。这些任务虽然可以分配给渲染引擎,但会是网络堆栈变得复杂并降低性能,所以由浏览器内核执行。
  2.3 处理粒度
  Chromium安全框架的处理粒度是每一张页面,每个网页选项卡对应一个渲染引擎实例,这样的话,即使某个渲染引擎运行失败也不会影响到其他选项卡,这是一种较好的容错机制。渲染引擎虽然主要是用来解析不受信任的内容,但也显示某些受信的内容,例如,警告用户某个站点HTTPS证书错误或怀疑是钓鱼站点。这些渲染任务都是由单独的渲染引擎实例执行的,渲染引擎对网页内容并不关心。
  但页面查看器(Web Inspector)是一个例外。页面查看器属于Chromium安全架构的一部分,主要功能是查看页面源代码、页面元素、DOM和脚本调试等,这些属于可信内容,由渲染引擎解析负责页面内容。
  图2-1Chrome的页面查看器(Web Inspector)
  3、Chromium架构可以抵御的攻击
  (1)强行安装恶意软件
  攻击者会采用“过路下载”或其他方法强制安装恶意软件在用户的机器上,这种攻击对浏览器的威胁是非常大的。例如,网络上搔首弄姿的美女、各种各样有趣的小游戏,都在吸引着网友点击鼠标,点击之后看起来毫无动静,但后台已经开始下载恶意软件了。一旦这种有毒的软件进入到用户电脑,远端主机就可以发号施令,对电脑进行操控,这时,用户的电脑就成了“僵尸网络”中的一员。
  2009年,Asprox“僵尸网络”发起了一场破坏力极大的SQL注入攻击。在这场攻击中,成千上万个“僵尸程序”(实现恶意控制功能的程序代码)携带上一个SQL注入软件,这个软件向Google搜索发送巧妙设计的查询语句,查询那些运行ASP.NET的服务器,然后向这些服务器发动SQL注入攻击。攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句,欺骗数据库服务器执行非授权的任意查询。僵尸程序还会搜索WEB服务器上的unicode和ASCII文件,然后植入一个IFRAME或script标签,它们负责把该服务器的访问者重定向到另外一个被破坏者操纵的服务器。
  据报道,每周平均新增数十万台任人遥控的僵尸电脑任凭远端主机指挥,进行各种不法活动。多数时候,僵尸电脑的主人根本没发现自己已被选中。
  (2) 键盘记录器 Transient Keylogger
  键盘记录器是一个可以记录用户键盘操作的间谍软件。黑客可利用此软件记录用户输入的信息,从而盗取用户的MSN、QQ、电子邮件、网络游戏、网上银行等的帐号和密码以及其他的隐私信息,给用户带来损失。键盘记录器在用户关闭了浏览器之后就会消失,具有很大的隐秘性。
  (3)文件窃贼
  以非法读取用户硬盘上的敏感数据的攻击者称为文件窃贼。系统密码数据库或用户的财务报表等常常称为黑客窃取的目标。所以企业用户尤其要保护好敏感文件,提防那些文件强盗。
  如果上述的一个或若干个攻击行为得逞,那么用户将面临更大的损失。例如,攻击者一旦给机器装上恶意软件,那么浏览器的安全策略就无能为力了,这时攻击者就占据了用户机器。Chromium安全架构可以阻止攻击者达到以上三个目标。
  4、小结
  Chromium并不是完美的,它自身也有一定局限性,例如不能阻止钓鱼攻击,不能抵御防火墙规避(Firewall Circumvention)攻击,对跨站式脚本XSS攻击没有有效的措施等等。但即便如此,Chromium架构的优势却更加明显,如通过分域策略和沙箱设计,该架构可以有效的阻止攻击者在本地执行任意代码。如果攻击者试图利用渲染引擎的某个漏洞在本地执行恶意程序,Chromium架构就会迫使攻击者使用浏览器内核接口。就这一点而言,Chromium无疑为未来浏览器发展提供了新的设计思想。
  参考文献:
  [1] Sotiris Ioannidis and Steven M. Bellovin. Building a secure web browser. In Proceedings of the USENIX Annual Technical Conference, Freenix Track, 2001.
  [2] Sandbox.http://dev.chromium.org/developers/design-documents/sandbox,2010.
  [3] SecurityFocus. PCRE Regular Expression Library Multiple Security Vulnerabilities.http://www.securityfocus.com/bid/26346,2007
  [4] Networking stack.http://en.wikipedia.org/wiki/Network_stack,2010.
  作者简介:
  刘忠(1983—),男,陕西省汉中市,陕西理工学院管理系,助教,武汉大学软件工程硕士在读,主要从事电子商务研究、软件开发及网络安全。
其他文献
[摘 要]企业实施外包过程中会碰到各种风险问题,本文站在企业的角度研究了五种主要的物流外包风险,并结合了AHP层次分析法与模糊综合评价法的优点,提出了基于AHP的模糊综合评价方法对企业物流外包风险进行了评价,并提出了4种物流外包风险防范策略,具有很强的实战指导意义。  [关键词]物流外包风险 层次分析法 模糊综合评价 风险防范
期刊
[摘 要]通过对多媒体技术应用与发展领域的介绍,指出多媒体教学是多媒体技术最重要的应用之一。本文着重介绍和分析在电子技术专业课教学中多媒体教学的特点、基本模式;及多媒体在专业课教学中的优点并且剖析了多媒体教学的现状及存在的问题:之后就如何提升多媒体在专业课教学中教学质量的问题谈了几点个人看法  [关键词]基本模式 专业课 多媒体教学 电子技术    随着计算机在教育领域的应用普及和多媒体技术、网络
期刊
航空发动机、压缩机、汽轮发电机组等旋转机械是中国国防力量和工业生产的关键设备,这些大型装备普遍存在由于不平衡质量导致的过临界振动较大问题,使设备无法正常开车运行。此外,齿轮传动系统作为机械装备中应用最广泛的动力传输装置之一,在内部和外部激励作用下产生的振动问题是影响其运行稳定性和使用寿命的关键因素。这些设备的振动问题已严重制约我军装备战斗力的提升和企业经济效益的提高,因此研究新型的、易于工程应用的转子及齿轮系统振动控制方法迫在眉睫。
  本文围绕旋转机械由于不平衡质量导致的过临界振动较大和齿轮传动系
聚合物是一种轻量化的新型材料,而聚合物通过发泡不仅使得其实现进一步的轻量化,也为其带来了各种功能性,例如隔热保温,缓冲防震,隔音降噪等,具有其它材料所无法比拟的优势。聚合物挤出发泡是成型这种轻量化功能材料的重要的成型方法,其关键就是将聚合物熔体的温度降低至合适的加工区间,获得足够的熔体强度从而能够实现发泡成型。本文通过研究新型熔体冷却结构来替代传统的双阶串联挤出机熔体冷却结构,为挤出发泡工艺的技术
随着压水堆核动力系统对蒸汽发生器效率和体积的要求越来越高,直流蒸汽发生器以高效率、结构紧凑和模块化建造等优点受到国际上的广泛关注。直流蒸汽发生器二次侧流体经历从过冷水被加热到过热蒸汽的复杂汽液两相流动与换热过程,不可避免地发生蒸干传热恶化现象。蒸干的发生导致二次侧流体与管壁间的表面传热系数急剧下降,壁温急剧上升,使传热管束更易遭受应力腐蚀和老化失效等问题。目前研究以定热流加热方式下直管内蒸干为主,尚缺乏针对实际直流蒸汽发生器内蒸干的预测。因此开展直流蒸汽发生器蒸干及蒸干后传热特性研究对其安全稳定运行具有重
[摘要] 道教是中国本土宗教,具有浓郁的汉民族文化气息,同时在汉民族聚居的地方拥有众多的信徒和广泛的群众基础。本文结合乌鲁木齐西山老君庙这一新近开发的旅游资源,浅谈该旅游资源的现状,发展优势及不足。  [关键词] 道教 老君庙 旅游业 优势 劣势    一、关于道教  道教是中国本土的一种宗教,且是中国的传统宗教,产生于公元2世纪上半叶,距今已有1800余年的历史,是在中国古代宗教信仰和巫术、神仙
期刊
[摘要] 中国古典文学名著《红楼梦》是一部封建社会的百科全书,它反映的封建社会的政治、经济、文化、教育、宗教、习俗等丰富多彩。本文对《红楼梦》两个译本中一些涉及自然环境、社会环境及宗教信仰的具有文化涵义语句的译文进行对比分析,得出两位译者对相同语句采用不同的翻译策略主要受他们不同文化观的影响。  [关键词] 译者 文化差异 文化观 翻译策略    1、引言  关于文化观的定义,我国出版的《辞海》中
期刊
[摘要] 英语语法教学是英语教学中的难点之一,语法渗透于听、说、读、写的每一个环节。要在具体的情景当中让学生掌握语法,可以通过创设情境、贴近生活,采取生动活泼的方式,提供符合交际功能与规律的语言情境和语言形式,才能更好地培养学生综合运用语言的能力。  [关键词] 英语语法教学 创设情景 语言 规律    一、引言  澄清认识 走出误区  课程改革要求我们淡化语法讲解,改变只是靠讲一套规则去达到语法
期刊