比尔盖子 博客

Chromium 还是 FireFox?

比尔盖子从去年开始进行全系统加固,无论是个人电脑还是服务器都部署了 Gentoo Hardened,并采取了不同程度的安全措施。Chromium、FireFox,以及基于 Webkit 的外壳浏览器是自由软件界的御三家,从特性上来说各有独自的优势 —— 如果要从这一点上进行谈论恐怕会触发圣战,这也并不是比尔盖子撰写本文的目的。本文企图从系统安全的角度来说明浏览器的选择。

Mozilla FireFox

Mozilla FireFox 是历史悠久功能、功能强大的浏览器,由于有官方的参与,可以认为是网络浏览器的开山鼻祖 Netscape 的精神续作。丰富强大的插件系统是其的生态特色,采用自有的 Gecko + 各种 Monkey 引擎:

综上所述,FireFox 存在的问题是缺少沙盒和隔离。我们最好对 FireFox 进行一些人工沙盒措施确保安全,然而这也并不能防止不同网页之间的攻击。

Chromium

Chromium 浏览器是 Google Chrome 的自由版本,最初主打性能和轻量级设计,采用 Blink + V8 引擎,其特点是:

综上所述,Chromium 存在的问题是代码库捆绑巨量程序库,而且其引擎严重依赖 JIT 且无法关闭,更大的攻击面容易造成程序漏洞,以及开发主要受到 Google 单一主导的问题。

Webkit

嵌入网络浏览器功能时必用的库,是 Safari 和 Chromium 两大浏览器的源头。

  • 庞大的 C++ 代码库。攻击面大:高风险
  • 不同的开发库都将 Webkit 作为了网页浏览方案,并派生出了 QtWebKit 和 WebKitGTK+,许多其它应用程序也嵌入了 Webkit。
  • Webkit 的一直在演化中,不同的应用程序捆绑了不同了 Webkit 版本。前些年的 Webkit2 使这种情况更加严重。
  • 在上述的大多数情景中,这些 Webkit 都无法获得任何安全更新!许多发行版和程序都依然还在使用版本极低的 Webkit。只有 ArchLinux 和 Fedora 紧密跟随上游及时获取更新,据我观察 Gentoo 的表现并不算差,但有些程序依然依赖过时的低版本 —— 而这是没有安全更新的。
  • 许多基于 Webkit 的网页嵌入和浏览器不验证 TLS 证书

综上所述,Webkit 存在的问题是终端用户得到安全更新的可能性很低,几乎没有办法放心使用,应该尽可能避免。

总论

完整浏览器的规模庞大,使用浏览器本身时时刻刻就承担着无法避免的高风险,因此我对每个浏览器都给出了类似的第一条评价。


因此,比尔盖子在一年前离开了 Chromium 而选择了更可控的 FireFox.

Categories: IT生活, Linux, 软件推荐

网络维护日 » « 置顶引言

15 Comments

  1. 开个脑洞,或许很多年以后,浏览器什么的都是浮云,当大家讨论网络的时候都是VR、AR什么的,那时看来现在的各种争论都是很可笑的吧。毕竟我们都是局限在自己的时代啊。

    • 从特性上来说各有独自的优势 这也并不是撰写本文的目的。本文企图从系统安全的角度来说明浏览器的选择。

      到目前为止,除了第一篇评论外,其他所有评论全部离题,和本文讨论的系统安全问题完全不着边际。

    • VR/AR 也只是個表現形式啊,到最後還是需要瀏覽器或是類似瀏覽器的東西。蓋子在本文寫的東西也只是從安全角度講了下這些瀏覽器,並不是爭那個瀏覽器才是最好的(

  2. 对于这两者没有什么特别的偏爱,但是看到现在浏览器市场逐渐向一家独大的局面发展,不知道是好还是坏,如果没有对手的竞争,那Chrome不就是下一个IE吗,毕竟绝对的权力,绝对的… …

  3. 如果不能用IE,那我还是用GG的浏览器吧。

  4. 对网络安全这方面我一窍不通

  5. 两个都用过,Firefox在linux上至少ui比Chrome强。
    请教一下Firefox上的有没有类似Chrome的SwitchProxy这种代理?我现在用Chrome主要还是习惯了这个插件。

  6. 谷歌浏览器的可拓展性很强、相信客户群体还是相当多的

  7. 还是比较喜欢Google的产品。

  8. 雖然在下沒有博主對技術的分析, 但個人比較喜歡Google Chrome的介面。

  9. 我们网站的博客导航已添加了贵站,欢迎去看看

  10. 博客名有意思,还以为是比尔盖茨

  11. 最喜欢用谷歌浏览器

  12. Chrome 本来就是一个操作系统……

    如你所见,我正使用 Chromebook 在 Chrome 操作系统里发这篇帖子。

    Firefox 的沙盒问题的话,能不能用 PaX 之类的加固方案来加固呢?

    • 使用 PaX/grsecurity 的确可以防止内存破坏和限制浏览器的整体权限,但它无法实现针对页面和进程的细粒度防护 —— 而这正是浏览器更需要的。我们只能期待 B2G 的开发进展,目前在 Windows 上应该已经能跑了,但要实现的特性和解决的问题依然很多,更别提其它平台了。连文件访问控制目前都没有的。

      P.S: 不要相信我自己这条评论下的操作系统信息,这是浏览器插件随机伪造的。

发表评论

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Copyright © 2023 比尔盖子 博客

Theme by Anders NorenUp ↑