← 最新论文
💻 computer science

Hidden Ciphers and Where to Find Them: Static Discovery and Assessment of Cryptographic Assets in Software

本文提出了一种基于分类驱动的静态分析方法,用于发现和评估软件系统中的加密资产,并证明了其在识别漏洞及后量子迁移候选对象方面在增强安全治理与透明度方面的有效性。

原作者: Christian Näther, Eduard Hirsch

发布于 2026-08-06
📖 1 分钟阅读☕ 轻松阅读

原作者: Christian Näther, Eduard Hirsch

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

无形的堡垒与寻找它的地图

想象一下,你今天使用的每一件软件——你最喜欢的视频游戏、你的银行应用,甚至是智能冰箱——都是在一座巨大的、无形的堡垒内部构建的。这座堡垒的墙壁是由密码学构成的,这是一种特殊的数学魔法,它将你的数据锁起来,只有获得授权的人才能开启。这就是为什么你的密码能保持秘密,以及你的信息不会被陌生人读取的原因。长期以来,公司只是希望这些墙壁足够坚固,但他们并没有真正的地图来观察哪里有砖块,哪里有门,或者是否有任何一个门是用纸板而不是钢铁做的。

现在,一个新的威胁正在敲门:量子计算机。这些超强大的机器在未来可能会冲破现有的密码锁,就像冲破纸张一样。为了生存下来,组织需要准确知道自己目前拥有什么样的锁,以便在坏人到来之前,将它们更换为“抗量子”的锁。但问题在于:这些数字锁散落在各处。它们隐藏在代码行中,埋藏在配置文件里,藏在秘密密钥中,并混杂在程序使用的软件库中。如果没有一种方法能找到它们所有的,你就无法修复它们。这正是新论文发挥作用的地方,它为软件的黑暗角落提供了一把手电筒。

论文:数字锁的寻宝游戏

这篇题为《隐藏的密码及其寻找路径》(Hidden Ciphers and Where to Find Them)的论文,介绍了一种寻找这些隐藏密码资产的聪明新方法。作者 Christian Näther 和 Eduard Hirsch 意识到,寻找这些锁就像是在没有清单的情况下清理一个乱糟糟的房间。有些人试图寻找特定类型的密钥,而另一些人则只是在瞎猜。作者决定建立一场系统的寻宝游戏。

首先,他们创建了一个分类系统,这就像是三把用来观察软件的不同放大镜。他们意识到,密码学的“东西”有三种截然不同的形态:

  1. 密码材料(Crypto-Material): 这些是真正的秘密,比如私钥和密码本身。把它们想象成宝箱里真正的金币。
  2. 密码人工制品(Crypto-Artifacts): 这些是结构化的容器,比如证书或数字身份证,用于保存关于谁被允许进入的信息。这些是盛放金币的精美盒子。
  3. 密码调用(Crypto-Invocations): 这些是软件实际使用魔法的时刻。这就像看到有人转动钥匙开锁或输入密码。这是使用宝藏的行为。

为了让这场搜寻更高效,作者构建了两个主要工具。第一个是名为“Crypistry”的规则库。想象一下,这是一个巨大的、不断更新的食谱。它不是将指令硬编码进机器人,而是列出了具体要寻找的内容(例如“寻找任何以 .pem 结尾的文件”或“查找命令 OpenSSL::Cipher”)。这意味着如果出现了新类型的锁,你只需要在书里增加一条新食谱,而不需要重建整个机器人。

第二个工具是名为“Crypsy”的扫描器。这是那个阅读食谱并扫描软件的机器人。它不只是猜测;它遵循规则来寻找材料、人工制品和调用。一旦找到,它不仅会列出它们,还会对它们进行评估。它会检查一个锁是否脆弱(比如生锈的合页),或者是否是已知的漏洞(比如已经被小偷撬开过的门)。然后,它会生成一份 CBOM(密码学物料清单),这基本上是一份详细的清单,记录了发现的所有锁和钥匙,供安全团队使用。

他们的发现以及他们有多确定

作者通过两种方式测试了他们的机器人,以观察它是否真的有效。

首先,他们构建了一个名为“Cryben”的合成基准测试。这是一个他们创建的虚构软件系统,其中他们完全掌握了每一个隐藏的锁和钥匙的位置。这就像是一个已知答案的练习寻宝游戏。当他们用 Crypsy 对此进行测试时,它正确找到了 75% 的隐藏项目(F1 分数为 0.75)。它在寻找实际秘密(金币)方面表现得非常好,但有时会错过软件使用锁的更复杂方式。然而,在标记它发现的问题时,它的准确率极高,正确识别了 91% 的预期弱点和漏洞。

接下来,他们将扫描器带到了现实世界。他们扫描了一个由十个已部署服务组成的真实 IT 基础设施(包括 GitLab、CI/CD 运行器和数据库等)。他们在不到六分钟的时间内扫描了 57,610 个文件。在这个真实的混乱环境中,扫描器发现了 370 个密码资产。它发现了 6 个 与已知安全漏洞(CVE)相关的特定漏洞,并识别出 52 项 需要更换以应对未来量子计算机威胁的项目。

作者对这些结果非常有信心,但也谨慎地指出了局限性。他们承认,目前的扫描器最擅长处理 RubyGo 编程语言,并且依赖于“食谱”(Crypistry)保持更新。如果一个锁隐藏的方式是食谱尚未知晓的,扫描器可能会漏掉它。他们还发现,虽然扫描器非常擅长发现潜在问题,但其中一些发现需要人工检查是否真的危险,因为扫描器并不总是能理解一段代码在宏观背景下是如何被使用的。

大局观

这篇论文并不声称已经解决了整个软件安全问题。相反,它提供了一种务实且结构化的方法,让你终于能够看清隐藏在黑暗中的东西。通过对不同类型的密码资产进行分类,并将“规则”与“扫描器”分离,作者创建了一个可以成长和适应的系统。他们的研究结果表明,通过这种方法,组织终于可以获得清晰的密码学景观视图,而这是在开始将旧锁更换为新的、抗量子的锁之前必经的第一步。这是一张寻宝图,而且第一次,这张地图看起来确实通向某个目的地。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →