01 配景
盘算机网络实现了资源共享、即时通讯和漫衍式盘算,给人们的事情和生涯带来了极大的便当。然而这些网络也会被恶意软件滥用,僵尸网络(botnet)就是典典范子。僵尸网络由大宗受控主机即僵尸(bot)和一个或多个下令和控制C2(Command &Control)服务器组成,bot与C2服务器相互通讯以便转达下令和数据。为阻止C2服务器被发明,恶意软件想法接纳规避手艺来隐藏bot与C2服务器的通讯行为,其中,域名天生算法DGA(Domain Generation Algorithm)就是一种适用手艺。简朴地说,攻击者使用DGA算法和种子(如时间、辞书等)天生大宗算法天生域名AGD(Algorithmically Generated Domain),然后只需要使用一个域名来举行C2通讯,而防御者为了发明该域名,需要对所有AGD域名举行检测�;谡庵止シ浪剿枳试吹牟畛爻菩�,DGA手艺被攻击者普遍使用。MITRE ATT&CK C2战术T1568.002手艺纪录了十几个使用DGA手艺的APT组织,好比APT41、Aria-body等。从2008年污名昭著的Kraken和Conficker恶意软件以来,为了绕过入侵检测系统的检查,险些所有恶意软件都接纳了DGA手艺。最新的手艺报告预计,恶意AGD域名数目约占域名总数的9.9%,其中1/5属于基于DGA的僵尸网络(约占所有注册域名的1.8%)。
目今,DGA域名检测研究是清静圈讨论的热门话题。古板的DGA域名检测要领是使用黑名单战略实现,但由于DGA域名容易天生且规模量大,这就导致一直网络和更新黑名单变得不现实�;诨笛暗腄GA域名检测要领可以阻止这一缺乏,实现实时检测,已成为DGA域名检测领域研究主流偏向。
本文将向读者先容DGA域名基础知识、DGA域名检测要领现状以及我们提出的DGA域名检测计划。
02 简介
2.1 DGA域名攻击原理
DGA是一组算法机制,被种种恶意软件家族用来天生大宗的伪随机域名。伪随机意味着字符串序列似乎是随机的,但由于其结构可以预先确定,因此可以重复爆发和复制。
大大都随机天生的域名是不保存的,只有其中一小部分域名会被注册以供受控主机与C2服务器举行通讯,从而获守信息或跟踪其他恶意使命。别的,当一个域名被乐成阻止时,攻击者会从DGA天生的域名列表中注册其他域名。使用DGA域名举行攻击的原理如图1[1]所示。
攻击者通过DGA算法天生大宗备选域名,受控端恶意软件运行统一套DGA算法,天生相同的备选域名列表,当举行攻击的时间,攻击者选择其中少量域名举行注册,受控端通过盘问获取已注册域名后便可以与C2服务器建设毗连,举行下令和数据传输。

2.2 DGA域名分类
2.2.1 凭证种子举行分类
种子是攻击者和客户端恶意软件共享的DGA算法的输入参数之一,差别的种子得出的DGA域名是纷歧样的。
DGA使用的种子有许多种类,包括日期、社交网络搜索热词、随机数或辞书,DGA凭证种子天生一串字符前缀,添加TLD(顶级域,如com、org等)后获得最终天生域名。
一样平常来说,种子可按如下方法举行分类:
基于时间的种子:DGA算法使用时间信息作为输入(如:受控主机的系统时间,http响应的时间等);
是否具有确定性:主流的DGA算法的输入是确定的,因此AGD可以被提前盘算,可是也有一些DGA算法的输入是不确定的(如:Bedep以欧洲中央银行天天宣布的外汇参考汇率作为种子,Torpig用Twitter的要害词作为种子,只有在确准时间窗口内注册域名才华生效)。
凭证种子的分类要领,DGA域名可以分为以下4类:
TID(time-independent and deterministic):与时间不相关,可确定;
TDD(time-dependent and deterministic):与时间相关,可确定;
TDN(time-dependent and non-deterministic):与时间相关,不可确定;
TIN(time-independent and non-deterministic):与时间不相关,不可确定;
2.2.2 凭证天生算法举行分类
现有DGA天生算法一样平常可以分为如下4类:
基于算术:该类型算法会天生一组可用ASCII编码体现的值,从而组成DGA域名,盛行度最高;
基于哈希:用哈希值的16进制体现爆发的DGA域名,常使用的哈希算法有:MD5,SHA256;
基于辞书:该方法会从专有辞书中挑选单词举行组合,镌汰域名字符上的随机性,疑惑性更强,辞书内嵌在恶意程序中或者从公有服务中提��;
基于排列组合:对一个初始域名举行字符上的排列组合。
2.3 DGA域名举例
DGA的使用很是普遍,现在已知的DGA家族有40多个。下表枚举了4个DGA家族的TLD(顶级域)、SLD(二级域)和样例:

表1 差别DGA家族举例
03 现状
3.1 概述
大大都DGA算法都具有时间依赖性和确定性,即它们的天生参数是可获取和可重用的,从而盘算出所有可能的效果�;诖颂氐�,可以对每个恶意软件及其变体举行逆向剖析获得域名天生算法和种子,从而提取给定日期和时间的有用域名荟萃,加入黑名单举行DGA域名检测。
可是,当思量到天天发明的恶意软件及变种的数目时,这种要领是不可行的。缘故原由有两个方面,其一是黑名单的更新速率远远赶不上DGA域名的天生速率;其二是必需阻断所有的DGA域名才华阻断受控主机与C2服务器通讯。据文献[2]所言,开源黑名单的DGA笼罩率低,仅不到1.2%的DGA包括在黑名单中。因此,粗暴用DGA构建黑名单的要领并不可解决基础问题。
基于机械学习的DGA域名检测要领大部分是直接从完全及格域名FQDN(Fully Qualified Domain Name)提取特征,将FQDN作为一个字符串,提取长度、熵、NGram等特征,这类要领不依赖于上下文信息,例如时间、情形设置等,因此,可以实现实时检测。
现在古板机械学习算法和深度学习都被用于DGA域名检测,并都取得了不错的效果。古板机械学习算法分为监视学习和无监视学习两类,这两类算法都在DGA域名检测中有应用。
3.2 基于监视学习的检测
常用的监视学习算法有决议树和随机森林,例如文献[3]使用决议树解决区分DGA域名和正常域名的二分类问题,使用的特征有域名长度、字符比例(包括元音字母、子音字母、数字)和NGram熵;文献[4]也是使用决议树算法举行二分类,使用的特征为域名长度和自界说的域名期望值。随机森林有助于解决决议树的过拟合问题,文献中普遍使用随机森林来处置惩罚基于DGA的僵尸网络问题,例如文献[5]就是使用随机森林算法解决二分类问题,使用的特征有四类:漫衍特征、结构特征、发音特征、通用特征。
3.3 基于无监视学习的检测
基于决议树和随机森林的模子属于监视学习,都需要特征才华事情。无监视学习与有监视学习相比有一个主要的优势是不需要带标记的数据集。众所周知的K-Means算法是一个简朴常用的无监视学习算法,被普遍应用在DGA域名检测中,例如文献[6]使用KMeans举行DGA家族的多分类,使用了域名的长度、熵和NGram相关特征;文献[7]使用KMeans举行区分正常和DGA域名,使用了可读性(NGram)、信息熵、结构(长度、字符比例等)三类特征。在已往十年中,只有少数无监视算法用来解决DGA域名检测问题。除了KMeans尚有两种聚类要领:混淆模子(MM)和HC,但它们的使用很是有限,效果不睬想。
3.4 基于深度学习的检测
深度学习也在DGA域名检测中有普遍的应用,循环神经网络(RNNs)、是非期影象网络(LSTM)和卷积神经网络(CNN)都被应用到了DGA域名检测中。例如:文献[8]使用LSTM解决DGA域名和正常域名二分类、DGA家族多分类问题;文献[9]研究并开发了经典LSTM的变体,也用来举行二分类和多分类;文献[10]较量了RNN、LSTM、CNN和CNN-LSTM组合举行DGA二分类和多分类的效果。深度学习在二分类中体现精彩,但在多分类中此类要领在准确度和召回率方面都取得了令人嫌疑的效果。最后需要说明的是深度学习虽然可以提供很好的分类效果,但它们往往是太过拟合的,尤其是不透明的,缺乏透明度最终导致无法对算法举行微调,也无法诠释效果背后的缘故原由。
还值得一提的是,有研究使用深度学习算法举行特征提取,然后使用分类算法举行分类,例如文献[7]使用CNN天生特征,这些特征随后由决议树和随机森林分类器举行分类。
04 计划
本文提出了一种简朴高效的DGA域名检测计划。该计划仅提取域名的字符串特征举行DGA域名检测,实验批注该计划简朴有用。该计划的详细检测模子示意图如图2所示。接下来我们将重点从特征工程和模子评估两个角度举行先容。

4.1 特征工程
本计划使用特征20多个,分为两类:一类为经典的字符串怀抱特征,例如长度、熵、字符比例等,这类特征简朴有用;一类为NLP-nGrams相关的特征。这些特征大大都反应了应用实践中对域名的要求,例如SEO(搜索引擎优化)建议了域名的理想长度(约莫12-13个字符),以及具有易读、易记、易撒播等特点。
本计划对每个特征的直方图和相对漫衍举行了剖析,下面临部分特征漫衍图举行举例剖析。
域名长度:
域名长度是区分正常和DGA域名的一个主要特征,从图3域名长度漫衍图可以看出DGA域名的长度更长。
域名熵:
熵反应了字符串的随机性,DGA域名是由算法天生的伪随机字符串,其随机性跟正常域名相比更高。图4为正常域名和DGA域名的熵漫衍比照图。
域名字符转移概率:
字符转移概率可以反应域名的可读性,使用正常域名或者英文语料统计N-Gram的转移概率,由于DGA域名更随机,其N-Gram转移概率与正常语料差别较大。
字符比例:
字符比例也是区分正常域名和DGA域名的常用特征,所述字符包括数字、元音字母、子音字母等。
nGram:
本计划中盘算了nGram泛起概率排名的平均值和方差,基准为英文语料,由于DGA域名的随机性,其与英文语料差别较大,因此其nGram泛起概率的排名更靠后。
4.2 模子评估
本计划使用的训练数据泉源于果真数据集,数据量在百万以上,模子检测效果如下表所示:

表2 模子检测效果
从上表的数据可以看出差别算法的检测效果差别不大,检测率均抵达96%以上。
05 后记
相较量黑名单方法,基于机械学习的DGA域名检测要领具有一定的优势,但仍然需要凭证现真相形举行优化。本文提出的DGA域名检测计划能够抵达较好的检测效果,可是计划对基于辞书的DGA域名检测效果尚有优化空间,这将作为后续研究的重点;另外,本计划是针对DGA域名和正常域名举行的二分类研究,后续我们将进一步对DGA家族举行多分类研究,敬请关注。
参考文献
[1]Patsakis,Constantinos,and FranCasino. "Hydras and IPFS: a decentralised playground for malware."International Journal of Information Security (2019): 1-13.
[2]Kührer M, Rossow C, Holz T (2014) Paint it black: evaluating the effectiveness of malware blacklists. In: RAID 2014: research in attacks, intrusions and defenses, June, pp 1–21. Springer International Publishing.
[3]Ahluwalia A, Traore I, Ganame K, Agarwal N (2017) Detecting broad length algorithmically generated domains. In: Intelligent, secure, and dependable systems in distributed and cloud environments, chap. 2, pp 19–34. Springer International Publishing.
[4]Truong D, Cheng G (2016) Detecting domain-flux botnet based on DNS traffic features in managed network. Security Communication Networks 9(14):2338–2347.
[5]Luo X, Wang L, Xu Z, Yang J, Sun M, Wang J (2017) DGASensor: fast detection for DGA-based malwares. In: 5th international conference on communications and broadband networking, pp 47–53.
[6]Bisio F, Saeli S, Lombardo P, Bernardi D, Perotti A, Massa D (2017) Real-time behavioral DGA detection through machine learning. In: 2017 international carnahan conference on security technology, pp 1–6.
[7]Pu Y, Chen X, Pu Y, Shi J (2015) A clustering approach for detecting auto-generated Botnet domains. In: Applications and techniques in information security, pp 269–279.
[8]Woodbridge J, Anderson HS, Ahuja A, Grant D (2016) Predicting domain generation algorithms with long short-term memory networks. CoRR abs/1611.0.
[9]Tran D, Mac H, Tong V, Tran HA, Nguyen LG (2018) A LSTM based framework for handling multiclass imbalance in DGA Botnet detection. Neurocomputing 275:2401–2413.
[10]Vinayakumar R, Soman K, Poornachandran P, Sachin Kumar S (2018) Evaluating deep learning approaches to characterize and classify the DGAs at scale. J Intell Fuzzy Syst 34(3):1265–1276.
版权声明
转载请务必注明来由。
版权所有,违者必究。
- 要害词标签:
- 4118云顶集团 人工智能清静 AI清静应用 DGA域名检测

京公网安备 11010802026257号