开发者生态
morning
Soatok 的威胁模型非正式指南
2026-07-04
1 阅读
约5分钟阅读
zdw
字号:
经过一整天关于混合后量子密码学的令人筋疲力尽的对话,随机傻瓜试图通过针对端到端加密消息应用程序的端点攻击来玩陷阱,以及愚蠢的政客向我们所有人推销更多“年龄验证”废话之后的留言板讨论,我已经非常清楚,“威胁模型”这个词对大多数人来说是一个陌生的概念。除了,你知道,作为一个流行词。 Embyr 的艺术作品。就背景而言,这是在反疫苗失败者声称“自己进行研究”的时代委托的,他们短暂地选择“威胁模型”一词作为流行词。即使没有这种背景,我仍然觉得这很有趣。坦白说:如果您在这里寻找超过 100 次引用的学术资源,了解如何为涉及多个区块链的新初创公司编写正式的威胁模型文档,那么这可能不适合您。也许从 STRIDE 和系统理论开始。但是,如果您希望建立一个直觉,了解良好的威胁模型应该回答哪些问题,并且您是从零开始,那么您可能来对地方了。那么我们来谈谈威胁建模。新手威胁建模 如果您没听懂这个笑话,他们的名字叫新手。艺术:Harubaki 在高层次上,不要想太多。虽然威胁模型是一些信息安全人员实际上专门研究的正式网络安全流程,但您可以在开发新产品或服务的设计和架构阶段运行非正式威胁模型,没有人可以阻止您。您最终可能会得到更好的结果。威胁模型至少应该回答以下基本问题:我们首先要保护什么?如果你不能回答这个问题,那么你还有很多基础工作要做。谁/什么想要伤害我们正在保护的东西?黑客、活动分子、网络跟踪者、社交媒体骚扰网络 自然灾害/恶业 工资过低且劳累过度的员工,他们已经厌倦了 由大公司说客付钱的白痴立法机构,通过伤害每个人的愚蠢法律 民族国家对手!!!1oneon 如何可能(2)攻击(1)?此处为攻击场景 此处为墨菲定律 我们将采取什么措施来防止 (3) 的发生?墨菲定律也适用于此!而且,就像,好吧。如果您可以勾选这些,则在某种意义上您可以将您的文档称为威胁模型。然而,这在实践中通常是无用的,因为忽略了一些关键细节。资产 (1) 是如何关联/连接的?用图表而不是列表来思考。并非所有目标都具有同等价值。我们做出什么假设,特别是(4)和(5)?关于这一点我下面会详细说。我们故意不应对哪些威胁?实际上,您无法应对任何人在不可预见的未来想象到的所有可能的攻击,所以不要假装这样做。讽刺的是,太多人认为假设 (6) 是理所当然的,但弄清楚你的假设是什么非常重要。如果您的假设之一是错误的,那么您的模型(充其量)是不完整的,或者您的可接受风险列表 (7) 需要重新考虑。例如:Invisible Salamanders 攻击会破坏某些端到端加密消息传递设计中的滥用报告,但前提是您引入了滥用报告。这种攻击是可能的,因为相关 AEAD 方案(AES-GCM、ChaCha20-Poly1305)的假设之一是给定消息只有一个有效密钥。当您为给定消息引入多个有效密钥(或与此相关的令人困惑的代表)时,您就超出了算法的安全保证,这对于攻击者来说是一个有趣的把戏。明确你的假设可以让你识别自己未知的未知数。你不必是完美的。事实上:威胁模型应该是动态文档,而不是时间点快照。在您认为合适的时候更新它们。艺术:CMYKat 如何开始 如果您想专业地进行威胁建模,您可能需要阅读威胁建模宣言。我是这样处理的。首先,以一种你可以模糊地快速复制和粘贴的格式写下上面的 7 项。你会需要它的。接下来,绘制(最好在一张大方格纸上或数字等效物上)您正在设计或分析的系统的组件。如果任何小部件直接与另一个小部件对话、依赖或交互,则您需要按照对您最有用的约定绘制这种关系。设置完成后,您需要在整个图表周围画一个框,然后假装您正在玩《堡垒之夜》:每隔一段时间,框就会变得更小,并且更加关注每个单独的组件。每次迭代,记下每个组件的所有输入和输出,并尝试尽可能多地回答 7 个项目中的问题。重复此操作,直到您已深入到抽象允许的范围,然后集思广益,讨论您对未深入研究的层有哪些假设。 CMYKat 你正在做的是 sta
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱