可扩展和语义保持的反病毒引擎标签挖掘

工作来源

TrustCom 2022

工作背景

反病毒结果的命名最初遵循 MAEC(Malware Attribute Enumeration and Characterization),为了在高保真情况下对恶意软件属性信息进行结构化表示。但各家厂商的命名逻辑并不相同,所以结果也是不一致的。

只依赖专家知识很难应对威胁时刻变化的挑战,尽量不依赖专家知识才能获得更好的可扩展性。尽管各个厂商的结果并不一致,但其仍然存在内在联系,分解和重组可能会提供样本更多的信息。

常见的归档流水线如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

工作设计

AVClass 系列需要大量的专家知识,AVCLASS 主要将大量标签合并为单个表示家族的标签,AVCLASS2 聚合别名标签。

可扩展和语义保持的反病毒引擎标签挖掘

VirusTotal 上某样本的检测结果如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

Ad-Aware、ALYac 与 Arcabit 都给出了 JS:Trojan.HideLink.A 的检测结果,而 Cyren、DrWeb 与 F-Prot 给出的则是 SEOHide。双方是从不同的角度来对样本进行描述的,并不是互斥的。

三种工具对标签的处理结果如下所示(注:AVMiner 不对相似检测引擎与相同厂商的结果进行过滤):

可扩展和语义保持的反病毒引擎标签挖掘

常用词的定义如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

系统处理流程如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

典型示例如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

数据准备

为了解决冷启动的问题,使用超过八千个样本来建立语料库。系统不仅能够适应未知种类的恶意软件,而且能够提供更好的兼容性。

预处理

主要是 Token 化与 Token 过滤两部分:

  • Token 化:通过标点符号分割的为标签的最小单元,替换为统一的分隔符。

  • Token 过滤:将产生的无意义 Token 过滤掉,例如标识符与序号等。来自同一厂商的标签中无意义的 Token 通常位置一致,并且无意义的 Token 重复频率较低

可扩展和语义保持的反病毒引擎标签挖掘

根据 σ<0.1 由上图可知大多数位置都有一些独特的 Token。下图表示取值在大于 0.3 小于 0.7 时会引入大量无意义的 Token。故而将值设置为 0.3。

可扩展和语义保持的反病毒引擎标签挖掘

向量化

将共现关系作为向量化建模的关键因素,为输出的关键词进行提取和排序。对向量化处理有两个额外的要求:参数不敏感并且计算复杂度低。这样可以在威胁快速变化时,进行自我迭代更新。

选择 GloVe(Global Vectors)作为处理方式,其擅长在全局范围内泛化共现关系。主要过程是首先使用固定的计数窗口对每个 Token 的共现矩阵进行计数,在保证每个 Token 之间的共现关系的情况下对稀疏矩阵进行降维。

样本聚类

总是一起出现的 Token,转换的向量在更高维度上也更接近。故而采用 Mean Shift 作为聚类算法。

根据相关性对 Token 进行分组后,还需要根据它们的频率与簇的属性对其进行排序。在此处进行校正,如下所示校准为 downloader。

可扩展和语义保持的反病毒引擎标签挖掘

如果不进行校准,对 Token 的排名会有较大影响。

可扩展和语义保持的反病毒引擎标签挖掘

两个 Token 之间需要满足以下条件的阈值才进行纠正,不仅可以纠正同义词(downloader 与 downloadre)还能纠正缩写(gen 与 generic),该阈值默认为 0.3。

可扩展和语义保持的反病毒引擎标签挖掘

输出关键词

利用 TF-IDF 算法选择相关且重要的 Token:

可扩展和语义保持的反病毒引擎标签挖掘

当一个 Token 在恶意样本中出现的频率越高,普遍性越低,其 TF-IDF 值也就越高。

工作准备

GloVe 模型的窗口大小设置为 40、向量长度为 32,训练迭代 100 轮。

Mean Shift 算法的带宽为 2,训练迭代 100 轮。

Drebin 与 Malheur 都是手动处理的恶意软件数据集,测试结果如下:

可扩展和语义保持的反病毒引擎标签挖掘

二者的具体文件类型如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

工作评估

利用从 2006 年到 2020 年收集的 10 万个恶意样本,通过 VirusTotal 的结果获取恶意软件家族。结果如下所示:

可扩展和语义保持的反病毒引擎标签挖掘

不管是在第一、前三、前五的 Token 中,都是 AVMiner 表现更好。并且,AVMiner 原型验证每秒可以处理 40 个样本,作者认为其满足了自身的需求。

与之前的 AVCLASS 和 AVCLASS2 进行比较:

可扩展和语义保持的反病毒引擎标签挖掘

可视化变化趋势为:

可扩展和语义保持的反病毒引擎标签挖掘

超集的表现比子集的加权平均更好,引入的相关样本越多,性能也就越好。

可扩展和语义保持的反病毒引擎标签挖掘

这一点也通过实验能够证明,数据集相对较小时的性能略有下降,而数据集达到超集的 30% 时准确率基本稳定。

可扩展和语义保持的反病毒引擎标签挖掘

为了验证鲁棒性,对超集的子集进行了降采样实验,并添加了随机收集的一万个恶意样本。

可扩展和语义保持的反病毒引擎标签挖掘

即使文件类型改变,对结果的影响也不大。

可扩展和语义保持的反病毒引擎标签挖掘

不同时间的样本,也不影响准确性。

可扩展和语义保持的反病毒引擎标签挖掘

工作思考

大量检测引擎的结果处理是一个长久的话题,研究也逐渐成为了近年来的热点。研究涵盖标签翻转、结果合并与检测阈值等,数据量越大越是能从更高的维度进行分析并贴近事实。

原文始发于微信公众号(威胁棱镜):可扩展和语义保持的反病毒引擎标签挖掘

版权声明:admin 发表于 2023年11月27日 上午9:31。
转载请注明:可扩展和语义保持的反病毒引擎标签挖掘 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...