在分析大规模的入侵时,通常是一个情报分析团队,或者是几个分析师互相分工配合来完成的。在开始执行任务前,我们需要进行一些统一的约定,否则可能会由于个人习惯或认知差异造成整个分析工作的混乱。这个约定从普遍情况来看,需要具备以下内容:
1. 团队结构(Team Structure):
• 明确团队的组织架构和各成员的角色与职责。
2. 接受的术语(Accepted Lexicon):
• 定义一套团队内部和对外沟通时使用的统一术语,以确保信息的一致性和清晰度。
3. 避免的词汇和行为(Words, Phrases, and Actions to Not Do):
• 列出在情报分析和报告中应避免使用的术语和行为,以减少误解和混淆。
4. 分析技术的结构化示例(Sample Structured Analytical Techniques):
• 提供如何使用结构化分析技术(如钻石模型)来提高分析的准确性和效率的示例。
5. 情报需求的示例输出(Sample Intelligence Requirements with Example Outputs):
• 展示如何定义情报需求,并给出满足这些需求的情报示例。
6. 指导分析师如何创建聚类和最终化情报产品(Guidance to Analysts on How to Create Clusters and Finalize Intelligence Products):
• 为分析师提供如何根据特定标准和模型将事件聚类,并如何将这些聚类转化为最终的情报产品。
7. 关键流程(Key Processes to Follow):
• 概述在情报收集、分析和报告过程中应遵循的关键流程。
统一团队内分析师对同一个攻击组织的命名非常重要,否则每个人各叫各的很容易引发误解,或者在分析工作交接时,接手的分析师很难快速理解一些数据或资料。甚至是本团队与外部情报团队共享情报时,名字不统一也会让人容易把相同的攻击组织当成不同的攻击组织。
Do(应该做的):
1. 自己定义名字:自己为攻击组织命名,而不是完全依赖于其他人的命名。
2. 借用名字:在适当的情况下,借鉴其他人的命名,但要确保它们对你的上下文有意义。
3. 使用幽默:在命名时可以加入一些幽默元素,这有助于使名字更易于记忆。
4. 根据工具/TTP命名:将活动命名为与特定工具或技术、战术和程序(TTP)相关的名字。
5. 使用枚举名字:为活动命名时,使用编号系统,如APT-1、APT-2等,以便清晰地区分不同的活动。
Don't(不应该做的):
1. 不要仅依赖于工具或技术来命名:因为工具可能会被不同的攻击者共享,仅根据工具命名可能会引起混淆。
2. 不要使用过于模糊的名字:避免使用如"APT-1"这样过于通用的名字,因为它可能使得分析师难以区分不同的活动。
3. 不要使用过于具体的命名:避免使用过于具体或复杂的命名,这可能会限制对活动的理解或导致误解。
为了统一内外部的攻击组织命名,这里提供两个攻击组织在各个情报团队命名的对应列表资源:
https://attack.mitre.org/groups/
https://docs.google.com/spreadsheets/d/1H9_xaxQHpWaa4O_Son4Gx0YOIzlcBWMsdvePFX68EKU/edit?gid=361554658#gid=361554658
使用分析竞争假设(ACH):在缺乏证据、入侵事件与多个类似定义的聚类匹配,或分析员之间存在分歧时,建议使用ACH(Analysis of Competing Hypotheses)来帮助解决归因的不确定性。
结构化数据的重要性:在进行聚类分析时,使用结构化数据(如入侵链和钻石模型)很重要,这有助于更准确地识别模式并建立事件之间的联系。
使用规则2(Rule of 2):作为一种简化的方法,通过寻找两个顶点之间的重叠来帮助识别聚类,例如,如果两个入侵事件在受害者或攻击者技术上有共同点,它们可能属于同一攻击组织。
IoC的识别:强调了识别IoC或行为战术技术程序(TTPs)的重要性,这些可以作为归因的依据。
信誉度评估:在将入侵事件归入特定活动或组织时,根据在每个聚类中支持的证据来评估信誉度。
基础步骤:遵循ACH的步骤,根据入侵定义对证据进行分类,如使用入侵链和钻石模型,并根据每个聚类中证据的支持程度来通知评估的信心。
证据分类:使用入侵链和钻石模型对证据进行分类,以帮助将入侵事件组织成有意义的聚类。
枚举入侵-活动假设:使用从入侵集获取的关键指标或TTPs作为证据,将它们定位在活动假设上。
外部入侵报告的使用:如何利用来自可信第三方的外部报告来补充对活动的理解,同时避免因报告中的问题而导致分析误导。