一种异常域名检测方法、装置、存储介质及设备制造方法及图纸

技术编号:37423312 阅读:8 留言:0更新日期:2023-04-30 09:45
本申请实施例提供一种异常域名检测方法、装置、存储介质及设备,该方法中,基于正常域名和异常域名在字符分布上存在显著差异作为出发点,利用N

【技术实现步骤摘要】
一种异常域名检测方法、装置、存储介质及设备


[0001]本申请涉及网络信息安全
,具体而言,涉及一种异常域名检测方法、装置、存储介质及设备。

技术介绍

[0002]在互联网与企业内网环境中,DNS(Domain Name System,域名系统)协议是必不可少的网络通信协议之一。为了访问互联网和内网资源,DNS协议提供域名解析服务,将域名和IP地址进行转换。一般情况下,网络设备和边界防护设备很少对DNS进行过滤分析或屏蔽,因此将数据或指令藏匿于DNS协议中进行传输是一种隐蔽且有效的手段。正是由于这一原因,DNS受到了攻击者的广泛关注,利用DNS协议隐藏数据也成为了攻击者实施诸如垃圾邮件(Spare)、网络钓鱼(Phishing)及点击欺诈(Click Fraud)的关键方式。
[0003]相关技术中针对异常域名的检测方案主要是借助域名黑名单来实现,通过判断待检测域名是否存在于域名黑名单,来确定是否限制用户访问,从而保障网络安全性。然而,域名黑名单中只存在已验证过的异常域名,对于未知的异常域名检测准确率较低,容易误报或漏报。

技术实现思路

[0004]本申请实施例的目的在于提供一种异常域名检测方法、装置、存储介质及设备,旨在解决相关技术中针对异常域名的检测方式存在的检测准确率较低,容易误报或漏报的问题。
[0005]第一方面,本申请实施例提供的一种异常域名检测方法,包括:
[0006]对待检测域名进行N

Gram划分,得到至少两个目标子串集;每个目标子串集中包括多个字符片段;不同目标子串集所包含的字符片段的长度不同;
[0007]针对每个目标子串集,根据所述目标子串集中各字符片段出现的频数,计算所述目标子串集的概率分布,并计算所述目标子串集的概率分布与训练集中对应相同字符片段长度的子串集的概率分布之间的JS散度;所述训练集包含多个正常域名;
[0008]基于所述JS散度与预设散度阈值的对比结果,判断所述待检测域名是否为异常域名;其中,所述预设散度阈值是基于测试集的子串集的概率分布与训练集的子串集的概率分布之间的JS散度而得到的,所述测试集包含多个正常域名。
[0009]在上述实现过程中,基于正常域名和异常域名在字符分布上存在显著差异作为出发点,利用N

Gram方法对待检测域名的字符串进行划分,然后计算划分得到的各目标子串集的概率分布,再计算各目标子串集的概率分布与正常域名的子串集的概率分布之间的JS散度,最后将计算得到的JS散度与预设散度阈值进行对比,以此判定待检测域名是否为异常域名。如此,有效提升了异常域名检测的准确率。
[0010]进一步地,在一些实施例中,所述对待检测域名进行N

Gram划分之前,包括:
[0011]判断所述待检测域名是否包含目标字符;所述目标字符是收集到的多个正常域名
中均不包含的字符;
[0012]若判断结果为是,确定所述待检测域名为异常域名。
[0013]在上述实现过程中,在对待检测域名进行处理时,首先对待检测域名进行字符判断,将包含非DNS协议常用字符的域名直接判定为异常域名,从而在一定程度上提升异常域名检测效率。
[0014]进一步地,在一些实施例中,所述对待检测域名进行N

Gram划分,得到至少两个目标子串集,包括:
[0015]通过一个大小为N的滑动窗口对待检测域名进行分割,得到长度为N的多个字符片段,基于得到的字符片段形成目标子串集;N取值为1至7中的至少两个值,不同目标子串集对应不同的N值。
[0016]在上述实现过程中,提供一种对待检测域名进行N

Gram划分的具体方式,并且,限定N的最大值为7,均衡检测准确率和计算复杂度,能够取得较为良好的效果。
[0017]进一步地,在一些实施例中,所述预设散度阈值基于以下方式获取得到:
[0018]将收集到的多个正常域名按照预设比例划分为训练集和测试集;
[0019]分别计算所述训练集各子串集的概率分布,以及所述测试集各子串集的概率分布;所述训练集的子串集和所述测试集的子串集是分别对所述训练集和所述测试集进行N

Gram划分而得到的;
[0020]计算所述训练集各子串集的概率分布与所述测试集中对应相同字符片段长度的子串集的概率分布之间的JS散度,基于各JS散度获取预设散度阈值。
[0021]在上述实现过程中,提供一种获取预设散度阈值的具体方式。
[0022]进一步地,在一些实施例中,所述训练集各子串集的概率分布包括所述训练集包含的每个正常域名的子串集的概率分布。
[0023]在上述实现过程中,将训练集包含的每个正常域名作为一个单独的个体进行统计计算,可以得到对应于各个gram的多个散度,使得以此设置的预设散度阈值更为合理。
[0024]进一步地,在一些实施例中,所述分别对所述训练集和所述测试集进行N

Gram之前,包括:
[0025]删除所述训练集中各正常域名的顶级域名和二级域名,并删除所述测试集中各正常域名的顶级域名和二级域名。
[0026]在上述实现过程中,删除不影响对于整个域名字符串是否正常的判断的顶级域名和二级域名,有效降低计算复杂度。
[0027]进一步地,在一些实施例中,所述基于所述JS散度与预设散度阈值的对比结果,判断所述待检测域名是否为异常域名,包括:
[0028]若计算得到的JS散度中,超过所述预设散度阈值的JS散度个数大于不超过所述预设散度阈值的JS散度个数,确定所述待检测域名为异常域名。
[0029]在上述实现过程中,判断各个gram的JS散度是否大于对应gram的预设散度阈值,若一半及一半以上的JS散度大于对应gram的预设散度阈值,则判定待检测域名为异常域名,否则判定待检测域名为正常域名,如此,可以准确地检测出异常域名。
[0030]第二方面,本申请实施例提供的一种异常域名检测装置,包括:
[0031]分割模块,用于对待检测域名进行N

Gram划分,得到至少两个目标子串集;每个目
标子串集中包括多个字符片段;不同目标子串集所包含的字符片段的长度不同;
[0032]计算模块,用于针对每个目标子串集,根据所述目标子串集中各字符片段出现的频数,计算所述目标子串集的概率分布,并计算所述目标子串集的概率分布与训练集中对应相同字符片段长度的子串集的概率分布之间的JS散度;所述训练集包含多个正常域名;
[0033]判断模块,用于基于所述JS散度与预设散度阈值的对比结果,判断所述待检测域名是否为异常域名;其中,所述预设散度阈值是基于测试集的子串集的概率分布与训练集的子串集的概率分布之间的JS散度而得到的,所述测试集包含多个正常域名。
[0034]第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常域名检测方法,其特征在于,包括:对待检测域名进行N

Gram划分,得到至少两个目标子串集;每个目标子串集中包括多个字符片段;不同目标子串集所包含的字符片段的长度不同;针对每个目标子串集,根据所述目标子串集中各字符片段出现的频数,计算所述目标子串集的概率分布,并计算所述目标子串集的概率分布与训练集中对应相同字符片段长度的子串集的概率分布之间的JS散度;所述训练集包含多个正常域名;基于所述JS散度与预设散度阈值的对比结果,判断所述待检测域名是否为异常域名;其中,所述预设散度阈值是基于测试集的子串集的概率分布与训练集的子串集的概率分布之间的JS散度而得到的,所述测试集包含多个正常域名。2.根据权利要求1所述的方法,其特征在于,所述对待检测域名进行N

Gram划分之前,包括:判断所述待检测域名是否包含目标字符;所述目标字符是收集到的多个正常域名中均不包含的字符;若判断结果为是,确定所述待检测域名为异常域名。3.根据权利要求1所述的方法,其特征在于,所述对待检测域名进行N

Gram划分,得到至少两个目标子串集,包括:通过一个大小为N的滑动窗口对待检测域名进行分割,得到长度为N的多个字符片段,基于得到的字符片段形成目标子串集;N取值为1至7中的至少两个值,不同目标子串集对应不同的N值。4.根据权利要求1所述的方法,其特征在于,所述预设散度阈值基于以下方式获取得到:将收集到的多个正常域名按照预设比例划分为训练集和测试集;分别计算所述训练集各子串集的概率分布,以及所述测试集各子串集的概率分布;所述训练集的子串集和所述测试集的子串集是分别对所述训练集和所述测试集进行N

Gram划分而得到的;计算所述训练集各子串集的概率分布与所述测试集中对应相同字符片段长度的子串集的概率分布之间的JS散度,基于各J...

【专利技术属性】
技术研发人员:李渊谢鹏程
申请(专利权)人:北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1