运行 NoScript 时 Firefox 是否不太容易受到攻击?

运行 NoScript 时 Firefox 是否不太容易受到攻击?

这篇文章的标题是《The Register 网站》上的“iPhone、IE、Firefox、Safari 在黑客大赛中惨败”讨论了 Firefox 可被利用的情况。

我想知道 NoScript 是否可以防御上述类型的漏洞;或者无论是否加载扩展程序,浏览器是否都可以被利用。

有什么意见吗?鉴于这不是简单的问题/解决方案帖子,可能会将其设为社区 wiki。

答案1

该网站并未详细说明究竟使用了哪些漏洞,因此无法判断 NoScript 是否会阻止这些攻击。

NoScript 阻止所有 JavaScript 和第三方脚本(如 flash/sliverlight)的执行,因此基本上只剩下基本的 HTML。虽然浏览器中的渲染错误可能会暴露纯 HTML 中的漏洞,但这种可能性很小,因为没有代码以与 JavaScript 引擎相同的方式专门执行。可攻击的表面积大大减少,因此发现成功攻击的可能性较低。

当然,另一个需要考虑的方面是攻击可能针对 NoScript 本身。NoScript 肯定有可能存在允许远程代码执行的漏洞。

最后,你需要考虑用户的行为。在将网站列入白名单之前,用户会如何严格地检查网站是否值得信赖。在将网站及其所有脚本列入白名单之前,你会对其进行深入的代码审查吗?还是在看到“此网站需要 javascript”时直接点击允许?我认为让大多数用户将你的网站列入白名单可能并不难,因为一旦他们这样做,他们就会再次面临大量此类攻击。

答案2

我快速浏览了一下Firefox 3.6 的安全公告。虽然我可能错过了一些,但该页面上的 13 条建议中有 6 条可以通过禁用 JavaScript 来避免。此外,剩余的建议之一依赖于可下载字体,NoScript 也默认阻止该字体(它是其配置对话框中的“禁止 @font-face”选项)。

其他时候我查看时发现比例大致相同:Firefox 上大约 50% 的漏洞依赖于 JavaScript。

禁用 JavaScript 还会使利用其他漏洞变得更加困难,因为攻击者必须发起不需要 JavaScript 的攻击。攻击者也很可能根本不关心 JavaScript,即使不需要也会使用;毕竟,使用 NoScript 的人往往是安全意识很强的人,一旦宣布有安全漏洞,他们就会立即升级浏览器。

最后,使用 NoScript,您可以允许某个网站使用 JavaScript,同时禁用来自其他域的脚本。这包括第三方广告服务器、第三方跟踪代码,以及利用来自其他域的页面底部隐藏 iframe 中的 JavaScript(最后一个是被入侵网站常做的事情)。

相关内容