重新定义的威胁建模:自助威胁模型

Jeevan赛2021年3月29日

这是温哥华的冷酷而黑暗的日期;另一名员工安全工程师和我是开发人员LED威胁建模会话的一部分。我们找不到开发人员领导的团队的一个额外的安全问题。领导该项目的开发商考虑了所有选择!

会议结束时,工作人员安全工程师问:“我们做了什么?”我们还有什么目的?”我们开玩笑说要丢掉工作,但我们知道这是最好的问题!

记录划痕,冻结框架:你可能想知道,“我们是怎么来到这里的?”

什么是威胁建模?

威胁建模是在系统或功能中系统地识别资产,讨论如何破坏这些资产,并协作设计保护它们的方法的过程。威胁建模通常将工程和网络安全工作结合起来,以主动预防安全威胁。

为什么威胁建模很重要?

威胁建模是一个关键流程,它可以主动确保您的业务准备好应对潜在的攻击。它让利益相关者安心,并提高操作安全性,以更好地保护客户数据万博官方购彩

缩放边缘

威胁建模是Segment安全开发生命周期中的关键步骤。在我们将Segment的一个特性发布给公众之前,安全工程(SecEng)团队会对其进行审查。我们的工作是降低坏人利用该功能中的漏洞的风险,从而最终确保我们客户数据的安全。

威胁建模的好处是什么?

我们喜欢做威胁建模,因为我们可以修复漏洞之前它们被编入了系统。它是便宜得多在设计阶段修复这样的漏洞。在生产环境中修复漏洞可能意味着开发人员必须从头开始、实时地了解脆弱的系统,并花费宝贵的时间进行上下文切换。我们还节省了资金,因为我们减少了漏洞赏金计划中发现的漏洞数量。由于开发人员花在修复漏洞上的时间更少,这意味着他们可以专注于构建功能,而不是扑火。

从安全的角度来看,它也意味着我们必须激活我们的皮鞋并可能告诉我们的客户我们搞砸了更少的安全事件。manbetx客户端应用下载每个人都赢了,因为我们基本上为开发人员和安全工程师创造了乌托邦!

威胁建模的挑战是什么?

威胁建模听起来很棒,但它不是没有挑战。作为威胁建模的乐趣是,通常只有一个少数人在一个组织中在威胁建模。由于组织中安全工程师和工程师之间的比例,安全团队经常会成为威胁建模和审查的瓶颈。一些人认为,考虑到涉及的人员数量,以工程时间计算,威胁建模太昂贵了。但考虑到你的工作时间保存在回应事件时,这不是真的。

随着节奏以非常迅速的步伐和我们的特征集成了甚至更快,而且是时候尝试不同的东西。自助式威胁建模检查所有右侧框:它删除了瓶颈,并有助于处理安全工程师对开发人员的不平衡比例。如果我们能够满足这些要求,我们就会建立自己的威胁威胁乌托邦。

为什么要采用自助威胁模式?

在我们的安全乌托邦中,工程团队执行威胁建模练习,而安全团队是可选的参与者。然后,安全人员可以根据兴趣、优先级和攻击面大小选择参加哪些会议。

安全“目标状态”对建模很重要,因为它解决了许多问题。在我们当前的世界中,安全团队的可用性成为一个瓶颈,但在我们的目标状态中,没有工程团队会因为缺乏安全人员而受阻,因为工程团队可以运行他们自己的威胁建模会议,而安全团队是可选的参与者。在我们当前的世界中,威胁建模可能会花费额外的工程时间来审查,在目标状态中,威胁建模活动被构建到设计审查中,这已经是开发周期中的一个标准会议。虽然当只有少数人负责时,威胁建模很难扩展,但当它扩展得很好时每一个人能做到。

开发人员比任何人都更了解他们的特性:他们知道什么工作得好,哪里有差距,哪里可能会遇到麻烦。相比之下,安全工程师在评估一个特定的特性时只能花几个小时,但是需要提供关于该特性的深入的安全性考虑。这对功能来说更有意义专家讨论潜在的安全问题,而不是让那些从外部看问题的人。

规模很重要。工程团队比安全工程团队要大得多。作为一名安全工程师,我知道当更多的人关注一个问题时,我们就会发现更多的潜在问题。我们相信,通过培训和实践,加上他们对特性架构和代码库的深入了解,我们的工程团队将在威胁建模方面比我们的安全团队做得更好。随着这个结果的出现,投资自助服务威胁建模培训是有意义的。

我们是如何建立乌托邦的

精灵服务威胁建模方法是一个工程范围内的倡议,它已经花费了相当多的开发时间。我们有一个全面的课程,经过几个阶段,以确保这个项目的成功。

工程自助威胁模型有五个不同的阶段:

  1. 传统的阶段

  2. 培训阶段

  3. 观察阶段

  4. 审查阶段

  5. 安全可选的阶段

    缩放边缘

1。传统的阶段

这不是一个阶段,而是“我们开始自助威胁建模项目之前的阶段”。

在设计阶段,所有特性都需要进行安全性审查。安全部门负责审查,并在适当的时候为该特性构建威胁模型。

2.培训阶段

为了转换到自助服务模型,第一步也是最重要的一步是培训开发人员如何执行威胁建模练习。在此阶段,您将向开发人员传授威胁建模工作流、如何发现威胁的策略、如何对它们进行优先排序,以及如何决定应该处理哪些潜在威胁。

(我们将在下面更详细地介绍实际的培训。)

3.观察阶段

这就是Segment目前所处的位置。

绝大多数开发人员都经过了充分的培训,现在团队领导他们自己的威胁建模会议。安全团队仍然(虚拟)在房间里,帮助指导工程师进行成功的会议。

在威胁建模会议开始之前,领导会议的人创建了所有必要的预读材料。我们使用已建立的威胁建模部分作为标准设计文档模板的一部分。设计文档提供了适当的环境,但是要求开发人员创建架构图,解释会议的范围内和范围外的内容,并对项目中涉及的资产进行分类。资产可以是基础设施、应用系统本身、系统中的数据;任何值得保护的东西都被列为“资产”。

安全在此阶段的角色是参加会议并提供帮助指南需要时对话。安全性并没有告诉开发人员漏洞是什么,而是指导团队自己发现漏洞。虽然发生了威胁模型,但这仍然是教授开发人员如何发现漏洞自己的好时机。

仍然存在开发人员不会发现重要漏洞的情况,即使是提示,那就是很好的。当他们观察到这一点时,安全获取并帮助指导思想过程,以便开发团队学会发现这些漏洞。同样,这是一个教学时刻,每个人都会对威胁模型感到更好的感觉。

到目前为止,我们已经举办了许多由开发人员领导的自助威胁建模会议,当安全工程师说,我们知道事情进展顺利“嗯,我觉得我在这个会议上完全没用。”

威胁建模并不是一种简单的学习技巧,它需要实践才能变得擅长。我们的责任是安全工程师,以创造学习文化。由于我们的团队开始更符合始终如一地发现批判性和高度严重性的漏洞,因此他们毕业于下一阶段。

4.审查阶段

在此阶段,工程团队非常擅长威胁建模,以至于安全团队不再需要参加会议。我们的工作是检查来自威胁建模会话的工件,并验证我们没有预期到额外的关键或高严重性漏洞。

您可能一直在寻找中优先级和低优先级的漏洞。太好了!我们鼓励您与团队共享这些漏洞,并解释您是如何发现这些漏洞的。

要继续下一阶段,工程团队必须始终如一地发现批判性,高中和中等严重程度漏洞。除此之外,经过几个周期,安全团队应开始看到这些团队的特征的错误赏金和渗透测试结果的显着下降。

5.Security-Optional阶段

缩放边缘

这是我们安全工程师梦寐以求的理想世界。一旦团队进入这个阶段,Security甚至可以选择检查威胁模型。

我们相信,我们可能需要一两年的时间才能达到这个阶段,但我们知道,最终,这些努力都是值得的。

培训深潜水

缩放边缘

细分团队审查了许多培训选择。我们最终决定,继续进行的最佳方式是从头开始建立培训。培训本身必须是相关的和特定于我们的文化规范。

培训被交付给整个工程组织,任何想要注册的人:这包括产品经理,科技作家和普通员工的成员。这意味着培训必须参与各级技能和经验。课程由初级,中生和非常高级的人组成。培训不得不与从未以前从未做过威胁建模的人以及安全冠军的人有关。

我们将培训分为三部分,每三周进行一次:

  • 第1部分:威胁建模简介

  • 第2部分-威胁建模的基础

  • 第3部分 - 实时威胁建模

威胁建模简介

第一个培训会议的目标是介绍威胁建模的概念,教导工作流程,并显示开发人员的工具安全用来找到漏洞。

我们将威胁建模的概念与个人安全的概念进行比较,从而向开发人员介绍了这一概念。这是很多比直接跳入软件漏洞概念更有关联性。

因为我们在2020年4月开始了这一过程,在第一次练习中,我们讨论了我们在疫情之前和之后的购物习惯。这个练习让我们谈到了风险,以及他们如何评估和决定他们对风险的承受能力。我们通过几个非软件风险练习来帮助使我们的威胁建模过程具有相关性。

缩放边缘

稍后我们会介绍到类,并做一个深入和讨论每个脆弱性类。然后我们讨论现实生活中的漏洞以及它们如何影响应用程序。我们做一些简单的练习,帮助学生们习惯问正确的安全问题。

威胁建模基础

第二次培训的目标是让开发人员的手肮脏,练习才能巩固他们的知识。

我们引入了“资产”的概念,以及威胁建模会话中观点多样性的价值。重要的是,在我们进行威胁建模练习时,班上的每个人都要了解我们正在评估的系统中的资产。同样重要的是所有工程团队的成员参与威胁建模练习。团队的每个成员都有稍微不同的背景和经验,所以他们以不同的方式看待系统。当发现潜在的漏洞时,每个人的声音是很重要的。

作为本培训的一部分,我们对假段特征有了冗长的讨论:信用卡结算系统。该类分为小组,每个团队都阅读了设计文档并通过它谈论系统中的潜在漏洞。在评估结束时,每个人都会回到一起,我们讨论并比较每个群体的三大安全威胁。该类了解如何阅读设计文档,重点是安全要求,如何识别安全漏洞以及如何优先级风险。

缩放边缘

我们学到了假段应用程序

实时威胁建模

与团队一起执行端到端威胁建模会话巩固了我们讨论过的概念。

在最后的训练中,我们要做一个真实的威胁建模练习。我们将讨论威胁建模的特性,并回顾架构图。然后我们列出系统中的资产,并讨论哪些内容在该练习的范围内,哪些超出了范围。接下来,我们将花一些时间寻找潜在的漏洞,并讨论如何对它们进行优先排序。最后,我们讨论我们发现的漏洞应该根据严重性和优先级进行补救。

关键的外卖

在推出自助威胁建模程序的过程中,我们学到了很多。如果你正在考虑做类似的事情,这里有一些建议。

失败

我们的初步学习之一是在培训内容中快速迅速迭代。有两支球队愿意坐在第一个训练迭代中。

在初始会议之后,我立即举行焦点小组以获得与会者的反馈,更好地了解如何改进培训。它立即影响 - 我们调整了我们会议的长度,并改变了我们介绍的概念和何时。随着第一支球队的反馈,我们修改了我们的方法,并为第二队进行了培训。随着这两个初始团队的反馈和建议,我们巩固了培训内容和方法。然后我们准备好在本组织的其余部分滚动。

相信你的同行

一开始我很犹豫,但是我们的开发者给我留下了深刻的印象。他们学得很快,对培训感兴趣并积极参与。当你为他们创造了一个安全的学习和犯错的空间,你就能更快地实现自己的目标。相信他们能够找出如何发现漏洞,并指导团队如何找到漏洞。

安全文化的改进

当我开始进行威胁建模训练时,我注意到上课的人真的很喜欢这种训练。这导致更多的人向我寻求他们对系统漏洞的担忧,让我能够给他们提供积极的建议和支持。在过去,开发者只是偶尔联系我,但现在他们联系我的次数更多了。

培训的简便性让每个人都能接触到“安全”这个可怕的话题,这让他们不那么害怕问我们安全相关的问题。许多人甚至询问更多的安全学习资源,以及如何加入与应用程序安全相关的聚会。

通过该项目,我们在分部确定并创建了安全冠军。有有兴趣学习,安全性的人,以及往往对我们的安全知识留下深刻印象。我们只能看到这个计划的好处。

我们如何到达乌托邦?

每个公司都是新万博app2.0下载独一无二的!我建议你从某个地方开始,调整培训以适应你的文化。

我们Segment不希望你从头开始!今天,我们将开源Segment的威胁建模培训内容,供您调整和修改。你可以在下面找到链接。

我们希望您可以使用这些培训模块,提供有关如何更好地使其更好的反馈,并分享您与社区的找到。

幻灯片很棒,但我该如何学到更多?

我们有很强的社区意识,除了分享我们的培训幻灯片和博客文章,我们还有一个电子邮件地址,这样你就可以提交你的问题和想法。我总是对听到反馈很感兴趣,不管是好的还是坏的!

电子邮件地址:sstm@www.asianminres.com

我还将在即将到来的OWASP温哥华会议上讨论整个项目。你也可以加入OWASP温哥华聚会组

未来的改进,甚至在乌托邦

我们在去乌托邦的路上,一切都很美好。是时候休息一下了,对吧?错了。我们一直在思考如何改进我们的威胁建模训练,并建立可持续的系统。我们已经培训了所有当前的开发人员,但未来的新细分人员呢?我们正在考虑如何将这种培训最好地融入新员工的入职培训中。

我们也在思考如何保持这些知识的新鲜感。也许你几个月前接受了培训,但从那以后就再也不用了,现在你有了这个巨大的项目——哇!威胁建模复习课程来拯救我们!最后,对于那些真正喜欢培训并想了解更多内容的人,或者那些真正想深入研究大型和复杂系统的高级策略的人,我们正在进行威胁建模“201”课程。

我们正在招聘!

安全团队正在壮大,我们正在寻找对安全问题有新方法的候选人。如果你觉得这个博客有趣,你可能会想要查看我们的职业页面

个性化状态为2021

个性化的一对一营销是当今数字化企业的桌上赌注。但随着消费者期望值的提高,他们是否具备提供这些体验的能力?

成为数据专家。

获取所有物品,产品和增长的最新文章直接向您的收件箱提供。