Psychic Signatures - 您需要了解的内容

2022 年 4 月 19 日,Neil Madden 披露了一个漏洞,该漏洞影响 Oracle Java 15 至 18 版本,以及 OpenJDK 15、17 和 18 版本。此漏洞存在于 ECDSA 签名的加密实现中,攻击者可借此完全绕过这些签名的检查。
鉴于 ECDSA 签名较为晦涩,人们很容易在看到相关新闻标题时直接略过。然而,ECDSA 签名在保护互联网系统(如身份验证等关键任务)方面发挥着至关重要的作用。
在深入细节之前,如果您想亲身体验黑客如何利用“心灵签名”漏洞,欢迎直接进入我们的免费实验平台 - Missions进行实操演练。
ECDSA 为何如此重要?
您可能之前没听说过 ECDSA。它是“椭圆曲线数字签名算法”(Elliptic Curve Digital Signature Algorithm)的缩写,这是一种利用椭圆曲线数学特性进行加密的技术,目前在业界提供着最强大的加密安全性之一。
这意味着它被广泛应用于许多重要功能,例如:
- SSL 证书签名
- 加密通信期间的握手
- SAML
- JWT 签名
- OpenID Connect 签名
由此可见,ECDSA 是保护系统最敏感功能的核心组成部分。如果能够绕过签名检查,其后果将是毁灭性的。
该漏洞是如何被利用的?
遗憾的是,ECDSA 的数学原理较为复杂。但您只需了解一点:ECDSA 签名包含两个关键信息:r 和 s。
这些数值用于计算签名的有效性。值 r 是等式左侧的“结果”,由等式右侧的 r 和 s 计算得出。鉴于乘以 0 会导致计算失效,ECDSA 规范明确指出,如果 r 或 s 的值为 0,则应将其丢弃。
但 Java 的 ECDSA 实现却忽略了这一点。因此,它会接受 r 和 s 均为 0 的签名,且判定结果始终为真。我们可以通过一个 JWT 示例来演示其利用过程,看看这有多简单。使用 https://token.dev/,我们可以生成一个使用 ES256 算法的令牌,这与应用程序生成的令牌类似:

回想一下,JWT 分为三个部分:
- 标头(蓝色)
- 负载(绿色)
- 签名(红色)
那么,如果我们想绕过签名检查,该怎么做呢?签名指定了 r 和 s 的值,并以 DER 格式编码。

让我们修改 JWT 以使用此新签名。请注意,JWT 中不包含等号。

现在,我们的签名将 r 和 s 设置为 0,在易受攻击的 Java 版本中,签名检查现在将对您指定的任何有效负载成功通过。
哪些人会受到影响,以及如何缓解?
此漏洞同时影响 Oracle Java 和 OpenJDK。其中包括:
Oracle Java SE(以及更早的、不受支持的版本):
- 18
- 17.0.2
Oracle GraalVM Enterprise Edition:
- 22.0.0.2
- 21.3.1
OpenJDK:
- 18
- 17.0.2
- 15.0.6
- 13.0.10
- 11.0.14
- 8u322
- 7u331
Oracle 和 OpenJDK 均已发布公告,并提供了可立即应用的补丁来解决此问题。
防御此漏洞的实操练习
在 Secure Code Warrior,我们致力于为开发人员提供有关关键漏洞的最相关信息和实操练习,无论是像 Psychic Signatures 这样的最新漏洞,还是已经存在多年的漏洞。
我们坚信,要真正规避风险,必须让开发人员了解防御机制并从一开始就编写安全的代码。这就是为什么我们为您和受影响的团队创建了此漏洞(以及许多其他漏洞)的分步演练。
在演练中,您将能够按照说明利用 JWT 中的 Psychic Signature,并实时查看其对功能应用程序的影响。
立即尝试。
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)