返回

文章详情

Soatok 的非正式威胁模型指南

Hacker News2026年7月4日 00:35

经过一天疲惫的对话,讨论有关混合后量子密码学、一些试图通过端对端加密消息应用程序的端点攻击来玩把戏的混蛋,以及在愚蠢的政治家推动更多“年龄验证”无聊政策后,显而易见的是,“威胁模型”这个词对大多数人来说都是个陌生的概念。除了,嗯,作为一个流行词。插图由 Embyr 创作。为了提供背景,这个指导是在反疫苗的失败者短暂侵占“威胁模型”这个流行词的时代委托创作的。我觉得即使没有这个背景,这件事情还是挺有趣的。坦白说:如果你在这里寻找有关如何为涉及多个区块链的新初创公司撰写正式威胁模型文档的学术资源,文献引用超过 100 条,这可能不是适合你的博客。也许可以从 STRIDE 和系统理论开始。但如果你想建立一个好的威胁模型应该回答哪些问题的直觉,并且你是从零开始,你可能来对地方了。那么,让我们来谈谈威胁建模。 对于新手的威胁建模 他们的名字是 Neophyte,如果你没明白这个笑话。艺术:Harubaki 从高层次上看,不要过于思考这个。虽然威胁模型是一些信息安全专家实际专注的正式网络安全流程,但你可以在新产品或服务的设计和架构阶段进行非正式的威胁模型,没有人能阻止你。你可能只是会得到更好的结果。威胁模型至少应该回答以下基本问题: 1. 我们到底在保护什么?如果你无法回答这个问题,你还有很多基础工作要做。 2. 谁/什么希望伤害我们正在保护的东西? - 黑客,活动家,网络跟踪者,社交媒体骚扰网络 - 自然灾害/坏报应 - 已经感到厌倦的低薪过劳员工 - 由大型企业游说者支付的愚蠢立法机关通过伤害每个人的愚蠢法律 - 国家对手!!!!1oneon 3. (2) 如何攻击 (1)? - 攻击场景在这里 - 默菲定律在这里 4. 我们将采取什么措施来防止 (3) 的发生? - 默菲定律也在这里! 好吧,如果你能勾选这些,你可以在一定意义上称你的文档为威胁模型。然而,这在实践中通常无用,因为省略了一些关键细节。资产 (1) 如何相关/连接? 思考图表,而不是列表。并非所有目标的价值相同。我们有哪些假设,尤其是在 (4) 和 (5) 中? 我稍后会详细介绍这些。我们故意不解决哪些威胁? 你实际上无法解决任何人想象的、在不可预见的未来可能出现的每一个可能攻击,所以不要假装可以。讽刺的是,太多人理所当然地接受假设 (6),但明确你自己的假设是非常重要的。如果你的某个假设是错误的,那么你的模型将是不完整的(顶多),或者你的接受风险列表 (7) 需要重新考虑。 例如: 隐形蝾螈攻击会破坏一些端对端加密消息设计中的滥用报告,但仅限于你引入滥用报告。该攻击之所以可能,是因为在相关的 AEAD 方案(AES-GCM,ChaCha20-Poly1305)中,假设只有一个有效密钥用于给定消息。一旦你引入给定消息的多个有效密钥(或者困惑的副警官),你就超出了算法的安全保证——这使得攻击者得以轻松进行反击。 明确你的假设可以让你识别自己的未知未知。你不必完全完美。实际上:威胁模型应该是活文档,而不是时间点快照。每当你觉得合适时就更新它们。 如何入门 如果你想在专业领域进行威胁建模,你可能想阅读《威胁建模宣言》。这是我处理的方式。首先,以能让你快速复制粘贴的大致格式写下上面的 7 项内容。你会需要它。接下来,在一大张方格纸(最好是)上绘制出你正在设计或分析的系统的组件。如果任何小部件直接与另一个小部件沟通、依赖或互动,你需要用任何对你最有用的约定绘制出这种关系。一旦设置完成,你想在整个图形外面绘制一个框,然后假装你在玩《堡垒之击》:每隔一段时间,框会变得更小,更专注于每个单独的组件。在每次迭代中,记录每个组件的所有输入和输出,并尽量回答你能做到的7个问题。重复直到你深入到你的抽象所允许的最深处,然后头脑风暴你对未深入研究层次的假设。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡