隐藏在过时Java中的威胁
moboyou 2025-03-12 13:42 21 浏览
为什么即时安全更新对于您的关键企业 Java 应用程序至关重要。
译自 The Hidden Threats Lurking in Outdated Java,作者 Simon Ritter。
保持企业系统尽可能安全应该是显而易见的,不是吗?不幸的是,由于需要考虑如此多的安全方面,这在一些最重要的领域经常被忽视。
例如,Java 运行时。
直到 2019 年,保持 JDK 更新到最新的安全补丁都是直截了当的,并且没有直接成本。当 Sun Microsystems 发布 Java 时,您可以免费下载 Java 开发工具包,除非您将其用于某种嵌入式或单用途应用程序(例如使用嵌入式 PC 的售票亭)。即使发布了新版本的 Java——这每两、三甚至四年才发生一次——与持续的免费更新仍然有相当大的重叠,以确保平稳过渡。
Oracle 在 2010 年收购 Sun 后,继续以相同的方式交付其 JDK,直到 2019 年。它的第一个变化是转向基于时间的发布计划,而不是基于功能的发布计划。现在,就像时钟一样,我们每年都有两个新版本的 Java:一个在 3 月,一个在 9 月。
这种更快的发布节奏导致了 Oracle JDK 长期支持 (LTS) 版本的引入,因为为所有版本提供扩展维护和支持是不切实际的。最初,每三年发布一个新的 LTS 版本,但现在已经缩短到两年。
当前的 LTS 版本是 JDK 8、11、17 和 21。Oracle 不再支持(即使是商业上)旧的开源版本的 Java,JDK 6 和 7。
安全更新 有多重要?毕竟,Java 现在已经近 30 年了;我们现在难道还没有消除所有漏洞吗?可悲的是,没有,现实地说,这永远不会发生。OpenJDK 包含 750 万行代码,并依赖于许多外部库,所有这些都可能存在未发现的漏洞。
让我们用一些硬数据来解释这一点。
假设您在 JDK 6 上运行您的应用程序,并且自 Oracle 免费公开更新结束(2013 年 4 月)以来一直没有更新它。在这种情况下,您的应用程序会暴露于总共 425 个漏洞,其中 89 个是严重的。
及时更新您的系统 的能力至关重要。
Oracle 为每个更新提供两个版本,分别称为关键补丁更新 (CPU) 和补丁集更新 (PSU)。CPU 仅包含与安全相关的更改;PSU 包含与安全相关的更改、错误修复、性能改进以及任何其他代码更改。大小差异很大。一个大型 CPU 可能包含 15 个更改,但通常少于 10 个。另一方面,PSU 可以包含 200 到 400 个更改。
更新中包含的更改越多,其中一个更改可能影响应用程序功能的可能性就越大。由于更新之间只有三个月的时间,因此只能对应用程序进行如此多的测试。这会导致 PSU 产生重大影响的情况。例如,2022 年 7 月的 PSU 包含一个修复程序,该修复程序阻止了基于 Hadoop Cluster、Solr 和 Lucene 的应用程序正常工作。
自从 Oracle 更改其分发和许可以来,已经发布了 22 个更新。其中,6 个 PSU 需要修改和新版本来解决引入的回归。创建新更新的时间从不到两周到超过五周不等。CPU 从未受到过这种影响。访问 CPU 对于维护应用程序的最高安全级别至关重要。
由于所有免费的 OpenJDK 二进制分发版仅提供 PSU 版本,因此一些用户可能认为在能够部署之前等待几周是可以接受的风险。
这非常危险。
当发布 JDK 更新时,所有已解决的漏洞都会在发行说明中披露。恶意行为者现在拥有信息,使他们能够尝试找到利用未修补应用程序的方法。
让我们以常用的 Java 库 Apache Struts 为例,来说明这有多危险。
2023 年 12 月 7 日,发布了有关 Struts 中漏洞的详细信息。该漏洞的通用漏洞评分系统 (CVSS) 为 9.8,使其成为严重漏洞。此外,它有可能允许远程代码执行 (RCE),这是一种比可用于拒绝服务 (DOS) 的漏洞更糟糕的漏洞。 仅仅四天后,概念验证代码就被发布,展示了如何利用此漏洞。在代码发布后的 24 小时内,就观察到对未修补系统的攻击。在可用的 Java 更新发布之前等待两周或更长时间,将使您的应用程序暴露在风险之中。您是否愿意承担这种风险?
Azul 的 Platform Core 提供了经过 TCK(技术兼容性工具包)测试的 Zulu 版本的 OpenJDK,每个季度都包含 CPU 和 PSU。它还支持 JDK 6 和 7。这为您的关键任务企业 Java 应用程序提供了最大的安全性和稳定性,而无需您将旧版应用程序升级到更新的版本。
了解更多关于 Java 和 OpenJDK 的信息。
相关推荐
- php宝塔搭建部署实战SDCMS蓝色通用宽屏企业网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的SDCMS蓝色通用宽屏企业网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+...
- PHP Laravel定时任务Schedule
-
前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样)。一、首先添加Crontab定时任务,这里只做简单介绍:用命令crontab-e添加如下内容**...
- PHP函数大全:从Array到Zip,你需要了解的所有函数
-
PHP函数大全:从Array到Zip,你需要了解的所有函数在PHP开发中,函数是非常重要的工具。它们提供了各种功能和操作,帮助我们更高效地处理数据和实现各种功能。在本文中,我们将介绍PHP中一些常用的...
- php宝塔搭建部署实战SDCMS蓝色系列包装行业网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的SDCMS蓝色系列包装行业网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+...
- php宝塔部署实战月老盲盒H5交友盲盒网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的月老盲盒H5交友盲盒网站源码。技术架构PHP7.2+nginx+mysql5.7+JS+CSS+HTMLcn...
- php宝塔部署实战OneKeyAdmin插件化管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。有个朋友发消息问我,能不能录制一期开源OneKeyAdmin插件化CMS管理系统的搭建视频教程,看了一下,搭建的方式还是很简单的,本期给大家分享一下怎么在宝塔...
- php宝塔搭建部署实战海洋cms视频内容管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的海洋cms视频内容管理系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+J...
- php宝塔搭建部署网盘目录搜索系统thinkphp源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的网盘目录搜索系统thinkphp源码,这也是一个朋友之前分享给我的,说不会搭建,看了一下,还是很简单的,感兴趣的朋友可以自行下载...
- php宝塔搭建部署实战PESCMSTEAM团队任务管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的PESCMSTEAM团队任务管理系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5....
- php宝塔搭建部署实战科技创业园区网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的科技创业园区网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS+C...
- 在CentOS7系统源码安装Nginx+MySQL+PHP+Go
-
以下安装说明仅供参考,请根据实际情况修改配置,进行软件编译安装软件安装也可以参考阿里云/腾讯云的建站教程:https://help.aliyun.com/zh/ecs/use-cases/build-...
- 2021最新湖北电视台节目源PHP代理源码
-
强调下这需要要PHP服务器来运行代码,奈何世人只爱鱼,不爱渔。自己动手对大部分人还是一个坎。id频道439湖北美嘉购物438湖北垄上437湖北教育436湖北生活435湖北影视434湖...
- 教你搭建自己的问答系统,在java环境上运行php项目
-
最近公司需要一款问答系统,方便我们平时在这套系统上面积累经验于是在网上找到这款Tipask问答系统。Tipask问答系统是一款开放源码的PHP仿百度问答系统。以国人的使用习惯为设计理念,采用MVC构架...
- php宝塔搭建实战部署响应式房产置业公司网站php源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的响应式房产置业公司网站模板php源码,也是一个朋友很早之前分享给我的,说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制...
- php宝塔搭建部署实战易优企业官网系统源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的易优企业官网系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS+C...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab归一化 (16)
- 共轭梯度法matlab (16)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)