基于SVM的DGA家族分类方法研究 #

周琳娜1，吕欣一2*

（1. 北京邮电大学网络空间安全学院，北京 100876；
2. 国际关系学院信息科技学院，北京 100091）

2.02.02.02.02.0School of Cyberspace Security，Beijing University of Posts and Telecommunications，Beijing 100876；School of Information Science and Technology，University of International Relations，Beijing 100091北京邮电大学网络空间安全学院，北京 100876;国际关系学院信息科技学院，北京 100091100091;10009113121068100;1305160962113121068100;13051609621北京市海淀区天秀花园安和园21号楼6单元601号;北京市海淀区坡上村12号国际关系学院zhoulinna@tsinghua.edu.cn;lvxinyi_uir@163.com周琳娜（1972—），女，教授，博士，主要研究方向为网络行为分析、信息隐藏、多媒体内容取证、网络攻防等;吕欣一（1996—），女，硕士研究生，主要研究方向为信息安全周琳娜;吕欣一ZHOU Linna;LV Xinyi周琳娜基金项目：国家自然科学基金重点项目（U1536207）；国家重点研发计划项目（2016QY08D1600）；国家重点研发计划课题（2016YFB0801405）；2018年度中央高校基本科研业务费项目（3262018T02）2.02.02.02.02.02.02.02.02.02.02.02.02.02.02.01*|*期刊*|*YANG G M Z，TIAN Z H,DUAN W L The prevent of advanxed persistent threat[J].Journal of Chemical and Pharmaceutical Research,2015,6(1):572-576.<CR>2*|*期刊*|*李艳斐,李斯祺.基于SIEM的APT检测与防御体系研究[J].网络空间安全,2018,9(06):16-19+25.<CR>3*|*期刊*|*hauniarovich Y, Khalil I, Yu T, et al. A survey on malicious domains detection through DNS data analysis[J]. ACM Computing Surveys (CSUR), 2018, 51(4): 67.<CR>4*|*期刊*|*Ravindran S, Moorthy V, Venkataraman R. An Approach to Secure Software Defined Network against Botnet Attack[J].Journal of Physics: Conference Series. IOP Publishing, 2019, 1362(1): 012127.<CR>5*|*论文集*|*Stone-Gross B, Cova M, Cavallaro L, et al. Your botnet is my botnet: analysis of a botnet takeover[A].Proceedings of the 16th ACM conference on Computer and communications security[C]. New York: ACM, 2009: 635-647. <CR>6*|*论文集*|*Visalli N, Deng L, Al-Suwaida A, et al. Towards Automated Security Vulnerability and Software Defect Localization[A]//2019 IEEE 17th International Conference on Software Engineering Research, Management and Applications (SERA)[C].Piscataway:IEEE, 2019: 90-93.<CR>7*|*期刊*|*王媛媛,吴春江,刘启和,谭浩,周世杰.恶意域名检测研究与应用综述[J].计算机应用与软件,2019,36(09):310-316.<CR>8*|*期刊*|*BILGE L, SEN S, BALZAROTTI D, et al. EXPOSURE: a Passive DNS Analysis Service to Detect and Report Malicious Domains[J].ACM Transactions on Information and System Security (TISSEC), 2014, 16(4): 1-28.<CR>9*|*期刊*|*蒋鸿玲,戴俊伟.DGA恶意域名检测方法[J].北京信息科技大学学报(自然科学版),2019,34(05):45-50.<CR>10*|*论文集*|*YU B, PAN J, HU J, et al. Character Level Based Detection of DGA Domain Names[A].2018 International Joint Conference on Neural Networks (IJCNN)[C]. Piscataway: IEEE, 2018: 1-8.<CR>11*|*期刊*|*刘洋,赵科军,葛连升,刘恒.一种基于深度学习的快速DGA域名分类算法[J].山东大学学报(理学版),2019,54(07):106-112.<CR>12*|*期刊*|*王堃宇.基于LSTM和CNN的恶意域名检测方法[J].信息与电脑(理论版),2019,31(18):56-58.<CR>13*|*期刊*|*Sadegh T, Amine B, Chadi A, et al. Detecting Internet Abuseby Analyzing Passive DNS Traffic: A Survey of Implemented Systems[J].IEEE Communications Surveys & Tutorials，2018，20( 4) : 3389 － 3415．<CR>14*|*学位论文*|*朱迦南. 基于DNS日志数据的异常域名检测研究[D].成都：电子科技大学,2018.<CR>15*|*期刊*|*Zhang X, Mei C, Chen D, et al. Feature selection in mixed data: A method using a novel fuzzy rough set-based information entropy[J]. Pattern Recognition, 2016, 56(1):1-15<CR>16*|*期刊*|*Suykens J A K, Vandewalle J. Least squares support vector machine classifiers[J]. Neural processing letters, 1999, 9(3): 293-300.<CR>17*|*期刊*|*梁伍七,王荣华,刘克礼,李斌.特征选择算法研究综述[J].安徽广播电视大学学报,2019(04):1-8.<CR>18*|*期刊*|*乔风娟,郭红利,李伟,李彬.基于SVM的深度学习分类研究综述[J].齐鲁工业大学学报,2018,32(05):39-44.<CR>19*|*在线文献*|*Netlab OpenData Project[OL].[2019-12-20]http://data.netlab.360.com/dga.<CR>20*|*期刊*|*Woodbridge J, Anderson H S, Ahuja A, et al. Predicting domain generation algorithms with long short-term memory networks[J]. arXiv preprint arXiv:1611.00791, 2016.基于SVM的DGA家族分类方法研究|Research on DGA Family Classification Method Based on SVM|基金项目：国家自然科学基金重点项目（U1536207）；国家重点研发计划项目（2016QY08D1600）；国家重点研发计划课题（2016YFB0801405）；2018年度中央高校基本科研业务费项目（3262018T02）*|1|周琳娜|ZHOU Linna|北京邮电大学网络空间安全学院，北京 100876|School of Cyberspace Security，Beijing University of Posts and Telecommunications，Beijing 100876|周琳娜（1972—），女，教授，博士，主要研究方向为网络行为分析、信息隐藏、多媒体内容取证、网络攻防等|北京市海淀区天秀花园安和园21号楼6单元601号|100091|zhoulinna@tsinghua.edu.cn|13121068100|13121068100<CR>|2|吕欣一|LV Xinyi|国际关系学院信息科技学院，北京 100091|School of Information Science and Technology，University of International Relations，Beijing 100091|吕欣一（1996—），女，硕士研究生，主要研究方向为信息安全|北京市海淀区坡上村12号国际关系学院|100091|lvxinyi_uir@163.com|13051609621|13051609621

摘要：为了检测溯源僵尸网络，大量学者对检测区分使用动态域名算法生成的DGA恶意域名进行了研究，但在规则匹配上大多采用逆向分析的方法，这对使用者的技术要求较高，同时会耗费大量时间和人力资源。本文在对DGA恶意域名检测的基础上，对恶意域名进行分析，找出区分明显的特征进行组合，从域名结构、域名字符特征、域名信息熵三个方面分析提取各个恶意域名家族的特征，并选用了SVM算法进行模型训练。在对DGA恶意域名进行家族分类过程中，利用高斯核函数进行转换，简化了SVM分类器的计算量,在保证分类准确度的同时提高了效率，最终，实验证明验证了该方法的有效性。

关键词：网络安全，DGA分类，机器学习，特征工程，检测技术

中图分类号：TP309

Research on DGA Family Classification Method Based on SVM

ZHOU Linna1, LV Xinyi2

(1. School of Cyberspace Security，Beijing University of Posts and Telecommunications，Beijing 100876;
2. School of Information Science and Technology，University of International Relations，Beijing 100091)

Abstract: In order to detect botnets, a large number of scholars have studied how to detect and distinguish malicious domain names, but most of them adopt the method of reverse analysis in rule matching, which requires high technical requirements for users and consumes a lot of time and human resources. Based on the detection of DGA malicious domain names, this paper analyzes the malicious domain names, finds out the distinguishing features and combines them, analyzes and extracts the features of each malicious domain name family from the three aspects of domain name structure, domain name character characteristics and domain name information entropy, and selects SVM algorithm for model training. In the process of family classification of DGA malicious domain names, the gaussian kernel function is used for transformation, which simplifies the computation of SVM classifier and improves the efficiency while ensuring the classification accuracy. Finally, the experiment proves the effectiveness of this method..

Key words: network security,DGA classification; machine learning; feature engineering; detection technology

引言

随着互联网的发展壮大，网络攻击行为也日益增多。近年来，高级可持续威胁（Advanced Persistent Threat，APT）获得了广泛的关注，APT的危害不容小觑[1]。从目前的发展来看，APT攻击不仅仅是黑客之间技术的较量，甚至会威胁到各种组织、企业以及国家的利益。黑客组织窃取个人隐私，收集各国情报，获得经济利益。其所用的技术，如水坑攻击、钓鱼邮件、木马病毒、DDOS攻击等也是层出不穷。在攻击过程中，攻击组织会投入大量的人力财力时间和技术手段[2]。为了对抗网络攻击，也出现了很多检测系统和工具，一旦发现可疑的IP，检测系统就会做出响应。为了绕过检测软件的检测，作为攻击一方，使用动态域名（Domain Generation Algorithms，DGA）生成域名的方法已被广泛应用，表1中列出了一些使用DGA域名的例子。攻击者使用DGA算法生成大量域名进行攻击，避免暴露自己真实的IP，这样就可以达到不被检测软件拦截的目的。因此，为了防止DGA域名入侵，研究人员开始研究DGA域+名检测技术。当前DGA域名入侵的不断更新，相应的检测技术也不断跟进。但是检测到DGA域名后，对DGA所属家族进行进一步归类在业内还缺乏研究。目前，DGA家族归类大多采用逆向分析等方法进行规则匹配。逆向工程的方法复杂，对安全人员的技术要求较高，周期较长。当逆向分析的样本规则极为复杂时，很难进行匹配。因此，本文另辟蹊径，提取特征并进行分类，对现有的DGA家族进行分析归类。

表1 使用DGA域名的例子

Tab. 1 Examples of using DGA domain names

名称	用途	组织
Wannacry	勒索病毒	Lazarus
BOSHPY	辅助后门	APT 29
URSNIF	数据窃取	未知
CHOPSTICK	恶意软件投放	APT 28
Ebury	修改SSH二进制文件	未知

DGA相关研究

DGA算法

域名系统（Domain Name System，DNS）是一个分布式数据库，实现IP地址和域名的相互映射。而DNS服务器，则可以实现IP地址和域名之间的相互转换[3]。为了躲避检测系统的追踪，僵尸网络、木马、蠕虫等使用动态域名生成算法（Domain Generation Algorithms，DGA），产生大量的随机域名，成功的避开的检测软件的监控。僵尸网络被很多网络攻击组织应用，建立一个全新的完整的僵尸网络耗费的资本很大。因此，很多僵尸网络在构建过程中会实用原有的框架和技术。僵尸网络一旦避开检测软件的监测，感染到主机，在无需授权的情况下，僵尸主机就会被控制者控制[4]。处于内网的计算机一旦被僵尸主机控制，就可能有群发钓鱼邮件，勒索病毒的情况发生，继而感染更多的主机。

动态域名生成算法通过利用随机字符以及加密算法，生成随机的C&C域名[5]。随着DGA域名不断的更新，产生DGA域名的手段也多种多样，表2中列举了几种DGA家族。本文选取比较典型的Conficker为例，Conficker蠕虫感染了超过190国家的计算机，在当时造成了不可估量的损失[6]。该蠕虫选择的域名，依托于带有当前日期的伪随机序列，选择五个顶级域名生成大量随机域名。DGA生成算法目前被公开了一部分，可以通过脚本生成大量的域名。DGA域名的产生依托与种子进行随机变换，而DGA的种子选取也是种类繁多[7]。依靠的种子可以是哈希值，还可以是字母表等。根据脚本的不同，选择的载体也不同。所以，相同的种子以及脚本产生的 DGA域名，在元素组成、长度等方面，会有一定的特征。在实际应用当中，对于某一个DGA域名算法的破解，最难的就是找到其应用的种子。只要找到僵尸网络应用的种子，就有可能预测到DGA域名特征以及发展走向。

表2 DGA家族

Tab. 2 The DGA family

DGA家族	恶意域名
Virut	eeotqe.com tikywo.com qysyaa.com
Vawtrak	bevwnof.ru uhkjsxsh.ru zyjezuzy.ru
Symmi	nuobtoxaap.ddns.net dookcediuxv.ddns.net hahiilguoh.ddns.net
Rovnix	h83ny5zwy2hofzp7kb.com r5sjxbc6hda1tr2tvf.biz squtuu33d3johwzlkx.ru
Nymaim	ycpmqnx.biz fhuippunpii.com aqhfyvsrd.net
Gameover	1ddhov3loty9h1nl7h7k1vfasdk.net tr0khu1pwvaby1pspjrrvjd70t.nｅｔ zh7cdx1kiz52a3tdy6517zipi6.biz

1.2 DGA检测技术

DGA检测技术有一个漫长的发展过程。DGA的检测技术主要用于将恶意域名从正常域名中检测出来。早期的检测技术借助于蜜罐和逆向分析，这种研究的优点在于可以很好的理解和掌握域名生成算法以及样本代码的机制，但是逆向分析的周期很长，会花费大量时间和人力资源。在近阶段的研究当中，统计学被引入到域名检测当中，极大的减少了研究人员的工作量已经检测周期。文献[8]中，研究人员设计了一个系统EXPOSURE，分别选取了时间，DNS应答，TTL值，域名等四个方面15个维度进行特征提取。特征提取完成后，选择了用J48决策树进行分类，并实践证明了该方法在17个月的使用过程中，检测到了10万个恶意域名，检测效果较好。并且，该系统可以提高攻击者的攻击难度。文中也指出了系统存在的一些局限性。该系统使用的训练集为已经出现攻击事件提供的域名样本的，因此，对于全新的恶意域名在防御上可能会存在漏洞。恶意域的识别上，对于包含恶意代码的网站域名，未用作僵尸网络C&C服务器的受感染网站区分，以及受感染的搜索引擎等，该系统并不能检测识别他们所存在的风险。作为一个恶意域检测的系统，在大规模使用上还是有一定的限制。文献[9]中，作者在特征分析上采用了字符的统计特征和N-Gram模型相结合的方式。作者在字符统计特征上选取了六个维度，分别为：字符长度，字符随机性，元音字母比例分析，唯一字符数，唯一字符比例，顶级域名分析。并验证了n-gram模型中，采用1-gram、2-gram、3-gram组合的方式的准确度最高，相较于简单单一的机器学习方法例如朴素贝叶斯等模型，具有较低的误报率。

除了利用机器学习外，深度学习也被引入到DGA的分类当中。YU等人[10]在进一步的研究当中，将机器学习的模型分类效果进行了比较。实验结果表明，基于CNN和RNN的分类器模型，在准确率上几乎没有差异。但是相比之下，基于随机森林模型的分类器，在准确率方面明显低于前两者。文献[11]提出了一种基于CNN-LSTM-Concat 快速DGA 域名分类算法，在对域名序列化的处理上，采用了一维卷积网络，LSTM神经网络训练域名字符间长距离依赖关系，算法的准确率达到了99.4%，高于LSTM算法和CNN算法。深度学习在训练速度上一直是一个弊端，该方法证明其测试速度比单一的LSTM模型提升6.41倍。文献[12]中提出了一种利用长短期记忆网络（LSTM）和卷积神经网络（CNN）的恶意域名检测方法，提取域名作为特征标签，混合使用多种神经网络，来检测DGA 域名和DNS 隐蔽通道。实验结果证明，该DGA检测模型的AUC值可以达到0.995。

除了根据DGA域名本身具有的特征进行挖掘分析，一部分研究者对DNS流量和DNS日志也进行了研究，并成功的分类出恶意域名。文献[13]对目前的DNS流量系统进行了分析研究，发现了大多数被动DNS流量检测系统采用了监督式的机器学习。文献[14]中提出了依据DNS日志，提取恶意域名的特征，这些特征包括：whois更新信息，DNS历史注册信息，使用XGBoost 算法对恶意域名进行分类，结果表明检测的准确率在95％以上。

2基于SVM的恶意域名分类

从目前的发展来看，将DGA域名从正常的域名中检测出来[8-14]，已经有很多种方法，而本文在检测出DGA域名的基础上，进行了下一步的归类研究。从分类研究的角度来看，采用机器学习的分类方法已经逐渐发展成熟，也衍生出很多分类器。本文研究设计的恶意域名分类框架如图1所示。

图1 恶意域名分类框架

Fig. 1 The framework of malicious domain name classification

整个模型被分为以下几个部分：

1）数据预处理。从开源数据集里获得数据，并进行筛选标注和分类。在处理好的数据集中，随机选取一部分作为实验数据。

2）特征工程。分析不同家族的DGA域名，分别从域名的结构，组成元素两个方面，元素文本间的关系三个方面提取特征，分别计算每个家族的特征向量。

3）训练模型。选取实验数据中的75%作为训练集。根据提取的特征进行模型训练。

4）分类器。将剩下的另外25%的数据作为分类对象，用训练好的模型进行分类。

5）模型评估。对完成分类的DGA家族进行检测，调整分类模型参数，绘制ROC曲线。模型的分类效果采用AUC值评估。

2.1 DGA家族恶意域名特征分析

同一家族的恶意域名的核心算法基本一致，所以同一个家族的DGA域名会带有某种特征。本文通过对恶意域名特征的提取，来实现对恶意域名的分类。因此，本文提到的分类算法的关键步骤就是对恶意域名特征的选择。通过研究发现，本文选择了最高的域等级，长度，平均字母数量，平均数字数量，平均符号数量，元音字母的比例，香农信息熵等七个方面来分析不同家族的恶意域名的特征。

从已经公开的恶意域名生成算法的脚本来看，生成域名的随机字符会存在差异。以chinad家族为例，从脚本中可以发现，china家族采用的种子为英文字母和数字，而二级域名则为com，org，net，biz，info，ru，cn，而长度在代码中也进行了限制。因此可以从一下几个方面进行特征提取。

2.1.1域名结构

域名结构上，本文选择了域名的长度和最高域等级作为特征。在域名的组成上，可以是各个国家不同语言的字符。因此，可产生的域名繁多。域名需要由两组或者两组以上的字符串组成，并按照点号分割。实验过程中对域名进行分割时，就是采用识别域名中的点号的方式，将域名的不同等级进行提取。按照规定，本文将从右往左定义域名的等级。从右至左依次将每组字符串定义为顶级域名、二级域名、三级域名。恶意域名需要做到与正常域名相似，这样才能达到逃避检测的目的，而顶级域名一般代表一定的含义，因此DGA域名在产生顶级域名时，一般不会采用生成随机字符串的方式。所以，本文的特征挖掘在域名的最最左边一组字符串进行，也就是二级域名或者三级域名。按照由DGA算法产生的字符串，在样本中会对长度进行限制，通过对算法的研究，以及对生成域名长度的统计，得到了不同家族的域名长度的特征。大多数的DGA家族采用较长的DGA域名，也有一些选择了生成短域名。在分类时，本文选择了均值作为特征分类。部分DGA家族域名长度对于如表3所示。

表3 不同家族的域名长度对比

Tab.3 Comparison of the domain names from different families

Chinad(长度)	gameover(长度)	virut(长度)
fgkxhd41nvcwcfks.ru（16）	1kifmwhtl35ax17dwh8zp7rann.net（26）	wecuvr.com(6)
s1pznu37dc9uat6o.biz（16）	36ie4usjsdfl1weveovyr5p4i.org（25）	baukfb.com(6)
ab195l5vcywlpoeb.biz（16）	kyo4eq1miosvmsghn0w1dy1r6r.org (26)	wmoxwi.com(6)
uabyfqh0ulq8ndo5.net（16）	xyrj3mmsytvg1n8z3pe10weqfw.net (26)	stqylf.com(6)

选取几个家族进行研究，域名结构特征分布如图2 所示。

图2 域名结构特征分布

Fig. 2 The distribution of domain name structure feature

2.1.2域名字符特征

对于域名本身的字符上的特征挖掘，本文分别选取了平均字母数量、平均数字数量、平均符号数量、元音字母的比例作为分类依据。从xshellghost的脚本可以看出，域名的种子是基于时间的，而suppobox则是基于一个单词表来生成随机字符串，因此，相同家族的恶意域名在元素组成上会有类似的特征。由于种子的不同，有些家族的域名里面包含数字或者其他特殊的字符，通过研究发现，数字和特殊字符的占比在不同的家族中会有差异。不同恶意域名家族的域名字符特征如图3 所示。

图3 不同家族域名字符特征

Fig.3 Character characteristics of different family domain names

2.1.3信息熵

为了挖掘恶意域名字符串文本上的关系，本文引入了香农信息熵[15]。信息熵可以表达系统内的混乱程度，也就是说，域名系统内的文本复杂程度。香农信息熵越大，则系统内的混乱程度越大，香农信息熵的计算公式如公式1所示。由于系统内部的组成成分很多，因此香农信息熵采取的是平均不确定性，即对系统内每一个元素的混乱程度取平均值。

（公式1）

实验研究表明，不同家族之间的信息熵存在差异，同一家族的信息熵则会较为接近。表4列出了一些家族的信息熵。虽然与正常域名相比，DGA域名的信息熵普遍偏大，但是不同家族之间字符串之间的混乱程度是有规律可循的，随机字符串的生成有时也是按照一定的规则，一些家族采用的种子有规律可循。

表4 不同家族DGA域名信息熵对比

Tab.4 Comparison of information entropy of DGA domain names in different families

恶意域名	DGA家族	信息熵
1fth95q192lh211lcyfzc1tbf02h.net	Gameover	2.57
mqm4u2ijkcq91vb3la176uque.com	Gameover	2.90
1jfcy8s1j0tvnq18j22k11unub06.com	Gameover	2.75
eheieg.com	Virut	1.50
yoraef.com	Virut	1.90
gumaou.com	Virut	1.73

2.2 SVM分类算法

本文选择了支持向量机[16]（Support vector machine, SVM）进行分类。SVM采用监督学习的方式对样本进行二元分类。由于SVM的分类性能优越，被应用到很多分类实验中，本次实验将SVM引入到多分类的问题中来。SVM的工作原理是寻找样本中的最大间隔的超平面作为决策边界。将数据的特征向量映射到空间中去形成样本点，SVM算法的目的在于画出一条线可以将样本进行分类。SVM算法划分超平面的过程大致如下：

计算的平面可以用数学公式定义为(公式2)：

(公式2)

其中，X为训练集的集映，W 为权重，w={w1,w2,...,wn} ，n代表特征向量数量，b为其他权重。

利用KKT条件和拉格朗日公式可以计算出计策边界，如(公式3)所示：

(公式3)

其中，和b0为优化算法的参数。对于数据的预处理，应对数据进行标签化处理，分为两类分别记为+1和-1。公式中yi代表数据Xi的标签。

SVM算法的性能和准确度与内核的选择和特征子集的选取有关[17]。SVM算法中的最优化求解[18]，采用了核函数的方法进行转换。核函数可以将样本映射到高维空间里，实现在低维度上计算，在高维度上分类的效果，以简化分类器的计算量。一些样本特征在低维度上并不容易进行分类，但是映射到高维空间中，就会明显的区分开。常用的核函数有S 型核函数(Sigmoid function kernel)，linear线性核函数和高斯核函数(Gaussian radial basis function kernel)等。本文选取高斯核函数和线性核函数两种方法，进行对比实验，最终选择最优的高斯核函数。

3 实验测试

3.1实验环境

实验所用的环境如表5所示：

表5 实验环境

Tab.5 Lab environment

环境	参数
处理器	GeForce MX150
内存	4GB
操作系统	Windows 10
IDE	Jupyter
开发语言	Python
库	Pandas，numpy，math，sklearn

3.2数据预处理

本文实验数据选择来自360netlab的公开数据集[19]，选取了14个DGA家族进行实验，共一万多条数据进行分类，模型的训练集与测试集的比例大致为3：1，为了保证模型的训练效果，实验过程中，要保持每个家族的恶意域名的数量基本上一致。我们从360netlab网站上获取原始数据集，原始数据集中包含一些与实验无关的数据信息，因此，按照分类从文件中提取域名，形成新的数据集进行实验。在进行特征挖掘的过程中，也需要对顶级域名和二级域名进行提取和处理，并把每一个家族的恶意域名按照家族分类整理成文件夹。本文采用的是SVM作为分类算法进行分类，其分类表现在二维向量中较为优越，为了将SVM用于多分类的实验，对于标签也需要进行处理。二分类的标签二值化处理之后只有两种，即0和1。那么在处理多分类的过程中，本文仍采用将标签二值化的处理办法，转化成0和1。与二分类不同的是，处理过程中，每一个域名的标签被定义为一个1*n的矩阵，其中n为家族数量。矩阵中只有二值化后的0和1，而1的位置代表该恶意域名所属的家族。

3.3实验结果指标分析

ROC曲线(receiver operating characteristic)和AUC(area under curve)指标均适用于二分类的情况,而本文采用的是多分类。因此，在衡量分类器指标时，需要分别考虑每一个分类。ROC曲线的横轴为假正率，纵轴为真正率。而ROC曲线所围面积即为AUC值，AUC的取值范围在0到1之间。显然，AUC的值越大，分类效果越准确。根据分类结果，可以画出14条ROC曲线，为了衡量多分类器的效果，这里我们采用了对曲线取均值的办法，绘制一条ROC曲线，如图4所示。在实验过程中，我们也选取了不同的分类算法，以及模型参数进行比较，选出最优的模型。图4中显示了采用不同的核函数下，以及不同的分类算法下，分类器的结果指标。使用逻辑回归(Logistic Regression, LR)算法作为分类器时，AUC值为0.91。使用SVM算法作为分类器时，采用线性核函数的AUC值为0.90，而采用高斯核函数的AUC值为0.98。并且，在计算速度上，高斯核函数的计算速率更快，更适合数据集较大时的计算。所以，使用SVM算法在调整适当的参数之后，可以满足实验需求。传统意义上，判断DGA所属家族需要根据现有域名进行逆向分析，更加依赖于人力，而该方法引入了机器学习，让这个过程趋于自动化。

图4 ROC曲线

Fig.4 ROC curve

深度学习的优点在于无需特征工程，但其训练时间较长。文献[20]利用LSTM对DGA域名与正常域名进行筛选鉴别，也对DGA家族的做了一些分类实验，有着较好的分类性能。本文将LSTM分类算法与SVM分类算法进行了实验对比，在表6中列举出了两者一些分类性能上的指标。数据表明，采用SVM分类算法具有更好的效果。

表6 分类器指标

Tab. 6 classifier indicators

LSTM	SVM
AUC	0.92	0.98
准确率	0.55	0.87
召回率 精确率	0.55 0.53	0.89 0.86

4总结与展望

人工智能技术快速发展，已经渗透到各个领域。因此，基于机器学习的网络安全防护技术在近几年来也会是研究的热门方向。传统的网络安全技术，大多依赖于自动化软件，需要经验丰富的网络安全工程师进行逆向分析、渗透测试。将机器学习引入到网络空间中，主要目的就是可以减少人力和时间资源的花费。但是，机器学习的分类方法始终存在着一个问题，就是当训练数据过大时训练时间会较长，对处理器和内存要求也比较高。本文尽量选择比较容易区分的特征以及容易计算的参数来进行分类。但是，对DGA域名字符之间的随机性关联上，其挖掘技术还需要进一步的研究。对于文本关联性的问题，势必会引入自然语言处理方面的模型，虽然增加了提取的特征以提高准确度，但是引入模型会带来速度上的减缓。从实际应用的角度来看，分类器的应答应该越快越好。此外，我们现在的研究是基于已有的DGA进行提取分类。但是对于新产生的DGA，现有的研究不可正确地识别他们，因此，在下一步研究中,对于无法分类的DGA，可以选择建立一个特征库，将新的DGA家族特征统计到特征库中，以增加识别的兼容性和广度。

在以往APT溯源的过程中，大多采用逆向分析。而本文在逆向到僵木蠕家族的过程中采用了对DGA域名分类的方法。文献[8-14]中介绍了DGA域名检测技术，本文在对DGA恶意域名检测的基础上，进行进一步研究，对检测出的DGA域名进行家族分类。该方法有利于后续阶段的规则匹配，快速找到所属的恶意软件，及时进行的网络安全防护。与以往通过逆向分析的方法相比，本文采用域名信息熵和机器学习的方法进行分类，相比逆向分析缩小了DGA恶意域名检测的时间和人力资源花费。本文选择的分类方法依赖于特征工程，下一步研究中，还应该继续挖掘文本特征，实现更精准详细的分类。

[参考文献] (References)

[1] YANG G M Z，TIAN Z H,DUAN W L The prevent of advanxed persistent threat[J].Journal of Chemical and Pharmaceutical Research,2015,6(1):572-576.
[2] 李艳斐,李斯祺.基于SIEM的APT检测与防御体系研究[J].网络空间安全,2018,9(06):16-19+25.
[3] hauniarovich Y, Khalil I, Yu T, et al. A survey on malicious domains detection through DNS data analysis[J]. ACM Computing Surveys (CSUR), 2018, 51(4): 67.
[4] Ravindran S, Moorthy V, Venkataraman R. An Approach to Secure Software Defined Network against Botnet Attack[J].Journal of Physics: Conference Series. IOP Publishing, 2019, 1362(1): 012127.
[5] Stone-Gross B, Cova M, Cavallaro L, et al. Your botnet is my botnet: analysis of a botnet takeover[A].Proceedings of the 16th ACM conference on Computer and communications security[C]. New York: ACM, 2009: 635-647.
[6] Visalli N, Deng L, Al-Suwaida A, et al. Towards Automated Security Vulnerability and Software Defect Localization[A]//2019 IEEE 17th International Conference on Software Engineering Research, Management and Applications (SERA)[C].Piscataway:IEEE, 2019: 90-93.
[7] 王媛媛,吴春江,刘启和,谭浩,周世杰.恶意域名检测研究与应用综述[J].计算机应用与软件,2019,36(09):310-316.
[8] BILGE L, SEN S, BALZAROTTI D, et al. EXPOSURE: a Passive DNS Analysis Service to Detect and Report Malicious Domains[J].ACM Transactions on Information and System Security (TISSEC), 2014, 16(4): 1-28.
[9] 蒋鸿玲,戴俊伟.DGA恶意域名检测方法[J].北京信息科技大学学报(自然科学版),2019,34(05):45-50.
[10] YU B, PAN J, HU J, et al. Character Level Based Detection of DGA Domain Names[A].2018 International Joint Conference on Neural Networks (IJCNN)[C]. Piscataway: IEEE, 2018: 1-8.
[11] 刘洋,赵科军,葛连升,刘恒.一种基于深度学习的快速DGA域名分类算法[J].山东大学学报(理学版),2019,54(07):106-112.
[12] 王堃宇.基于LSTM和CNN的恶意域名检测方法[J].信息与电脑(理论版),2019,31(18):56-58.
[13] Sadegh T, Amine B, Chadi A, et al. Detecting Internet Abuseby Analyzing Passive DNS Traffic: A Survey of Implemented Systems[J].IEEE Communications Surveys & Tutorials，2018，20( 4) : 3389 － 3415．
[14] 朱迦南. 基于DNS日志数据的异常域名检测研究[D].成都：电子科技大学,2018.
[15] Zhang X, Mei C, Chen D, et al. Feature selection in mixed data: A method using a novel fuzzy rough set-based information entropy[J]. Pattern Recognition, 2016, 56(1):1-15
[16] Suykens J A K, Vandewalle J. Least squares support vector machine classifiers[J]. Neural processing letters, 1999, 9(3): 293-300.
[17] 梁伍七,王荣华,刘克礼,李斌.特征选择算法研究综述[J].安徽广播电视大学学报,2019(04):1-8.
[18] 乔风娟,郭红利,李伟,李彬.基于SVM的深度学习分类研究综述[J].齐鲁工业大学学报,2018,32(05):39-44.
[19] Netlab OpenData Project[OL].[2019-12-20]http://data.netlab.360.com/dga.
[20] Woodbridge J, Anderson H S, Ahuja A, et al. Predicting domain generation algorithms with long short-term memory networks[J]. arXiv preprint arXiv:1611.00791, 2016.

基金项目：基金项目：国家自然科学基金重点项目（U1536207）；国家重点研发计划项目（2016QY08D1600）；国家重点研发计划课题（2016YFB0801405）；2018年度中央高校基本科研业务费项目（3262018T02）

作者简介：周琳娜（1972—），女，教授，博士，主要研究方向为网络行为分析、信息隐藏、多媒体内容取证、网络攻防等. E-mail: zhoulinna@tsinghua.edu.cn