文章摘要
这篇文章的核心内容是:作者指出“威胁模型”这一术语常被误用为流行词,而非真正理解其含义。文章旨在帮助读者正确认识威胁模型的概念,避免在安全讨论中滥用或误解。
文章总结
好的,这是根据您的要求,对原文主要内容进行的中文重述,已保留关键细节并删减了与主题无关的内容。
索托克非正式威胁模型指南
作者观察到,尽管“威胁模型”这个词常被用作流行语,但大多数人并不真正理解其含义。本文旨在为非专业人士提供一个直观的入门指南,帮助大家理解一个好的威胁模型应该回答哪些问题。
什么是威胁模型?
一个基础的威胁模型至少需要回答四个问题:
- 我们到底要保护什么?(资产)
- 谁/什么想要伤害我们保护的东西?(攻击者,如黑客、网络跟踪者、自然灾害、不满的员工、愚蠢的立法等)
- 攻击者可能如何攻击?(攻击场景)
- 我们将如何阻止这些攻击?(防御措施)
然而,仅有这些往往不够。一个更实用的威胁模型还应包含:
- 资产之间是如何关联的?(用图而非列表思考,不同目标的价值不同)
- 我们做了哪些假设?(这一点至关重要。如果假设错误,模型就不完整)
- 我们故意不处理哪些威胁?(不可能应对所有攻击,需要明确接受的风险)
明确假设是识别未知风险的关键。例如,“隐形蝾螈攻击”之所以能成功,正是因为设计者假设“一条消息只有一个有效密钥”,而引入滥用报告功能后,这个假设就不成立了。
如何开始构建威胁模型?
- 写下上述7个问题作为模板。
- 在一张大纸上画出系统所有组件的关联图。
- 想象你在玩《堡垒之夜》:画一个框框住整个系统,然后逐步缩小范围,聚焦到每个具体组件。在每一轮迭代中,记录组件的输入和输出,并尝试回答那7个问题。
- 重复直到无法再深入,然后思考你对未深入分析的层面做了哪些假设。
好的与坏的例子
- 好的例子:作者自己的项目。作者在为其“联邦宇宙密钥透明性”项目编写规范时,就包含了一个威胁模型,明确列出了假设、资产、角色和风险(分为“设计上已预防”、“已缓解”、“可处理”和“未处理”四类)。
- 坏的例子:Matrix的威胁模型。Matrix的威胁模型仅仅是一个攻击类型的列表,没有列出假设、资产及其关系,也完全没有涉及密码学或密钥管理。尽管作者披露过漏洞,该模型自2021年以来几乎没有变化。作者评价:一个糟糕的威胁模型总比没有好,但Matrix的模型只能得C-。
威胁模型如何帮助你构建更好的产品?
理解威胁模型能让你进行真正的“纵深防御”,迫使攻击者走入死胡同。
- 防止凭证填充攻击:通过威胁建模,你会意识到要求用户记住高强度密码是不现实的。更好的方案是使用通行密钥(Passkeys),它更安全、防钓鱼,且用户体验更好。
- 分布式端到端加密:在去中心化系统中使用MLS协议进行群组加密时,威胁建模能帮你发现关键问题。例如,ATProto(如BlueSky)因采用类似区块链的“全局状态”设计,导致消息排序困难,这成为使用MLS的障碍。通过威胁建模,可以在设计初期就避免这类问题。
威胁模型的不实用用途:识破技术讨论中的胡扯
提升威胁建模能力还能帮你识破技术讨论中的谬误。例如,在关于“纯后量子密码学(PQ)”与“混合PQ+ECDH”的争论中,反对纯PQ的人声称担心ML-KEM算法有后门。但通过威胁建模分析:
- ML-KEM并非NSA设计,其提交者遍布欧洲。
- 信息论已排除ML-KEM存在后门的可能性。
- 如果NSA真的不信任ML-KEM,他们不会要求机密系统强制使用它。
反对者主张混合方案,但一旦量子计算机(Q-Day)到来,ECDH部分将毫无安全性。真正理性的做法是采用“ML-KEM + HQC + ECDH”的三方混合,以同时应对算法被攻破和量子计算威胁。因此,那些反对纯PQ RFC的言论,本质上是缺乏深思熟虑的。
结语
希望本文能让你对威胁模型的质量和有效性有一个基本的判断力,并激发你更认真地对待这个话题。
评论总结
根据评论内容,总结如下:
主要观点与论据:
高度认可文章价值(评论1、2、4、5)
- 评论1(evanprodromou):“Wow, excellent guide! And I love the E2EE example.”
- 评论5(raychis):“Really enjoyed this framing of threat modelling as a way to make assumptions explicit and not just a compliance checklist.”
认为文章将威胁建模从合规清单提升为明确假设的工具,并赞赏其幽默风格。
对混合加密策略的争议(评论3)
- 评论3(teravor):“Hybrid PQ+ECDH is a hedged bet... but is utterly fucking useless over Pure PQ once Q-Day occurs.”
指出若量子计算永远无法实现(如因物理限制或领域欺诈),放弃ECC将是愚蠢的,强调需考虑“Q-Day永不来临”的可能性。
- 评论3(teravor):“Hybrid PQ+ECDH is a hedged bet... but is utterly fucking useless over Pure PQ once Q-Day occurs.”
对作者偏见的批评(评论6)
- 评论6(ezst):“stopped taking the author seriously for their lack of nuance/extremely biased views favouring Signal in every article about E2EE.”
认为作者在端到端加密(E2EE)话题上对Signal存在过度偏好,缺乏客观性。
- 评论6(ezst):“stopped taking the author seriously for their lack of nuance/extremely biased views favouring Signal in every article about E2EE.”
对模型持续更新的关注(评论5)
- 评论5(raychis):“how do teams keep these assumptions and threat models current as the system and its environment evolves?”
指出文章未解决威胁模型随系统与环境演变的持续更新问题,认为这是重大挑战。
- 评论5(raychis):“how do teams keep these assumptions and threat models current as the system and its environment evolves?”
平衡性总结:
多数评论认可文章价值,但存在对作者偏见和模型时效性的质疑。核心争议在于混合加密策略的合理性(评论3)与作者立场(评论6),而评论5则提出实践中的关键缺口。