Sergio Caltagirone、Andrew endergast 和 Christopher Betz 多年前在情报界提出了钻石模型的概念。以下所有内容都基于那篇论文“The Diamond Model of Intrusion Analysis”。建议读者通读这篇论文,链接:https://www.activeresponse.org/wp-content/uploads/2013/07/diamond.pdf
仅靠杀伤链无法完整的描述关于攻击组织的所有情报,钻石模型使用四个顶点来描述一个攻击组织,分别是:
攻击组织
能力
基础设施
攻击目标
我们在每个杀伤链阶段获取到的数据,都可能具备四个顶点的属性之一。连接四个顶点的每条边,揭示了四个顶点之间的关系。用原作者的话说“钻石模型以最简单的形式,描述了攻击者入侵攻击目标是所使用的基础设施和技术额能力”。
Sergio在他的博客http://www.activeresponse.org/diamond-model-axioms中展示了钻石模型的公理,我们在使用钻石模型进行分析时应该牢记这些:
1、每一个入侵事件中,都会有一个攻击者使用基础设施和相关攻击技术为了达成目标产生最终结果。
2、攻击者往往在这个集合中(内部人员、外部人员、个体、团队或组织)会为了一些目的而攻击或破坏计算机系统或计算机网络。
3、每一个系统、甚至每一个受害资产,都存在漏洞或暴露面
4、每个恶意行为都包含两个以上的阶段,为了达成目标攻击者必须成功执行这几个阶段
5、每个成功的入侵事件都会需要外部的资源
6、攻击者和攻击目标之间都存在着某种联系,尽管这种联系是遥远的、间接的
7、在攻击者集合中存在一个子集(意图、资源、能力)以长时间的支持攻击者对攻击目标进行攻击。这种攻击者与攻击目标的关系称之为持久对抗关系。
结论:基于攻击者的能力,存在不同程度的持久对抗关系
钻石模型的其中一个顶点攻击者部分,描述发起本次入侵事件的个人或团体,攻击者被分为两部分:
真实发起攻击的个人或团体
攻击成功后受益的雇主或客户
这两个部分有时可能重叠,这取决于雇主或客户的动机、技术和资源。
以上表格表示我们收集攻击者数据时的各个方面,其中比较常见的数据是:电子邮件地址、社交媒体信息、动机意图等得。
需要注意的是,重要的是遵循情报需求,有可能因为情报需求我们并不关心攻击者相关的信息。仅仅关注攻击组织的行为特征,例如恶意软件开发者使用的开发语言、配置数据、键盘类型这些个性化的东西。
攻击组织在入侵时总是会用到恶意软件,恶意软件本身应该归属于钻石模型的能力顶点。并不是所有的攻击者都会使用恶意软件,但恶意软件中提取的特征对我们追踪和分析是非常有帮助的。而如果我们只分析恶意软件的数据,那我们只是分析了恶意软件的开发者。在一个攻击组织中可能是由团队、各个政府、盟友、外包商等庞大而复杂的部分组成的。
通过恶意软件分析来追踪攻击组织,可以依赖的因素有:
文件头元数据
代码重用特征
配置文件数据
在上图示例中,我们可以看到GravityRAT的PDB字符串显示了开发者使用的文件路径、PC用户名、项目名称、CPU架构的信息。这些信息为追踪攻击组织提供了数据支持。
参考链接:
https://www.sans.org/webcasts/human-fingerprints-malware-cyber-threat-intelligence-112100
https://www.sans.org/reading-room/whitepapers/threats/paper/39275
能力指攻击者在入侵期间使用的所有工具和技战术(TTPs)。从最简单的弱口令到比较复杂的虚拟机逃逸,都属于这个范畴。攻击者在入侵时普遍会使用一些恶意软件,但不是所有软件都属于恶意软件范畴,例如windows的net命令不是恶意软件,但当攻击者使用net命令进行内网信息收集时,这个行为属于能力顶点的范畴。
攻击者通过物理或逻辑的机制来实施各个技术进行入侵,这种物理或逻辑的机制都属于基础设施范畴。例如用于侦察的攻击源主机、用于发送钓鱼邮件的邮件服务器(包括电子邮件地址和邮件传输代理)、C2服务器IP、接收数据外传的服务器以及为了入侵而创建的社交媒体账号等等。
攻击目标是攻击者通过基础设施结合攻击能力实施入侵的接受对象。攻击目标可以是个体也可以是组织。根据攻击者的攻击意图,常见的攻击目标是存储着攻击者感兴趣数据的系统和网络、或者破坏系统和网络的保密性、完整性和可用性。例如攻击者想要获取石油勘探预测相关的数据,那么攻击目标可能是一个数据科学家,那么数据科学家的雇主、他所使用的终端、公司的文件存储系统、以及将这些连接在一起的网络都属于钻石模型的攻击目标顶点。