← 最新论文
💻 computer science

Detecting Vulnerabilities in Encrypted Software Code while Ensuring Code Privacy

本文介绍了 CoCoA,这是一种将静态分析与可搜索对称加密相结合的新型工具,能够在保护代码隐私的前提下实现加密源代码中软件漏洞的检测,与无保密基准相比,其精度达到 93%,性能开销仅为 42.7%。

原作者: Jorge Martins, David Dantas, Rafael Ramires, Bernardo Ferreira, Ibéria Medeiros

发布于 2026-05-26
📖 1 分钟阅读☕ 轻松阅读

原作者: Jorge Martins, David Dantas, Rafael Ramires, Bernardo Ferreira, Ibéria Medeiros

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

想象一下,你拥有一份制作世界上最美妙蛋糕的秘方。你想聘请一位著名的美食评论家来品尝它,并告诉你是否存在任何缺陷(比如盐放多了,或者饼皮烤焦了)。然而,你非常恐惧,如果你把食谱书交给他们,他们可能会偷走它、复印它,或者将其卖给你的竞争对手。

通常情况下,你只有两个糟糕的选择:

  1. 把书给他们:他们能发现缺陷,但也可能偷走你的食谱。
  2. 把书锁在保险箱里:他们偷不走,但也无法阅读它来发现缺陷。

这篇论文介绍了一种名为COCOA的魔法解决方案,它解决了这一困境。它允许评论家找出你食谱中的缺陷,而无需 ever 看到食谱的实际文字

以下是其工作原理,分解为简单的步骤:

1. 问题:“玻璃屋”困境

软件开发者为网站编写代码(即食谱)。在黑客发现之前,他们需要专家检查这些代码是否存在安全漏洞。但是,为了检查代码,专家通常需要查看原始文本。如果他们看到了,可能会窃取开发者的知识产权;如果没看到,就无法完成工作。

2. 解决方案:“加密地图”

作者创建了一个名为COCOA(机密代码分析)的系统。开发者不是将原始代码直接发送给专家,而是先进行一种特殊的转换。

将代码想象成不是故事,而是一张路线图

  • 原始代码:实际的句子和单词。
  • 地图:一张图表,显示道路(数据)如何相互连接,以及交通信号灯(控制流)位于何处。

COCOA 将原始代码转换为这种“地图”,然后使用高科技锁(加密)打乱地图

  • 它将特定名称(如“用户输入”或“数据库”)替换为通用标签,如“道路 A"或“交通信号灯 B"。
  • 它创建一个特殊的索引(类似于图书馆的卡片目录),该索引也被打乱了。

3. 魔法戏法:不阅读即可搜索

现在,开发者将这张被打乱、加密的地图发送给专家(分析器)。专家想要找到特定的危险,比如“桥梁坍塌”(安全漏洞)。

在正常世界中,专家必须阅读整张地图才能找到桥梁。但在 COCOA 中,专家使用开发者提供的魔法密钥

  • 开发者说:“我授权你查找‘桥梁坍塌’。”
  • 专家使用此密钥查询被打乱的地图。
  • 系统立即跳转到地图的相关部分,并指出:“是的,这里有一座桥梁坍塌”,而无需揭示桥梁由什么制成、由谁建造,或地图其余部分的样子。

专家得知存在缺陷及其位置。他们一无所获关于实际代码、业务逻辑或开发者的秘密。

4. 工作原理(“倒排索引”)

从技术上讲,该论文使用了一种称为可搜索对称加密(SSE)的方法。

  • 想象一个图书馆,每本书都锁在保险箱里。
  • 通常,你无法搜索书内的单词,因为它们被锁住了。
  • COCOA 创建了一个特殊的“索引”,其中单词的位置是加密的。
  • 当专家询问“单词‘危险’在哪里?”时,系统检查加密索引,并指向包含该危险的具体保险箱,而无需打开其他保险箱或揭示书的内容。

5. 结果:快速且准确

研究人员在真实的 PHP Web 应用程序(一种非常常见的网站代码类型)上测试了此工具(COCOA)。

  • 准确性:它发现漏洞的能力与那些确实读取代码的标准工具一样好(准确率约为 93%)。
  • 速度:它仅比标准工具稍慢。处理 4,000 行代码大约需要 209 毫秒。这就像在通常只需眨眼一瞬的过程中增加了一个微小的延迟。
  • 隐私:代码完全保持隐藏。由于系统去除了不必要的注释和细节,“打乱”后的版本实际上在硬盘上占用的空间比原始代码更少

6. 为何这很重要

这篇论文定义了一个新领域,称为机密代码分析。它证明你不必在安全性(保护你的代码)和质量(发现错误)之间做出选择。

类比总结

  • 旧方法:你将秘密食谱交给评论家。他们修正了盐量,但也记住了食谱并将其出售。
  • COCOA 方法:你给评论家一份食谱的锁定、打乱的地图。他们使用特殊钥匙找到“盐放多了”的位置,并确切地告诉你它在哪里。他们从未看到过配料、厨师的名字或食谱的其他部分。

这使得公司能够在不担心被盗的情况下将安全检查外包给第三方,并允许开发者在确保代码对公众安全的同时保持其代码的私密性。

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

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

试用 Digest →