一种恶意域名的识别方法、系统和设备

文档序号:1834647 发布日期:2021-11-12 浏览:1次 >En<

阅读说明:本技术 一种恶意域名的识别方法、系统和设备 (Malicious domain name identification method, system and equipment ) 是由 苏香艳 梁兴强 于 2020-04-27 设计创作,主要内容包括:本发明公开了一种恶意域名的识别方法、系统和设备,包括:将待识别域名划分为域名前缀、主域名和域名后缀;通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询;根据上述检测和查询结论,判断所述待识别域名是否为恶意域名。本发明对域名识别采用了分段处理的方式,将待检测域名划分为域名前缀、主域名、域名后缀三部分,对不同部分分别采用不同的检测方法,对域名前缀和/或主域名分别建立各自的模型来检测,对域名后缀采用比较域名后缀信誉度的方式来检测,综合评分,可以准确高效地识别出恶意域名。(The invention discloses a method, a system and equipment for identifying a malicious domain name, which comprise the following steps: dividing a domain name to be identified into a domain name prefix, a main domain name and a domain name suffix; carrying out malicious domain name detection on a domain name prefix and/or a main domain name through a pre-constructed domain name identification model, and carrying out domain name suffix credibility query on a domain name suffix; and judging whether the domain name to be identified is a malicious domain name or not according to the detection and query conclusion. The domain name identification method adopts a sectional processing mode to identify the domain name, divides the domain name to be detected into three parts of a domain name prefix, a main domain name and a domain name suffix, respectively adopts different detection methods to different parts, respectively establishes respective models to detect the domain name prefix and/or the main domain name, respectively detects the domain name suffix by adopting a mode of comparing the reputation of the domain name suffix, carries out comprehensive scoring and can accurately and efficiently identify the malicious domain name.)

一种恶意域名的识别方法、系统和设备

技术领域

本发明涉及网络安全技术领域,特别是涉及一种恶意域名的识别方法、系统和设备。

背景技术

TLS加密流量的识别与分类是目前的研究热点,如何识别恶意的TLS加密流量目前已有一些研究成果,对于TLS恶意加密流量的识别的误报率是目前比较头疼的问题。

恶意域名是指一类具有恶意链接的网址,攻击者通过这些域名诱使用户进入网站,达到获取用户的私人信息或者控制用户计算机等目的。恶意域名的攻击有很多种方式,有些恶意域名是攻击者通过抢注某些已有的公司名或人名的域名,或者注册与知名网站非常相似的域名,有些恶意域名是通过DGA算法生成,常用于僵尸程序与其控制者的C&C服务器通讯,有些恶意域名是利用用户在输入知名域名时可能会犯的输入错误进行注册,有些域名通过向知名网站添加其他关键词的方式构造并注册新的域名进行恶意行为。

在TLS加密流量中往往存在SNI、DNS、CN这些域名信息,若可以直接识别这些域名是否是恶意域名,则可对TLS加密流量的识别与分类提供明确依据。

恶意域名的识别是网络安全检测的一个难题和瓶颈,而实现恶意域名的识别能极大的提高网络安全的可靠性。

发明内容

本发明的目的是提供一种能准确识别恶意域名的方法、系统和设备,以解决恶意域名的识别问题。

为解决上述技术问题,本发明提供一种识别恶意域名的方法,包括以下步骤:

将待识别域名划分为域名前缀、主域名和域名后缀;

所述域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名;

通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询;

根据上述检测和查询结论,判断所述待识别域名是否为恶意域名。

可选地,所述预先构建的域名识别模型包括:

对域名前缀和/或主域名进行DGA域名识别、和/或C&C域名识别、和/或仿冒知名域名识别的域名识别模型;

其中,所述C&C域名是指使用C&C服务器的恶意加密流量中所涉及的域名。

可选地,所述进行DGA域名识别的域名识别模型,包括:

基于LSTM神经网络构建的DGA域名识别模型,将域名前缀和/或主域名输入所述DGA域名识别模型,得到所述域名前缀和/或主域名是否是DGA域名。

可选地,所述进行C&C域名识别的域名识别模型,包括:

基于随机森林算法构建的C&C域名识别模型,提取域名前缀和/或主域名的特征,所述域名前缀和/或主域名的特征包括:字符串与数字之间的切换比例和/或是否含有特殊的字符串,将所述特征输入所述C&C域名识别模型,得到所述域名前缀和/或主域名是否是C&C域名。

可选地,所述进行仿冒知名域名识别的域名识别模型,包括:

仿冒域名识别模型,将域名前缀和/或主域名输入所述仿冒域名识别模型,与仿冒域名识别模型中预设的知名域名库中的知名域名进行编辑距离计算,得到所述域名前缀和/或主域名是否是仿冒知名域名。

可选地,所述通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询后,还包括:

对所述域名前缀进行冒用知名网站匹配,预先构建知名网站列表,将域名前缀在所述知名网站列表中进行匹配,根据匹配结果确定域名前缀是否是冒用知名域名。

可选地,所述域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名后,还包括:

域名后缀之前的一级为主域名,主域名之前的所有级为域名前缀。

可选地,所述基于LSTM神经网络构建DGA域名识别模型的过程,包括:

构建DGA域名训练集,所述DGA域名训练集中的样本包括已公开DGA域名列表和/或通过已公开DGA域名生成算法生成的DGA域名,所述DGA域名训练集用于通过处理所述样本得到有效字符串编码集,并将所述样本通过有效字符串编码集转换为数值类型;

构建DGA域名识别模型,基于LSTM神经网络构建DGA域名识别模型,通过所述DGA域名训练集对所述DGA域名识别模型进行训练。

可选地,所述基于随机森林算法构建C&C域名识别模型的过程,包括:

构建C&C域名训练集,收集已公开的C&C域名列表得到C&C域名的集合,通过特征工程选取集合中需分析的域名前缀和/或主域名的所述特征,来建立C&C域名训练集;

构建C&C域名识别模型,基于所述C&C域名训练集,利用随机森林算法对所述C&C域名识别模型进行训练。

可选地,所述对所述域名后缀进行域名后缀信誉度查询,包括:

预先构建域名后缀信誉表,将域名后缀在预设的域名后缀信誉表中进行信誉度排名查询。

可选地,所述将待识别域名划分为域名前缀、主域名和域名后缀,包括:

将待识别域名划分为域名前缀、主域名和域名后缀,所述待识别域名包括SNI、和/或DNS、和/或CN域名。

可选地,所述根据上述检测和查询结论,判断所述待识别域名是否为恶意域名,包括:

根据检测结论对域名前缀和主域名打分,根据查询结论对域名后缀打分;

根据域名前缀、主域名和域名后缀的得分,计算得到待识别域名为恶意域名的概率。

本发明还提供一种恶意域名的识别系统,包括:

域名分段模块,用于将待识别域名划分为域名前缀、主域名和域名后缀,所述域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名;

域名检测模块,用于通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询;

域名识别模块,用于根据上述检测和查询结论,判断所述待识别域名是否为恶意域名。

本发明还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的恶意域名的识别方法。

本发明提供一种恶意域名的识别方法、系统和设备,对域名识别采用了分段处理的方式,将待检测域名划分为域名前缀、主域名、域名后缀三部分,对不同部分分别采用不同的检测方法,对域名前缀和/或主域名分别建立各自的模型来检测,对域名后缀采用比较域名后缀信誉度的方式来检测,综合评分,可以准确高效地识别出恶意域名。

附图说明

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

图1为本发明实施例一的恶意域名的识别方法的流程图;

图2为本发明实施例一的恶意域名的识别方法的分段检测流程图;

图3为本发明实施例一的恶意域名的识别方法的具体域名检测流程图;

图4为本发明实施例一的恶意域名的识别方法的莱文斯坦距离计算公式图;

图5为本发明实施例一的恶意域名的识别方法的冒用知名域名检测流程图;

图6为本发明实施例一的恶意域名的识别方法的域名分段流程图;

图7为本发明实施例一的恶意域名的识别方法的DGA域名识别模型构建流程图;

图8为本发明实施例一的恶意域名的识别方法的C&C域名识别模型构建的流程图;

图9为本发明实施例一的恶意域名的识别方法的待检测域名选取流程图;

图10为本发明实施例一的恶意域名的识别方法的分数和概率计算流程图;

图11为本发明实施例二的恶意域名的识别装置的结构框图;

图12为本发明实施例三的计算机设备的结构框图;

图13为本发明的具体实施过程图。

具体实施方式

本发明的核心是提供一种能准确识别恶意域名的方法、系统和设备,以解决恶意域名的识别问题。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

本发明实施例可以用于域名的安全检测场景,尤其是恶意域名的识别场景。本发明实施例涉及的域名可以是网络通信中的TLS流量,也可以直接是域名,本发明实施例中并不限定。

本发明实施例一提供一种识别恶意域名的方法,如图1所示,包括以下步骤:

S100:将待识别域名划分为域名前缀、主域名和域名后缀。

其中,所述域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名。

具体地,将待识别域名分段并进行检测,恶意域名针对域名前缀、主域名和域名后缀分别有不同的攻击方式或仿冒时的侧重方向,因此本实施例将待识别域名分段,以便后续分别检测。

更具体地,域名后缀采用国际通用TLD确定,再根据与域名后缀的距离确定域名前缀和主域名,与域名后缀距离近的为主域名,主域名前为域名前缀。优选地,可将域名后缀前一级为主域名,主域名前所有级确定为域名前缀。

S300:通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询。

具体地,针对域名前缀和主域名的攻击方式较多,需使用预先构建的域名识别模型对域名前缀和/或主域名分别进行多级的恶意域名检测,而针对域名后缀的检测,本实施例通过对大量恶意域名的分析总结得出,采用域名后缀信誉度查询可以高效地判断域名后缀的可信程度,且对域名后缀进行域名后缀信誉度查询,域名后缀的可信度更直观且易于判别。

S500:根据上述检测和查询结论,判断所述待识别域名是否为恶意域名。

具体地,根据域名前缀和主域名的恶意域名检测结果和域名后缀的域名后缀信誉度查询结果,综合判定待识别域名是否为恶意域名。

本发明提供一种恶意域名的识别方法,对域名识别采用了分段处理的方式,将待检测域名划分为域名前缀、主域名、域名后缀三部分,对不同部分分别采用不同的检测方法,对域名前缀和/或主域名分别建立各自的模型来检测,对域名后缀采用比较域名后缀信誉度的方式来检测,综合评分,可以准确高效地识别出恶意域名。

可选地,如图2所示,所述S300中预先构建的域名识别模型包括:

S310:对域名前缀和/或主域名进行DGA域名识别、和/或C&C域名识别、和/或仿冒知名域名识别的域名识别模型。

其中,所述C&C域名是指使用C&C服务器的恶意加密流量中所涉及的域名。

具体地,恶意域名的攻击有很多种方式,其中,针对域名前缀或主域名的仿冒一般会通过DGA算法生成域名,常用于僵尸程序与其控制者的C&C服务器通讯,或者注册与知名网站非常相似、相关的域名,因此对域名前缀和/或主域名的检测可以进行DGA域名识别、和/或C&C域名识别、和/或仿冒知名域名识别来实现。

本实施例的恶意域名的识别方法,具体针对分段后的域名分别检测过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图3所示,所述S310中进行DGA域名识别的域名识别模型,包括:

S311:基于LSTM神经网络构建的DGA域名识别模型,将域名前缀和/或主域名输入所述DGA域名识别模型,得到所述域名前缀和/或主域名是否是DGA域名。

具体地,DGA域名识别模型采用LSTM神经网络进行训练得到,采用LSTM神经网络进行训练的优势在于LSTM神经网络具有通过门控单元去除或增加信息到细胞状态的能力,门是一种让信息选择式通过的方法。通过LSTM神经网络的训练,DGA域名识别模型可自主学习到DGA域名字符串之间的相关性。

本实施例的恶意域名的识别方法,具体针对域名前缀和主域名的DGA域名识别过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图3所示,所述S310中进行C&C域名识别的域名识别模型,包括:

S312:基于随机森林算法构建的C&C域名识别模型,提取域名前缀和/或主域名的特征,所述域名前缀和/或主域名的特征包括:字符串与数字之间的切换比例和/或是否含有特殊的字符串,将所述特征输入所述C&C域名识别模型,得到所述域名前缀和/或主域名是否是C&C域名。

具体地,C&C域名识别模型基于随机森林算法构建,基于随机森林算法构建模型的优势在于随机森林算法是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定,随机森林中的子树的每一个分裂过程并未用到所有的待选特征,而是从所有的待选特征中随机选取一定的特征,之后再在随机选取的特征中选取最优的特征,这样能够使得随机森林中的决策树都能够彼此不同,提升系统的多样性,从而提升分类性能。基于随机森林算法构建的C&C域名识别模型,可以根据提取的域名前缀或主域名的特征进行C&C域名识别,且表现良好。

本实施例的恶意域名的识别方法,具体针对域名前缀和主域名的C&C域名识别过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图3所示,所述S310中进行仿冒知名域名识别的域名识别模型,包括:

S313:仿冒域名识别模型,将域名前缀和/或主域名输入所述仿冒域名识别模型,与仿冒域名识别模型中预设的知名域名库中的知名域名进行编辑距离计算,得到所述域名前缀和/或主域名是否是仿冒知名域名。

具体地,有很多的不法分子会在注册域名的时候,仿冒一些知名网站或者正规网站的域名,通过修改其中的某几个或某一个字符,使自己的域名看起来像是正常的域名,对于这种仿冒域名本发明中采用了仿冒单词识别的方法,通过计算编辑距离的方法对于仿冒知名网站的域名进行检出。计算编辑距离就是计算待检测域名与知名域名之间的相似程度。

更具体地,本实施例采用编辑距离(Edit Distance)计算是指两个字符串之间,通过替换、插入、删除操作由一个转换成另外一个所需的最少编辑操作次数。编辑距离越小,两个字符串之间的相似度越大,是两个字符串之间差异程度的量化表示。根据对字符串进行的处理方式不同存在多种编辑距离,例如莱文斯坦距离(Levenshtein Distance),Damerau-Levenshtein距离,最长公共子序列距离(LCS),Jaro距离和汉明距离(HammingDistance)。本发明的编辑距离采用莱文斯坦距离(Levenshtein Distance),计算公式如图4所示,其中,除了要计算莱文斯坦距离中所定义的插入、删除和变更操作的操作数以外,还要计算相邻字符转换的操作数。

本实施例的恶意域名的识别方法,具体针对域名前缀和主域名的仿冒知名域名识别过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图5所示,所述S300:通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询后,还包括:

S400:对所述域名前缀进行冒用知名网站匹配,预先构建知名网站列表,将域名前缀在所述知名网站列表中进行匹配,根据匹配结果确定域名前缀是否是冒用知名域名。

具体地,部分恶意域名为使其看起来与知名网站很像,也会采用域名前缀直接使用知名网站的方式来迷惑用户,域名前缀在主域名之前,域名前缀直接使用知名域名时用户若只看到前缀部分就可能就会误以为恶意域名是目标知名网站,因此对这类域名前缀部分可以在预先构建知名网站列表中进行匹配,根据匹配结果确定域名前缀是否是冒用知名域名。若对主域名部分采用此种匹配检测方法,则可能误伤正常的域名,因此只对域名前缀进行冒用知名网站匹配。

本实施例的恶意域名的识别方法,具体针对域名前缀的冒用知名网站匹配过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图6所示,所述S100中所述域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名后,还包括:

域名后缀之前的一级为主域名,主域名之前的所有级为域名前缀。

具体地,待识别域名分段中域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名,与域名后缀距离近的为主域名,主域名前为域名前缀。本实施例以域名后缀之前的一级为主域名,以主域名之前的所有级为域名前缀。

本实施例的恶意域名的识别方法,更具体针对待识别域名的分段过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图7所示,所述S311中基于LSTM神经网络构建DGA域名识别模型的过程,包括:

S311a:构建DGA域名训练集,所述DGA域名训练集中的样本包括已公开DGA域名列表和/或通过已公开DGA域名生成算法生成的DGA域名,所述DGA域名训练集用于通过处理所述样本得到有效字符串编码集,并将所述样本通过有效字符串编码集转换为数值类型。

具体地,收集已公开的DGA域名和DGA算法的相关资料,并获得由这些DGA算法生成的域名样例,对DGA算法选取将要分析的域名集合,综合形成要使用的DGA域名训练集,对训练集处理得到有效字符串编码集,将样本集通过有效字符串编码集转换为数值类型。

S311b:构建DGA域名识别模型,基于LSTM神经网络构建DGA域名识别模型,通过所述DGA域名训练集对所述DGA域名识别模型进行训练。

具体地,所述DGA域名识别模型,包括:词嵌入层、LSTM层、Dropout层、全连接层和输出层。

更具体地,本实施例的词嵌入层优选128维,该层主要是为了把输入数据转换为便于神经网络运算的向量。本实施例的LSTM层优选128维,采用该结构是为了将之前的特征信息和当前的特征信息结合起来,更准确的对输入数据进行判别,LSTM层具有通过门控单元去除或增加信息到细胞状态的能力,门是一种让信息选择式通过的方法,通过LSTM层的训练,让神经网络自主学习到DGA域名字符串之间的相关性。Dropout层通过在训练过程中将LSTM层的部分权重或输出按一定比例归零,降低节点间的相互依赖和网络结构风险,从而有效的避免过拟合,本实施例的dropout比例为0.5。全连接层负责将LSTM循环神经网络的输出转化为sigmoid层的输入。输出层主要进行二分类判别,输出层选用sigmoid函数。

本实施例的恶意域名的识别方法,具体针对DGA域名识别模型的构建过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图8所示,所述S312中基于随机森林算法构建C&C域名识别模型的过程,包括:

S312a:构建C&C域名训练集,收集已公开的C&C域名列表得到C&C域名的集合,通过特征工程选取集合中需分析的域名前缀和/或主域名的所述特征,来建立C&C域名训练集。

具体地,C&C域名的检测模型采用随机森林(Random Forest)进行训练,收集C&C域名的集合,通过特征工程选取要分析的域名前缀或主域名特征,如字符串与数字之间的切换比例、是否含有特殊的字符串等特征,建立C&C域名训练集。

更具体地,本实施例以已公开的C&C域名列表得到C&C域名的集合,可包括已有的C&C域名、Alexa排名前10W的域名、国内知名网站的域名等,提取特征处理之后分别训练识别域名前缀的C&C域名识别模型与识别主域名的C&C域名识别模型。

S312b:构建C&C域名识别模型,基于所述C&C域名训练集,利用随机森林算法对所述C&C域名识别模型进行训练。

具体地,利用随机森林算法对所述C&C域名识别模型进行训练,得到分类性能稳定,且表现良好的C&C域名识别模型。

本实施例的恶意域名的识别方法,具体针对C&C域名识别模型的构建过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图2所示,所述S300中对所述域名后缀进行域名后缀信誉度查询,包括:

S320:预先构建域名后缀信誉表,将域名后缀在预设的域名后缀信誉表中进行信誉度排名查询。

具体地,恶意网站还会采用仿冒域名后缀的方式,因为网站不可能注册所有的顶级域名,而且有些国家和地区的域名注册审核不健全,就给了恶意网站抢注正常网站未注册顶级域名的空隙。这种域名后缀的仿冒较难检测,但可以通过查询域名后缀信誉度的方式甄别出恶意仿冒域名。本发明对于恶意域名的域名后缀进行排名与打分,形成一个预先构建的域名后缀信誉表,对于待检测域名的域名后缀可以通过与该表进行匹配,来确定后缀的信誉度,从而对整个域名的判断提供依据与参考。

本实施例的恶意域名的识别方法,具体针对域名后缀的信誉度查询过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图9所示,所述S100:将待识别域名划分为域名前缀、主域名和域名后缀,包括:

S 110:将待识别域名划分为域名前缀、主域名和域名后缀,所述待识别域名包括SNI、和/或DNS、和/或CN域名。

具体地,TLS加密流量中主要涉及到SNI、DNS、CN这三种域名域名,本实施例以SNI、和/或DNS、和/或CN域名的综合检测识别恶意域名,可以通过识别这些域名是否是恶意域名来对TLS加密流量的识别与分类提供明确依据。

本实施例的恶意域名的识别方法,具体针对待检测域名的选取过程,本实施例的恶意域名的识别方法更具体、更准确。

可选地,如图10所示,所述S500:根据上述检测和查询结论,判断所述待识别域名是否为恶意域名,包括:

S510:根据检测结论对域名前缀和主域名打分,根据查询结论对域名后缀打分。

S520:根据域名前缀、主域名和域名后缀的得分,计算得到待识别域名为恶意域名的概率。

具体地,本发明对待检测域名进行分段处理,并分别对每个部分的待检测域名采用不同的分析方法,根据检测和查询结论,对域名前缀、主域名和域名后缀分别进行打分,并通过域名前缀、主域名、域名后缀分别的得分通过加权求和得到该待检测域名最终的分值,即为待检测域名是恶意域名的概率。

更具体地,根据域名前缀、主域名和域名后缀分别的得分,可以计算得到待识别域名为恶意域名的概率,例如:预设标准值1,概率计算中域名前缀、主域名和域名后缀的占比相同,此时域名前缀、主域名和域名后缀的满分均为1分,域名前缀的第一比值+主域名的第二比值+域名后缀的第三比值=1,假设域名前缀、主域名和域名后缀的得分均为0.9,若以待识别域名的规范程度评分,则待识别域名为恶意域名的概率为1-(域名前缀、主域名和域名后缀的规范概率)=1-[(0.9+0.9+0.9)/3]=0.1,而若以待识别域名的不规范程度评分,则待识别域名为恶意域名的概率为域名前缀、主域名和域名后缀的不规范概率=(0.9+0.9+0.9)/3=0.9。预设标准值可以为1、10或100等,而域名前缀、主域名和域名后缀在概率计算中的占比也可以自定义,根据实际概率计算中各项分段域名的重要程度而调整。

本实施例的恶意域名的识别方法,具体针对待检测域名的评分和概率计算过程,本实施例的恶意域名的识别方法更具体、更准确。

本实施例提供一种恶意域名的识别方法,恶意仿冒域名通常采用DGA算法生成域名、仿冒C&C域名或仿冒知名网站的形式,本发明针对恶意域名的仿冒特点,通过域名分段,对域名中的域名前缀、主域名和域名后缀分别采用不同的检测方法,对域名前缀和主域名检测采用分别验证是否是DGA域名、C&C域名和仿冒域名的方式,对域名后缀仿冒检测采用比较域名后缀信誉度的方式,综合判决,可以准确高效地识别出恶意域名。

本发明实施例二提供一种恶意域名的识别系统,如图11所示,包括:

域名分段模块10,用于将待识别域名划分为域名前缀、主域名和域名后缀,所述域名后缀根据国际通用TLD确定,根据与所述域名后缀的距离确定所述域名前缀和主域名。

域名检测模块20,用于通过预先构建的域名识别模型对域名前缀和/或主域名进行恶意域名检测,并对所述域名后缀进行域名后缀信誉度查询。

域名识别模块30,用于根据上述检测和查询结论,判断所述待识别域名是否为恶意域名。

可选地,所述域名检测模块20,包括:

域名识别模型子模块,用于对域名前缀和/或主域名进行DGA域名识别、和/或C&C域名识别、和/或仿冒知名域名识别的域名识别模型;其中,所述C&C域名是指使用C&C服务器的恶意加密流量中所涉及的域名。

可选地,所述域名识别模型子模块,包括:

DGA域名识别模型单元,用于基于LSTM神经网络构建的DGA域名识别模型,将域名前缀和/或主域名输入所述DGA域名识别模型,得到所述域名前缀和/或主域名是否是DGA域名。

可选地,所述域名识别模型子模块,包括:

C&C域名识别模型单元,用于基于随机森林算法构建的C&C域名识别模型,提取域名前缀和/或主域名的特征,所述域名前缀和/或主域名的特征包括:字符串与数字之间的切换比例和/或是否含有特殊的字符串,将所述特征输入所述C&C域名识别模型,得到所述域名前缀和/或主域名是否是C&C域名。

可选地,所述域名识别模型子模块,包括:

仿冒域名识别模型单元,用于将域名前缀和/或主域名输入所述仿冒域名识别模型,与仿冒域名识别模型中预设的知名域名库中的知名域名进行编辑距离计算,得到所述域名前缀和/或主域名是否是仿冒知名域名。

可选地,所述恶意域名的识别系统,还包括:

域名前缀冒用模块,用于对所述域名前缀进行冒用知名网站匹配,预先构建知名网站列表,将域名前缀在所述知名网站列表中进行匹配,根据匹配结果确定域名前缀是否是冒用知名域名。

可选地,所述域名分段模块10,还包括:

域名分段单元,用于划分域名后缀之前的一级为主域名,主域名之前的所有级为域名前缀。

可选地,所述DGA域名识别模型单元,包括:

DGA域名训练集子单元,用于构建DGA域名训练集,所述DGA域名训练集中的样本包括已公开DGA域名列表和/或通过已公开DGA域名生成算法生成的DGA域名,所述DGA域名训练集用于通过处理所述样本得到有效字符串编码集,并将所述样本通过有效字符串编码集转换为数值类型。

DGA域名识别模型子单元,用于构建DGA域名识别模型,基于LSTM神经网络构建DGA域名识别模型,通过所述DGA域名训练集对所述DGA域名识别模型进行训练。

可选地,所述C&C域名识别模型单元,包括:

C&C域名训练集子单元,用于构建C&C域名训练集,收集已公开的C&C域名列表得到C&C域名的集合,通过特征工程选取集合中需分析的域名前缀和/或主域名的所述特征,来建立C&C域名训练集。

C&C域名识别模型子单元,用于构建C&C域名识别模型,基于所述C&C域名训练集,利用随机森林算法对所述C&C域名识别模型进行训练。

可选地,所述域名检测模块20,包括:

域名后缀查询子模块,用于预先构建域名后缀信誉表,将域名后缀在预设的域名后缀信誉表中进行信誉度排名查询。

可选地,所述域名分段模块10,包括:

域名选取子模块,用于将待识别域名划分为域名前缀、主域名和域名后缀,所述待识别域名包括SNI、和/或DNS、和/或CN域名。

可选地,所述域名识别模块30,包括:

域名打分自己模块,用于根据检测结论对域名前缀和主域名打分,根据查询结论对域名后缀打分;

概率计算子模块,用于根据域名前缀、主域名和域名后缀的得分,计算得到待识别域名为恶意域名的概率。

本申请所提供的识别系统可以通过对域名识别分段处理的方式,将待检测域名划分为域名前缀、主域名、域名后缀三部分,对不同部分分别采用不同的检测方法,对域名前缀和/或主域名分别建立各自的模型来检测,对域名后缀采用比较域名后缀信誉度的方式来检测,综合评分,可以准确高效地识别出恶意域名。

本发明的实施例三还提供一种计算机设备,如图12所示,包括存储器1和处理器2,所述存储器1存储有计算机程序,所述处理器2执行所述计算机程序时实现上述任一项所述的恶意域名的识别方法。

其中,存储器1至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1在一些实施例中可以是恶意域名的识别系统的内部存储单元,例如硬盘。存储器1在另一些实施例中也可以是恶意域名的识别系统的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器1还可以既包括恶意域名的识别系统的内部存储单元也包括外部存储设备。存储器1不仅可以用于存储安装于恶意域名的识别系统的应用软件及各类数据,例如恶意域名的识别程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器2在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器1中存储的程序代码或处理数据,例如执行恶意域名的识别程序等。

本申请所提供的计算机设备可以通过对域名识别分段处理的方式,将待检测域名划分为域名前缀、主域名、域名后缀三部分,对不同部分分别采用不同的检测方法,对域名前缀和/或主域名分别建立各自的模型来检测,对域名后缀采用比较域名后缀信誉度的方式来检测,综合评分,可以准确高效地识别出恶意域名。

本发明的实施例四还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的恶意域名的识别方法。

本申请所提供的恶意域名的检测系统、计算机设备、计算机可读存储介质均与前述方法相对应。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备和计算机可读存储介质的具体工作过程,可以参考前述方法实施例一中的对应过程,在此不再赘述。

本发明通过加密流量中的域名信息进行分析,全面考察加密流量的域名特征,对TLS加密流量的识别与分类有重要作用。本发明对域名识别采用分段处理的方法,对不同部分采用不同的处理方式并综合评分,加大了对域名的检测力度。

本发明对恶意域名的识别提出了一套综合化、体系化的方法,从多维度对恶意域名进行识别检测,主要部分为针对不同来源、不同恶意类型对域名的不同部分从不同维度进行综合评分。

本发明所提供的一种恶意域名的识别方法工作流程如下:

目标:基于域名信息对TLS加密流量中的域名进行综合评分;

输入:TLS加密流量中的域名字符串;

输出:TLS加密流量中的域名是恶意域名的概率。

本发明的具体实施流程,如图13所示,如下:

1、对TLS加密流量中的SNI、DNS、CN域名进行提取分段,划分为域名前缀、主域名、域名后缀,由于C&C域名识别需要进行特征的提取,所以进入C&C域名识别模型前需要进行特征提取与处理。

2、域名前缀段通过四种处理方式进行检测,判断域名前缀是否是DGA域名、是否是C&C域名、是否是仿冒知名域名、是否是冒用知名域名(域名前缀冒用知名域名的情况是指,域名前缀直接使用知名域名,域名前缀仿冒知名域名是指域名前缀通过替换或者修改字符串等方法使其看起来与知名网站很像),检测后对域名前缀进行综合打分。

3、主域名通过三种处理方式进行检测,判断主域名是否是DGA域名、是否是C&C域名、是否是仿冒知名域名,检测后对主域名进行综合打分。

4、域名后缀通过匹配域名后缀信誉度表进行信誉查询,查询后对域名后缀进行打分。

5、通过域名前缀、主域名、域名后缀分别的得分,加权求和得到该域名最终的分值即域名是恶意域名的概率。

本发明通过对含有SNI/DNS/CN域名的TLS加密流量中的SNI/DNS/CN域名分别进行打分,可以判断出TLS加密流量中的SNI/DNS/CN域名是否是恶意域名,从而对TLS加密流量的识别与分类起到一定的辅助作用。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的恶意域名的识别方法、装置和设备进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:VXLAN接入认证方法以及VTEP设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类