千家信息网

怎么确保Java应用程序安全

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关怎么确保Java应用程序安全的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在之前,大多数 Java 用户访问 JDK 更新的方式发生了变化。其原因
千家信息网最后更新 2026年11月03日怎么确保Java应用程序安全

这篇文章给大家分享的是有关怎么确保Java应用程序安全的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在之前,大多数 Java 用户访问 JDK 更新的方式发生了变化。其原因是 Oracle 对 JDK 的开发方式和 Oracle JDK 的许可条款所做的更改。

Oracle JDK 11 和 Oracle JDK 8(从更新 211 开始)现在使用 Oracle 技术网络许可协议。这将免费使用限制为仅四种情况:

  1. 个人使用(用于个人应用程序的笔记本电脑或台式机)

  2. 开发使用

  3. Oracle 批准的产品使用

  4. Oracle 云基础架构使用

对于所有其他情况,必须从 Oracle 购买 Java SE 订阅。

这要求用户就他们的 JDK 部署策略做出决定。一种这样的方法是"好吧,它在我们现在拥有的 JDK 上运行良好;让我们坚持下去吧"。

这有一个明显的缺陷,即该决定将对应用程序的安全性产生的影响。

自从人们开始开发软件以来,其他人一直在努力寻找以非预期方式使用它的方法。这通常是出于恶意目的,例如窃取信用卡号或用户身份。我们使用术语黑客来描述能够破坏计算机安全的人。黑客可以通过无数种方式来实现他们的目标;从欺骗人们泄露机密信息(网络钓鱼)到通过缓冲区溢出等技术对软件进行复杂的操作。

不幸的是,软件越复杂,黑客利用漏洞的可能性就越大。JDK 是一个非常复杂的软件,因此可能包含漏洞。

当发现软件中的漏洞时,它们通常被记录为常见漏洞和暴露 (CVE)。由 Mitre Corporation 运营的国家网络安全 FFRDC 维护 CVE 数据库。每个由唯一编号标识的 CVE 都有漏洞的文本描述。

此外,每个 CVE 都有一个通用漏洞评分系统 (CVSS) 值。这不包含在 CVE 中,但在由美国国家科学技术研究院 (NIST) 托管的国家漏洞数据库中维护。CVSS 提供了一个基本分数和一组指标。基本分数是一个介于 0.1 和 10.0 之间的值,表示漏洞的严重程度(从技术上讲,基本分数从 0.0 开始,但根据定义,任何分数为零的东西都不是漏洞)。基本分数是根据一组指标计算得出的,这些指标表明漏洞的不同方面。这些指标涉及诸如是否可以通过网络利用漏洞、是否需要对机器进行物理访问等事项。

  • 0.0:无

  • 0.1-3.9:低

  • 4.0-6.9:中等

  • 7.0-8.9:高

  • 9.0-10.0:严重

让我们看看让您的 JDK 保持最新状态有多么重要。

首先,我回顾了过去三年的更新,并提取了每个都解决的具有最高 CVSS 基础分数的漏洞。这显示在下表中。

处理器日期最高 CVSS受影响的 JDK 版本
2020 年 7 月 2020 年 4 月

2020 年 1 月

2019 年 10 月

2019 年 7 月

8.38.3(多个)

8.1

6.8(多个)

6.8

7、8、11、147、8、11、13、14

7、8、11、13

7、8、11、13

7、8、11、12

2019 年 4 月9.08
2019 年 1 月6.16、7、8、11
2018 年 10 月9.08,11
2018 年 7 月5.96、7、8、10
2018 年 4 月8.36、7、8、9、10
2018 年 1 月8.3(多个)6,7,8,9
2017 年 10 月9.6(多个)6,7,8,9
2017 年 7 月9.6(多个)7,8

如您所见,大多数更新至少解决了一个高评分漏洞,并解决了几个关键漏洞。当我们将其限制为 Oracle Java SE 许可更改后的更新时,我们仍然看到一个具有严重漏洞,三个具有高漏洞。有趣的是,2019 年 4 月更新中解决的关键漏洞存在于用于构建 JDK 的 Windows DLL 中,而不是任何 JDK 代码中。

接下来,我分析了自 2015 年 1 月以来的所有更新,这些都是现成的信息。查看所有解决的漏洞并将它们划分为风险组,我们可以生成一个条形图。

我将关键的分成两部分,以突出显示有多少个得分为 10 的。

如您所见,总共解决了 320 个 CVE,其中大部分处于中低范围。关键 CVE 的数量是 59,这会让您思考保持 JDK 最新的重要性。

然而,还有一点复杂。

Oracle 为每个更新提供了两个不同的版本;这对于他们所有的软件都是一样的。这些称为重要补丁更新 (CPU) 和补丁集更新 (PSU)。

CPU 仅包含与解决安全漏洞相关的更改。PSU 提供所有这些更改,以及任何其他错误修复、小幅增强等。这样做的原因是为了在需要修补关键漏洞时快速推出更新。由于 CPU 包含的更改集较小,因此不太可能对应用程序的稳定性产生影响(即不太可能阻止您的应用程序工作)。使用 CPU 完成触摸测试后,您可以部署它以确保应用程序的最大安全性。然后,在将 PSU 部署到生产机器之前,您可以花更长时间测试 PSU(通常运行一整套回归测试)。这确保了您的应用程序的最大稳定性。

这里需要注意的一点是,并非所有 OpenJDK 二进制提供程序都了解 CPU 和 PSU 之间的区别。有些人称他们的更新为 CPU,而实际上它是 PSU。在部署之前,您应该仔细查看所获得的内容。

为了突出同时拥有 CPU 和 PSU 的好处,我们只需要看看 2020 年 7 月的更新。这包括对一个本身引入回归的错误的修复。这种回归的影响是大量使用的软件,如 Hadoop Cluster、Solr 和 Lucene 不再可靠地工作,这对于使用它们的任务关键型应用程序来说是一个严重的问题。回归不在安全补丁中,因此不包含在 CPU 中。

7 月 27 日(即预定的 7 月更新发布后的 12 天)发布了作为更新 265 的修复,从而解决了回归问题。初始更新包含对基本分数为 8.3 的 CVE 的修复,其详细信息已在发行说明中公开。如果您使用的是受影响的软件系统之一,如果您只有全包式 PSU,黑客将有近两周的时间来尝试利用它。如果您还可以访问 CPU,您就可以推出必要的安全补丁,保护您的系统免受威胁,然后无忧无虑地等待修订后的 PSU 发布。

Azul 的 Zulu Enterprise 版本的 OpenJDK 面向希望确保其系统提供最高级别的安全性和稳定性的用户。除了提供每个更新的 CPU(安全)和 PSU(完整)版本之外,我们还努力在 Oracle 发布它们的版本后尽快交付这些更新。自 JDK 8 的免费公开更新结束后,Zulu Enterprise 客户可以在 Oracle 发布后的一小时内下载更新。这基本上是同时的。

总之,很明显,确保所有运行基于 JVM 的应用程序的系统都保持最新更新是多么重要。

感谢各位的阅读!关于"怎么确保Java应用程序安全"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

更新 漏洞 安全 程序 应用程序 应用 软件 分数 关键 多个 版本 系统 影响 复杂 重要 技术 指标 方式 用户 网络 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 中关村互联网 科技集团 智能科技公司是互联网公司吗 华宇互联网科技 互联网科技金融公司 互联网 卓越科技 小马过河互联网科技 互联网科技公司有哪些 青海省互联网新科技 天速互联网络科技有限公司 宜昌元轩互联网科技有限公司 2021互联网科技公司排名 从那以后互联网科技有限公司 互联网科技新闻 兰石爱特工业互联网科技分公司 张家口科技产业互联网平台 易租星互联网科技有限公司 亚光科技低轨卫星互联网 瑞安市蟠桃会互联网科技有限公司 科技互联网企业在行动 互联网 卓越科技 善班互联网科技有限公司 融贸通互联网科技 互联网科技股午盘股票涨跌 华脉科技工业互联网产品 湖南洣水互联网科技有限公司扣款 南山科技园互联网公司有哪些 北京市互联网新科技 产业互联网科技服务公司 神州科技互联网有限公司
0