一种恶意域名检测处理方法及装置与流程

文档序号:15624973发布日期:2018-10-09 22:45阅读:276来源:国知局

本发明实施例涉及通信技术领域,尤其涉及一种恶意域名检测处理方法及装置。



背景技术:

随着移动互联网的迅猛发展,互联网流量不断创新高,由于互联网的开放性、业务的多样性、网络的复杂性而使得互联网面临一定的安全威胁。域名系统(domainnamesystem,dns)作为互联网的基础设施,将域名与ip地址进行映射,方便用户访问互联网各项业务。然而,松散的域名注册管理制度、国际化域名注册模式、短域名兴起等作用下,构造恶意域名进行攻击成为当前威胁互联网安全的主要威胁,导致恶意域名的威胁愈发严重。

现有技术条件下,恶意域名检测主要通过域名的字符串长度、域名可读性、域名元音/辅音/数字/连接符比率等域名的静态特征数据,进行恶意域名检测;或者,通过将上述静态特征数据与生存时间最小值(ttl_min)、生存时间最大值(ttl_max)、nxdomiain请求频率、域名ip变化特征等动态特征数据相结合的检测方式进行恶意域名检测。但是,通过静态特征数据进行恶意域名检测的方法,未考虑请求数据及响应包数据的动态行为特征,并且对于人工生成而刻意规避dga算法的域名识别准确率较低;而通过静态特征数据和动态特征数据相结合的检测方式,需要根据经验设置较多参数,且选择的动态特征维度不够全面,严重影响恶意域名的检测效率和准确率。综上所述,现有技术条件下的恶意域名检测方法的检测效率和准确率均较低。

因此,如何提供一种提高恶意域名检测效率和准确率的方法的问题是目前业界亟待解决的需要课题。



技术实现要素:

针对现有技术中的缺陷,本发明实施例提供一种恶意域名检测处理方法及装置。

一方面,本发明实施例提供一种恶意域名检测处理方法,包括:

获取预设时间段内的待检测域名的域名信息;

根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值;

根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

另一方面,本发明实施例提供一种恶意域名检测处理装置,包括:

获取单元,用于获取预设时间段内的待检测域名的域名信息;

计算单元,用于根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值;

检测单元,用于根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

本发明实施例提供的恶意域名检测处理方法及装置,通过根据获取到的待检测域名的域名信息,按照预设规则计算待检测域名的特征值,并根据所述特征值通过预设分类器模型进行恶意域名检测处理,提高了恶意域名检测的效率和准确率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的恶意域名检测处理方法的流程示意图;

图2为本发明实施例提供的获取待检测域名的流程示意图;

图3为本发明实施例提供的恶意域名检测处理方法的整体流程示意图;

图4为本发明实施例提供的恶意域名检测处理装置的结构示意图;

图5为本发明实施例提供的电子设备的实体装置结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的恶意域名检测处理方法的流程示意图,如图1所示,本实施例提供一种恶意域名检测处理方法,包括:

s101、获取预设时间段内的待检测域名的域名信息;

具体地,恶意域名检测处理装置接收dns应答数据包,对所述dns数据包进行解析后获得所述dns数据包包括的多个域名,通过黑白名单过滤对所述多个域名进行恶意域名检测,并将未被所述黑白名单过滤识别的域名作为所述待检测域名,储存在待检测域名数据库中;然后,获取在预设时间段内获得的多个待检测域名的域名信息。

s102、根据所述域名信息,按照预设规则计算所述待检测域名的至少一个维度的特征值;

具体地,所述装置根据获取到的多个所述待检测域名的域名信息,按照预设规则计算所述待检测域名在至少一个维度上的特征值。应当说明的是,所述域名信息可以包括所述待检测域名与ip之间的映射关系、所述待检测域名对应的字符串、ttl值、nxdomain请求信息、mx请求信息和子域空间信息,还可以包括其他域名信息;所述特征值可以是ip-域名特征值、域名-ip特征值、域名名称特征值、ttl特征值、动态特征值或特殊特征值,还可以是其他维度上的特征值,可以根据实际情况进行调整,此处不做具体限定。

s103、根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

具体地,所述装置获取正常域名数据库包括的各个正常域名对应的预设维度上的特征值,以及恶意域名数据库包括的各个恶意域名对应的预设维度上的特征值,将获取到的所述各个正常域名对应的预设维度上的特征值和所述各个恶意域名对应的预设维度上的特征值作为训练样本,输入支持向量机(svm)模型,对所述训练样本进行机器分类学习,获得所述预设分类器模型;将计算获得的所述待检测域名的特征值输入所述预设分类器模型,则可以检测识别出所述待检测域名为正常域名或恶意域名的分类结果,进一步地,还可以获得所述待检测域名的恶意域名可疑几率,并对所述恶意域名可疑几率大于预设可疑几率阈值的所述待检测域名进行告警,提示通过人工进行恶意域名检测确认。应当说明的是,所述预设维度包括至少一个维度,且所述预设维度与所述待检测域名的特征值对应的维度一致;还可以采用其他分类器模型进行训练样本的机器分类学习,获得所述预设分类器模型,具体可以根据实际情况进行调整,此处不做具体限定;所述待检测域名中被判定为恶意域名的域名将作为新增的训练样本自动添加至恶意域名数据库中,通过机器分类学习动态改进所述预设分类器模型。

本发明实施例提供的恶意域名检测处理方法,通过根据获取到的待检测域名的域名信息,按照预设规则计算待检测域名的特征值,并根据所述特征值通过预设分类器模型进行恶意域名检测处理,提高了恶意域名检测的效率和准确率。

在上述实施例的基础上,进一步地,所述获取预设时间段内的待检测域名的域名信息,包括:

接收dns应答数据包,并对所述dns应答数据包进行解析,获取所述dns应答数据包中包括的域名及其对应的ip;

根据所述域名及其对应的ip,通过黑白名单过滤进行恶意域名检测处理,并获取所述待检测域名;所述待检测域名为未被所述黑白名单过滤识别的所述域名;

获取所述待检测域名的域名信息。

具体地,图2为本发明实施例提供的获取待检测域名的流程示意图,如图2所示,所述装置获取预设时间段内的待检测域名的域名信息的过程具体包括以下步骤:

s201、接收dns应答数据包;所述dns应答数据包可以是dns应答udp(userdatagramprotocol,用户数据报协议)数据包;然后,执行步骤s202;

s202、dns应答数据包解析;所述装置将所述dns应答数据包按照dns协议数据响应包格式进行解析,获取所述dns应答数据包中包括的域名及其对应的ip;然后,执行步骤s203;应当说明的是,所述域名包括全域名和二级域名,所述域名对应的ip为所述域名对应的ip层中的目的ip地址;所述将所述dns应答数据包按照dns协议数据响应包格式进行解析包括:若判断获知所述dns应答数据包返回的结果值为成功,则使用answer节解析所述dns应答数据包;否则使用question节解析所述dns应答数据包;

s203、判断全域名是否在黑名单中;根据解析所述dns应答数据包获得的所述域名判断所述域名对应的全域名是否在黑名单中,若是,则判定所述域名为恶意域名,否则,执行步骤s204;

s204、判断二级域名是否在黑名单中;根据解析所述dns应答数据包获得的所述域名判断所述域名对应的二级域名是否在黑名单中,若是,则判定所述域名为恶意域名,否则,执行步骤s205;

s205、判断域名对应ip是否在黑名单中;根据解析所述dns应答数据包获得的所述域名判断所述域名对应的ip是否在黑名单中,若是,则判定所述域名为恶意域名,否则,执行步骤s206;

s206、判断全域名是否在白名单中;根据解析所述dns应答数据包获得的所述域名判断所述域名对应的全域名是否在白名单中,若是,则判定所述域名为正常域名,否则,执行步骤s207;

s207、判断二级域名是否在白名单中;根据解析所述dns应答数据包获得的所述域名判断所述域名对应的二级域名是否在白名单中,若是,则判定所述域名为正常域名,否则,执行步骤s207;

s208、判定为待检测域名;将未被所述黑白名单过滤识别的所述域名判定为待检测域名,并将所述待检测域名储存在所述待检测域名数据库中;

s209、获取预设时间段内的待检测域名的域名信息;每隔预设时间段获取所述待检测域名数据库中包括的待检测域名的域名信息。

其中,所述白名单可以包括alexa列表中排名前100w的域名、top.chinaz.com中排名前100w的域名以及中国互联网信息中心备案库中的域名或ip;所述黑名单可以包括从挂马举报平台上通过爬虫获取被挂马的域名;当然,所述黑名单和所述白名单还可以包括其他域名和ip,具体可以根据实际情况进行调整,此处不做具体限定。

在上述实施例的基础上,进一步地,所述特征值包括以下任意一项或其组合:

ip-域名特征值、域名-ip特征值、域名名称特征值、ttl特征值、动态特征值和特殊特征值;其中,所述动态特征值是至少包括第一动态特征值和第二动态特征值,所述特殊特征值至少包括第一特殊特征值和第二特殊特征值。

在上述实施例的基础上,进一步地,所述域名信息包括所述待检测域名与ip之间的映射关系;相应地,所述根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值,包括:

根据所述待检测域名与ip之间的映射关系,统计每一个所述ip对应的所述待检测域名的个数;

根据所述待检测域名与ip之间的映射关系,计算每一个所述ip对应的多个所述待检测域名的相似度值;所述相似度是根据所述待检测域名按照预设字符匹配算法计算获得的;

根据每一个所述ip对应的所述待检测域名的个数和所述相似度值计算所述待检测域名的ip-域名特征值。

具体地,所述装置获取预设时间段内的所述待检测域名的所述域名信息包括所述待检测域名与ip之间的映射关系,根据所述映射关系统计每一个所述ip对应的所述待检测域名的个数;获取每一个所述ip对应的多个所述待检测域名,并通过的字符匹配算法计算所述ip对应的每一个所述待检测域名与所述ip对应的其余域名的相似度值,取所述相似度值的平均数作为所述ip对应的多个所述待检测域名的相似度值。对每一个所述ip对应的所述待检测域名的个数和所述相似度值进行加权计算,获得每一个所述待检测域名的ip-域名特征值。

例如,根据所述待检测域名与ip之间的映射关系,获取到其中一个所述ip为ipi,所述ipi对应的所述待检测域名分别为l1、l2、则所述ipi对应的待检测域名的个数为ni,通过字符匹配算法分别计算l1与l2的相似度值记为r1,2、l1与l3的相似度值记为r1,3、l2与l3的相似度值记为r2,3,依次律推,直到计算的相似度值记为并且计算所述r1,2、r1,3、的平均值作为所述ipi对应的多个所述待检测域名的相似度值,即:

其中,ri为所述ipi对应的多个所述待检测域名的相似度值,r1,2、r1,3、分别为所述ipi对应的每一个所述待检测域名与所述ipi对应的其余域名的相似度值,ni为所述ipi对应的待检测域名的个数。然后,根据公式:

计算所述ipi对应的ip-域名特征值,其中,为所述ipi对应的ip-域名特征值,也就是所述待检测域名的第i个ip-域名特征值,ni为所述ipi对应的待检测域名的个数,nmax为各ip对应的待检测域名的个数的最大值,p为所述待检测域名的个数所占的权重,q为相似度值所占的权重,且p+q=1;所述权重均为可变参数,初期可取平均权重,然后不断进行优化调整,此处不做具体限定。按照上述方法计算其他各ip对应的ip-域名特征值,获得所述待检测域名的ip-域名特征值。

在上述实施例的基础上,进一步地,所述域名信息包括所述待检测域名与ip之间的映射关系;相应地,所述根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值,包括:

根据所述待检测域名与ip之间的映射关系,统计每一个所述待检测域名对应的所述ip的个数;

根据所述待检测域名与ip之间的映射关系,统计每一个所述待检测域名对应的各所述ip的ans分布率;

根据所述待检测域名与ip之间的映射关系,统计每一个所述待检测域名对应的各所述ip的国家码分布率;

根据每一个所述待检测域名对应的所述ip的个数、各所述ip的ans分布率、各所述ip的国家码分布率计算所述待检测域名的域名-ip特征值。

具体地,所述装置获取预设时间段内的所述待检测域名的所述域名信息包括所述待检测域名与ip之间的映射关系,根据所述映射关系统计每一个所述ip对应的所述待检测域名的个数;获取每一个所述待检测域名对应的所述ip的个数,统计每一个所述待检测域名对应的各所述ip的自治系统号(ans)分布率,以及每一个所述待检测域名对应的各所述ip的国家码分布率,然后,将每一个所述待检测域名对应的所述ip的个数、各所述ip的ans分布率、各所述ip的国家码分布率进行加权计算获得所述待检测域名的域名-ip特征值。

例如,根据所述待检测域名与ip之间的映射关系,获取到其中一个待检测域名为lj,获取待检测域名lj对应的ip的个数,以及各ip的ans分布率和国家码分布率,所述根据公式:

计算所述待检测域名lj对应的域名-ip特征值,其中,为所述待检测域名lj对应的域名-ip特征值,mi为所述待检测域名对应的所述ip的个数,mmax为各所述待检测域名对应的ip个数的最大值,p1j为所述待检测域名lj对应的各ip的ans分布率,为所述待检测域名lj对应的各ip的国家码分布率,e为所述ip个数所占的权重,f为所述各ip的ans分布率所占的权重,g为所述各ip的国家码分布率所占的权重,且e+f+g=1,所述各个权重均为可变参数,具体可以根据实际情况进行调整,此处不做具体限定。按照上述方法计算其他各所述待检测域名对应的ip-域名特征值,此处不再赘述。

在上述实施例的基础上,进一步地,所述域名信息包括所述待检测域名对应的字符串;相应地,所述根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值,包括:

根据所述待检测域名对应的字符串,计算所述待检测域名的字符串长度;

根据所述待检测域名对应的字符串,获取所述字符串包括的字符以及各所述字符出现的次数,并根据所述字符和各所述字符出现的次数计算所述待检测域名的域名字符熵值;

根据所述待检测域名的字符串长度和所述域名字符熵值,计算所述待检测域名的域名名称特征值。

具体地,所述装置获取预设时间段内的所述待检测域名的所述域名信息包括所述待检测域名对应的字符串,根据所述待检测域名对应的字符串,计算所述待检测域名的字符串长度,并且获取所述待检测域对应的字符串中包括的字符以及各所述字符出现次数,计算所述待检测域名的域名字符熵值,然后,根据所述待检测域名的字符串长度和所述域名字符熵值,以及黑名单中包括的恶意域名的平均字符串长度和平均域名字符熵值,计算所述待检测域名的域名名称特征值。

例如,所述装置获取待检测域名为lj对应的字符串,根据所述字符串计算所述待检测域名为lj的字符串长度为sj,所述待检测域名为lj包括的字符的集合为{a1,a2....an-1,an},则按照公式:

计算所述待检测域名为lj的域名字符熵值,其中,entropy(lj)为所述所述待检测域名为lj的域名字符熵值,count(aj)为字符aj出现的次数,sj为所述待检测域名为lj的字符串长度。然后,获取黑名单包括的各恶意域名对应的字符串,计算所述各恶意域名的字符串长度、包括的字符以及各字符的出现次数,从而计算所述各恶意域名的域名字符熵值,并计算所述各恶意域名的字符串长度的平均值和平均域名字符熵值,根据公式:

计算所述待检测域名为lj的域名名称特征值,其中,为所述待检测域名为lj的域名名称特征值,sj为所述待检测域名为lj的字符串长度,savg为所述黑名单包括的所述各恶意域名的字符串长度的平均值,entropy(lj)为所述待检测域名为lj的域名字符熵值,entropyavg为所述黑名单包括的所述各恶意域名的平均域名字符熵值。

在上述实施例的基础上,进一步地,所述域名信息包括所述待检测域名对应的多个ttl值;相应地,所述根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值,包括:

根据所述待检测域名对应的多个ttl值,获取所述ttl值的最大值和最小值;

根据所述待检测域名对应的所述预设时间段内的多个ttl值,计算所述多个ttl值的平均值和标准差值;

根据所述最大值、最小值、平均值和标准差值计算所述待检测域名的ttl特征值。

具体地,所述装置获取预设时间段内的所述待检测域名的所述域名信息包括所述待检测域名对应的多个生存时间(ttl)值,所述待检测域名对应的多个ttl值为每个所述待检测域名的多次dns请求的ttl值,获取每个所述待检测域名对应的所述多个ttl值的最大值和最小值,计算所述多个ttl值的平均值和标准差,根据所述最大值、最小值、平均值和标准差值计算所述待检测域名的ttl特征值。

例如,所述装置获取待检测域名为lj对应的多个ttl值分别为ttl1,ttl2,ttl3…ttlm,获取待检测域名lj对应的多个ttl值的最大值为ttlmax=max(ttl1,ttl2,ttl3…ttlm),最小值为ttlmin=min(ttl1,ttl2,ttl3…ttlm),根据ttl1,ttl2,ttl3…ttlm计算所述待检测域名lj对应的多个ttl值的平均值为ttlavg,标准差值为ttlstd。根据公式:

计算所述待检测域名为lj的ttl特征值,其中,为所述待检测域名lj的ttl特征值,ttlmax为所述待检测域名lj对应的多个ttl值的最大值,ttlmax-thd为最大值的预设标准值,u为所述最大值所占的权重,ttlmin为所述待检测域名lj对应的多个ttl值的最小值,ttlmin-thd为最小值的预设标准值,v为所述最小值所占的权重,ttlavg所述待检测域名为lj对应的多个ttl值的平均值,ttlavg-thd为平均值的预设标准值,w所述平均值所占的权重,ttlstd所述待检测域名lj对应的多个ttl值的标准差值,ttlstd-thd为标准差值的预设标准值,s为所述标准差值所占的权重,且u+v+w+s=1。

在上述实施例的基础上,进一步地,所述域名信息包括所述待检测域名的nxdomain请求信息和mx请求信息,以及所述待检测域名与ip之间的映射关系;相应地,所述根据所述域名信息,按照预设规则计算所述待检测域名至少一个维度的特征值,包括:

根据所述待检测域名的nxdomain请求信息和所述待检测域名与ip之间的映射关系,统计每一个所述待检测域名对应的nxdomain请求的个数和每一个所述ip对应的nxdomain请求的个数;

根据所述待检测域名的mx请求信息和所述待检测域名与ip之间的映射关系,统计每一个所述待检测域名对应的mx请求的个数和每一个所述ip对应的mx请求的个数;

根据所述每一个所述待检测域名对应的nxdomain请求的个数和每一个所述ip对应的nxdomain请求的个数,计算所述待检测域名的第一动态特征值;并且根据所述每一个所述待检测域名对应的mx请求的个数和每一个所述ip对应的mx请求的个数,计算所述待检测域名的第二动态特征值。

具体地,所述装置获取预设时间段内的所述待检测域名的所述域名信息包括所述待检测域名的域名不存在(nxdomain)请求信息和邮件交换(mx)请求信息,以及所述待检测域名与ip之间的映射关系。所述装置根据所述待检测域名对应的nxdomain请求信息获取各nxdomain请求对应的所述待检测域名,根据所述各nxdomain请求对应的所述待检测域名,获取各所述待检测域名对应的nxdomain请求的个数,然后根据所述待检测域名与ip之间的映射关系,获取各所述ip对应的nxdomain请求的个数,根据所述每一个所述待检测域名对应的nxdomain请求的个数和每一个所述ip对应的nxdomain请求的个数,计算所述待检测域名的第一动态特征值;同样,所述装置根据所述待检测域名对应的mx请求信息获取各mx请求对应的所述待检测域名,根据所述各mx请求对应的所述待检测域名,获取各所述待检测域名对应的mx请求的个数,然后根据所述待检测域名与ip之间的映射关系,获取各所述ip对应的mx请求的个数,根据所述每一个所述待检测域名对应的mx请求的个数和每一个所述ip对应的mx请求的个数,计算所述待检测域名的第二动态特征值。应当说明的是,所述第一动态特征值和所述第二动态特征值均为所述动态特征值,所述动态特征值还可以包括其他动态特征值,此处不做具体限定。

例如,所述装置根据所述待检测域名的nxdomain请求信息和mx请求信息,获取待检测域名为lj的对应的nxdomain请求的个数为cnx,对应的mx请求的个数为cmx,获取ipi的对应的nxdomain请求的个数为dnx,对应的mx请求的个数为dmx,根据公式:

计算所述待检测域名lj的nxdomain请求特征值,其中,为所述待检测域名的nxdomain请求特征值,也就是所述待检测域名的第j个第一动态特征值,cnx为待检测域名lj的对应的nxdomain请求的个数,cnx-max为所述各待检测域名对应的nxdomain请求的个数的最大值,k为所述待检测域名对应的nxdomain请求的个数的权重,dnx为ipi的对应的nxdomain请求的个数,dnx-max所述各ip对应的nxdomain请求的个数的最大值,l为所述ip对应的nxdomain请求的个数的权重,k+l=1。所述权重的值可以根据实际情况进行调整,此处不作具体限定。

根据公式:

计算所述待检测域名lj的mx请求特征值,其中,为所述待检测域名的mx请求特征值,也就是所述待检测域名的第j个第二动态特征值,cmx为待检测域名lj的对应的mx请求的个数,cmx-max为所述各待检测域名对应的mx请求的个数的最大值,k′为所述待检测域名对应的mx请求的个数的权重,dmx为ipi的对应的mx请求的个数,dmx-max所述各ip对应的mx请求的个数的最大值,l′为所述ip对应的mx请求的个数的权重,k′+l′=1。所述权重的值可以根据实际情况进行调整,此处不作具体限定。

在上述实施例的基础上,进一步地,所述域名信息包括所述待检测域名的子域空间信息,以及所述待检测域名与ip之间的映射关系;相应地,所述根据所述域名信息,按照预设规则计算所述待检测域名的至少一个维度的特征值,包括:

根据所述待检测域名的子域空间信息,若判断获知所述子域空间大于预设阈值,则判定所述待检测域名的第一特殊特征值为1,否则,判定所述待检测域名的第一特殊特征值为0;

根据所述待检测域名与ip之间的映射关系,若判断获知所述待检测域名对应的所述ip为预设ip,则判定所述待检测域名的第二特殊特征值为1,否则,判定所述待检测域名的第二特殊特征值为0。

具体地,所述装置获取预设时间段内的所述待检测域名的所述域名信息包括所述待检测域名的子域空间信息,以及所述待检测域名与ip之间的映射关系,所述装置根据所述待检测域名的子域空间信息若判断获知所述子域空间大于预设阈值,则判定所述待检测域名的第一特殊特征值为1,否则,判定所述待检测域名的第一特殊特征值为0;根据所述待检测域名与ip之间的映射关系,若判断获知所述待检测域名对应的所述ip为预设ip,则判定所述待检测域名的第二特殊特征值为1,否则,判定所述待检测域名的第二特殊特征值为0。应当说明的是,所述预设阈值为根据训练样本学习获得的,并且可以根据实际情况进行调整,此处不作具体限定;所述预设ip可以是tcp/ip协议中专门保留的私有地址或者广播地址,也可以是其他ip,此处不做具体限定;所述第一特殊特征值和所述第二特殊特征值均为特殊特征值,所述特殊特征值还可以包括其他特殊特征值,此处不做具体限定。

本发明实施例提供的恶意域名检测处理方法,通过根据获取到的待检测域名的域名信息,按照预设规则计算待检测域名的特征值,并根据所述特征值通过预设分类器模型进行恶意域名检测处理,提高了恶意域名检测的效率和准确率。

图3为本发明实施例提供的恶意域名检测处理方法的整体流程示意图,如图3所示,本发明实施例提供的恶意域名检测处理方法具体包括如下步骤:

s301、接收dns应答数据包;然后,执行步骤s302;

s302、解析dns应答数据包;所述恶意域名检测处理装置将所述dns应答数据包按照dns协议数据响应包格式进行解析,获取所述dns应答数据包中包括的域名及其对应的ip;然后,执行步骤s303;

s303、是否与黑名单匹配;所述装置判断所述域名及其对应的ip是否与所述黑名单匹配,若匹配,则将所述域名判定为恶意域名,否则,执行步骤s304;

s304、是否与白名单匹配;所述装置判断所述域名及其对应的ip是否与所述白名单匹配,若匹配,则将所述域名判定为正常域名,否则,执行步骤s305;

s305、判定为待检测域名;将未被所述黑白名单过滤识别的所述域名判定为待检测域名,并将所述待检测域名储存在所述待检测域名数据库中;然后,执行步骤s306;

s306、获取所述待检测域名的域名信息;每隔预设时间段获取所述待检测域名数据库中包括的待检测域名的域名信息;然后,执行步骤s307;

s307、根据所述域名信息计算待检测域名的ip-域名特征值;所述装置根据所述待检测域名与ip之间的映射关系计算每一个所述ip对应的所述待检测域名的个数和所述相似度值,并根据所述每一个所述ip对应的所述待检测域名的个数和所述相似度值计算所述待检测域名的ip-域名特征值;然后,执行步骤s308;

s308、根据所述域名信息计算待检测域名的域名-ip特征值;所述装置根据所述待检测域名与ip之间的映射关系,计算每一个所述待检测域名对应的所述ip的个数、各所述ip的ans分布率、各所述ip的国家码分布率,并根据所述每一个所述待检测域名对应的所述ip的个数、各所述ip的ans分布率、各所述ip的国家码分布率计算所述待检测域名的域名-ip特征值然后,执行步骤s309;

s309、根据所述域名信息计算待检测域名的域名名称特征值;所述装置根据所述待检测域名对应的字符串,计算所述待检测域名的字符串长度和域名字符熵值,并根据所述字符串长度和所述域名字符熵值计算所述待检测域名的域名名称特征值,然后,执行步骤s310;

s310、根据所述域名信息计算待检测域名的ttl特征值;所述装置根据所述待检测域名对应的多个ttl值,获取所述ttl值的最大值和最小值,计算所述多个ttl值的平均值和标准差值,并根据所述最大值、最小值、平均值和标准差值计算所述待检测域名的ttl特征值;然后,执行步骤s311;

s311、根据所述域名信息计算待检测域名的动态特征值;所述装置根据所述待检测域名的nxdomain请求信息和所述待检测域名与ip之间的映射关系,统计每一个所述待检测域名对应的nxdomain请求的个数和每一个所述ip对应的nxdomain请求的个数,以及每一个所述待检测域名对应的mx请求的个数和每一个所述ip对应的mx请求的个数,并根据所述每一个所述待检测域名对应的nxdomain请求的个数和每一个所述ip对应的nxdomain请求的个数,计算所述待检测域名的第一动态特征值,且根据所述每一个所述待检测域名对应的mx请求的个数和每一个所述ip对应的mx请求的个数,计算所述待检测域名的第二动态特征值;然后,执行步骤s312;

s312、根据所述域名信息计算待检测域名的特殊特征值;根据所述待检测域名的子域空间信息,获取所述待检测域名的第一特殊特征值,并且根据所述待检测域名与ip之间的映射关系,获取所述待检测域名的第二特殊特征值;然后,执行步骤s313;

s313、根据所述ip-域名特征值、域名-ip特征值、域名名称特征值、ttl特征值、动态特征值和特殊特征值通过预设分类器模型进行恶意域名检测处理;所述装置将所述ip-域名特征值、域名-ip特征值、域名名称特征值、ttl特征值、动态特征值和特殊特征值作为输入量输入通过训练样本进行机器分类学习获得的预设分类模型中,检测识别出所述待检测域名为正常域名或恶意域名的分类结果。其中,所述动态特征值是包括第一动态特征值和第二动态特征值,所述特殊特征值包括第一特殊特征值和第二特殊特征值。

图4为本发明实施例提供的恶意域名检测处理装置的结构示意图,如图4所示,本发明实施例提供一种恶意域名检测处理装置,包括:获取单元401、计算单元402和检测单元403,其中:

获取单元401用于获取预设时间段内的待检测域名的域名信息;

计算单元402用于根据所述域名信息,按照预设规则计算所述待检测域名的至少一个维度上的特征值;

检测单元403用于根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

具体地,获取单元401接收dns应答数据包,对所述dns数据包进行解析后获得所述dns数据包包括的多个域名,获取单元401通过黑白名单过滤对所述多个域名进行恶意域名检测,并将未被所述黑白名单过滤识别的域名作为待检测域名,储存在待检测域名数据库中;然后,获取单元401获取在预设时间段内获得的多个待检测域名的域名信息。计算单元402根据多个所述待检测域名的域名信息,按照预设规则计算所述待检测域名在至少一个维度上的特征值。应当说明的是,所述域名信息可以包括所述待检测域名与ip之间的映射关系、所述待检测域名对应的字符串、ttl值、nxdomain请求信息、mx请求信息和子域空间信息,还可以包括其他域名信息;所述特征值可以是ip-域名特征值、域名-ip特征值、域名名称特征值、ttl特征值、动态特征值或特殊特征值,还可以是其他维度上的特征值,可以根据实际情况进行调整,此处不做具体限定。

检测单元403获取正常域名数据库包括的各个正常域名对应的预设维度上的特征值,以及恶意域名数据库包括的各个恶意域名对应的预设维度上的特征值,并将获取到的所述各个正常域名对应的预设维度上的特征值和所述各个恶意域名对应的预设维度上的特征值作为训练样本,输入支持向量机(svm)模型,对所述训练样本进行机器分类学习,获得所述预设分类器模型;检测单元403将计算获得的所述待检测域名的特征值输入所述预设分类器模型,则可以检测识别出所述待检测域名为正常域名或恶意域名的分类结果,进一步地,还可以获得所述待检测域名的恶意域名可疑几率,并对所述恶意域名可疑几率大于预设可疑几率阈值的所述待检测域名进行告警,提示通过人工进行恶意域名检测确认。应当说明的是,所述预设维度包括至少一个维度,且所述预设维度与所述待检测域名的特征值对应的维度一致;还可以采用其他分类器模型进行训练样本的机器分类学习,获得所述预设分类器模型,具体可以根据实际情况进行调整,此处不做具体限定;所述待检测域名中被判定为恶意域名的域名将作为新增的训练样本自动添加至恶意域名数据库中,通过机器分类学习动态改进所述预设分类器模型。

本发明实施例提供的恶意域名检测处理装置,通过根据获取到的待检测域名的域名信息,按照预设规则计算待检测域名的特征值,并根据所述特征值通过预设分类器模型进行恶意域名检测处理,提高了恶意域名检测的效率和准确率。

本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

图5为本发明实施例提供的电子设备的实体装置结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、存储器(memory)502和总线503,其中,处理器501,存储器502通过总线503完成相互间的通信。处理器501可以调用存储器502中的逻辑指令,以执行如下方法:获取预设时间段内的待检测域名的域名信息;根据所述域名信息,按照预设规则计算所述待检测域名的至少一个维度的特征值;根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取预设时间段内的待检测域名的域名信息;根据所述域名信息,按照预设规则计算所述待检测域名的至少一个维度的特征值;根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取预设时间段内的待检测域名的域名信息;根据所述域名信息,按照预设规则计算所述待检测域名的至少一个维度的特征值;根据所述特征值通过预设分类器模型对所述待检测域名进行恶意域名检测处理;其中,所述预设分类器模型为通过训练样本进行机器分类学习获得的。

此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1