掌桥专利:专业的专利平台
掌桥专利
首页

恶意域名的检测方法、装置和电子设备

文献发布时间:2023-06-19 19:28:50


恶意域名的检测方法、装置和电子设备

技术领域

本发明涉及网络安全的技术领域,尤其是涉及一种恶意域名的检测方法、装置和电子设备。

背景技术

域名是用来标识网络服务的字符串,这里的服务包括但不限于人们日常使用的电子邮箱和访问的网站(因而俗称网址)。在网络安全中,黑客会以某种方式建立与受害者的连接进而达成其攻击的目的。辩证地看,前者在向后者提供一种特殊的网络服务。因此,域名本身是无害的,所谓的恶意是指使用目的。一个典型的例子是命令与控制攻击,黑客首先会向受害机器中植入恶意程序,而后该程序会通过黑客预设的域名定期与预置的服务器建立连接,以获取在受害机器上要执行的恶意命令。

依据上述实例的原理,人们最初提出的应对手段是先通过分析域名日志数据(含请求和响应等相关信息)找出恶意域名,而后将其加入黑名单中,以切断黑客与受害者之间的网络通信。不幸的是,一种用来批量生成域名的算法使得上述方法变得无效,恶意域名的更新速度远超其被屏蔽(日志分析)的速度,且前者的执行成本远低于后者。接着,大家尝试源头打击,即通过与网络服务提供商合作来直接关停恶意域名所对应网络地址的网络服务。然而,这种方法实现起来会有难度更大、周期更长、规避更易等缺陷。而后,人们又通过主动访问域名,以检测其存在性来(辅助)判定域名性质,但正如上述分析,域名本身并无好坏,这种方法仅能较准确地将高频访问的空恶意域名识别出来。

随着信息技术的发展,学/业界涌现出了多种基于信息/数据科学的检测手段。首先出现的是一种通过计算域名的香浓熵来判定恶意与否的方法。这里的香浓熵可以简单理解为域名中字符的混乱/淆程度,即,该方法奏效的前提是恶意域名中字符的混乱/淆程度较正常域名更高。然而,现实中由域名生成算法所产生的域名的香浓熵时常不高,且由人工编纂单调恶意域名的熵值往往极低(如aaaaaaaaaa.com)。接着,人们在分析各种域名生成算法时发现,由某些算法生成的域名会呈现较为固定的模式(如原辅音字母交替出现)。由此,一些基于此类特征的数据被统计出来用于定性检测。显而易见的是,此类方法仅适用于少数特定算法。而后,人们又发现,黑客为了混淆恶意与正常域名,他们不再依赖某些固定或随机模式,转而通过计划性的组合单词/词根/词缀来制造域名。针对此类做法,大家应用基于序列化原理的机器学习模型(如隐形马科夫)来检测恶意域名。鉴于字符本身是无意义的,人们很快发现以字符序列为依据的判定方法效果并不可靠。进而,又有人提出基于词法分析的方案,即,将域名拆分为若干相互且部分包含的字符片段后,再应用序列化机器学习模型检测。遗憾的是,最终的结果依然不理想,原因在于拆分出来的定长序列化字符片段之间往往不存在/破坏了词法上的关联。事实上,人们很难根据拼接词判断域名的性质。例如,由trade和clean两个单词所组成的两个域名tradeclean.org和cleantrade.org,即便人工确认前/后者为恶意/正常域名也需要耗费很长时间来执行很多步骤。雪上加霜的是,当前更高阶的域名生成算法在合成新词的基础上进一步随机化/模糊了拼接词间的边界,从而更大程度地混淆了恶意与正常域名。

作为发动网络攻击的必备条件之一,恶意域名生成算法自2008年起就成为诸多网络攻击程序的必备组件。另根据360网络实验室的调研,目前至少有近50类恶意软件正在使用各式恶意域名生成算法。这其中就包括著名的Conficker(针对Windows系统,会关闭所有安全/备份进程,感染其它机器,发动命令与控制攻击),因恶意域名生成算法的使用,多年来恶意域名一直未被成功封禁。

综上,现有的恶意域名的检测方法存在准确性差的技术问题。

发明内容

有鉴于此,本发明的目的在于提供一种恶意域名的检测方法、装置和电子设备,以缓解现有的恶意域名的检测方法准确性差的技术问题。

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

获取待检测非国际化域名,并对所述待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,所述待检测域名向量为所述待检测非国际化域名中,区分度高的域名片段对应的向量;

若所述待检测域名向量不属于预设的非恶意域名样本向量集,则确定所述待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对所述待检测域名向量进行域名检测,得到域名检测结果,其中,所述域名检测模型为预先训练得到的;

基于所述注册情况和所述域名检测结果确定所述待检测非国际化域名是否为恶意域名。

进一步的,所述方法还包括:

若所述待检测域名向量属于所述预设的非恶意域名样本向量集,则确定所述待检测非国际化域名为非恶意域名。

进一步的,对所述待检测非国际化域名进行第一预处理,包括:

以预设字符为界,将所述待检测非国际化域名切分为至少两个域名片段;

在所述至少两个域名片段中提取所述区分度高的域名片段;

对所述区分度高的域名片段进行长度标准化处理,得到长度标准化的域名片段;

按照预设的编码表对所述长度标准化的域名片段进行编码处理,得到所述待检测域名向量。

进一步的,在所述至少两个域名片段中提取所述区分度高的域名片段,包括:

当所述至少两个域名片段为两个域名片段时,则在所述两个域名片段中提取第一个域名片段,并将所述第一个域名片段作为所述区分度高的域名片段;

当所述至少两个域名片段为三个域名片段时,则在所述三个域名片段中提取第二个域名片段,并将所述第二个域名片段作为所述区分度高的域名片段;

当所述至少两个域名片段为四个域名片段,且在所述四个域名片段中第三个域名片段和第四个域名片段均为或均不为顶级域名时,则在所述四个域名片段中提取第二个域名片段,并将所述第二个域名片段作为所述区分度高的域名片段;

当所述至少两个域名片段为四个域名片段,且在所述四个域名片段中第三个域名片段为顶级域名,且第四个域名片段为非顶级域名时,则在所述四个域名片段中提取第二个域名片段,并将所述第二个域名片段作为所述区分度高的域名片段;

当所述至少两个域名片段为四个域名片段,且在所述四个域名片段中第三个域名片段为非顶级域名,且第四个域名片段为顶级域名时,则在所述四个域名片段中提取第三个域名片段,并将所述第三个域名片段作为所述区分度高的域名片段。

进一步的,所述域名检测结果包括:所述待检测非国际化域名为非恶意域名的概率,基于所述注册情况和所述域名检测结果确定所述待检测非国际化域名是否为恶意域名,包括:

若所述待检测非国际化域名在所述域名服务器中未注册,则确定对应的概率校准值;

根据所述概率校准值对所述概率进行校准,得到校准后概率;

将所述校准后概率与预设的概率阈值进行对比,并根据对比结果确定所述待检测非国际化域名是否为恶意域名。

进一步的,所述域名检测结果包括:所述待检测非国际化域名为非恶意域名的概率,基于所述注册情况和所述域名检测结果确定所述待检测非国际化域名是否为恶意域名,还包括:

若所述待检测非国际化域名在所述域名服务器中已注册,则将所述概率与预设的概率阈值进行对比,并根据对比结果确定所述待检测非国际化域名是否为恶意域名。

进一步的,所述域名检测模型包括:依次连接的局部连接神经网络、双向长短期记忆神经网络、注意力机制神经网络和全连接神经网络;

所述局部连接神经网络包含的神经节点的个数与所述待检测域名向量中元素的个数相同;

所述双向长短期记忆神经网络中的向前神经网络包含的神经节点的个数与所述待检测域名向量中元素的个数相同,且所述双向长短期记忆神经网络中的向后神经网络包含的神经节点的个数与所述待检测域名向量中元素的个数相同;

所述双向长短期记忆神经网络中的每一神经节点与所述局部连接神经网络中与其对应及临近的神经节点连接,其中,所述临近的神经节点表示所述局部连接神经网络中,神经节点的标号与所述双向长短期记忆神经网络中每一神经节点作为当前神经节点时的标号相差预设值以内的神经节点;

所述注意力机制神经网络包含的神经节点的个数与所述待检测域名向量中元素的个数相同,且所述注意力机制神经网络中的每一神经节点与所述双向长短期记忆神经网络中的对应神经节点连接;

所述全连接神经网络包含的神经节点的个数为所述待检测域名向量中元素的个数的预设倍数,且所述全连接神经网络中的每一神经节点与所述注意力机制神经网络中的所有神经节点连接。

进一步的,所述方法还包括:

获取预设的恶意域名样本集和预设的非恶意域名样本集;

对所述预设的恶意域名样本集中的恶意域名样本进行第二预处理,得到预设的恶意域名样本向量集,并对所述预设的非恶意域名样本集中的非恶意域名样本进行第三预处理,得到所述预设的非恶意域名样本向量集;

采用所述预设的恶意域名样本向量集和所述预设的非恶意域名样本向量集对原始域名检测模型进行训练,得到所述域名检测模型。

第二方面,本发明实施例还提供了一种恶意域名的检测装置,包括:

获取和预处理单元,用于获取待检测非国际化域名,并对所述待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,所述待检测域名向量为所述待检测非国际化域名中,区分度高的域名片段对应的向量;

检测单元,用于若所述待检测域名向量不属于预设的非恶意域名样本向量集,则确定所述待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对所述待检测域名向量进行域名检测,得到域名检测结果,其中,所述域名检测模型为预先训练得到的;

确定单元,用于基于所述注册情况和所述域名检测结果确定所述待检测非国际化域名是否为恶意域名。

第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。

在本发明实施例中,提供了一种恶意域名的检测方法,包括:获取待检测非国际化域名,并对待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量;若待检测域名向量不属于预设的非恶意域名样本向量集,则确定待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,其中,域名检测模型为预先训练得到的;基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名。通过上述描述可知,本发明的恶意域名的检测方法中,第一预处理得到了待检测非国际化域名中,区分度高的域名片段对应的向量(即待检测域名向量),进而采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,最后,是基于待检测非国际化域名在域名服务器中的注册情况和域名检测结果对待检测非国际化域名是否为恶意域名进行综合判定的,因为待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量,这样,后续在采用域名检测模型对待检测域名向量进行域名检测时,得到的域名检测结果准确,加之最后在进行恶意域名判定时,还综合了待检测非国际化域名在域名服务器中的注册情况,使得最终确定的待检测非国际化域名是否为恶意域名的结果更加准确,即本发明的检测方法能够提高恶意域名检测结果的准确性,降低了传统检测方法的误报率和漏报率,缓解了现有的恶意域名的检测方法准确性差的技术问题。

附图说明

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

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

图2为本发明实施例提供的域名检测模型对待检测域名向量进行域名检测的示意图;

图3为本发明实施例提供的域名检测模型的结构示意图;

图4为本发明实施例提供的Bi-LSTM中的向前神经网络与LNN连接方式的示意图;

图5为本发明实施例提供的一种恶意域名的检测装置的示意图;

图6为本发明实施例提供的一种电子设备的示意图。

具体实施方式

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

目前,基于序列化原理的机器学习模型(如隐形马科夫)来检测恶意域名时,都是以字符序列为依据,即根据相邻“字符”之间的关系来判断当前域名恶意与否,但是,由于字符本身是无意义的,所以,通过该种检测方法进行恶意域名的检测时,误报率和漏报率高;目前,基于词法分析的方案中,将域名拆分为若干相互且部分包含的字符片段后,再应用序列化机器学习模型进行检测后,效果依然不理想,因为拆分出来的定长序列化字符片段之间往往不存在/破坏了词法上的关联,且很难根据拼接词判断域名的性质,即传统的恶意域名的检测方法准确性差。

基于此,本发明的恶意域名的检测方法中,第一预处理得到了待检测非国际化域名中,区分度高的域名片段对应的向量(即待检测域名向量),进而采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,最后,是基于待检测非国际化域名在域名服务器中的注册情况和域名检测结果对待检测非国际化域名是否为恶意域名进行综合判定的,因为待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量,这样,后续在采用域名检测模型对待检测域名向量进行域名检测时,得到的域名检测结果准确,加之最后在进行恶意域名判定时,还综合了待检测非国际化域名在域名服务器中的注册情况,使得最终确定的待检测非国际化域名是否为恶意域名的结果更加准确,即本发明的检测方法能够提高恶意域名检测结果的准确性,降低了传统检测方法的误报率和漏报率。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种恶意域名的检测方法进行详细介绍。

实施例一:

根据本发明实施例,提供了一种恶意域名的检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种恶意域名的检测方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取待检测非国际化域名,并对待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量;

在本发明实施例中,上述第一预处理包括:切分处理、域名片段提取处理、长度标准化处理和编码处理,下文中再对上述第一预处理的过程进行详细描述,在此不再赘述。

第一预处理后,便能得到待检测非国际化域名中,区分度高的域名片段对应的向量(即待检测域名向量),以便于基于该区分度高的域名片段对应的向量进行恶意域名的检测,进而提高恶意域名检测结果的准确性。

步骤S104,若待检测域名向量不属于预设的非恶意域名样本向量集,则确定待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,其中,域名检测模型为预先训练得到的;

具体的,调用如Dnspython,whois等工具确定待检测非国际化域名在域名服务器中的注册情况,即待检测非国际化域名在域名服务器中是否已注册。

其中,将待检测域名向量输入至域名检测模型,输出得到域名检测结果,该域名检测结果可以为待检测非国际化域名为非恶意域名的概率,如图2中的P值。

步骤S106,基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名。

具体的,本发明的检测方法是基于待检测非国际化域名在域名服务器中的注册情况和域名检测结果对待检测非国际化域名是否为恶意域名进行综合判定的,进一步提高了恶意域名检测结果的准确性,下文中再对该过程进行详细描述,在此不再赘述。

在本发明实施例中,提供了一种恶意域名的检测方法,包括:获取待检测非国际化域名,并对待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量;若待检测域名向量不属于预设的非恶意域名样本向量集,则确定待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,其中,域名检测模型为预先训练得到的;基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名。通过上述描述可知,本发明的恶意域名的检测方法中,第一预处理得到了待检测非国际化域名中,区分度高的域名片段对应的向量(即待检测域名向量),进而采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,最后,是基于待检测非国际化域名在域名服务器中的注册情况和域名检测结果对待检测非国际化域名是否为恶意域名进行综合判定的,因为待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量,这样,后续在采用域名检测模型对待检测域名向量进行域名检测时,得到的域名检测结果准确,加之最后在进行恶意域名判定时,还综合了待检测非国际化域名在域名服务器中的注册情况,使得最终确定的待检测非国际化域名是否为恶意域名的结果更加准确,即本发明的检测方法能够提高恶意域名检测结果的准确性,降低了传统检测方法的误报率和漏报率,缓解了现有的恶意域名的检测方法准确性差的技术问题。

上述内容对本发明的恶意域名的检测方法进行了简要介绍,下面对其中涉及到的具体内容进行详细描述。

在本发明的一个可选实施例中,该方法还包括:

若待检测域名向量属于预设的非恶意域名样本向量集,则确定待检测非国际化域名为非恶意域名。

在本发明的一个可选实施例中,上述步骤S102,对待检测非国际化域名进行第一预处理,具体包括如下步骤:

(1)以预设字符为界,将待检测非国际化域名切分为至少两个域名片段;

具体的,上述预设字符可以为字符“.”,即以字符“.”为界,将待检测非国际化域名切分为至少两个域名片段

(2)在至少两个域名片段中提取区分度高的域名片段;

该提取过程是对非国际化域名的各个部分(即非国际化域名的结构/组成)进行分析后,确定得到的能够提取区分度高的域名片段的过程。

该过程具体包括如下步骤:

(21)当至少两个域名片段为两个域名片段时,则在两个域名片段中提取第一个域名片段,并将第一个域名片段作为区分度高的域名片段;

简言之,若片段数为2,则提取第一个域名片段。根据非国际化域名的结构可知,当以字符“.”为界进行切分后,若片段数为2,第一个域名片段一般都是识别度高、专门取名、特有的片段,第二个域名片段一般为顶级域名,其没有区分度,因为所有的非国际化域名中都包含顶级域名(如:com)。

上述第一个域名片段为从左往右数的第一个域名片段,下文中的也是从左往右数。

(22)当至少两个域名片段为三个域名片段时,则在三个域名片段中提取第二个域名片段,并将第二个域名片段作为区分度高的域名片段;

简言之,若片段数为3,则提取第二个域名片段。

(23)当至少两个域名片段为四个域名片段,且在四个域名片段中第三个域名片段和第四个域名片段均为或均不为顶级域名时,则在四个域名片段中提取第二个域名片段,并将第二个域名片段作为区分度高的域名片段;

简言之,若片段数为4,且第三个域名片段和第四个域名片段均为或均不为顶级域名,则提取第二个域名片段。

(24)当至少两个域名片段为四个域名片段,且在四个域名片段中第三个域名片段为顶级域名,且第四个域名片段为非顶级域名时,则在四个域名片段中提取第二个域名片段,并将第二个域名片段作为区分度高的域名片段;

简言之,若片段数为4,且第三个域名片段为顶级域名,且第四个域名片段为非顶级域名,则提取第二个域名片段。

(25)当至少两个域名片段为四个域名片段,且在四个域名片段中第三个域名片段为非顶级域名,且第四个域名片段为顶级域名时,则在四个域名片段中提取第三个域名片段,并将第三个域名片段作为区分度高的域名片段。

简言之,若片段数为4,且第三个域名片段为非顶级域名,且第四个域名片段为顶级域名,则提取第三个域名片段。

(3)对区分度高的域名片段进行长度标准化处理,得到长度标准化的域名片段;

具体的,若区分度高的域名片段中的字符数N

(4)按照预设的编码表对长度标准化的域名片段进行编码处理,得到待检测域名向量。

具体的,将长度标准化的域名片段中的每一字符按如下编码表编码(不区分大小写)为某一正整数,从而得到由N

经过上述第一预处理之后,内容各异且长短不一的待检测非国际化域名就被统一标准化为长度相同的待检测域名向量了。

在本发明的一个可选实施例中,域名检测结果包括:待检测非国际化域名为非恶意域名的概率,上述步骤S106,基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名,具体包括如下步骤:

(1)若待检测非国际化域名在域名服务器中未注册,则确定对应的概率校准值;

具体的,上述概率校准值的默认值可以为0.5,但是,本发明实施例对上述概率校准值不进行具体限定。

(2)根据概率校准值对概率进行校准,得到校准后概率;

具体的,校准后的概率=概率-概率校准值,也就是说,若待检测非国际化域名在域名服务器中未注册,说明其为恶意域名的可疑度很高,则对域名检测模型检测得到的概率添加一个惩罚因子(该惩罚因子即为概率校准值),从而降低该待检测非国际化域名为非恶意域名的概率,得到校准后概率。

(3)将校准后概率与预设的概率阈值进行对比,并根据对比结果确定待检测非国际化域名是否为恶意域名。

具体的,上述预设的概率阈值可以为0.5,也可以为其它值,本发明实施例对上述预设的概率阈值的取值不进行具体限定。

其中,若校准后概率大于预设的概率阈值,则确定待检测非国际化域名为非恶意域名;若校准后概率不大于预设的概率阈值,则确定待检测非国际化域名为恶意域名。

在本发明的一个可选实施例中,域名检测结果包括:待检测非国际化域名为非恶意域名的概率,上述步骤S106,基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名,还包括如下步骤:

若待检测非国际化域名在域名服务器中已注册,则将概率与预设的概率阈值进行对比,并根据对比结果确定待检测非国际化域名是否为恶意域名。

在本发明的一个可选实施例中,域名检测模型包括:依次连接的局部连接神经网络、双向长短期记忆神经网络、注意力机制神经网络和全连接神经网络;

局部连接神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同;

双向长短期记忆神经网络中的向前神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同,且双向长短期记忆神经网络中的向后神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同;

双向长短期记忆神经网络中的每一神经节点与局部连接神经网络中与其对应及临近的神经节点连接,其中,临近的神经节点表示局部连接神经网络中,神经节点的标号与双向长短期记忆神经网络中每一神经节点作为当前神经节点时的标号相差预设值以内的神经节点;

注意力机制神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同,且注意力机制神经网络中的每一神经节点与双向长短期记忆神经网络中的对应神经节点连接;

全连接神经网络包含的神经节点的个数为待检测域名向量中元素的个数的预设倍数,且全连接神经网络中的每一神经节点与注意力机制神经网络中的所有神经节点连接。

具体的,域名检测模型包括:依次连接的局部连接神经网络(LNN: Locally-connected Neural Network)、双向长短期记忆神经网络(Bi-LSTM: Bi-directional LongShort-Term Memory)、注意力机制神经网络(ANN: Attention-enabled Neural Network)和全连接神经网络(FNN: Fully-connected Neural Network)。

参考图3至图4,LNN包含N

Bi-LSTM由向前神经网络和向后神经网络2层神经节点组成,每层神经节点分别包含N

上述Bi-LSTM与LNN相连的方式,包括:Bi-LSTM中每一神经节点仅与LNN中与其对应及临近的神经节点相连,对应及临近是指标号差在N

从上述LNN和Bi-LSTM的结构可知,LNN中求和处,本发明是找的是相邻字符片段之间的关系,以域名abcdefg.com举例说明,本发明找的是abcd, bcde, cdef, defg之间的关系,另外,传统的N-gram方法也是设置一个滑动窗口把域名拆解为若干个字符片段,然而,N-gram是把字符片段中的每个元素单纯加和后送入LSTM,而本发明是用一层LNN实现带权重加和。

再用域名abcdefg.com举例,本发明与N-gram都会把字符片段abcd作为输入,区别在于 ,N-gram在把abcd加和时,每个字符的权重都是相同的(假设是1),而本发明的方法中,abcd通过LNN后,各字符都赋予了不同的权重(如,0.3, 0.8, 0.5, 0.7),这样一来,两种方法对同一字符片段abcd的求和结果是不同的。这样做的原因在于,实际中,没人知道单词的边界在哪,如果把单词中每个字符都赋予权重,再经过大量样本训练,充当边界的随机字符片段(即混淆词)中每一元素的权重就会自然变小。也就是说,本发明中的LNN的结构能够把字符片段中的混淆词的每一字符的权重变小,从而根据权重的大小就能区分出固定词和混淆词。即本发明的LNN清晰化了拼接词间的边界,从而有助于后续准确的区分恶意与非恶意域名。本发明LNN与Bi-LSTM之间的连接结构也是提高恶意域名检测结果准确性的另一个原因,LNN的结构是本发明中所独有的。

举个例子,若有两个单词hello和world,可以单纯地把它们拼接在一起作为域名helloworld。然而,为了模糊边界,可以在两个词中间加入任意字符片段hello[…]world,如hellohiworld, hellogworld, helloabcworld等等,用于混淆边界的插入词是随机的,而 hello和world两词是固定的,经过大量样本训练后,LNN自然会调低混淆词中字符的权重(如,对于hellohiworld来说,LNN会调低混淆词hi中各字符的权重,即hi中各字符的权重要比hello和world中各字符的权重小)并增大固定词中字符的权重(如上述举例,增大hello和world中各字符的权重),这样一来,边界就通过权重大小变清晰了,有利于后续准确的区分恶意与非恶意域名。

本发明的上述LNN能够对待检测域名向量中,各元素所表征的字符赋予不同的权重,以表示对应字符是否为混淆词,从而区分区分度高的域名片段中拼接词之间的边界。

上述LNN、Bi-LSTM、ANN、FNN涉及的技术参数如下表所示:

在本发明的一个可选实施例中,该方法还包括:

(1)获取预设的恶意域名样本集和预设的非恶意域名样本集;

具体的,预设的恶意域名样本集中包含恶意域名样本,具体为恶意非国际化域名样本;预设的非恶意域名样本集中包含非恶意域名样本,具体为非恶意非国际化域名样本。

(2)对预设的恶意域名样本集中的恶意域名样本进行第二预处理,得到预设的恶意域名样本向量集,并对预设的非恶意域名样本集中的非恶意域名样本进行第三预处理,得到预设的非恶意域名样本向量集;

具体的,这里的第二预处理和第三预处理与上述内容中提到的第一预处理相同,也包括:切分处理、域名片段提取处理、长度标准化处理和编码处理,在此不再展开叙述,可参考上文中的描述。

(3)采用预设的恶意域名样本向量集和预设的非恶意域名样本向量集对原始域名检测模型进行训练,得到域名检测模型。

本发明的恶意域名的检测方法的检测效率高且恒定,对未收录恶意域名仍有一定识别能力。因该方法聚焦域名主体(即,区分度高的域名片段,如www.abc.com中的abc),其可实现低于传统方法的误报率和漏报率,提高了恶意域名检测结果的准确性。

实施例二:

本发明实施例还提供了一种恶意域名的检测装置,该恶意域名的检测装置主要用于执行本发明实施例一中所提供的恶意域名的检测方法,以下对本发明实施例提供的恶意域名的检测装置做具体介绍。

图5是根据本发明实施例的一种恶意域名的检测装置的示意图,如图5所示,该装置主要包括:获取和预处理单元10、检测单元20和确定单元30,其中:

获取和预处理单元,用于获取待检测非国际化域名,并对待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量;

检测单元,用于若待检测域名向量不属于预设的非恶意域名样本向量集,则确定待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,其中,域名检测模型为预先训练得到的;

确定单元,用于基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名。

在本发明实施例中,提供了一种恶意域名的检测装置,包括:获取待检测非国际化域名,并对待检测非国际化域名进行第一预处理,得到对应的待检测域名向量,其中,待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量;若待检测域名向量不属于预设的非恶意域名样本向量集,则确定待检测非国际化域名在域名服务器中的注册情况,并采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,其中,域名检测模型为预先训练得到的;基于注册情况和域名检测结果确定待检测非国际化域名是否为恶意域名。通过上述描述可知,本发明的恶意域名的检测装置中,第一预处理得到了待检测非国际化域名中,区分度高的域名片段对应的向量(即待检测域名向量),进而采用域名检测模型对待检测域名向量进行域名检测,得到域名检测结果,最后,是基于待检测非国际化域名在域名服务器中的注册情况和域名检测结果对待检测非国际化域名是否为恶意域名进行综合判定的,因为待检测域名向量为待检测非国际化域名中,区分度高的域名片段对应的向量,这样,后续在采用域名检测模型对待检测域名向量进行域名检测时,得到的域名检测结果准确,加之最后在进行恶意域名判定时,还综合了待检测非国际化域名在域名服务器中的注册情况,使得最终确定的待检测非国际化域名是否为恶意域名的结果更加准确,即本发明的检测方法能够提高恶意域名检测结果的准确性,降低了传统检测方法的误报率和漏报率,缓解了现有的恶意域名的检测方法准确性差的技术问题。

可选地,该装置还用于:若待检测域名向量属于预设的非恶意域名样本向量集,则确定待检测非国际化域名为非恶意域名。

可选地,获取和预处理单元还用于:以预设字符为界,将待检测非国际化域名切分为至少两个域名片段;在至少两个域名片段中提取区分度高的域名片段;对区分度高的域名片段进行长度标准化处理,得到长度标准化的域名片段;按照预设的编码表对长度标准化的域名片段进行编码处理,得到待检测域名向量。

可选地,获取和预处理单元还用于:当至少两个域名片段为两个域名片段时,则在两个域名片段中提取第一个域名片段,并将第一个域名片段作为区分度高的域名片段;当至少两个域名片段为三个域名片段时,则在三个域名片段中提取第二个域名片段,并将第二个域名片段作为区分度高的域名片段;当至少两个域名片段为四个域名片段,且在四个域名片段中第三个域名片段和第四个域名片段均为或均不为顶级域名时,则在四个域名片段中提取第二个域名片段,并将第二个域名片段作为区分度高的域名片段;当至少两个域名片段为四个域名片段,且在四个域名片段中第三个域名片段为顶级域名,且第四个域名片段为非顶级域名时,则在四个域名片段中提取第二个域名片段,并将第二个域名片段作为区分度高的域名片段;当至少两个域名片段为四个域名片段,且在四个域名片段中第三个域名片段为非顶级域名,且第四个域名片段为顶级域名时,则在四个域名片段中提取第三个域名片段,并将第三个域名片段作为区分度高的域名片段。

可选地,域名检测结果包括:待检测非国际化域名为非恶意域名的概率,确定单元还用于:若待检测非国际化域名在域名服务器中未注册,则确定对应的概率校准值;根据概率校准值对概率进行校准,得到校准后概率;将校准后概率与预设的概率阈值进行对比,并根据对比结果确定待检测非国际化域名是否为恶意域名。

可选地,域名检测结果包括:待检测非国际化域名为非恶意域名的概率,确定单元还用于:若待检测非国际化域名在域名服务器中已注册,则将概率与预设的概率阈值进行对比,并根据对比结果确定待检测非国际化域名是否为恶意域名。

可选地,域名检测模型包括:依次连接的局部连接神经网络、双向长短期记忆神经网络、注意力机制神经网络和全连接神经网络;局部连接神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同;双向长短期记忆神经网络中的向前神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同,且双向长短期记忆神经网络中的向后神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同;双向长短期记忆神经网络中的每一神经节点与局部连接神经网络中与其对应及临近的神经节点连接,其中,临近的神经节点表示局部连接神经网络中,神经节点的标号与双向长短期记忆神经网络中每一神经节点作为当前神经节点时的标号相差预设值以内的神经节点;注意力机制神经网络包含的神经节点的个数与待检测域名向量中元素的个数相同,且注意力机制神经网络中的每一神经节点与双向长短期记忆神经网络中的对应神经节点连接;全连接神经网络包含的神经节点的个数为待检测域名向量中元素的个数的预设倍数,且全连接神经网络中的每一神经节点与注意力机制神经网络中的所有神经节点连接。

可选地,该装置还用于:获取预设的恶意域名样本集和预设的非恶意域名样本集;对预设的恶意域名样本集中的恶意域名样本进行第二预处理,得到预设的恶意域名样本向量集,并对预设的非恶意域名样本集中的非恶意域名样本进行第三预处理,得到预设的非恶意域名样本向量集;采用预设的恶意域名样本向量集和预设的非恶意域名样本向量集对原始域名检测模型进行训练,得到域名检测模型。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

如图6所示,本申请实施例提供的一种电子设备600,包括:处理器601、存储器602和总线,所述存储器602存储有所述处理器601可执行的机器可读指令,当电子设备运行时,所述处理器601与所述存储器602之间通过总线通信,所述处理器601执行所述机器可读指令,以执行如上述恶意域名的检测方法的步骤。

具体地,上述存储器602和处理器601能够为通用的存储器和处理器,这里不做具体限定,当处理器601运行存储器602存储的计算机程序时,能够执行上述恶意域名的检测方法。

处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成上述方法的步骤。

对应于上述恶意域名的检测方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述恶意域名的检测方法的步骤。

本申请实施例所提供的恶意域名的检测装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

再例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述车辆标记方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 恶意域名的检测方法、装置及计算机可读存储介质
  • 一种基于深度学习的恶意域名检测方法及装置
  • 加密恶意流量检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 域名系统中恶意域名的检测方法与检测装置
  • 恶意域名检测方法及装置、电子设备和存储介质
技术分类

06120115919657