基于机器学习检测僵尸网络中的域名生成算法

来源:岁月联盟 编辑:猪蛋儿 时间:2020-03-16

0x01 Absert
恶意软件通常使用域名生成算法(DGA)作为联系其C&C服务器的机制。近年来,基于机器学习已经提出了不同的方法来自动检测生成的域名。但也存在一些问题。第一个问题是,由于缺乏独立标准,难以系统地比较这些DGA检测算法。第二个问题是,当这些DGA检测器的机器学习模型已知时,对手绕过这些分类器的难度如何。
本文比较了同一DGA集合上的两种不同检测方法:使用人工特征工程的经典随机森林和深度学习递归神经网络。独立进行标准测试并比较两种最新的DGA检测方法:
(a)FANCI ,这是最近在USENIX Security 上使用人工特征工程的随机森林分类器
(b)Woodbridge的LSTM ,这是一种基于深度递归神经网络的分类器
 
0x02 DGA
恶意软件不知不觉中安装在计算机上,就可以用于攻击其他计算机,发送未经请求或网络钓鱼的电子邮件,窃听通信,窃取电子邮件地址,加密计算机内容,并向用户请求赎金。解密能力,以及更多恶意方案。存在被感染机器的大型池称为僵尸网络,它们由命令和控制(C&C)服务器进行控制。

为了防止这些C&C服务器被关闭或无法访问,恶意软件通常使用域名生成算法(DGA),以便每隔一定时间创建一组新的伪随机域名。上图为肉鸡使用DGA连接到C&C服务器的过程。恶意软件会生成许多随机域,然后由恶意软件进行尝试,只有僵尸网络所有者必须注册其中之一才能使僵尸网络能够成功重新连接到其C&C服务器。这使得清除僵尸网络成为一项艰巨的任务。
相反,识别算法生成的域名可以帮助检测受感染的主机,并标记旨在控制僵尸网络的域名注册。可以成功地区分算法生成域名和人工创建域名的分类器对于安全研究人员、执法人员和网络运营人员都是很有用的。
在安全和隐私领域,与传统的机器学习方法相比,深度神经网络已经证明了其自主查找和提取相关特征的能力以及改进的分类准确性。同样对于DGA的检测,最近有相关工作提出了基于深度学习方法的解决方案。但是,恶意攻击者也可以利用这些AI分类方法来逃避对其恶意软件的检测。这些观察结果反映了一种对抗升级。其一涉及进一步改进高级深度学习方法,以提取更好的功能用于进攻或防御目的。其二是对手试图绕过安全专家开发的新防御措施,而不论使用哪种机器学习方法。
 
0x03 Ground truth
恶意(DGA)和普通(非DGA)域名的数据是从不同来源收集的:恶意数据集是从DGArchive 获得的,DGArchive是Fraunhofer FKIE提供并由Daniel Plohmann维护的服务。由于只有有限数量的顶级域(TLD)可用,并且域生成算法使用的特定TLD对分类准确性没有任何影响,因此从DGA域名中删除了TLD。当从域名中忽略TLD后,选中DGArchive中的所有DGA,这些DGA中有100,000个或更多唯一记录的可用域名。这产生了下表所示的26个DGA的列表。

对于普通数据集,许多人选择了Alexa 访问量最大的网站的前n个列表。然而事实证明Alexa列表已经包含了DGA生成的域名。此外,与注册域名的平均相比,最受欢迎的域名列表很可能偏向于更短,更容易发音和更容易记住的域名。因此选择使用2016年来自知名TLD的前100,000个注册域名的列表,这些列表根据以下条件过滤:
•域名未出现在以下任何黑名单中:
Google的安全浏览列表,
Spamhaus DBL黑名单,
SURBL黑名单。
•没有使用国际化域名(因为在撰写本文时所有DGA都不使用国际化(IDN)域名-这使国际化域名对分类不重要)
•DGArchive中未知域名。
对于每个DGA,构建了10万个普通域名和10万个恶意域名混合的数据集,使用相同的普通域名数据对每个DGA进行评估。
 
0x04 DGA Classifiers

Woodbridge LSTM:即伍德布里奇等人提出的长期短期记忆(LSTM)神经网络,STM是一种特定类型的递归神经网络(RNN)。 RNN通常用于识别或预测顺序数据中的模式。与前馈神经网络相反,RNN具有内部的短期记忆,可以保留有关所接收输入的重要信息。他们通过复制输出并将其循环回到网络来实现此目的,如上图所示。此特性使RNN可以对序列及其上下文有更深入的了解,并预测接下来会发生什么。 LSTM通过使此类网络能够在更长的时间内记住其输入来扩展RNN,从而将其存储容量扩展到两个时间步之外。 LSTM中的单元具有可通过一组可编程门进行读取,写入或重置的状态。这些门将输入连接和循环连接都调制为0到1之间的值,从而使当前状态在各时间步之间保持不变。
LSTM非常适合识别DGA,因为LSTM可以学习并概括许多DGA的生成过程,而无需基于原始输入手动进行特征工程。LSTM是一个黑盒的,如果没有相同的训练集,攻击者很难绕过分类器。
Woodbridge LSTM由以下顺序层组成:•嵌入层,可将域名字符的可变长度序列转换为固定长度的零填充要素数组。
•LSTM层,它从嵌入层接收其尺寸为38(编码26个字符,10个数字,破折号和结束标记)的输入,并生成128的输出尺寸
•dropout层为0.5,可防止过度拟合
•密集的输出层,有一个输出维度,然后是Sigmoid激活函数
使用5折交叉验证分别评估每个DGA的分类器的性能:网络在10个周期内使用4/5的数据进行训练,批处理大小为128;然后将剩余的1/5数据用于测试经过训练的网络。使用不同的数据折叠次数再重复4次,丢弃先前训练过的网络,从而确保测试数据从未用于训练。
 
0x05 FANCI features
根据FANCI对域名进行特征工程,将41个提取的特征送入100棵树的随机森林,每棵树都考虑6个随机特征,之后使用5折交叉验证来评估其性能.。FANCI系统不仅通过检查域名字符序列来检测DGA生成的域名,还可以查看从NXDomain DNS查询获得的其他功能。

[1] [2]  下一页