攻击模型

攻击模型捕获信息,用以从攻击者的角度思考问题:威胁建模、滥用案例开发与完善、数据分类和技术专用攻击模式。

1 级攻击模型

[AM1.2: 75] 创建数据分类方案及清单。

该组织约定一份数据分类方案,并使用该方案根据(无论是场内或场外的)软件处理的数据所属的种类,对列出其软件的清单。这就能够根据数据分类排列应用程序的优先级。可以采用多种分类方案——例如,其中一种方案是围绕 PII 分类。根据涉及的方案和软件,首先对数据仓库进行分类,然后根据所使用的数据仓库为应用程序推导分类可能是最简单的方法。解决该问题的其他方法还包括根据知识产权保护、披露影响、受攻击风险、与 GDPR 的相关性或地理边界进行数据分类。

[AM1.3: 38] 确定潜在攻击者。

SSG 确定潜在攻击者,旨在了解其动机和能力。这项演练的成果可能是一套攻击者资料,包括有关攻击者类别的一般草图,以及对值得注意的个体的更详细的描述。有时,可能雇用第三方承包商提供此类信息。特定的和有前后关系的攻击者信息,几乎总是比从别人的列表中复制的一般信息更有用。此外,简单地把这个领域分成内部人员和外部人员的列表不会带来有用的结果。

[AM1.5: 53] 收集并利用攻击情报。

SSG 通过了解新型攻击和漏洞保持领先地位。这些信息都来自参加会议和研讨会、监控攻击者论坛,以及阅读相关出版物、邮件列表和博客。秉承孙子遗训,探明敌方虚实;与可能给您带来麻烦的安全研究人员进行交流。很多时候,订阅商业服务为收集基本攻击情报提供了合理的途径。攻击信息不论来源如何,都必须能够为构建和测试人员所执行和利用。

2 级攻击模型

[AM2.1: 10] 构建关联潜在攻击者的攻击模型和滥用案例。

SSG 通过构建关联潜在攻击者的攻击模式和滥用案例来做好安全测试和架构分析准备(参见 [AM1.3 确定潜在攻击者])。这些资源并非必须针对每个应用程序重新构建才能有用。相反,情况类似的应用程序可以采用同一套标准资源。SSG 将会基于攻击情况增加保障。例如,设计欠佳的云应用程序遭受攻击后产生的云安全攻击模式能够促进产生新型测试。一家公司跟踪与特定攻击相关联的欺诈和资金成本后,获得的信息能够用于优先执行构建攻击模式和滥用案例的流程。

[AM2.2: 10] 创建技术专用攻击模式。

SSG 创建技术专用攻击模式,以掌握专门针对特定技术的攻击知识。例如,如果组织的云软件依赖的是云供应商的安全装置(例如,密码学),SSG 可以编目密码包的习惯及其可能被利用的方式。与安全边界直接相关的攻击模式(如 IoT)可能非常有用。只靠重新发布一般指导准则(例如,“确保数据在传输过程中受到保护”)和最后添加“移动应用程序适用”的说明并不构成技术特定的攻击模式。

[AM2.5: 16] 编制并维护最可能发生的攻击列表。

SSG 实时维护一份重要攻击列表并利用它推动改变,从而帮助组织了解攻击的基本知识。这份列表结合了多种来源的信息:观察到的攻击、黑客论坛、行业趋势、新技术攻击或在用的部署方法等等。该列表无需过于频繁地更新,并且只需将攻击进行粗略排序即可。例如,SSG 可以每年举行两次集体讨论,创建一份列表,列明组织应当准备好在“现在”、“不久”和“有时”需要应对的攻击。有时,攻击模型可用在基于列表的架构分析方法中,在 STRIDE 中帮助集中开展分析。不要只是编制列表,还要利用它。

[AM2.6: 14] 收集并发布攻击情况。

SSG 收集并发布组织受攻击的情况,让并不便宜的课程发挥最大优势。无论是得逞还是未遂的攻击都值得记录,而且讨论软件攻击的历史信息能够起到将软件安全植根于公司现实场景的效果。这对于训练学员,帮助他们反驳过于关注前 10 名列表,或不相关和过时平台攻击的通用方法尤其有用(参见 [T1.6 创建并使用公司安全记录专用材料])。向构建新系统的人员隐藏攻击信息不利于从负面事件中获得积极效益。

[AM2.7: 11] 建立内部论坛用于讨论攻击。

组织拥有内部论坛,供 SSG、卫星团队和其他团队讨论攻击和攻击方法。论坛用于沟通攻击者的视角。SSG 还可以保留一份内部邮件列表,用于邮件订阅者讨论有关公开事件的最新信息。解决与企业有关的攻击和漏洞利用,如果能够触发讨论缓解措施的开发,就变得特别有用。只是重复发布公共邮件列表中的项目,并不能达到与积极讨论相同的效果,瞒着实际编写代码的人员秘密进行讨论同样无济于事。每个人都应当自由提出问题并了解漏洞和利用情况。警惕是指决不能太过安逸(参见 [SR1.2 创建安全门户])。

3 级攻击模型

[AM3.1: 4] 设置科学团队开发新型攻击方法。

SSG 拥有一个科学团队,能够在真正的攻击者知道他们存在之前,识别和禁用此类新的攻击类别。由于新技术对安全的影响还没有得到充分的探索,所以亲自试验有时是最好的方法。这不是一个查找已知漏洞类型新实例的渗透测试团队,而是一个创造新型攻击的研究团队。科学团队中可能有在 DEF CON 等会议上公布研究成果的著名安全研究人员。

[AM3.2: 2] 创建并利用自动化来模仿攻击者。

SSG 为测试人员装备自动化,用于模仿攻击者的行为。例如,科学团队确定新的攻击方法后可能要求配备新工具,SSG 就会打包新工具并分发给测试人员。这里的想法是推动攻击能力超越一般商业工具和产品包含的内容,然后将这些信息转交其他人使用。根据公司的特定技术栈和潜在攻击者定制这些新工具也是一个不错的主意。当技术堆栈和编码语言的发展速度超过供应商的创新速度时,创造自己的工具可能是最好的前进方式。