← 最新论文
💻 computer science

The EVerest Dataset for Secure Software Engineering

本文介绍了 EVerest 数据集,这是一个独特的、包含安全需求、架构模型以及来自电动汽车充电栈的源代码的多构件资源,它能够支持端到端的安全验证研究,并促进了对真实世界安全漏洞的发现与修复。

原作者: Sophie Corallo, Debora Grupp, Dominik Fuchß, Jan Keim, Frederik Reiche, Tobias Hey, Anne Koziolek

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

原作者: Sophie Corallo, Debora Grupp, Dominik Fuchß, Jan Keim, Frederik Reiche, Tobias Hey, Anne Koziolek

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

想象一下,你正在建造一个高科技电动汽车充电站。为了确保它不会被黑客攻击,你需要检查你项目的三个不同层面:

  1. 愿望清单(The Wish List): 开发人员声称想要的东西(例如:“它必须是安全的”)。
  2. 蓝图(The Blueprint): 展示各个部件如何连接的架构图。
  3. 砖块(The Bricks): 让机器运行的实际计算机代码。

问题在于,大多数研究工具只能观察其中一个层面。它们可能有一份愿望清单,或者一堆代码,但它们从未将这三者联系在一起。这就像是试图通过只看蓝图来修理漏水的屋顶,却从未检查过实际的瓦片或业主的投诉名单。

EVerest 数据集是一个全新的、巨大的“全能型”工具包,由卡尔斯鲁厄理工学院的研究人员创建,旨在解决这一问题。它将愿望清单蓝图砖块连接在一起,用于一个真实的开源软件项目——EVerest(用于控制电动汽车充电器)。

以下是他们构建这个数据集的过程,使用了简单的类比:

1. 收集“愿望清单”(需求)

首先,研究人员需要知道该项目实际需要哪些安全规则。

  • 调查: 他们向开发者社区发送了一份问卷调查,询问:“安全目标是什么?”(就像在问,“你想要门锁上吗?”)。这给了他们一个包含 67 个想法的初步列表。
  • 访谈: 这个初步列表过于笼统。因此,他们与四位专家级开发人员进行了深度对话。他们将这些粗略的想法提炼成了具体的指令,比如将“锁上门”改为“OCPP 模块必须拒绝来自 CSMS 的畸形输入”。
  • 结果: 他们最终得到了 84 条精确的安全需求

2. 绘制“蓝图”(架构)

EVerest 项目本身并没有正式的架构图,只有代码。

  • 翻译: 三名学生在专家的监督下,查看了源代码并手动构建了一个正式的 Palladio 组件模型。可以把它想象成拿着一堆乐高积木,然后画出一张详细的图表,展示每一个部件是如何连接的、数据如何在其中流动以及它们如何相互通信。
  • 结果: 一个包含 29 个组件和 144 个详细服务描述的数字化蓝图。

3. 标记“砖块”(代码与元素)

现在,他们需要将愿望清单与蓝图连接起来。

  • 标记游戏: 三个人阅读了 84 条需求,并高亮显示了特定的词汇。他们标记了诸如“组件”、“数据”、“状态”和“数据流”等内容。
  • 追踪: 他们绘制了数字线条(追踪链接),将需求中的特定句子(例如,“支付提供商必须是安全的”)直接连接到处理支付的特定蓝图部分和代码。
  • 结果: 他们标记了 1,445 个微小的安全元素,创建了一个巨大的连接网络。

现实世界的测试

这个数据集最棒的地方不仅在于它的存在,更在于它真的发现了一个真实的漏洞

在构建数据集的过程中,研究人员注意到了一种不匹配。其中一项需求指出:“身份验证令牌不得以明文形式存储。”然而,当他们查看实际代码(即“砖块”)时,发现代码中有一行确实是在以明文形式存储令牌。

  • 修复: 他们将此情况报告给了项目维护者。开发人员确认这是一个真实的弱点(被称为 CWE-1295),并立即进行了修复。

为什么这很重要

在此之前,试图构建自动检查软件安全性的工具的研究人员必须猜测需求、设计和代码是如何相互关联的,因为没有任何数据集能同时提供这三者。

EVerest 数据集就像是一本完整的、带标签的训练手册,供 AI 和研究人员练习。它允许他们进行以下实践:

  • 教计算机理解安全需求。
  • 自动寻找需求在代码中的实现位置。
  • 检查最终软件是否真正符合最初的安全承诺。

简而言之,这篇论文展示了一个独特的、多层级的资源,它弥合了软件“应该做什么”、“如何设计”以及“如何构建”之间的鸿沟,并通过在过程中捕捉到一个真实的安全性漏洞证明了其价值。

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

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

试用 Digest →