免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

本月起 Oracle 将不再提供 Java 6 的安全更新

  • 2013-02-05
  • 本文字数:1663 字

    阅读完需:约 5 分钟

Java 6 公开发行的最后一个版本将于 2013 年 2 月 19 日发布。之后 Java SE 6 运行时和 SDK 的所有新的安全更新、补丁和修复将只能通过 My Oracle Support 获取,因而只有使用 Oracle 商业许可的用户才能获取。

考虑到这一点,Oracle 在去年年底就开始通过自动更新用 Java SE 7 来自动替换 Java SE 6 了。Oracle 在公告中宣称,他们

……将于 2012 年 12 月开始把 Windows 32 位 Java 运行时环境(JRE)的用户从 JRE 6 升级到 JRE 7。

Java 自动更新机制是为让 Java 用户保持更新到最新的安全修复而设计的。为实现该目标,依赖 Java 自动更新机制的 Windows 用户的 JRE 6 将被替换为 JRE 7。 Oracle 将于 2012 年 12 月开始挑选部分用户进行从 JRE 6 到 JRE 7 的自动更新,以评估自动更新机制、用户体验和无缝迁移。之后,随着 Java 的更新版本 Java SE 7 Update 11(Java SE 7u11)在 2013 年 2 月发布,Oracle 会开始将所有 Windows 32 位用户的 JRE 6 升级到 JRE 7。

这种迁移是存在争议的。JNBridge(主要业务是 Java/NET 的互操作)的 CTO Wayne Citrin 在一篇博客文章中写道:

这太让人吃惊了。Oracle 已经做出决定,为修复广泛报道的安全问题,他们不只会更新 Java 7(他们最新的 Java 版本),还将彻底删除一个完全独立的产品。没错,Java 6 就是独立于 Java 7 的产品。它们可以同时安装,而且很多用户的机器上就是同时安装了 Java 6 和 Java 7。有些应用依赖 Java 6,而其他应用可能依赖 Java 7,这些依赖通常是硬编码的,或者通过配置指向了正确却又不同的文件位置。你能想象微软在发布.NET 4.0 的更新的同时把.NET 2.0 移除掉吗?问题就是这么严重。

更糟糕的是,看来他们是要站在自己的立场上将安装的 Java 6 替换为 Java 7,哪怕用户的机器上只安装了 Java 6。

因此他这样说,“你应该坚定地考虑关闭 Java 的自动更新”。

InfoQ 请 Citrin 谈了一下他的态度。“实际上我认为用户最好的选择是把浏览器插件升级到最新的 Java 7,”他对我们说,“或者简单地在浏览器中禁止 Java。”关于 Oracle 应该如何处理目前这种状况,他也提了很多建议:

a. 从支持同时安装转变为替换式安装,也就是用 Java 7 替换 Java 6,这需要严格向后兼容较老的版本,如此用户才不会注意到。此时这或许并非很好的选择,但从长期来看可能是最好的解决方案。

b. Java 6 的更新至少再继续提供一段时间。当然这只是拖延时间,无法最终解决问题。

c. 作为 Java 7 更新的一部分,检查用户的 Java 浏览器插件是不是 Java 7。如果不是的话,就切换到 Java 7。这可能是全面解决问题的最好方案。大多数攻击都是通过浏览器进来的,不过大部分人并没有注意到这一点。这种方式有可能什么都不破坏。

事实上 Oracle 已经对更新进程采取了一些防范措施。对企业级用户而言,Java 自动更新进程只更新用户 Windows 机器上最新安装的 Java 版本,这是最重要的。也就是说,如果安装了多个 Java 版本,只有最近安装的那个会被替换掉。此外,在由企业代表用户对 Java 的版本进行管理的地方,通常关闭自动更新,因此他们不会受到影响。即便如此,尽管企业客户应该不会受自动更新的影响,Citrin 也提到,“我们与客户交流时得知,作为独立软件开发商,他们也有些客户报告问题”。

前几天的安全电话会议也讨论了 Java 默默进行自动更新的问题。当然,并非真是默默更新,但正如 Ask 工具栏(译者注:这是 Java 安装程序中提供的默认搜索功能工具栏)的安装一样,用户往往没有仔细阅读就在安装程序中点击通过了,Citrin 在与我们交流时也表达了这种观点。考虑到这一点,回顾一下 Donald Smith 关于自动更新的评论是很有意思的事情:

当然,你会遇到挑战:如果新出现的特性与历史悠久的生态系统中的这一特性工作方式不同,突然就会有很多人问这个问题,“我应该如何避免这种情况发生呢?”

随着 Java 日益成为恶意软件和病毒作者的目标,对 Oracle 来说,鼓励用户更新到最新状态一定是个挑战。

InfoQ 联系了 Oracle 希望得到解答,但他们拒绝发表评论。

查看英文原文 Oracle Will Stop Providing Security Updates for Java 6 Next Month

2013-02-05 02:331604
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 133.9 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

02 Prometheus之监控方法论及指标

穿过生命散发芬芳

Prometheus 1月月更

看金沙遗址-理科生博物馆的正确打开方式

wood

成都 300天创作 博物馆 金沙遗址

Kubernetes集群监控

Rayzh

Kubernetes 云原生 Prometheus

模块8作业

Asha

模块8作业

忘记喝水的猫

架构训练营

为什么每次加入一个新的团队,都会觉得遗留系统是一坨“屎”?

蔡超

重构 架构设计 团队文化

架构实战营模块八作业

孙志强

架构实战营

架构实战营模块八作业

spark99

架构实战营

Rust 入门 快速配置 Rust 开发环境并编写一个小应用!

贾献华

rust

保姆级教程,终于搞懂脏读、幻读和不可重复读了!

王磊

是分是合?探讨影响研发组织设计的主要因素

菜根老谭

企业管理 研发组织 组织设计

设计消息队列存储消息数据的 MySQL 表格

渐行渐远

架构实战营

模块八 设计消息队列存储消息数据的 MySQL 表格

小朱

架构实战营

模块八作业

Geek_1d37ea

架构实战营

架构训练营 模块八

dog_brother

「架构实战营」

Kubernetes集群日志搜集

Rayzh

Kubernetes 云原生 ELK Stack

设计原则与思想:单一职责原则

努力努力再努力

【架构实战营】模块八作业

liu🍊

模块八总结

Geek_1d37ea

架构训练营

莫让虚线管理形同虚设,再论研发组织的设计逻辑

菜根老谭

企业管理 研发组织 组织设计 虚线管理

复盘2021,像做产品一样来做自媒体

菜根老谭

自媒体 菜根老谭

架构训练营 - 模块八作业

VegetableBird

架构训练营

设计消息队列存储消息数据的 MySQL 表

Beyond Ryan

架构训练营 模块八作业

吴霏

#架构训练营

040022-week1-algorithm

InfoQ_70156470130f

一、什么是计算机

喵叔

28天写作 1月月更

Excelize 2.5.0 正式发布,这些新增功能值得关注

xuri

Java golang Excel go语言 Excelize

为什么私有方法上的Spring Cache注解不生效?

看点代码再上班

spring 源码 程序员 spring aop Spring Cache

架构训练营 - 模块 8 作业

焦龙

架构训练营

【LeetCode】一手顺子Java题解

Albert

算法 LeetCode 1月月更

架构实战营 - 模块八作业

随风King

「架构实战营」

本月起Oracle将不再提供Java 6的安全更新_安全_Charles Humble_InfoQ精选文章