隐藏在过时Java中的威胁
moboyou 2025-03-12 13:42 17 浏览
为什么即时安全更新对于您的关键企业 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 的信息。
相关推荐
- 声学EI要完稿?十步速写法
-
【推荐会议】国际声学与振动会议(ICAV)会议号:CFP23112A截稿时间:2025年4月20日召开时间/地点:2025年8月15-17日·新加坡论文集上线:会后3个月提交EiComp...
- 结构力学!EI会议图表规范秘籍
-
推荐会议:国际结构与材料工程进展大会(ISME2026)会议编号:EI#73521截稿时间:2026年3月10日召开时间/地点:2026年8月15-17日·德国柏林论文集上线:会后4...
- 傅里叶级数物理意义的直观理解:利用傅里叶级数逼近方波信号
-
上篇文章将向大家介绍频谱的概念,对傅里叶级数、傅里叶积分、傅里叶变换进行了数学的推导,并解释了它们各自的物理意义。推导过程见我的上一篇文章:频谱分析——频谱概念(傅里叶变换、级数、积分及物理意义)如下...
- 通过对航空发动机整机振动进行分析,有何控制方法?
-
前言针对航空发动机整机振动问题的复杂性和多样性,以整机振动的振源分析为出发点,总结国内外关于转子系统故障、气流激振、轴承故障、齿轮故障和结构局部共振等引起的整机振动的研究情况。结合航空发动机整机结构动...
- MATLIB中使用PCA
-
主成分分析PCA(PrincipalComponentsAnalysis),奇异值分解SVD(Singularvaluedecomposition)是两种常用的降维方法降维致力于解决三类问题:降维...
- 数据处理|软件:让科研更简单2
-
书接上回,继续介绍免费的数据处理软件。eGPS一款热图绘制专用软件,热图就是用颜色代表数字,让数据呈现更直观,对比更明显。优点:小巧方便,基本功能齐全,包括数据转换、聚类分析、颜色调整等等缺点:常见的...
- 电力系统常用的通讯协议及其在Speedgoat系统中的实现
-
在电力系统中,IEC61850协议、DNP3协议、ModbusTCP广泛应用于远程终端设备(RTU)、智能电子设备(IED)交互以及监控和数据采集(SCADA)系统。一、IEC61850协议IE...
- 电子工程师的常用仿真软件
-
不知道从事电子行业的工程师,有没有使用模拟仿真工具,仿真软件网上又有很多,初学者,可能只知道Multisim和Proteus。一般Multisim适合在学习模拟电路和电路分析原理课程时使用,便于理解电...
- 技术论文|异结构混沌系统的组合同步控制及电路实现
-
欢迎引用[1]李贤丽,马赛,樊争先,王壮,马文峥,于婷婷.异结构混沌系统的组合同步控制及电路实现[J].自动化与仪器仪表,2022,No.276(10):80-84.DOI:10.14016/j.cn...
- 现场︱某110KV主变事故过程仿真分析
-
三峡电力职业学院、河南省电力公司洛阳供电公司的研究人员李莉、任幼逢、徐金雄、王磊,在2016年第6期《电气技术》杂志上撰文,针对某110KV变电站主变差动保护跳闸事故,结合事故相关检测数据,通过MAT...
- 光伏发电系统篇:单级式并网系统实时仿真
-
在全球积极推动清洁能源转型的大背景下,光伏发电作为重要的可再生能源利用方式,得到了广泛关注和迅猛发展。目前常用的光伏并网及光伏电站主要拓扑结构有单级式和双级式。相较于传统的多级式系统,单级式光伏发电并...
- 光伏发电系统篇:三电平并网逆变器实时仿真
-
一、三电平并网逆变器在能源转型加速的当下,分布式能源接入电网需求大增。三电平并网逆变器凭借低谐波、高功率密度等优势,有效提升电能转换效率,于新能源并网发电中担当关键角色。常见的三电平电路拓扑结构包括二...
- 自制3.5KW大功率逆变器,很简单,看过这个电路原理就懂了
-
前言拿下8000元奖金的项目,是什么水平?本项目经过联合湖南科技大学光伏逆变以及电力电子研究生团队共同探讨方案。项目成本:1200元,获得奖金:8000元!参加赛事:立创开源硬件平台_星火计划·外包赛...
- 圈内分享:电容式加速度计接口电路非线性建模与仿真设计
-
摘要:非线性是Sigma-Delta(ΣΔ)加速度计系统的关键指标之一。基于一个五阶ΣΔ加速度计结构,分析了其主要的非线性模块,在MATLAB中建立了整体结构的行为级模型,并利用根轨迹法进行了稳...
- 基于Matlab/Simulink建立一种Thevenin/RC电池模块仿真模型
-
本文以锂电池数学模型为基础,在Matlab/Simulink的仿真系统中,建立了一种Thevenin/RC电池模块仿真模型,通过实际工况试验,测试精度在允许误差范围内,为电池SOC/SOH研究提供了极...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 使用 (12)
- 启动oracle的监听服务 (13)
- oracle 数据库 字符集 (20)
- powerdesigner oracle (13)
- oracle修改端口 (15)
- 左连接 oracle (15)
- oracle 标准版 (13)
- oracle 转义字符 (14)
- asp 连接 oracle (12)
- oracle安装补丁 (19)
- matlab三维图 (12)
- matlab归一化 (16)
- matlab求解方程 (13)
- matlab坐标轴刻度设置 (12)
- matlab脚本 (14)
- matlab多项式拟合 (13)
- matlab阶跃函数 (14)