中文

睡眼巨兽——通过隐蔽代码变更激活潜在的 Java 反序列化漏洞链

密码学与安全 2025-04-30 v1 软件工程

摘要

Java 反序列化漏洞链是已被广泛研究的关键软件弱点。已知的绝大多数漏洞链都依赖于软件依赖项中的漏洞组件。此外,已有研究表明,即使某一依赖项的部署管道采用了漏洞链检测技术,漏洞链仍可能源于其他依赖项中的漏洞组件。这使得漏洞链检测成为一种纯粹的被动行为。本文评估了小代码变更被激活漏洞链的可能性。这些变更可能是偶发的,也可能是作为供应链攻击的一部分被有意引入的。具体而言,我们表明,类序列化属性在依赖项演化过程中呈现强烈的波动性。随后,我们研究了攻击者通过何种模式可隐蔽地将漏洞组件引入依赖项。我们将这些模式应用于 533 个依赖项,并对原始版本和修改后版本分别运行三种最先进的漏洞链检测工具。结果表明,仅通过应用这些修改模式,就可在我们挑选的 26.08% 的依赖项中激活/注入漏洞链。最后,我们验证了新检测到的漏洞链。因此,我们识别出 53 个潜在的漏洞链,这些漏洞链可以通过微小的代码修改被添加。这既表明 Java 反序列化漏洞链是广泛构成软件风险的根源,也证明了潜在的漏洞链作为供应链攻击向量具有极大的吸引力。

关键词

引用

@article{arxiv.2504.20485,
  title  = {Sleeping Giants -- Activating Dormant Java Deserialization Gadget Chains through Stealthy Code Changes},
  author = {Bruno Kreyssig and Sabine Houy and Timothée Riom and Alexandre Bartel},
  journal= {arXiv preprint arXiv:2504.20485},
  year   = {2025}
}