✨ 要点🔬 技术摘要
想象一下,你正在建造一座城堡。在砌下第一块砖之前,你希望确保已经想到了窃贼可能潜入的每一种方式。这种规划过程被称为威胁建模 。你会绘制城堡的地图(架构图),并列出窃贼可能闯入的每一种方式(威胁)。
大问题在于:你怎么知道你的列表是完整 的?通常,你会请一位专家保安来审视你的列表,然后说:“干得好,你没漏掉任何事。”但如果这位专家累了,或者他们的观点与你不同呢?很难确定。
本文介绍了一种测试这些安全计划的巧妙新方法:“诱捕屋”测试 。
“诱捕屋”实验
研究人员没有仅仅询问专家,而是构建了两个数字“诱捕屋”(易受攻击的应用程序):
AzureGoat :一个旨在存在特定已知安全漏洞的云端设置。
VulnBank :一个旨在充满漏洞的假银行应用程序,其中包括一些与人工智能相关的棘手漏洞。
这些“房屋”拥有一份精确标注漏洞位置的“记分卡”。研究人员并未告知安全工具漏洞在哪里 ;他们只是向工具提供了蓝图(地图),并问道:“找出威胁。”
竞争者
研究人员让两位不同的“安全侦探”相互较量:
老手(MTMT) :微软威胁建模工具。这是一款知名且传统的工具,遵循一套严格、既定的规则(称为 STRIDE)来发现威胁。可以将其想象为一位经验丰富的侦探,擅长发现经典的撬锁和破窗方法。
新人(ThreMoLIA) :一款由大型人工智能(LLM)驱动的新工具。这位侦探很聪明,会阅读蓝图,并利用庞大的知识库来推测坏家伙可能在哪里下手,包括像人工智能操纵这样的现代伎俩。
结果:谁发现了更多的漏洞?
研究人员统计了每个工具在“诱捕屋”中发现了多少已知的“漏洞”。
在云端房屋(AzureGoat)中:
ThreMoLIA(人工智能) :发现了 100% 的漏洞(7 个中的 7 个)。它抓住了所有漏洞。
MTMT(老手) :仅发现了 57% (7 个中的 4 个)。它漏掉了一些。
在银行房屋(VulnBank)中:
ThreMoLIA :即使仅凭基本蓝图,它也发现了 73% 的漏洞。当研究人员提供一点额外上下文(例如再次查看文档)时,它发现了 92% 的漏洞。至关重要的是,它发现了所有 与人工智能相关的安全漏洞。
MTMT :仅发现了 55% 的漏洞。它在老式银行问题(如登录问题)上表现出色,但完全漏掉 了所有与人工智能相关的漏洞。
这意味着什么?
该论文得出结论,使用这些“诱捕屋”是测试安全工具的好方法,因为你拥有已知的答案键。你无需猜测工具是否可靠;只需统计命中次数即可。
主要结论是,人工智能辅助工具(ThreMoLIA) 在发现漏洞方面优于传统工具,尤其是在系统涉及人工智能等现代技术时。传统工具对于经典问题仍然有效,但在面对新旧安全风险交织的新复杂局面时,它显得力不从心。
注意事项(“细则”)
作者谨慎地指出了几点:
召回率与精确度 :此测试衡量的是发现了多少真实漏洞(召回率),而非发出了多少虚假警报。人工智能工具发现了更多真实漏洞,但论文并未声称它从不发出误报(尽管它表示其系统会过滤掉这些误报)。
“合并”分数 :人工智能工具的最佳分数来自结合两次不同的尝试。这就像让人工智能将谜题求解两次,然后从两次结果中选取最佳答案。这比传统工具的单一运行需要更多的工作量。
范围有限 :他们仅测试了两个特定应用程序。虽然结果令人鼓舞,但他们尚未在现实世界的庞大电信网络上对此进行测试(尽管那是他们的下一个目标)。
简而言之:如果你想知道一个安全工具能否发现真实的弱点,不要仅仅询问专家。给它一个破损的建筑,看看它能否找到所有的裂缝。在这次测试中,人工智能驱动的侦探比传统侦探发现了更多的裂缝。
技术摘要:利用易受攻击的测试应用程序验证威胁建模结果
问题陈述 在安全工程中,验证威胁建模结果仍然是一项重大挑战。尽管威胁建模是一种成熟的“安全设计”实践,用于早期识别潜在威胁,但客观评估生成的威胁模型的质量却十分困难。当前的验证方法通常依赖于将输出结果与专家制作的参考模型或人类基线进行比较。然而,这些方法继承了参考标准本身的局限性:专家之间可能存在分歧、处于不同的抽象层级,或者仅仅遗漏了相关威胁。因此,缺乏一个外部、客观的“预言机”来在不单纯依赖主观人类判断的情况下评估威胁模型的完整性。
方法论 为解决这一问题,作者提出并评估了一种基于漏洞的验证方法 。该方法不使用另一份人类模型进行对比,而是利用具有已知漏洞集合的故意易受攻击的应用程序作为真实基准(ground-truth oracle)。核心研究问题是:给定架构、数据流图(DFD)和一般描述作为输入,威胁建模工具生成的威胁在多大程度上能够覆盖被分析应用程序中已知的漏洞?
本研究比较了两种工具:
ThreMoLIA :由作者开发的基于大语言模型(LLM)辅助的威胁建模解决方案。它利用检索增强生成(RAG)技术来整合项目文档、高层架构和数据流图。它支持传统框架(STRIDE、LINDDUN、OWASP Top 10、MITRE ATT&CK)以及特定于 AI 的框架(MITRE ATLAS、OWASP Top 10 ML、OWASP Top 10 LLM)。
Microsoft Threat Modeling Tool (MTMT) :一款广泛使用的基于 STRIDE 的工具,基于微软 SDL 实践构建。
实验使用了两个基准应用程序:
AzureGoat :一个按设计构建的易受攻击的 Azure 基础设施,包含 7 个已知漏洞(Web 和云配置错误)。
VulnBank :一个故意存在漏洞的银行应用程序,包含 63 个已知漏洞(Web、API 和集成 AI 的缺陷)。
实验过程
输入 :两种工具接收相同的输入:架构图、DFD 和描述。已知漏洞列表在建模阶段被隐瞒,仅用于评分。
配置 :
MTMT 对每个应用程序执行一次。
ThreMoLIA 通过 OpenAI API 使用 GPT-5 模型运行。它在多种配置下进行了测试:0 次提示(仅 DFD)、1 次提示(DFD + 文档)、2 次提示(DFD + 额外文档),以及 1 次提示和 2 次提示的合并结果。
为降低 LLM 的变异性,ThreMoLIA 在每个配置下运行了三次,并对结果进行了聚合。
指标 :主要指标是威胁覆盖率 ,定义为被至少一个建模威胁覆盖的已知漏洞数量与已知漏洞总数之比(V c o v e r e d / V k n o w n V_{covered} / V_{known} V co v er e d / V k n o w n )。如果专家确定建模威胁在语义上描述了该漏洞或使其得以利用的条件,则该漏洞被视为“已覆盖”。研究指出,在基于 LLM 的验证步骤中已移除了误报(幻觉),且没有对应漏洞的有效威胁不会被惩罚,因为威胁建模在有效威胁数量上没有理论上限。
关键结果 论文表 I 中总结的结果表明,ThreMoLIA 在两个应用程序上的漏洞覆盖率均高于 MTMT:
AzureGoat :ThreMoLIA 实现了100% 的覆盖率 (7/7 个漏洞),而 MTMT 覆盖了57.1% (4/7)。
VulnBank :
ThreMoLIA(0 次提示)覆盖了73.0% (46/63),已经优于 MTMT。
ThreMoLIA(1 次提示)达到了85.7% (54/63)。
ThreMoLIA(2 次提示)达到了82.5% (52/63)。
ThreMoLIA(合并 1+2 次提示)实现了92.1% (58/63)。
MTMT 覆盖了55.6% (35/63)。
具体发现 :MTMT 在传统的会话管理和客户端缺陷方面表现良好,但遗漏了 VulnBank 中所有 10 个 AI 客户支持漏洞 。相比之下,最佳 ThreMoLIA 配置覆盖了所有 10 个 AI 漏洞和所有 9 个身份验证/授权漏洞。
总体 :最佳 ThreMoLIA 配置覆盖了两个应用程序中总共92.9% (65/70)的漏洞,而 MTMT 为55.7% (39/70)。
意义与主张 该论文声称,易受攻击的测试应用程序为评估威胁覆盖率提供了一个实用基准 ,提供了一种可测量的替代方案,以取代仅依赖专家的基线。通过将评估从“工具是否与特定专家报告匹配?”转变为“工具是否覆盖了系统中实际存在的弱点?”,该方法减少了对主观人类共识的依赖。
研究强调,虽然 MTMT 在标准的、基于 STRIDE 的架构问题方面仍然有效,但ThreMoLIA 更适合混合应用环境 ,即结合传统和 AI 相关攻击面的环境。结果表明,LLM 辅助建模,特别是结合项目文档(提示策略)时,可以显著改善对复杂和特定于 AI 的漏洞的发现。
局限性与未来工作 作者承认存在若干局限性:
覆盖率只是质量的一个维度;高召回率并不能保证没有不相关的威胁。
合并后的 ThreMoLIA 结果在严格意义上并不等同于单次确定性 MTMT 运行的成本。
研究仅限于两个应用程序。
存在 GPT-5 模型可能在训练数据中包含这些特定易受攻击应用程序的风险,尽管作者通过在输入中重命名应用程序来缓解了这一问题。
论文结论认为,基于漏洞的验证是专家基线的有用补充。作者计划将此方法扩展到电信环境 (包括 5G 核心网络和云原生基础设施),并打算将 ThreMoLIA 作为开源发布。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。