一种基于N-Gram的恶意域名检测方法技术

技术编号:21121077 阅读:24 留言:0更新日期:2019-05-16 10:42
本发明专利技术公开了一种基于N‑Gram的恶意域名检测方法,包括步骤:选择访问频次较高的合法域名,在去除顶级域名后,利用N‑Gram方法将域名按层进行分割,形成合法域名子串集;根据子串在对合法域名进行N‑Gram分割时出现的频次,给合法域名子串集中子串赋予权值,将域名词法特征的提取转化为数值计算;将待测域名进行N‑Gram分割,将得到的子串按照合法域名子串权值计算待测域名的信誉值;恶意域名检测,根据待测域名信誉值的大小和预设判定条件,判断待测域名是否为恶意域名。与现有技术相比,本发明专利技术具有检测时间开销小,检测准确率高、误报与漏报率低的优点,为恶意域名的检测提供了一种新思路,丰富了恶意域名的检测手段。

【技术实现步骤摘要】
一种基于N-Gram的恶意域名检测方法
本专利技术涉及网络安全领域,尤其涉及一种基于N-Gram的恶意域名检测方法。
技术介绍
域名系统(DomainNameSystem,DNS)作为互联网中实现网络域名与IP地址相互转化的一种基础服务,得到了广泛应用,如电子商务、即时通行、网络媒体等。几乎所有的互联网应用都需要使用DNS提供的服务对域名进行解析,实现资源的定位。因而,很多网络安全设施都会允许DNS协议类型的数据包通过。正是由于这一原因,DNS受到了攻击者的广泛关注。如分布式拒绝服务(DistributedDenialofService,DDoS)、垃圾邮件(Spare)、网络钓鱼(Phishing)以及点击欺诈(ClickFraud)等。现有恶意域名检测方法大多是借助域名黑名单,通过明确地允许与不允许来限制用户的访问,从而实现安全性的效果。但域名黑名单的建立、维护与更新,存在开销大和实时性差的缺点,且域名黑名单中只存在已验证过的恶意域名,对于未知的恶意域名检测准确率较低,误报与漏报率较高。
技术实现思路
为克服现有恶意域名检测方法的不足,有效地提高恶意域名的检测效率,本专利技术提出一种基于N-Gram的恶意域名检测方法。本专利技术的技术方案是这样实现的:一种基于N-Gram的恶意域名检测方法,包括步骤:S1,合法域名子串集构造,选择访问频次较高的合法域名,在去除顶级域名后,利用N-Gram方法将域名按层进行分割,形成合法域名子串集;S2,合法域名子串权值计算,根据子串在对合法域名进行N-Gram分割时出现的频次,给合法域名子串集中子串赋予权值,将域名词法特征的提取转化为数值计算;S3,待测域名信誉值计算,将待测域名进行N-Gram分割,将得到的子串按照合法域名子串权值计算待测域名的信誉值;S4,恶意域名检测,根据待测域名信誉值的大小和预设判定条件,判断待测域名是否为恶意域名。进一步地,步骤S1中所述的访问频次较高的合法域名是Alexa中排名前100,000的合法域名,所述的去除顶级域名是由于合法顶级域名数量少、长度短、知名度高,很容易识别,且顶级域名部分很少出现恶意域名,恶意域名经常出现在二级、三级或者四级域名中,所述的N-Gram方法是通过一个大小为N的滑动窗口对域名中的字符串进行分割,得到长度为N的多个子串,每个子串称为一个gram,所述的域名进行N-Gram分割所得的域名子串个数统计是将Alexa中排名前100,000的合法域名,在去除顶级域名后,利用N-Gram方法将域名按层分割得到域名子串,每级域名分割得到的子串个数计算如公式(1)所示。count(j)=L-N+1(1)其中,count(j)(j=2,…,n)表示某域名第j级域名被分割后包含的域名子串数量,n表示某一域名的最大级数,L表示第j级域名长度,N表示滑动窗口大小,取值范围为{N∈N*|3≤N≤7}。进一步地,步骤S2中所述的子串权值计算是将N-Gram分割得到的合法域名子串构造成无重复子串的合法域名子串集,并计算子串集中域名子串的权值,将域名词法特征的提取转化为数值计算。域名子串权值计算如公式(2)所示。WN-Gram(i)=log2(CN-Gram(i)/N)(2)其中,WN-Gram(i)表示当N=3,4,5,6,7时,序号为i的域名子串的权值,CN-Gram(i)表示序号为i的域名子串在Alexa中排名前100,000的合法域名被分割后得到的子串中出现的总次数。进一步地,步骤S3中所述的待测域名信誉值计算是在去除待测域名的顶级域名后,利用N-Gram方法将待测域名按层分割为N=3,4,5,6,7的多个域名子串,并按照域名子串在合法域名子串集中对应的权值,计算待测域名的信誉值。信誉值计算如公式(3)所示。其中,RV(l)表示序号为l的待测域名信誉值,{l∈N*|l>0},WN-Gram(i)表示当滑动窗口N=3,4,5,6,7时,经待测域名分割而来的序号为i的域名子串的权值,m表示待测域名l在滑动窗口N=3,4,5,6,7时,分割域名得到的子串总数。进一步地,步骤S4中所述的预设判定条件是通过计算Alexa排名前100,000的合法域名中最小的80个域名信誉值的平均值作为预设判定条件,所述的恶意域名检测是根据待测域名的信誉值和预设判定条件,判断待测域名是否为恶意域名。本专利技术的有益效果在于,与现有技术相比,本专利技术具有检测时间开销小,检测准确率高、误报与漏报率低的优点,为恶意域名的检测提供了一种新思路,丰富了恶意域名的检测手段。附图说明图1为本专利技术一种基于N-Gram的恶意域名检测方法流程图;图2为本专利技术一种基于N-Gram的恶意域名检测方法的系统结构示意图;图3为本专利技术一种基于N-Gram的恶意域名检测方法详细的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的一种基于N-Gram的恶意域名检测方法总体原理示意如图1和图2所示,本专利技术的技术方案思路是:通过选择高频次正常访问域名为合法域名样本集,利用N-Gram方法对合法域名样本集中的域名按层进行分割,并按照域名子串重复出现频次给子串赋予权值。然后,将待测域名进行N-Gram分割,并对照所得子串与合法域名子串集中的子串,得出待测域名是否为恶意域名。如图3所示,本专利技术的一种基于N-Gram的恶意域名检测方法,详细包括步骤S1:合法域名子串集构建,选择访问频次较高的合法域名,在去除顶级域名后,利用N-Gram方法将域名按层进行分割,形成合法域名子串集,其中,所述的访问频次较高的合法域名是Alexa中排名前100,000的合法域名,所述的去除顶级域名是由于合法顶级域名数量少、长度短、知名度高,很容易识别,且顶级域名部分很少出现恶意域名,恶意域名经常出现在二级、三级或者四级域名中,所述的N-Gram方法是通过一个大小为N的滑动窗口对域名中的字符串进行分割,得到长度为N的多个子串,每个子串称为一个gram,所述的域名进行N-Gram分割所得的域名子串个数统计是将Alexa中前100,000的合法域名,在去除顶级域名后,利用N-Gram方法将域名按层分割得到域名子串,每级域名分割得到的子串个数计算如公式(1)所示。count(j)=L-N+1(1)其中,count(j)(j=2,…,n)表示某域名第j级域名被分割后包含的域名子串数量,n表示某一域名的最大级数,L表示第j级域名长度,N表示滑动窗口大小,取值范围为{N∈N*|3≤N≤7}。S2:合法域名子串权值计算,根据子串在对合法域名进行N-Gram分割时出现的频次,给合法域名子串集中子串赋予权值,将域名词法特征的提取转化为数值计算。域名子串权值计算如公式(2)所示。WN-Gram(i)=log2(CN-Gram(i)/N)(2)其中,WN-Gram(i)表示当N=3,4,5,6,7时,序号为i的域名子串的权值,CN-Gram(i)表示序号为i的域名子串在Alexa中排名前100,000的合法域名被分割后得到本文档来自技高网...

【技术保护点】
1.一种基于N‑Gram的恶意域名检测方法,其特征在于,包括步骤S1:合法域名子串集构造,选择访问频次较高的合法域名,在去除顶级域名后,利用N‑Gram方法将域名按层进行分割,形成合法域名子串集;S2:合法域名子串权值计算,根据子串在对合法域名进行N‑Gram分割时出现的频次,给合法域名子串集中子串赋予权值,将域名词法特征的提取转化为数值计算;S3:待测域名信誉值计算,将待测域名进行N‑Gram分割,将得到的子串按照合法域名子串权值计算待测域名的信誉值;S4:恶意域名检测,根据待测域名信誉值的大小和预设判定条件,判断待测域名是否为恶意域名。

【技术特征摘要】
1.一种基于N-Gram的恶意域名检测方法,其特征在于,包括步骤S1:合法域名子串集构造,选择访问频次较高的合法域名,在去除顶级域名后,利用N-Gram方法将域名按层进行分割,形成合法域名子串集;S2:合法域名子串权值计算,根据子串在对合法域名进行N-Gram分割时出现的频次,给合法域名子串集中子串赋予权值,将域名词法特征的提取转化为数值计算;S3:待测域名信誉值计算,将待测域名进行N-Gram分割,将得到的子串按照合法域名子串权值计算待测域名的信誉值;S4:恶意域名检测,根据待测域名信誉值的大小和预设判定条件,判断待测域名是否为恶意域名。2.如权利要求1所述的基于N-Gram的恶意域名检测方法,其特征在于,步骤S1中所述的访问频次较高的合法域名是Alexa中排名前100,000的合法域名。3.如权利要求1或2所述的基于N-Gram的恶意域名检测方法,其特征在于,所述的N-Gram方法是通过一个大小为N的滑动窗口对域名中的字符串进行分割,得到长度为N的多个子串,每个子串称为一个gram,所述的域名进行N-Gram分割所得的域名子串个数统计是将Alexa中排名前100,000的合法域名,在去除顶级域名后,利用N-Gram方法将域名按层分割得到域名子串,每级域名分割得到的子串个数计算公式为count(j)=L-N+1,其中,count(j)(j=2,…,n)表示某域名第j级域名被分割后包含的域名子串数量,n表示某一域名的最大级数,L表示第j级域名长度,N表示滑动窗口大小,取值范围为{N∈N*|3≤N≤7}。4.如权利要...

【专利技术属性】
技术研发人员:赵宏常兆斌孔东一刘向东岳鲁鹏杨永娟王乐党育
申请(专利权)人:兰州理工大学
类型:发明
国别省市:甘肃,62

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

1