作者:{LIG}@ArkTeam
原文作者:MSamuel Schu ̈ppen, Dominik Teubert, Patrick Herrmann and Ulrike Meyer
原文标题:FANCI: Feature-based Automated NXDomain Classification and Intelligence.
原文会议:The Proceedings of the 27th USENIX Security Symposium.
现代僵尸网络依靠域名生成算法(DGA)生成的域名与其命令控制(C2)服务器建立连接,而不是使用固定域名或固定IP地址。据DGArchivel,目前已知超过72种不同的DGAs,它的数量不断增加,因为DGA显著提高了僵尸网络抵抗被移除的能力。在之前,监控DNS流量(成功解析/未解析的)已被作为检测网络中恶意活动的主要来源。一般集中于识别C2服务器,对此的检测都是基于监督训练,需要大量手工标记。因此,本文设计了一个通过监控NXD响应来检测基于DGA的恶意软件感染的新系统FANCI。
该系统由3个模块组成:训练模块,分类模块和情报模块。它的架构如图1所示:
图1 FANCI的架构和操作的简要概述
训练模块:FANCI是基于监督学习的分类器,需要输入标记的mAGD(恶意的算法生成的域名)和bNXD(良性的不存在域名)。然后对每个输入进行特征提取,训练模型,准备用于分类模块中对未知的NXD进行分类。提取的特征如下图2所示,包括结构特征、语言特征和统计特征。摆脱了之前研究中使用的所有需要额外上下文关系的特征,采用这些可以从单个域名中提取的特征,并且增加了准确性。
结构特征
语言特征
统计特征
图2 每个输入数据的特征
分类模块:分类模块基于从训练模块接收的模型,将任意NXD分类为mAGD和bNXD。这些输入可以来自情报模块,也可以来自任何其他源。首先在输入的NXD上进行特征提取,然后使用先前训练的模型对提取的特征向量进行实际的分类。
情报模块:情报模块的任务是根据分类结果提供情报,特别是查找受感染的设备并识别新的DGA或未知种子。将分类模块的结果进行加工,存储在数据库中。并根据白名单过滤掉阳性结果以进一步减少误报率。
然后,本文作者比较SVM(支持向量机)和RF(随机森林)来找到最佳的分类器设置用于检测mAGD,并通过亚琛大学校园网数据和西门子数据进行了泛化能力的评估以及模型训练和进行分类的速度评估。评估结果显示在绝大数情况下,RF比SVM更优。
本文根据这些评估结果证明了该系统能在很低的假阳性下产生非常高的分类准确度,泛化能力好,并能识别未知的DGA。显示了FANCI能够很好地应用于真实世界,能够为打击基于DGA的僵尸网络做出决定性的贡献。
注:数据集来源:亚琛工业大学、西门子以及DGArchive