✨ 要点🔬 技术摘要
想象一场名为 HackTheSilicon 的高水平安全竞赛。这就像是一场数字版的“夺旗赛”(Capture the Flag),只不过参赛者不是在攻击网站,而是在尝试寻找计算机芯片设计(硬件)中隐藏的漏洞。其目标是训练人类专家并测试新的 AI 工具,以观察它们在发现这些安全缺陷方面的能力究竟如何。
以下是作者发现的问题以及他们如何解决问题的故事,通过简单的语言进行了解释:
问题所在:“作弊码”
竞赛组织者会拿一个干净、正常工作的芯片设计,并在其中秘密植入微小的漏洞。然后,他们将这个“有漏洞”的版本交给参赛者。
作者发现,新的 AI 工具(大语言模型,即 LLM)并没有像安全专家那样进行真正的“思考”。相反,它们在使用一种作弊码 。
类比: 想象一位老师给学生出一道带有错误的数学题。学生本应通过理解数学逻辑来找出错误。但相反,学生掏出了原始的正确教科书,将两页内容并排对比,然后指出了看起来不同的那一行。他们并没有解决问题,而只是找出了差异。
现实情况: 这些 AI 工具只是在简单地将“有漏洞”的代码与已知的“干净”代码进行对比(这个过程被称为“差异对比/diffing”)。因为 AI 之前见过原始代码,它能瞬间识别出变化,而无需理解为什么这些变化是危险的。这让竞赛结果看起来非常出色(成功率达 83%),但这其实是一个虚假的胜利。它并没有证明 AI 具备处理安全问题的推理能力。
解决方案:“AttackonCTF”(混淆框架)
为了阻止 AI 作弊,作者构建了一个名为 AttackonCTF 的新工具。这个工具充当了芯片设计的“安全翻译官”。
类比: 假设你有一条用英文写的秘密信息。为了防止有人通过将其与已知词典进行对比来破解,你使用意思完全相同但不同的词汇重写了这条信息,重新排列了句子,并添加了一些无害的“噪声”(比如额外的空格或同义词),但你保持了原意清晰可见。
传统安全手段: 通常,当人们想要隐藏代码时,会将代码打乱得极其严重,使其看起来像乱码(例如将“Hello”变成“X9#kL”). 这虽然保护了秘密,但也使得人类无法从中学习。
新方法: 作者的工具与之不同。它会重写代码,使得代码对人类专家来说仍然是可读的,但它打破了 AI 用来作弊的特定模式。这就像是仅仅改变了字体、间距和词汇,足以让 AI 无法进行简单的“找不同”搜索,但人类依然可以阅读并理解其中的逻辑。
他们是如何测试的
他们采用了竞赛基准测试,并对这些基准应用了不同程度的“重写”工具:
10% 重写: 他们修改了代码的一小部分。
100% 重写: 他们几乎修改了所有内容。
测试结果:
修复前: AI 通过简单的文件对比找到了 83% 的漏洞。
修复后(10% 修改): AI 正确发现漏洞的能力下降了一半。由于无法再依赖简单的对比技巧,它开始胡乱猜测并出错。
修复后(100% 修改): AI 的准确率骤降至约 15%。它基本上是在瞎猜。
为什么这很重要
作者证明了,如果没有这个新工具,我们就是在欺骗自己,误以为 AI 比实际更聪明。当时的 AI 只是一个“找不同”机器,而不是一个“安全侦探”。
通过使用他们的新框架:
公平性: 竞赛变成了一场真正的推理测试,而非文件对比测试。
教育意义: 人类仍然可以阅读代码并从中学习(这与传统的安全混淆手段不同,后者会让代码变得不可读)。
更好的 AI: 它迫使 AI 开发者去构建真正理解硬件安全能力的工具,而不是仅仅开发那些只会记忆模式的工具。
简而言之,这篇论文的观点是:“我们发现 AI 通过对比文件来进行作弊。我们开发了一个重写文件的工具来阻止这种作弊行为,从而在保持代码对人类可读的同时,让竞赛恢复公平。”
技术摘要:AttackonCTF:在 LLM 时代捍卫硬件安全竞赛基准
问题陈述 硬件安全竞赛(如 HackTheSilicon )是评估漏洞检测工具和训练人类研究员及 AI 模型的关键基准。这些竞赛利用注入了行业知情漏洞的开源片上系统(SoC)设计(例如 OpenTitan)。参与竞赛的一个基本要求是提交全面的技术报告,以展示真正的安全推理能力,而非简单的代码比较。
然而,作者指出,大语言模型(LLM)带来了严重的有效性威胁。最近的进展使得基于 LLM 的检测器能够通过利用“捷径”来绕过深度安全分析的要求。这些模型并非孤立地对恶意设计进行推理,而是利用检索增强生成(RAG)技术,从公共仓库、提交历史或拉取请求(Pull Requests)中获取原始的、干净的代码版本。通过对检索到的干净代码与有缺陷的目标代码进行自动化的“差异对比”(diff),LLM 可以生成高质量的漏洞报告并实现高检测率(75–83%),而无需进行真正的硬件安全推理。这破坏了竞赛的教育完整性,并使旨在评估 AI 推理能力的基准测试失效。
方法论 本文提出了一个两管齐下的方法:对“差异利用”(diff-exploit)假设进行实证验证,并开发一种新型防御机制。
LLM 捷径的实证验证: 作者设计了四个递进式复杂的 LLM 漏洞检测器(D1–D4),以模拟真实的攻击场景:
D1 (差异感知型/Diff-Aware): 仅接收有缺陷代码与干净代码之间的统一差异(unified diff)。
D2 (仓库感知型 RAG/Repository-Aware RAG): 接收有缺陷的代码,并从仓库索引中检索相关的上下文(RTL 代码)。
D3 (历史感知型 RAG/History-Aware RAG): 在 D2 的基础上扩展,通过检索开发历史(拉取请求、提交记录)来提供时间维度上的上下文。
D4 (弱点感知型 RAG/Weakness-Aware RAG): 利用来自常见弱点枚举(CWE)数据库的硬件安全领域知识来增强 D2。 这些检测器在未混淆的 HackTheSilicon 基准测试上进行了测试,以建立基准性能。
AttackonCTF 混淆框架: 为了应对这些捷径,作者引入了首个面向 LLM、保持语义不变且专门针对硬件安全基准设计的混淆框架。与旨在通过激进的标识符加密和布局匿名化使代码变得不可读的传统硬件 IP 保护类混淆工具不同,AttackonCTF 在优先考虑人类可读性 和教育价值 的同时,破坏基于 LLM 的语法匹配。
该框架通过以下流程运行:
约束提取: 定义形式化不变性(例如,保留模块接口、信号宽度、复位行为和有限状态机 FSM 语义),这些是不变性必须被 LLM 遵循的约束。
跨度选择: 识别要进行转换的漏洞代码区域,同时避开受保护区域。
代码重写: 利用 LLM 应用五种特定的转换策略:
使用语义中性的替代方案进行标识符重命名。
通过等价表达式进行控制流重构。
差异噪声注入(Diff-noise injection): 引入良性修改,以破坏与原始参考设计的语法相似性。
上下文稀释(Context dilution): 模糊或分散与安全相关的线索。
使用布尔代数和时序变换进行逻辑重写。
验证: 使用 Verilator 进行语法检查,并使用 Yosys 进行形式化语义等价性检查(基于 SAT 的证明),以确保功能正确性和与原始设计的语义等价性。
核心贡献
首次实证演示: 本文提供了证据,表明基于 LLM 的硬件基准测试漏洞检测严重依赖于基于 diff 的语法比较以及对原始代码的检索,在没有进行真正安全推理的情况下实现了 75–83% 的检测率。
新型混淆框架: 开发了首个保持可读性、面向 LLM 的混淆框架,该框架采用了差异噪声、上下文稀释和语义误导技术。
自动化验证流水线: 一个集成系统,确保混淆后的设计保持语义等价且功能完备,适用于人类分析和 AI 训练。
恢复基准完整性: 一种恢复硬件安全竞赛有效性的方法,通过防止自动化的差异利用,同时保持参与者从设计中学习的能力。
结果 该框架在三个基于 OpenTitan 的 HackTheSilicon 基准测试(Hack@DATE'25, Hack@DAC'25, Hack@CHES'25)上进行了评估,这些基准测试包含 27 个 CWE 类别中的 50 个独特漏洞。检测器(D1 和 D4)针对 0%、10%、50% 和 100% 的不同混淆水平进行了测试。
基准性能: 在未混淆的基准测试中,D1 实现了 83.3% 的检测率,D4 实现了 77.1% 的检测率。
混淆的影响:
在 10% 混淆下: 检测准确率显著下降了 48–55%,尽管检测率的下降幅度较小。这表明即使是微小的语法变化也会严重破坏模型依赖 diff 模式的能力,导致误报率上升。
在 100% 混淆下: 该框架将基于 LLM 的检测准确率降低了 78.6% (降至约 15%),并将检测率降低了约 50%(D1: 83.3% → 54.3%; D4: 77.1% → 48.9%)。
人类可读性: 与传统混淆不同,生成的方案对于人类分析师而言仍具有可解释性,保留了基准测试的教育价值。
意义 本文声称其工作解决了硬件安全研究中的一个关键空白:在先进 AI 时代基准测试的有效性。通过证明当前的基于 LLM 的“检测”往往仅仅是自动化的差异对比,作者认为现有的评估可能夸大了 AI 的推理能力。提出的 AttackonCTF 框架提供了一个切实可行的解决方案,以恢复基准测试的可靠性。它允许社区继续使用开源 SoC 设计进行训练和竞赛,同时确保高水平的性能指标反映的是真正的安全推理,而非对已知干净代码的语法相关性的利用。这使得更准确地评估人类和 AI 在硬件漏洞分析方面的能力成为可能。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。