作品发布     邀请码    设为首页  收藏 

当前位置:文章综合 → 文章内容 >> Chrome安全性能是如何炼成的 (1)


Chrome安全性能是如何炼成的 (1)

更新时间:2013-9-14 0:25:27   作者:华中帝国整理  来源:华中帝国
Chrome开发团队只注重三件事:稳定、速度和安全。用过Chrome浏览器的用户都对它的稳定和速度深有体会,但安全性究竟如何呢? 要确定一个软件是否安全是件困难的事情,幸运的是,有Pwn2Own黑客竞赛,如 ...

    Chrome开发团队只注重三件事:稳定、速度和安全。用过Chrome浏览器的用户都对它的稳定和速度深有体会,但安全性究竟如何呢?

    要确定一个软件是否安全是件困难的事情,幸运的是,有Pwn2Own黑客竞赛,如果软件存在任何漏洞,在这个高质量的竞赛中将会暴露无遗。

    看过今年举办的Pwn2Own大赛后,我对Chrome的安全性算是有所认识了,但我仍然存在不少疑问,经过努力,我联系到了Google Chrome团队的Ian Fette,他接受了我的专访,通过这次访谈,让我对Chrome的安全性又有更深入的了解了。下面就是本次访谈的摘录。

    记者:你们曾多次提到安全是设计Chrome时优先级最高的,能聊一下开发团队最关注的三个安全问题吗?

    Fette:在构建Chrome的过程中,我们希望设计的浏览器是深度安全的,我们知道要解决所有安全问题是没有银弹的,因此我们希望在应用程序的所有层次都开发安全的功能,下面三个安全领域是我们投入时间最多的:

    1、当用户访问不安全的网站时,浏览器产生警告。

    2、不受信任的代码离开浏览器沙盒后保证它不能执行。

    3、确保用户尽可能的获得最新的浏览器版本。

    记者:这些工作很有意义,你能简单解释下开发团队是如何攻克这些难题的呢?

    Fette:为了警告用户他们访问的是钓鱼网站或网站包含有恶意代码,我们使用了我们的安全浏览技术,它已经用在Google搜索引擎、Firefox和Safari中,安全浏览技术通过一个中间页面警告用户访问的网站可能不安全。

    为了阻止不受信任的代码离开我们的沙盒执行,我们又增加了一个安全保护层,防止攻击者在你计算机上执行漏洞利用代码,即使他们发现了渲染程序的漏洞,也只能被限制在沙盒内。

    最后,为了确保用户的浏览器始终保持是最新版本,包括打上最新的安全补丁,我们开发了一个自动升级系统,它无需人工干预,自动静悄悄地后台运行。

    为了实现这些目标,Chrome开发团队决定使用多进程架构。

    多进程架构

    按照设计,多进程架构将浏览器应用程序拆分成了多个进程,使用这种方法,一个进程失败时,整个浏览器不会崩溃,Chrome最终拆分成下面三个进程:

    1、浏览器进程:这个进程管理标签、窗口和“Chrome”浏览器,这个进程同时也是与硬盘、网络、用户输入和显示之间的接口。

    2、渲染进程:这个进程负责使用HTML,JavaScript,CSS和图像显示网页,渲染是由WebKit渲染引擎控制的。

    3、插件进程:按照设计,为每个插件或在使用中的扩展创建一个进程。

    记者:如果我了解得没错,Google应该是第一个为浏览器使用多进程架构的,Google的实现与其它浏览器有何不同?

    Fette:Google采用了一个很奇特的方法将浏览器拆分成不同的组件 – 浏览器、渲染和插件,它给我们带来了许多好处,例如,如果插件崩溃,当前查看的网页仍然可见,并且可操作,插件仅仅是网页的一部分,因此插件之外的网页内容不受影响。

    在渲染进程上创建的这个策略有效阻止了运行在渲染进程中的恶意代码读取或写用户的文件系统,注册表等,这个策略比其它浏览器的保护措施都严格。

    记者:那么Chrome能打开多少进程呢?对同时浏览网站的数量有限制吗?如果是,那么达到数量限制时会发生什么?

    Fette:我们的确对进程数量做了限制,但并不等于对打开网站的数量也限制了,我们这样做的目的是为了实现最佳的性能平衡,主要是根据计算机上的可用内存数量来限制的,也就是说,你的内存越多,我们限制的数量也更高。

    当你达到最大进程数限制时,打开的新标签将会共享其它标签的进程,如果你打开了含有20个标签的20个独立窗口,总共有400个标签的话,很可能每个渲染进程都支撑了10个标签,如果是400个不同的进程,你的机器肯定早就承受不了了。

    Chrome沙盒

    除了稳定,多进程架构带来的好处外,按照设计,独立的进程之间不会相互依赖,可以隔离,这就是Google称作的Chrome沙盒,下面的内容是摘自Esalkin在沙盒论坛中发表的文章,对沙盒尚不了解的读者,这是一次难得的机会。

    “假设你的PC是一张纸,你运行的每个程序都写在这张纸上,当你运行浏览器时,它将你访问的每个网站都写在这张纸上,你碰上的任何恶意代码通常会将自己也写到这张纸上。

    传统的隐私和反恶意软件尝试找出并擦除任何写在纸上的内容,他们认为你不想在纸上写任何东西,大多数时候,他们这样做是正确的,但这些解决方案提出者必须先告知解决方案在纸上寻找什么内容,然后是如何安全地擦除它。

    相反,沙盒就象放在纸上的一个透明层,程序在这个透明层上写入它需要写的任何内容,就象在真实的纸上写一样,当你删除这个沙盒时,真实的纸张不会改变。”

    安全专家,如Charlie Miller认为Chrome使用沙盒难以攻破的原因是:

    “他们获得沙盒模型后就很难逃出去,在操作系统和沙盒的保护下,你不能在堆栈上执行代码。”

    Chrome沙盒是如何工作的

    还记得我前面提到的渲染进程吗,实际上它们是Chrome中的沙盒进程,因为它们处于沙盒中,它们能使用的唯一资源是CPU周期和内存,渲染进程不能对磁盘进行操作,也不能显示它自己的窗口,这些任务是由浏览器进程控制的。

    Google Chrome使用了基于访问令牌的Windows安全模型,一个访问令牌是由进程所有者和进程拥

[1] [2]

责任编辑:华中帝国        



本文引用网址: 

Chrome安全性能是如何炼成的 (1)的相关文章
发表评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码