Dov*_*Dov 3 javascript java security
客户端java上的一系列错误和漏洞已经造成了很多,导致Apple,mozilla等将各种版本列入黑名单。然而,javascript是一种没有静态类型的更不受控制的语言。今天,javascript 允许许多相同的潜在问题:本地存储、访问不同窗口中的数据、打开与服务器的连接(尽管不是任意套接字)。
仅仅是 javascript 得到了更好的测试,包括许多浏览器供应商的社区,是 javascript 的局限性更大,例如没有套接字,还是 javascript 实际上与 java 一样容易受到攻击?
这不是语言问题。这是环境问题。
在网页上运行 Java 小程序目前涉及使用 Java 插件,该插件需要一个包含功能的 JVM 来执行我们不希望网页能够执行的所有类型的事情,并在该 JVM 中以一种方式运行代码。 “沙箱”以防止它做这些事情。JVM 仍然具有这些功能,环境(插件)只是试图拒绝访问它们,浏览器必须完全信任插件才能做到这一点,因为它无法控制插件加载后的操作。(这就是 NPAPI 插件的特性。)插件的沙箱一直被破坏,更糟糕的是,更新过程很笨拙,用户往往没有跟上安全补丁。既然看起来就像当插件受到威胁时浏览器的错误一样(它不是),浏览器供应商正试图在浏览器中逐步淘汰 Java。谷歌还声称他们最新的 Chrome 架构使得支持 NPAPI 变得困难。
相比之下,在网页上运行 JavaScript 需要浏览器在自己的嵌入式环境中运行 JavaScript 代码,它(浏览器)可以完全控制它,从而严格限制访问从一开始就设计的少数浏览器控制的功能(在现代功能的情况下)拒绝恶意使用。“攻击面”(如安全人员所说)显着减少,并且对这些攻击的响应相当直接在浏览器供应商的控制之下。您可以看到浏览器供应商如何更喜欢这种情况。
当然,浏览器也可能受到损害,这就是浏览器供应商如此努力让我们接受自动更新的原因。
旁注:浏览器供应商完全有可能从一开始就构建一个专为安全而设计的有限子集 JVM,就像他们在其中构建了一个 JavaScript VM(通过V8、SpiderMonkey 等项目),并对其拥有相同程度的控制权。他们只是没有。相反,他们专注于推动 JavaScript 向前发展。
| 归档时间: |
|
| 查看次数: |
316 次 |
| 最近记录: |