基于域名字符串统计特征的DGA生成域名的检测方法技术

技术编号:15898967 阅读:1027 留言:0更新日期:2017-07-28 21:39
本发明专利技术公开了一种基于域名字符串统计特征的DGA生成域名的检测方法。该方法提取域名字符串中包含连续数字占比、连续二辅字占比、随机相邻双字平均相似指数、随机相邻三字平均相似指数、单元音字母到二字符平均转移概率、单辅音字母到二字符平均转移概率六个维度的统计特征量,并通过包含正常域名和典型DGA算法生成的恶意域名的测试集合训练分类器,通过分类器实现对恶意软件DGA生成域名的检测。本发明专利技术采用特征提取和分类器训练分类的模式,且所提六个维度的统计特征量均能敏感地区分正常域名和DGA生成的域名,降低了实施训练和检测的计算复杂度。

【技术实现步骤摘要】
基于域名字符串统计特征的DGA生成域名的检测方法
本专利技术涉及网络安全
,尤其涉及一种基于域名字符串统计特征的DGA生成域名的检测方法。
技术介绍
DNS作为实现域名和IP地址映射的分布式系统,是当前互联网中重要的基础设施之一。进行间谍活动、勒索破坏、僵尸网络的恶意软件和C&C进行通信过程中,通常会避免使用确定的IP地址以避免C&C迁移后导致的通信失连。而固定的域名也容易导致形成可察觉的软件指纹。且域名一旦被列人黑名单,软件的远控即失效。在这种背景下Domain-Flux技术(SharifnyaR,AbadiM.DFBotKiller:Domain-fluxbotnetdetectionbasedonthehistoryofgroupactivitiesandfailuresinDNStraffic[J].DigitalInvestigation,2015,12(12):15-26.)得到了广泛应用,它采用域名生成算法DGA,通过特定的参数(如网络时间,热门话题等)定期自动生成大量的随机域名。实施远控的C&C控制者通过相同的种子获得相同的域名池,并选取其中的一部分域名注册为C&C服务器的域名。恶意程序在域名池中随机挑选域名进行DNS解析,一旦解析成功便可获得C&C服务器的IP地址并与之建立连接。由于其他一些实施APT攻击和Botnet控制的软件也大量使用这一手段。所以针对DGA生成域名的DNS请求的发现,成为一种间接的恶意软件检测方法。当前这方面的主要方法如下:第一种是随机森林的dga域名检测方法(王红凯,张旭东等.基于随机森林的dga域名检测方法:CN105577660A[P].2015),该方法主要使用了域名长度、域名信息上、域名语音性、域名中元音字符数、域名中数字字符数、域名中重复字母数、域名中连续数字字符数、域名中非元音连续字符数、域名中N元语言模型在白明代中得分以及域名中N元语言模型在单词字典中的得分。该方法采用的特征数量多,且存在很多区分能力不强的低阶特征,训练的时间长效率低。第二种基于域名特征的c&c域名识别方法(唐力,岳扶天,周海燕.基于域名特征的c&c域名识别方法,CN105072214A[P].2015),该方法陈述的主要特点是对给定的域名生成用于判定域名类别的量化指标,并简单举例该指标可以报考元音字母占比、域名中的拼音出现次数等。方法的技术特征不明显,其陈述的训练和学习方法为该领域的一般技术,无法精确高效地区分正常域名和DGA生成的域名。第三种实现恶意域名识别的方法及装置(侯伟,曲武,周涛.一种实现恶意域名识别的方法及装置,CN105024969A[P].2014),该专利技术主要声明了一种动态特征的恶意域名可信判断模型,这个动态特征集合包括与IP相关的特征、和/或权威服务器主域名一致率。其方法是主要是基于恶意软件的DNS请求的概率,而其中的域名相关的统计特征采用的是比较简单的字符和数字特征,被作为静态特征进行过滤黑名单的设定。该方法由于需要用到DNS请求的通信行为的特征,因此复杂度较高。
技术实现思路
本专利技术的目的在于提供一种复杂度低、精度高的基于域名字符串统计特征的DGA生成域名的检测方法。实现本专利技术目的的技术解决方案为:一种基于域名字符串统计特征的DGA生成域名的检测方法,包括以下步骤:步骤1,收集整理并构建正常的标准域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串SNi,i=1,2,…,N;所述域名字符串SNi的集合SDN作为后续特征矢量构造的数据基础;步骤2,收集整理并构建正常的域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串LNj,j=1,2,…,nL的集合LDN;收集整理恶意软件DGA算法生成的域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串DNk,k=1,2,…,nD的集合DDN;步骤3,提取LDN中所有LNj和DDN中所有DNk的统计特征,得到LDN中所有LNj的特征矢量集合LV、DDN中所有DNk的特征矢量集合DV,LV中具有nL个六维的特征矢量,DV中具有nD个六维的特征矢量;步骤4,对LV中的特征矢量添加标记1,对DV中的特征矢量添加标记-1,分别作为正样本和负样本构成测试集合训练分类器,通过分类器实现对恶意软件DGA生成域名的检测。进一步地,步骤3所述特征矢量具体如下:V(X)=[SDR(X),SCR(X),DSIM(X),TSIM(X),V2DC(X),C2DC(X)]其中,X为LDN中所有LNj或DDN中所有DNk;SDR(X)、SCR(X)、DSIM(X)、TSIM(X)、V2DC(X)、C2DC(X)分别为连续数字占比、连续二辅字占比、随机相邻双字平均相似指数、随机相邻三字平均相似指数、单元音字母到二字符平均转移概率、单辅音字母到二字符平均转移概率。进一步地,步骤3所述连续数字占比SDR(X)=NUM_2DP(X)/LEN(X),其中,NUM_2DP(X)为域名中所有两个或两个以上连续数字的总长度,LEN(X)为域名长度;所述连续二辅字占比SCR(X)=NUM_2CP(X)/LEN(X),其中,NUM_2DP(X)为域名中所有两个或两个以上连续辅音字母的总长度,LEN(X)为域名长度。进一步地,步骤3所述随机相邻双字平均相似指数DSIM(X)为:DSIM(X)=1/M×∑Y∈pSDN(|SD(X)∩SD(Y)|/|SD(X)∪SD(Y)|)其中,pSDN是从SDN集合中随机选择的包含M个域名的子集,函数SD(X/Y)表示将X/Y分成的相邻的双字母组成的集合,|SD(X)∩SD(Y)|是集合SD(X)和集合SD(Y)的交集中元素的个数;|SD(X)∪SD(Y)|是集合SD(X)和集合SD(Y)的并集中元素的个数;所述随机相邻三字平均相似指数TSIM(X)为:TSIM(X)=1/M×∑Y∈pSDN(|TD(X)∩TD(Y)|/|TD(x)∪TD(Y)|)其中,函数TD(X/Y)表示将X/Y分成的相邻的三字母组成的集合,|TD(X)∩TD(Y)|是集合TD(X)和集合TD(Y)的交集中元素的个数;|TD(X)∪TD(Y)|是集合TD(X)和集合TD(Y)的并集中元素的个数。进一步地,步骤3所述单元音字母到二字符平均转移概率V2DC(X)具体如下:根据SDN中合法标准域名SN,统计得到单元音字母到任意二字符转移概率P(y,z|x),对域名字符串X,设X具有后续二个字符元音x的集合为VX,VX的元素个数为Mv,且元音x的后续字符分别为y(x)、z(x),则单元音字母到二字符平均转移概率V2DC(X)为:V2DC(X)=1/Mv×∑Y∈VXP(y(x),z(x)|x)所述单辅音字母到二字符平均转移概率C2DC(X)具体如下:根据SDN中合法域名SN,统计得到单辅音字母到任意二字符转移概率P(y,z|x’),对域名字符串X,设X具有后续二个字符辅音x’的集合为CX,CX的元素个数为Mc,且辅音x’的后续字符分别为y(x’),z(x’),则单辅音字母到二字符平均转移概本文档来自技高网
...
基于域名字符串统计特征的DGA生成域名的检测方法

【技术保护点】
一种基于域名字符串统计特征的DGA生成域名的检测方法,其特征在于,包括以下步骤:步骤1,收集整理并构建正常的标准域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串SNi,i=1,2,…,N;所述域名字符串SNi的集合SDN作为后续特征矢量构造的数据基础;步骤2,收集整理并构建正常的域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串LNj,j=1,2,…,nL的集合LDN;收集整理恶意软件DGA算法生成的域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串DNk,k=1,2,…,nD的集合DDN;步骤3,提取LDN中所有LNj和DDN中所有DNk的统计特征,得到LDN中所有LNj的特征矢量集合LV、DDN中所有DNk的特征矢量集合DV,LV中具有nL个六维的特征矢量,DV中具有nD个六维的特征矢量;步骤4,对LV中的特征矢量添加标记1,对DV中的特征矢量添加标记‑1,分别作为正样本和负样本构成测试集合训练分类器,通过分类器实现对恶意软件DGA生成域名的检测。

【技术特征摘要】
1.一种基于域名字符串统计特征的DGA生成域名的检测方法,其特征在于,包括以下步骤:步骤1,收集整理并构建正常的标准域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串SNi,i=1,2,…,N;所述域名字符串SNi的集合SDN作为后续特征矢量构造的数据基础;步骤2,收集整理并构建正常的域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串LNj,j=1,2,…,nL的集合LDN;收集整理恶意软件DGA算法生成的域名集合,将其中超过三个字符的二级或者三级域名取出,构成由字母、数字和连字符组成的域名字符串DNk,k=1,2,…,nD的集合DDN;步骤3,提取LDN中所有LNj和DDN中所有DNk的统计特征,得到LDN中所有LNj的特征矢量集合LV、DDN中所有DNk的特征矢量集合DV,LV中具有nL个六维的特征矢量,DV中具有nD个六维的特征矢量;步骤4,对LV中的特征矢量添加标记1,对DV中的特征矢量添加标记-1,分别作为正样本和负样本构成测试集合训练分类器,通过分类器实现对恶意软件DGA生成域名的检测。2.如权利要求1所述的基于域名字符串统计特征的DGA生成域名的检测方法,其特征在于,步骤3所述特征矢量具体如下:V(X)=[SDR(X),SCR(X),DSIM(X),TSIM(X),V2DC(X),C2DC(X)]其中,X为LDN中所有LNj或DDN中所有DNk;SDR(X)、SCR(X)、DSIM(X)、TSIM(X)、V2DC(X)、C2DC(X)分别为连续数字占比、连续二辅字占比、随机相邻双字平均相似指数、随机相邻三字平均相似指数、单元音字母到二字符平均转移概率、单辅音字母到二字符平均转移概率。3.如权利要求2所述的基于域名字符串统计特征的DGA生成域名的检测方法,其特征在于,步骤3所述连续数字占比SDR(X)=NUM_2DP(X)/LEN(X),其中,NUM_2DP(X)为域名中所有两个或两个以上连续数字的总长度,LEN(X)为域名长度;所述连续二辅字占比SCR(X)=NUM_2CP(X)/LEN(X),其中,...

【专利技术属性】
技术研发人员:方玮任梦晨刘光杰翟江涛刘伟伟戴跃伟
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1