为什么 Chrome 中禁用了 Java 插件 (JRE)?这是出于安全考虑吗?
来自Java官方网站:
Chrome 不再支持 NPAPI(Java 小程序所需的技术) Web 浏览器的 Java 插件依赖于跨平台插件架构 NPAPI,该架构已获得所有主流 Web 浏览器十多年的支持。Google 的 Chrome 版本 45(计划于 2015 年 9 月发布)不再支持 NPAPI,这将影响 Silverlight、Java、Facebook Video 插件和其他类似的基于 NPAPI 的插件。
但有人知道为什么吗?对于安装了最新版本 Java JRE 的 Chrome 用户来说,这会有什么危险吗?
答案1
为什么 Chrome 中禁用了 Java?这是出于安全考虑吗?
根据 Chromium 博客的说法,禁用 NPAPI 以及 Java 的原因包括以下几点:
- 增强安全性
- 提高速度
- 提高稳定性
- 降低代码复杂性
- 减少撞车事故
- 减少挂起
- 缺乏对移动设备的支持
笔记:
Firefox 也将放弃对 NPAPI 的支持 - 请参阅Firefox 中的 NPAPI 插件:
插件是导致 Web 用户性能问题、崩溃和安全事故的根源。
Mozilla 计划在 2016 年底之前停止对 Firefox 中大多数 NPAPI 插件的支持。
对于安装了最新版本的 Java JRE 的 Chrome 用户来说这会有什么危险吗?
简短的回答:零日漏洞。
另一个漏洞来源是 Java 尚未发布不需要用户干预和管理权限的自动更新程序。例如,Google Chrome 和 Flash Player 都有。此功能允许用户在无需提示采取行动的情况下获得自动更新,从而使更新更加容易。
由于缺乏自动更新系统,许多用户忽略 Java 更新,甚至害怕安装它们,因为过去恶意软件曾使用 Java 更新作为感染媒介或有过类似的经历。
要知道,所有这些漏洞都是网络犯罪分子赖以生存的。
...
从我们自己的数据库中提取的数据证实,Java 是继 Adobe 的 Flash 插件之后第二大需要不断修补的安全漏洞。
仅在 2015 年,我们就已为客户部署了 105925 个 Java 运行时环境补丁。
阅读文章的其余部分以获得详细的解释和评论。
NPAPI 的最后倒计时
去年九月,我们宣布了从 Chrome 中删除 NPAPI 支持的计划,这一举措将提高 Chrome 的安全性、速度和稳定性,并降低代码库的复杂性。
与我们的老朋友 NPAPI 告别
NPAPI 的 90 年代架构已成为导致挂起、崩溃、安全事故和代码复杂性的主要原因。因此,Chrome 将在明年逐步停止对 NPAPI 的支持。我们认为网络已准备好进行这一转变。移动设备不支持 NPAPI,Mozilla 计划默认使除当前版本的 Flash 之外的所有插件都支持点击播放。
答案2
答案3
长期以来,网络上一直有人放弃使用 Java 以及 Flash 或 Silverlight 等其他插件。HTML5 的目标之一是创建一个不需要插件的框架(因此有 和 这样的标签<audio>
)<video>
。现在支持 Java 的唯一原因是为了与现在可能已经淘汰的旧系统兼容。
那么,为什么像 Java 这样的插件会成为安全威胁呢?因为历史已经证明,总会有源源不断的安全漏洞,从而导致大量漏洞被利用。保护运行 Java 字节码的虚拟机从本质上来说比保护像 JavaScript 这样的解释型脚本语言更难。只需看看这些统计数据。
正如您所说,保持插件更新是一种很好的做法。但这还不够。首先,很多人不这样做。最近有消息称,甚至瑞典的国家安全局也在运行过时的 Java 插件,这些插件存在已知的安全漏洞。如果他们都无法解决问题,您还能指望普通家庭用户这样做吗?其次,您无法保护自己免受零日攻击。无论 Oracle 多么快速地发布补丁,您都会面临风险。
甚至 Oracle 也承认 Java 小程序时代已经结束。Ars Technica(2016 年 1 月):
备受诟病的 Java 浏览器插件,多年来造成如此多的安全漏洞,将被 Oracle 彻底淘汰。人们不会为此感到惋惜。
Oracle 在 2010 年收购 Sun Microsystems 时获得了 Java,宣布该插件将在 Java 的下一个版本(版本 9)中被弃用,目前该版本作为早期访问测试版提供。未来的版本将完全删除它。