文章作者:Cherishao(信安之路威胁情报小组组员)/ ThreatPage(信安之路威胁情报小组组长)
在威胁情报分析中,将高级具有可持续性的攻击事件定性为APT事件,定位APT组织并将APT组织的攻击事件关联起来是一件非常复杂的工作。火眼的威胁研究报告从“文档(样本)类聚模型”的角度将攻击事件汇聚关联。在“文档(样本)类聚模型”分析中,采取了词频-反文档频率TF-IDF指标和余弦相似度分析方法,大意理解为TF-IDF指标找唯一性(特殊),余弦相似度找相似性(同源)。并将该模型与威胁情报结合进行量化,来帮助情报专家来发现新的威胁组织、根据分析师需要提供可靠的“类聚”来提升对威胁事件的分析效率。
1.序言
FireEye 一直致力于对攻击者的行为进行检测、跟踪和阻止。通过每年数百次调查和数千小时的分析使FireEye掌握了分析攻击者的大量有效信息,这些信息包括:常用恶意软件、基础架构、交付机制以及其他工具和技术的详细信息(TTP)。FireEye 不仅分析出了 50 个 APT组织和FIN组织的不同的特征报告,还收集了数以千计的相关活动的无特征“集群”,FireEye尚未对“集群”所涉及的特征及组织的归属进行声明。虽然未对“集群”进行关联,但随着时间的推移,这些集群在我们对相关活动进行分组和跟踪依旧有用。
随着 FireEye 收集的信息越来越多面越来越广,FireEye 意识到需要一种模型或者算法来协助分析这些海量信息,以发现新威胁的潜在交叉重叠和组织隶属。本文将概述 FireEye 用于构建模型的数据,分析模型涉及的算法以及该模型在未来所面临的一些挑战。
2.群集分类介绍
FireEye 在检测恶意活动时,会给恶意攻击行为打上标签,并根据标签相似性分组为“群集”。这些“群集”是攻击者的直接攻击行为或一系列攻击活动的一部分,可表示操作、基础结构、恶意软件。FireEye 将之称为 “ UNC ” 或“ 未分类 ”的群体。随着时间的推移,这些集群可以增长,与其他集群合并,并可能“融合”成新的威胁组织,例如 APT33 或 FIN7。只有充分了解其在攻击生命周期的每个阶段中的操作并将该活动与状态对齐的程序或犯罪操作相关联时,才会发生此分级。
对于每个组,FireEye 都可以生成一个摘要文档,其中所包含的层级为:基础结构、恶意软件文件、通信方法和其他方面的信息。图 1 显示了如何利用不同模块化的“群集”对一个“攻击者”的变化进行记录。在每个“群集”中 – 例如“恶意软件” – FireEye有不同种“条款”,但它们有个共性:都有相关的计数。FireEye用这些数字表示使用该“术语”来记录组的频率。
图1:攻击者行为变化记录
3.方向目标
FireEye 的最终目标是证明一个威胁是否可以合并到现有组中,或者明确它代表一个新的独特的威胁组织。迄今为止,FireEye关于APT组织的聚类和归因决策是分析师来人工执行,因为它需要严谨的分析和证明。但是,随着 FireEye 收集到越来越多有关攻击者活动的数据,这种人工分析成为瓶颈。“群集”风险未经分析,潜在的关联和归因线索可能会断裂。因此,FireEye 将基于机器学习的模型纳入情报分析工作,以帮助发现、分析和证明这些“群集”或者威胁组织(APT组织)。FireEye 基于以下3个方向对模型进行了研发:
- 在不同组之间创建单个可解释的(相似度)相似性“特征”
- 评估过去的分析决策
- 发现新的潜在证据
图2:突出显示观察到的两组之间的相似点
4.分析模型介绍
FireEye 将这种分析方法用在了每个威胁“群集”分类中,以此来大规模地评估组之间的唯一性和相似性。首先,FireEye 单独为每个主题建模。意味着每个主题都将在组之间产生自己的相似度范围,这些相似度最终将聚合为一个整体相似度。
下文将介绍 FireEye 如何将该分类方法应用于每个“群集”。在每个主题中,使用称为 “词频-反文档频率” 或 TF-IDF 的方法将每个不同的“词”转换为值。【TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
其背后的基本评断准则是:
- 如果经常与记录一起出现,则增加该术语的重要性。
- 如果该术语在所有记录中普遍出现,则降低该术语的重要性。
一些独特的术语,可能只出现在某一系列如自定义恶意软件的少数组中,甚至可以减少常见的威胁事件,例如“鱼叉式网络钓鱼”,它们适用于绝大多数群体。
图 3 为 TF-IDF 应用于分析mal.sogu 和 mal.threebyte两个术语的 “UNC599” 案例的度量(范围)。这些项表示“恶意软件”主题中SOGU和THREEBYTE的用法,因此我们使用 TF-IDF 计算其在该主题中的值。第一个(TF)值是单个出现的次数在所有恶意软件中总数中的比。第二个值(IDF)是这些术语在所有组中出现的频率的对数。另外,FireEye采用 IDF 值的自然对数来描述- 正如在图中看到的,当值接近1(非常常见的项)时,对数取值为接近零,从而降低了最终的TF_IDF值。IDF存在唯一值越多,TF_IDF最终的值更高。
图 3:针对恶意软件评估单个组时TF-IDF指标的细分
一旦给每个项一个分数,每个组现在被反映为不同主题的集合,且每个主题是其包含计算分数的向量。每个向量都可以被设想为箭头,详细说明该组在该主题中“指向”的“方向”。
在每个主题空间内,FireEye 使用另一种方法 – 余弦相似度来评估各组的相似性。实质上,这是衡量两个向量并行的度量。如图 4 所示,为了评估两个组的恶意软件使用情况,FireEye 绘制了恶意软件向量,通过查看它们是否指向同一方向来进行相似性的判断。更平行意味着它们更相似。
图 4:恶意软件“空间”中的两个组的余弦相似性度量的简化细分
这种方法的一个好处是不同矢量的处理方式相同 – 因此,一个新的,相对较小的 UNC 集群指向与证据充分的 APT 组织相同的方向,反映出高水平的相似性。FireEye在发现与已建立的群体具有高度相似性的新活动集群时亦采用了该方法。
FireEye 使用 TF-IDF (词频-反文档频率)和 Cosine Similarity (余弦相似度)来计算文档语料库中每个组的主题特定相似性。最后将主题相似性组合成一个单一的集合(图 5 )。这个单一指标允许我们快速查询我们的数据“类似于X的组”或“X和 Y之间的相似性”。威胁分析聚合的难点就在于:建立这种最终相似性的最佳方法是什么?
图 5:总体模型流程(显示了各个主题的相似性以及最终相似性矩阵的聚合)
最简单的方法是采取平均值,这也正是 FireEye 所做的。但对分析师来说,这种方法与分析师的分析工作并没有很好地同步。于分析师而言,相对于分析平均值,我们更加关注这样一些东西,例如:恶意软件和TTP应该比服务器位置或目标行业更重要。因此,FireEye 采取了对每个主题提供自定义权重,但如何找到一个客观的不受分析师偏见的加权系统。FireEye的工程师想要证明这种设想:“如何使用现有的已知数据来告诉我们什么是正确的权重?”为了做到这一点,FireEye需要很多已知的 “标记”,标记类似或不同特征。
5.构建标记数据集
FireEye起初的建模概念是:首先找到一个标记对的大型数据集,然后拟合一个回归模型来准确地对它们进行分类。如果成功,这个模型应该能给出正确的权重。
图 6 显示了这种方法背后的一些有助于分析的直观的视角图形。首先,使用一组“标记”对,我们拟合一个最能预测数据点的函数。
图 6:示例线性回归
FireEye实际上使用了逻辑回归,但展示时使用的是一个线性模型来证明判断。FireEye 使用相同的函数来预测未标记对的聚合相似性(图 7 )
图 7:使用训练模型预测各个主题相似性的最终相似性
FireEye 的数据在某种意义上提出了一个特别的问题:即只分析了所有潜在配对中的小部分。这些分析是手动和偶尔发生的,通常是调查突然发生的新信息最终将两个群体联系在一起的结果。作为标记数据集,已有的数据集不足以对分析方法进行任何严格的评估。FireEye 依旧需要更多标记数据。
FireEye 的两位数据专家提出了一个聪明的方法:假设我们从成熟的 APT 小组中随机抽样来创建数千个“假”群集会怎么样?因此,我们可以将来自同一组的任何两个样本标记为绝对相似,并且将来自不同组的任何两个样本标记为不相似(图 8 )。这使我们能够合成生成我们迫切需要的标记数据集。然后,使用线性回归模型,我们能够优雅地解决这个“加权平均”问题,而不是依赖于主观猜测。
图 8:使用从已知 APT 组派生的“假”集群进行的相似性测试
此外,这些合成创建的聚类为 FireEye 提供了一个数据集,可以在其上测试模型的各种迭代。如果我们删除主题怎么办?如果我们改变捕获术语的方式怎么办?使用大型标记数据集,FireEye 现在可以在更新和改进模型时对性能进行基准测试和评估。
为了评估模型,我们观察了几个指标:
- 回想一下我们所知道的合成集群来自同一个原始组织 – 我们有多少是对还是错?这评估了给定方法的准确性。
- 对于单个主题,计算相关和不相关群集的相似性之间的“扩散”。这有助于我们确定哪些主题可以帮助您最好地分类。
- 训练回归模型的准确性,作为主题所代表的相似和不相似群集之间的“信号”的代理。这可以帮助我们识别过度拟合问题。
6.现阶段使用场景
在FireEye 的日常运营中,该模型用于增强和协助我们的情报专家。提出客观的相似之处,它可以挑战偏见并引入以前未考虑的新调查线。当处理成千上万的集群和每天从全球分析师那里添加的新集群时,即使是经验最丰富且最有意识的Intel分析师也可能因错失潜在的潜在威胁而被责罚。但是,FireEye的模型能够根据需要向分析师提供可能的合并和相似性,从而可以帮助他们发现那些难以发现的潜在威胁。
7.未来工作及展望
7.1.完善模型
通过手动输入调查信息的方式存在标签噪音。有时攻击者的“无关”数据尚未在我们的文档中表示。
FireEye 尚未完全纳入“活动时间”,而是依赖于“记录时间”,这使得基于时间的分析变得困难。攻击者最近所做的事情可能意味着比他们五年前所做的更多。针对改弊端,FireEye 已经在完善中。
7.2.展望
FireEye利用客观的分析方法、算法并构建模型,对威胁研究者的分析工作进行了优化,使用算法并建立适合的智能分析模型已经被广泛用于不同领域来提升工作效率、工作质量。如:在取证数据之上构建机器学习模型可以快速突出数据建模、存储和访问的潜在改进。关于机器学习模型的利用,FireEye推荐了2018年CAMLIS会议上的一个视频。
# APTinder:一种优化的方法,可以找到完美的APT匹配
FireEye期待着智能模型能够帮助威胁研究者关联分析、聚类发现和明确更多已知的和未知的APT相关事件,并在威胁发生之前阻止攻击者。
8.思考与总结
在国内,大多安全公司和厂商主要针对于对单个APT组的溯源和追踪,像FireEye这样将网络攻击的 “数据”、“标签信息”通过TF-IDF(词频-反文档频率)算法,针对网络攻击的特殊性进行挖掘,再利用(Cosin Similarity)余弦相似度进行同源性的汇聚还较为少见。FireEye的这个分析模型,清晰的指出了安全分析师、情报分析人员真正看重的一些东西,也明确了针对海量样本及大量的攻击事件模型可以起到的作用。
21世纪,信息时代大家都在热议:“大数据”、“人工智能”,貌似我的产品不具备这样的能力就会被市场淘汰,要进行分析,首先得有数据,有了数据怎样将关键的信息挖掘出来?怎样将我们所在乎的对象利用合理的模型给出直观的结果?当然,国内一些BAT公司已经具备了这样的能力,阿里巴巴的城市大脑,美团的订单配送系统,那么我们安全相关的威胁情报研究方面呢?还有很长的路要走,技术能让生活变得更美好,潜心做产品,低调做安全,希望本文能引发更多志趣相同的朋友的思考。
发表评论
您还未登录,请先登录。
登录