域名识别模型的训练方法、装置、电子设备及存储介质与流程

文档序号:31447950发布日期:2022-09-07 12:25阅读:57来源:国知局
域名识别模型的训练方法、装置、电子设备及存储介质与流程

1.本技术涉及网络安全技术领域,尤其是涉及一种域名识别模型的训练方法、装置、电子设备及存储介质。


背景技术:

2.域名系统(domain name system,dns)是互联网的重要组成部分,为用户提供域名与ip相互映射的域名解析服务,因其应用的广泛性以及缺乏内置的安全检测机制,常被攻击者利用,进行网络攻击;早期的安全检测系统较容易发现此类恶意域名,会迅速阻断通信并将其列入黑名单,为逃避域名黑名单的检测,当前攻击者采用域名生成算法(domain generation algorithm,dga),生成随机域名,且攻击者仅随机挑取其中几个域名进行注册,可以有效绕过黑名单检测。
3.目前,由于攻击者使用的dga算法种子具有动态性和随机性,逆向工程不仅要分析dga生成算法,还要分析算法种子,加大了恶意域名的检测难度,而恶意域名识别方法大多都基于大量的历史dns数据,对于不断更新的dga算法产生的新域名无法快速识别出恶意域名。因此,如何能够快速识别出更多的恶意域名,成为了亟待解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种域名识别模型的训练方法、装置、电子设备及存储介质,能够将真实恶意域名和恶意域名生成模型中生成网络输出的生成恶意域名输入恶意域名生成模型的判别网络中,根据判别网络以及生成网络输出的真实数据分布和生成数据分布之间的相似度,对判别网络以及生成网络进行对抗训练,在训练结束后,将生成网络输出的接近真实恶意域名的生成恶意域名,加入到历史恶意域名集合中,作为域名识别模型的训练样本,以扩充训练样本中的恶意域名,通过扩充后的训练样本为域名识别模型的训练过程提供更多的参考,强化了域名识别模型的识别性能,有助于提高识别恶意域名的准确性。
5.本技术主要包括以下几个方面:
6.第一方面,本技术实施例提供了一种域名识别模型的训练方法,所述训练方法包括:
7.获取历史恶意域名集合中的真实恶意域名;
8.将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;
9.根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;
10.获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
11.进一步的,通过以下步骤确定输入数据:
12.将所述真实恶意域名和所述生成恶意域名按预设的编码方式进行编码;其中,所述编码方式是将所述真实恶意域名和所述生成恶意域名中所包含的所有字符转换为在预设区间内且具有连续性的数字的编码方式;
13.将编码后的所述真实恶意域名和所述生成恶意域名确定为输入数据。
14.进一步的,通过以下步骤训练所述判别网络:
15.确定所述真实数据分布和所述生成数据分布之间的相似度是否大于预设最大阈值;
16.若否,则在预设范围内调整所述判别网络的参数,得到训练后的判别网络,直至所述相似度大于所述预设最大阈值时停止训练。
17.进一步的,所述根据所述样本恶意域名训练得到域名识别模型的步骤,包括:
18.将所述样本恶意域名和合法域名作为样本数据输入至域名识别模型中;
19.得到所述域名识别模型输出的所述样本数据是恶意域名标签或合法域名标签的目标概率;
20.根据所述目标概率,调整所述域名识别模型的参数,更新所述域名识别模型,直至所述目标概率达到对应的预设分类阈值时,得到训练好的域名识别模型。
21.进一步的,所述得到训练好的域名识别模型后,所述训练方法还包括:
22.在接收到待识别域名后,将所述待识别域名输入至训练好的域名识别模型中,得到与所述待识别域名对应的域名识别结果;
23.若所述域名识别结果指示所述待识别域名为恶意域名,则拒绝访问;
24.若所述域名识别结果指示所述待识别域名为合法域名,则接受访问。
25.第二方面,本技术实施例还提供了一种域名识别模型的训练装置,所述训练装置包括:
26.获取模块,用于获取历史恶意域名集合中的真实恶意域名;
27.训练模块,用于将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;
28.更新模块,用于根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;
29.识别模块,用于获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
30.进一步的,所述训练装置还包括编码模块,所述编码模块用于:
31.将所述真实恶意域名和所述生成恶意域名按预设的编码方式进行编码;其中,所述编码方式是将所述真实恶意域名和所述生成恶意域名中所包含的所有字符转换为在预设区间内且具有连续性的数字的编码方式;
32.将编码后的所述真实恶意域名和所述生成恶意域名确定为输入数据。
33.进一步的,所述训练模块在用于训练所述判别网络时,所述训练模块具体用于:
34.确定所述真实数据分布和所述生成数据分布之间的相似度是否大于预设最大阈值;
35.若否,则在预设范围内调整所述判别网络的参数,得到训练后的判别网络,直至所述相似度大于所述预设最大阈值时停止训练。
36.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的域名识别模型的训练方法的步骤。
37.第四方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的域名识别模型的训练方法的步骤。
38.本技术实施例提供的一种域名识别模型的训练方法、装置、电子设备及存储介质,所述训练方法包括:获取历史恶意域名集合中的真实恶意域名;将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
39.这样,采用本技术提供的技术方案能够将真实恶意域名和恶意域名生成模型中生成网络输出的生成恶意域名输入恶意域名生成模型的判别网络中,根据判别网络以及生成网络输出的真实数据分布和生成数据分布之间的相似度,对判别网络以及生成网络进行对抗训练,在训练结束后,将生成网络输出的接近真实恶意域名的生成恶意域名,加入到历史恶意域名集合中,作为域名识别模型的训练样本,以扩充训练样本中的恶意域名,通过扩充后的训练样本为域名识别模型的训练过程提供更多的参考,强化了域名识别模型的识别性能,有助于提高识别恶意域名的准确性。
40.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
41.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
42.图1示出了本技术实施例所提供的一种域名识别模型的训练方法的流程图;
43.图2示出了本技术实施例所提供的另一种域名识别模型的训练方法的流程图;
44.图3示出了本技术实施例所提供的生成恶意域名的示意图;
45.图4示出了本技术实施例所提供的一种域名识别模型的训练装置的结构图之一;
46.图5示出了本技术实施例所提供的一种域名识别模型的训练装置的结构图之二;
47.图6示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中的附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
49.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本技术保护的范围。
50.为了使得本领域技术人员能够使用本技术内容,结合特定应用场景“训练域名识别模型”,给出以下实施方式,对于本领域技术人员来说,在不脱离本技术的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
51.本技术实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要进行域名识别模型的训练场景,本技术实施例并不对具体的应用场景作限制,任何使用本技术实施例提供的一种域名识别模型的训练方法、装置、电子设备及存储介质的方案均在本技术保护范围内。
52.值得注意的是,域名系统(domain name system,dns)是互联网的重要组成部分,为用户提供域名与ip相互映射的域名解析服务,因其应用的广泛性以及缺乏内置的安全检测机制,常被攻击者利用,进行网络攻击;如恶意程序在感染了主机后,这些恶意程序常通过域名来访问远程的命令与控制(command and control,c&c)服务器连接,攻击者进而可以直接控制被感染主机,恶意域名已成为僵尸网络和木马病毒攻击的重要手段。早期的安全检测系统较容易发现此类恶意域名,会迅速阻断通信并将其列入黑名单,为逃避域名黑名单的检测,当前攻击者采用域名生成算法(domain generation algorithm,dga),生成随机域名,且攻击者仅随机挑取其中几个域名进行注册,可以有效绕过黑名单检测。当感染主机与恶意主机连接时,将使用dga算法生成的域名进行通信,如果一个生成的域名无法连接恶意主机,感染主机将尝试进行下一次连接。恶意域名注册的有效期也较短,使得域名与ip
之间的解析映射关系越来越短暂,因此导致域名黑名单网站无法及时收集恶意域名也无法高度覆盖当前活动的恶意域名,寻找高效快速检测dga域名的方法成为网络安全领域的研究热点之一。
53.目前,基于dga生成大量恶意域名的场景,传统的dga逆向工程检测恶意域名方法也无法有效遏制使用dga算法的恶意软件,由于攻击者使用的dga算法种子具有动态性和随机性,逆向工程不仅要分析dga生成算法还要分析算法种子,加大了恶意域名的检测难度,而恶意域名识别方法大多都基于大量的历史dns数据,对于不断更新的dga算法产生的新域名无法快速识别出恶意域名。dga新域名规避某些历史检测检测模型中所选特性,以及其数据量少、采集困难、获取周期滞后,给恶意域名识别带来极大挑战。因此,如何能够快速识别出更多的恶意域名,成为了亟待解决的问题。
54.基于此,本技术提出了一种域名识别模型的训练方法、装置、电子设备及存储介质,所述训练方法包括:获取历史恶意域名集合中的真实恶意域名;将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
55.这样,采用本技术提供的技术方案能够将真实恶意域名和恶意域名生成模型中生成网络输出的生成恶意域名输入恶意域名生成模型的判别网络中,根据判别网络以及生成网络输出的真实数据分布和生成数据分布之间的相似度,对判别网络以及生成网络进行对抗训练,在训练结束后,将生成网络输出的接近真实恶意域名的生成恶意域名,加入到历史恶意域名集合中,作为域名识别模型的训练样本,以扩充训练样本中的恶意域名,通过扩充后的训练样本为域名识别模型的训练过程提供更多的参考,强化了域名识别模型的识别性能,有助于提高识别恶意域名的准确性。
56.为便于对本技术进行理解,下面将结合具体实施例对本技术提供的技术方案进行详细说明。
57.请参阅图1,图1为本技术实施例所提供的一种域名识别模型的训练方法的流程图,如图1中所示,所述训练方法,包括:
58.s101、获取历史恶意域名集合中的真实恶意域名;
59.该步骤中,历史恶意域名集合中存储的都是真实恶意域名,可以根据开源的情报威胁库将收集到的真实恶意域名加入历史恶意域名集合中,也可以根据人工判别网页内容将确定出真实恶意域名加入历史恶意域名集合中。
60.s102、将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得
到训练后的判别网络;
61.该步骤中,恶意域名生成模型包括编码器、判别网络、生成网络、解码器和生成结果验证网络;将域名数据输入神经网络结构之前,需要对域名文本进行编码处理,将其转换为神经网络模型(生成网络模型、判别网络模型)可适用的张量,完成这一功能的模块为编码器,同时需要解码器模块将生成器输出的结果张量转化为可读的域名字符串。
62.示例性的,恶意域名生成模型可以采用wgan(wasserstein gan)模型,该模型使用wassertein距离去衡量生成数据分布和真实数据分布之间的距离(相似度),解决了原始gan训练不稳定和模式崩溃的问题。
63.需要说明的是,编码器进行编码处理的步骤请参阅图2,图2为本技术实施例所提供另一种域名识别模型的训练方法的流程图,如图2中所示,通过以下步骤确定输入数据:
64.s201、将所述真实恶意域名和所述生成恶意域名按预设的编码方式进行编码;
65.该步骤中,编码方式是将所述真实恶意域名和所述生成恶意域名中所包含的所有字符转换为在预设区间内且具有连续性的数字的编码方式;
66.这里,利用dga域名的特性,对域名字符的ascii码进行的再编码设计使得新的编码具有连续性,接下来进行简单的数据归一化处理,同时使得网络能够对原始数据特性直接学习,提升类似dga样本的质量。
67.示例性的,一般情况下域名的字符包含:26个英文字母、0-9的阿拉伯数字、英文输入下的
“‑”
连词符,一共有63个字符,因为这63个字符的ascii编码不连续,会导致生成的字符不在这63个字符之间,因此提出一种利用这63个字符的ascii码将他们重新编码为在区间[1,63]连续的新码,转换方式如表1所示,为使网络的学习效率更高,将域名的数字向量中的每个元素进一步映射到[0,1]区间。
[0068]
表1-转换方式
[0069][0070]
例如,以emotet家族的一个恶意域名pjmdtihjbfv.eu为例的编码过程:1、获取恶意域名pjmdtihjbfv.eu,将恶意域名按照表1的转换方式进行编码,p的ascii是112,减去86是26,则p的新编码是26,以此类推,字符串“pjmdtihjbfv”的新编码是[26,20,23,14,30,19,18,20,12,16,32],映射到[0,1]区间为[0.41269842,0.31746033,0.36507937,0.22222222,0.47619048,0.3015873,0.2857143,0.31746033,0.1904762,0.25396827,0.50793654]。
[0071]
s202、将编码后的所述真实恶意域名和所述生成恶意域名确定为输入数据。
[0072]
需要说明的是,通过以下步骤训练所述判别网络:
[0073]
1)、确定所述真实数据分布和所述生成数据分布之间的相似度是否大于预设最大阈值;
[0074]
2)、若否,则在预设范围内调整所述判别网络的参数,得到训练后的判别网络,直
至所述相似度大于所述预设最大阈值时停止训练。
[0075]
该步骤中,判别网络模型判断输入数据是否为真实分布,该模型的输入分为两部分:真实恶意域名与生成网络输出的生成恶意域名,确定判别网络的输出对应于真实恶意域名的真实数据分布和对应于生成恶意域名的生成数据分布之间的相似度,若相似度不大于预设最大阈值,则在预设范围内调整判别网络的参数,得到训练后的判别网络,通过在预设范围内调整参数的方式可以解决判别网络训练过好,生成网络训练效果不佳的情况;根据训练后的判别网络训练生成网络,在根据训练后的生成网络再训练判别网络,直至相似度大于预设最大阈值时停止判别网络的训练。
[0076]
示例性的,该判别网络模型为四层全连接层,包含输入层、隐含层和输出层,其中输入层为30维,两层隐含层,节点数分别为100,128,激活函数采用relu函数,输出层节点数为1。wgan中的判别网络模型做的是近似拟合wasserstein距离,训练时使用的优化函数同样为rmsprop。
[0077]
s103、根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;
[0078]
该步骤中,生成网络模型的功能是尽可能生成近似真实恶意域名分布的分布数据,该模型的输入为随机分布,将输出的生成恶意域名输入判别网络中,确定判别网络的输出对应于真实恶意域名的真实数据分布和对应于生成恶意域名的生成数据分布之间的相似度,若相似度不小于预设最小阈值,则调整生成网络的参数,得到训练后的生成网络,将训练后的生成网络输出的生成恶意域名输入判别网络中,继续训练判别网络,在根据训练后的判别网络训练生成网络,直至相似度小于预设最小阈值时停止生成网络的训练,将训练好的生成网络确定为目标生成网络。在生成网络和判别网络不断地的对抗回合中,使生成网络输出越来越近似真实恶意域名的分布数据。
[0079]
示例性的,该模型为四层全连接层,包含输入层、隐含层和输出层,其中输入层数据为100维的随机噪声,两层隐含层,节点数分别为100,128,激活函数采用relu函数,输出层的节点数为30,即域名向量维度,考虑到域名向量元素的区间在[0,1],因此激活函数采用sigmoid函数,使用优化函数为rmsprop。
[0080]
s104、获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
[0081]
该步骤中,再将生成恶意域名加入历史恶意域名集合之前,还需要解码器进行解码,解码方式和转换方式和编码对应,将解码后的生成恶意域名通过生成结果验证网络进行验证,生成结果验证模型提供验证生成数据有效性功能,验证的主要思想是恶意域名生成模型的生成网络输出的生成恶意域名是否可以在相同的特征提取下被提前用真实恶意域名与合法域名训练好的分类模型成功标记为恶意域名。
[0082]
这里,在获得数据集的同时提供验证生成恶意域名的有效性,在设计验证方式时,考虑到最终恶意域名生成模型的生成网络输出的生成恶意域名是要用作样本恶意域名,所以验证点不在于真实数据分布与生成数据分布之间的相似性,而是通过用真实恶意域名与合法域名事先训练的分类器去分类生成数据,以数字化的形式查看分类效果以验证生成恶意域名是否可作为样本恶意域名用于下阶段的域名识别模型的训练。
[0083]
示例性的,生成结果验证网络模型包含广泛的分类器(如朴素贝叶斯、j48、knn、bagging),首先提取恶意域名与和合法域名以及恶意域名生成模型的生成网络输出的生成恶意域名的特征向量,特征部分主要选用统计特征(域名字符长度、域名中字符分布的熵、元音字母比例、唯一字符比例,n-gram频率(n=2,3,4,5,6)),使用恶意域名与合法域名的特征训练每个分类器,使其可以正确分类恶意域名与正常域名,并保存训练结果较好的分类模型作为生成结果验证网络以查看对生成恶意域名的特征向量的标记效果,只有将生成恶意域名分类为恶意域名时,才将该生成恶意域名加入历史恶意域名集合中进行扩展,获得样本恶意域名,将样本恶意域名作为训练样本训练域名识别模型。
[0084]
需要说明的是,根据样本恶意域名训练得到域名识别模型的步骤,包括:
[0085]
s1041、将所述样本恶意域名和合法域名作为样本数据输入至域名识别模型中;
[0086]
该步骤中,通过样本恶意域名和合法域名训练域名识别模型,扩充域名识别模型的识别范围。
[0087]
s1042、得到所述域名识别模型输出的所述样本数据是恶意域名标签或合法域名标签的目标概率;
[0088]
s1043、根据所述目标概率,调整所述域名识别模型的参数,更新所述域名识别模型,直至所述目标概率达到对应的预设分类阈值时,得到训练好的域名识别模型。
[0089]
该步骤中,训练域名识别模型,使域名识别模型准确识出输入的样本数据是恶意域名标签的目标概率或者样本数据是合法域名标签的目标概率;当目标概率未达到对应的预设分类阈值时,调整域名识别模型的参数,继续训练域名识别模型,直至所述目标概率达到对应的预设分类阈值时,得到训练好的域名识别模型。
[0090]
需要说明的是,得到训练好的域名识别模型后,训练方法还包括:
[0091]
1)、在接收到待识别域名后,将所述待识别域名输入至训练好的域名识别模型中,得到与所述待识别域名对应的域名识别结果;
[0092]
2)、若所述域名识别结果指示所述待识别域名为恶意域名,则拒绝访问;
[0093]
3)、若所述域名识别结果指示所述待识别域名为合法域名,则接受访问。
[0094]
该步骤中,在实际应用中,根据上述步骤s1043获得的训练好的域名识别模型,接收待识别域名,根据待识别域名的特征,输出待识别域名对应的域名识别结果,若该域名识别结果指示待识别域名为恶意域名,则拒绝访问,保护网络安全;若该域名识别结果指示待识别域名为合法域名,则接受访问。
[0095]
示例性的,请参阅图3,图3为本技术实施例所提供的生成恶意域名的示意图,如图3所示,将真实恶意域名数据输入编码器进行编码后,获得真实恶意域名向量,将真实恶意域名向量和生成网络模型输出的类似恶意域名(生成恶意域名)向量输入判别网络模型中,根据判别网络模型的判别结果训练生成网络模型,将训练后的生成网络模型输出的类似恶意域名向量输入判别网络模型中,根据判别网络模型的判别结果训练判别网络模型,直至判别网络模型可以很好的判别出输入数据是真实恶意域名还是类似恶意域名时停止训练判别网络模型,并根据训练好的判别网络模型训练生成网络模型,直至生成网络模型输出的类似恶意域名很难被判别网络模型识别时停止训练,并将训练好的生成网络模型输出的类似恶意域名向量通过解码器按照和编码方式对应的解码方式进行解码,获得类似恶意域名数据,将该类似恶意域名数据输入生成结果验证模型进行验证,获取验证结果为恶意数
据标签的类似恶意域名数据,将该类似恶意域名数据加入历史恶意域名集合进行扩展,并作为样本数据训练域名识别模型,以增强域名识别模型的识别能力,提高网络安全性,增强防御能力。
[0096]
本技术实施例提供的一种域名识别模型的训练方法,所述训练方法包括:获取历史恶意域名集合中的真实恶意域名;将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
[0097]
这样,采用本技术提供的技术方案能够将真实恶意域名和恶意域名生成模型中生成网络输出的生成恶意域名输入恶意域名生成模型的判别网络中,根据判别网络以及生成网络输出的真实数据分布和生成数据分布之间的相似度,对判别网络以及生成网络进行对抗训练,在训练结束后,将生成网络输出的接近真实恶意域名的生成恶意域名,加入到历史恶意域名集合中,作为域名识别模型的训练样本,以扩充训练样本中的恶意域名,通过扩充后的训练样本为域名识别模型的训练过程提供更多的参考,强化了域名识别模型的识别性能,有助于提高识别恶意域名的准确性。
[0098]
基于同一申请构思,本技术实施例中还提供了与上述实施例提供一种域名识别模型的训练方法对应的一种域名识别模型的训练装置,由于本技术实施例中的装置解决问题的原理与本技术上述实施例一种域名识别模型的训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0099]
请参阅图4、图5,图4为本技术实施例所提供的一种域名识别模型的训练装置结构图之一,图5为本技术实施例所提供的一种域名识别模型的训练装置结构图之二。如图4中所示,所述训练装置410包括:
[0100]
获取模块411,用于获取历史恶意域名集合中的真实恶意域名;
[0101]
训练模块412,用于将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;
[0102]
更新模块413,用于根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;
[0103]
识别模块414,用于获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
[0104]
可选的,如图5所示,所述训练装置410还包括编码模块415,所述编码模块415用于:
[0105]
将所述真实恶意域名和所述生成恶意域名按预设的编码方式进行编码;其中,所述编码方式是将所述真实恶意域名和所述生成恶意域名中所包含的所有字符转换为在预设区间内且具有连续性的数字的编码方式;
[0106]
将编码后的所述真实恶意域名和所述生成恶意域名确定为输入数据。
[0107]
可选的,所述训练模块412在用于训练所述判别网络时,所述训练模块412具体用于:
[0108]
确定所述真实数据分布和所述生成数据分布之间的相似度是否大于预设最大阈值;
[0109]
若否,则在预设范围内调整所述判别网络的参数,得到训练后的判别网络,直至所述相似度大于所述预设最大阈值时停止训练。
[0110]
可选的,所述识别模块414在用于根据所述样本恶意域名训练得到域名识别模型时,所述识别模块414具体用于:
[0111]
将所述样本恶意域名和合法域名作为样本数据输入至域名识别模型中;
[0112]
得到所述域名识别模型输出的所述样本数据是恶意域名标签或合法域名标签的目标概率;
[0113]
根据所述目标概率,调整所述域名识别模型的参数,更新所述域名识别模型,直至所述目标概率达到对应的预设分类阈值时,得到训练好的域名识别模型。
[0114]
可选的,所述识别模块414还用于:
[0115]
在接收到待识别域名后,将所述待识别域名输入至训练好的域名识别模型中,得到与所述待识别域名对应的域名识别结果;
[0116]
若所述域名识别结果指示所述待识别域名为恶意域名,则拒绝访问;
[0117]
若所述域名识别结果指示所述待识别域名为合法域名,则接受访问。
[0118]
本技术实施例提供的一种域名识别模型的训练装置,训练装置包括:获取模块,用于获取历史恶意域名集合中的真实恶意域名;训练模块,用于将所述真实恶意域名和恶意域名生成模型的生成网络输出的生成恶意域名进行处理后,作为输入数据输入至所述恶意域名生成模型的判别网络中,获取所述判别网络输出的与所述真实恶意域名对应的真实数据分布和与所述生成恶意域名对应的生成数据分布,根据所述真实数据分布和所述生成数据分布之间的相似度训练所述判别网络,得到训练后的判别网络;更新模块,用于根据所述训练后的判别网络的输出,在确定所述真实数据分布和所述生成数据分布之间的相似度小于预设最小阈值时,将所述生成网络确定为目标生成网络;识别模块,用于获取目标生成网络输出的生成恶意域名,将所述生成恶意域名加入到所述历史恶意域名集合中进行扩展,获得样本恶意域名,根据所述样本恶意域名训练得到域名识别模型,根据所述域名识别模型识别出恶意域名。
[0119]
这样,采用本技术提供的技术方案能够将真实恶意域名和恶意域名生成模型中生成网络输出的生成恶意域名输入恶意域名生成模型的判别网络中,根据判别网络以及生成网络输出的真实数据分布和生成数据分布之间的相似度,对判别网络以及生成网络进行对抗训练,在训练结束后,将生成网络输出的接近真实恶意域名的生成恶意域名,加入到历史
恶意域名集合中,作为域名识别模型的训练样本,以扩充训练样本中的恶意域名,通过扩充后的训练样本为域名识别模型的训练过程提供更多的参考,强化了域名识别模型的识别性能,有助于提高识别恶意域名的准确性。
[0120]
请参阅图6,图6为本技术实施例所提供的一种电子设备的结构示意图。如图6中所示,所述电子设备600包括处理器610、存储器620和总线630。
[0121]
所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,所述机器可读指令被所述处理器610执行时,可以执行如上述图1以及图2所示方法实施例中的域名识别模型的训练方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0122]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的域名识别模型的训练方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0123]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0124]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0125]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0126]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0127]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0128]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使
相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1