一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

域名识别方法和装置、计算机装置和存储介质与流程

2022-08-30 23:10:51 来源:中国专利 TAG:


1.本公开涉及网络安全领域,特别涉及一种域名识别方法和装置、计算机装置和存储介质。


背景技术:

2.近年来,恶意程序数量呈现逐年递增的趋势,且越来越高级和复杂。恶意程序感染主机后,与远程命令与控制服务器连接,从而控制命令和服务器。如高级可持续性威胁和僵尸网络中,被感染主机通过与远程c&c服务器连接,下载恶意程序,获取恶意指令。这些恶意程序常通过域名访问远程服务器,而不是服务器ip,因此域名在恶意行为中发挥了重要作用。为逃避检测,攻击者通常会采用domain-flux技术,其核心为dga(domain generation algorithm,域名生成算法)。dga基于某一个种子,比如当前的日期,每天动态生成大量域名,其中一部分为被攻击者注册的有效域名,多个域名对应一个命令与控制服务器ip地址。被感染主机查询大量自动生成的域名,并与其中几个建立连接,由于域名数据很大,且每天自动生成,很好了隐藏了攻击者的恶意网络。因而有效检测出dga恶意域名,对于发现恶意攻击具有十分重要的意义。


技术实现要素:

3.鉴于以上技术问题中的至少一项,本公开提供了一种域名识别方法和装置、计算机装置和存储介质,可以有效检测出dga恶意域名。
4.根据本公开的一个方面,提供一种域名识别方法,包括:
5.获取域名的黑名单数据和白名单数据;
6.采用数据增强的方式,增加白名单数据;
7.采用多模型协同的方式,从不同角度提取域名生成算法dga的域名特征,实现dga域名的识别。
8.在本公开的一些实施例中,所述采用数据增强的方式,增加白名单数据包括:
9.采用深度学习模型、随机插入、随机删除、语法树和文字混合中的至少一种方式进行数据增强,增加白名单数据。
10.在本公开的一些实施例中,所述采用多模型协同的方式,从不同角度提取域名生成算法dga的域名特征,实现dga域名的识别包括:
11.针对黑名单数据和白名单数据提取第一域名特征,采用第一模型进行模型训练和预测,得到dga域名的第一识别结果,其中,所述第一域名特征包括特殊标识、关键符号、行为特征、字符长度、元音字母比率和特殊标识中的至少一项;
12.对域名进行嵌入式处理,根据第二模型基于第二域名特征进行dga域名的预测,得到dga域名的第二识别结果,其中,第二域名特征包括域名顺序、关键字符重要度和上下字符关系中的至少一项;
13.对dga域名的第一识别结果和第二识别结果进行模型融合,实现dga域名的识别。
14.在本公开的一些实施例中,所述第一模型为机器学习模型。
15.在本公开的一些实施例中,所述第二模型为深度学习模型。
16.在本公开的一些实施例中,所述域名识别方法还包括:
17.通过调整数据增强、调整第一模型参数和调整第二模型参数中至少一种方式,对域名识别过程进行优化;
18.进行增量动态模型的更新与加载。
19.在本公开的一些实施例中,所述采用多模型协同的方式,从不同角度提取域名生成算法dga的域名特征,实现dga域名的识别包括:
20.采用多模型协同的方式,对不同域名特征设置相应的权重,以实现dga域名的识别。
21.在本公开的一些实施例中,所述获取域名的黑名单数据和白名单数据包括:
22.通过开源方式和内部资源方式中的至少一种获取域名的黑名单数据和白名单数据。
23.根据本公开的另一方面,提供一种域名识别装置,包括:
24.数据获取模块,被配置为获取域名的黑名单数据和白名单数据;
25.数据增强模块,被配置为采用数据增强的方式,增加白名单数据;
26.融合识别模块,被配置为采用多模型协同的方式,从不同角度提取域名生成算法dga的域名特征,实现dga域名的识别。
27.在本公开的一些实施例中,所述域名识别装置被配置为执行实现如上述任一实施例所述的域名识别方法的操作。
28.根据本公开的另一方面,提供一种计算机装置,包括:
29.存储器,被配置为存储指令;
30.处理器,被配置为执行所述指令,使得所述计算机装置执行实现如上述任一实施例所述的域名识别方法。
31.根据本公开的另一方面,提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的域名识别方法。
32.本公开采用数据增强的方式,增加白名单数据,使黑白名单数量达到均衡,减少了样本对检测结果的影响。
附图说明
33.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本公开域名识别方法一些实施例的示意图。
35.图2为本公开域名识别方法另一些实施例的示意图。
36.图3为本公开域名识别装置一些实施例的示意图。
37.图4为本公开计算机装置一些实施例的结构示意图。
具体实施方式
38.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
39.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
40.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
41.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
42.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
43.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
44.相关技术目前,尚无法快速有效地识别基于dga机制的僵尸网络恶意域名,因此迫切需要研究一种新的dga恶意域名识别方法。随着互联网、大数据、机器学习的快速发展,机器学习方法逐渐应用于dga检测中。并且,基于机器学习的方法还可以与现存的黑白名单机制相结合。在网络用户访问各大网站时,安全厂商或者浏览器厂家可以快速识别和标记出恶意域名,及时有效提醒网络用户,因此黑名单数据庞大,另一方面,安全网站有限,因此,白名单数据较少。黑白样本的不均衡给机器学习检测带来一定干扰。
45.鉴于以上技术问题中的至少一项,本公开提供了一种域名识别方法和装置、计算机装置和存储介质,下面通过具体实施例对本公开进行说明。
46.图1为本公开域名识别方法一些实施例的示意图。优选的,本实施例可由本公开域名识别装置或本公开计算机装置执行。该方法可以包括步骤11-步骤13,其中:
47.步骤11,获取域名的黑名单数据和白名单数据。
48.在本公开的一些实施例中,步骤11可以包括:通过开源方式和内部资源方式等方式中的至少一种,获取域名的黑名单数据和白名单数据。
49.步骤12,采用数据增强的方式,增加白名单数据。
50.在本公开的一些实施例中,步骤12可以包括:采用深度学习模型、随机插入、随机删除、语法树和文字混合等方式中的至少一种方式进行数据增强,增加白名单数据。
51.在本公开的一些实施例中,步骤12可以包括:针对白名单文件数据,采用gpt(generative pre-training,生成式的预训练)模型进行文本生成,从而达到数据增强的目的;同时选取部分域名采取随机插入、删除、同义词替换等操作进行数据增强。
52.步骤13,采用多模型协同的方式,从不同角度提取域名生成算法dga的域名特征,实现dga域名的识别。
53.在本公开的一些实施例中,步骤13可以包括:采用多模型协同的方式,对不同域名特征设置相应的权重,以实现dga域名的识别。
54.在本公开的一些实施例中,步骤13可以包括步骤131-步骤133,其中:
55.步骤131,针对黑名单数据和白名单数据提取第一域名特征,采用第一模型进行模型训练和预测,得到dga域名的第一识别结果,其中,所述第一域名特征包括特殊标识、关键符号、行为特征、字符长度、元音字母比率和特殊标识等特征中的至少一项。
56.在本公开的一些实施例中,所述第一模型可以为机器学习模型。
57.在本公开的一些实施例中,步骤131可以包括:通过分析黑白名单数据,提取域名的特殊标识、关键符号、行为特征等特征,采用传统机器学习模型进行检测。
58.在本公开的一些实施例中,步骤131可以包括:针对黑白名单数据提取字符长度、元音字母比率、特殊标识等特征,并采用传统机器学习模型,如xgboost(extreme gradient boosting极致梯度提升)模型,进行模型的训练和预测。
59.步骤132,对域名进行嵌入式处理,根据第二模型基于第二域名特征进行dga域名的预测,得到dga域名的第二识别结果,其中,第二域名特征包括域名顺序、关键字符重要度和上下字符关系等特征中的至少一项。
60.在本公开的一些实施例中,所述第二模型可以为深度学习模型。
61.在本公开的一些实施例中,所述第二模型可以为深度学习模型roberta。
62.在本公开的一些实施例中,步骤132可以包括:将黑白名单域名字符进行嵌入式标识,并采用前沿深度学习模型,如roberta自动提取特征,抓住域名顺序、关键字符重要度、上下字符关系等内在逻辑,从而完成dga域名的预测。
63.步骤133,对dga域名的第一识别结果和第二识别结果进行模型融合,实现dga域名的识别。由此使系统能够同时抓取不同维度的特征,从而提升检测准确率。
64.在本公开的一些实施例中,所述域名识别方法还可以包括:通过调整数据增强、调整第一模型参数和调整第二模型参数中至少一种方式,对域名识别过程进行优化;进行增量动态模型的更新与加载。
65.本公开上述实施例当训练数据得到更新时,可以再次训练模型,获取不同的模型参数,并优化,从而达到了提升检测准确率的目的。
66.基于本公开上述实施例提供的域名识别方法,采用数据增强的方式,增加白名单数据,使黑白名单数量达到均衡,减少样本对检测结果的影响。此外,本专利采用多模型协同的方法,从不同角度提取dga域名特征,以期提高检测准确率。
67.图2为本公开域名识别方法另一些实施例的示意图。优选的,本实施例可由本公开域名识别装置或本公开计算机装置执行。该方法可以包括步骤21-步骤26,其中:
68.步骤21,通过开源及内部资源等方式获取域名的黑名单数据和白名单数据。
69.在本公开的一些实施例中,步骤21可以包括:获取开源及内部资源的黑白名单数据,并将dga域名保存为一个txt文件,白名单域名保存为另一个txt文件。
70.步骤22,针对白名单数据,采用深度学习模型、随机插入、随机删除、语法树、文字混合等方式进行数据增强,增加白名单数量。
71.在本公开的一些实施例中,步骤22可以包括:针对白名单文件数据,采用gpt模型进行文本生成,从而达到数据增强的目的;同时选取部分域名采取随机插入、删除、同义词替换等操作进行数据增强。
72.步骤23,通过分析黑白名单数据,提取域名的特殊标识、关键符号、行为特征等,采
用传统机器学习模型进行检测。
73.在本公开的一些实施例中,如图2所示,步骤23可以包括:针对黑白名单数据提取字符长度、元音字母比率、特殊标识等特征,并采用传统机器学习模型,如xgboost模型,进行模型的训练和预测。
74.步骤24,通过对域名进行嵌入式处理,使用深度学习模型roberta,从域名顺序、关键字符重要度、上下字符关系等方面识别dga域名。
75.在本公开的一些实施例中,步骤24可以包括:将黑白名单域名字符进行嵌入式表示,并采用前沿深度学习模型,如roberta自动提取特征,抓住域名顺序、关键字符重要度、上下字符关系等内在逻辑,从而完成dga域名的预测。
76.步骤25,将步骤23和步骤24中模型得到的结果赋予适当权重,从而实现模型融合,识别dga域名。
77.在本公开的一些实施例中,步骤25可以包括:将步骤23和步骤24得到的结果进行stacking(堆叠)模型融合,使系统能够同时抓取不同维度的特征,从而提升准确率。
78.步骤26,优化上述过程,通过调整数据增强的方式、模型参数等提高dga识别的准确率;增量动态模型的更新与加载。
79.在本公开的一些实施例中,步骤26可以包括:当训练数据得到更新时,再次训练模型,获取不同的模型参数,并优化,达到提升准确率的目的。
80.相关技术数据源中黑名单数量远远多于白名单,在正负样本不均衡的条件下训练模型,往往会降低识别的准确率。本公开上述实施例采用数据增强的方法增加白名单数量,使得黑白名单数据均衡,更加客观地体现了准确率的含义并提升了准确率。
81.相关技术往往采用单一的模型进行训练,仅关注dga域名中所携带的特殊标识、行为特征等,或者仅关注域名系统的顺序关系。相关技术均不能完全反应dga域名的特点,加之单模型在训练时的偏向性,使得最终效果不尽如人意。本公开上述实施例综合考虑上述方面,采用模型协同的方式,赋予不同特征适当权重,并持续优化及增量数据更新,使得模型效果得以逐步提升。
82.图3为本公开域名识别装置一些实施例的示意图。如图3所示,本公开域名识别装置可以包括数据获取模块31、数据增强模块32和融合识别模块33,其中:
83.数据获取模块31,被配置为获取域名的黑名单数据和白名单数据。
84.在本公开的一些实施例中,数据获取模块31可以被配置为通过开源方式和内部资源方式等方式中的至少一种,获取域名的黑名单数据和白名单数据。
85.在本公开的一些实施例中,数据获取模块31可以被配置为获取开源及内部资源的黑白名单数据,并将dga域名保存为一个txt文件,白名单域名保存为另一个txt文件。
86.数据增强模块32,被配置为采用数据增强的方式,增加白名单数据。
87.在本公开的一些实施例中,数据增强模块32可以被配置为采用深度学习模型、随机插入、随机删除、语法树和文字混合等方式中的至少一种方式进行数据增强,增加白名单数据。
88.在本公开的一些实施例中,数据增强模块32可以被配置为针对白名单文件数据,采用gpt(generative pre-training,生成式的预训练)模型进行文本生成,从而达到数据增强的目的;同时选取部分域名采取随机插入、删除、同义词替换等操作进行数据增强。
89.融合识别模块33,被配置为采用多模型协同的方式,从不同角度提取域名生成算法dga的域名特征,实现dga域名的识别。
90.在本公开的一些实施例中,融合识别模块33可以被配置为针对黑名单数据和白名单数据提取第一域名特征,采用第一模型进行模型训练和预测,得到dga域名的第一识别结果,其中,所述第一域名特征包括特殊标识、关键符号、行为特征、字符长度、元音字母比率和特殊标识等特征中的至少一项;对域名进行嵌入式处理,根据第二模型基于第二域名特征进行dga域名的预测,得到dga域名的第二识别结果,其中,第二域名特征包括域名顺序、关键字符重要度和上下字符关系等特征中的至少一项;以及对dga域名的第一识别结果和第二识别结果进行模型融合,实现dga域名的识别。由此使系统能够同时抓取不同维度的特征,从而提升检测准确率。
91.在本公开的一些实施例中,所述第一模型可以为机器学习模型。
92.在本公开的一些实施例中,所述第二模型可以为深度学习模型。
93.在本公开的一些实施例中,所述第二模型可以为深度学习模型roberta。
94.在本公开的一些实施例中,融合识别模块33可以被配置为通过分析黑白名单数据,提取域名的特殊标识、关键符号、行为特征等特征,采用传统机器学习模型进行检测。
95.在本公开的一些实施例中,融合识别模块33可以被配置为针对黑白名单数据提取字符长度、元音字母比率、特殊标识等特征,并采用传统机器学习模型,如xgboost(extreme gradient boosting极致梯度提升)模型,进行模型的训练和预测。
96.在本公开的一些实施例中,融合识别模块33可以被配置为将黑白名单域名字符进行嵌入式标识,并采用前沿深度学习模型,如roberta自动提取特征,抓住域名顺序、关键字符重要度、上下字符关系等内在逻辑,从而完成dga域名的预测。
97.在本公开的一些实施例中,融合识别模块33可以被配置为将dga域名的第一识别结果和第二识别结果进行stacking(堆叠)模型融合,使系统能够同时抓取不同维度的特征,从而提升准确率。
98.在本公开的一些实施例中,所述域名识别装置还可以被配置为通过调整数据增强、调整第一模型参数和调整第二模型参数中至少一种方式,对域名识别过程进行优化;进行增量动态模型的更新与加载。
99.在本公开的一些实施例中,所述域名识别装置可以被配置为执行实现如上述任一实施例(例如图1或图2实施例)所述的域名识别方法的操作。
100.本公开上述实施例提供了一种基于数据增强和多模型协同的dga域名识别装置。
101.本公开上述实施例采用数据增强的方法增加白名单数量,使得训练数据比例达到均衡。
102.本公开上述实施例采用模型融合的方式识别dga域名,不仅关注dga域名中所携带的特殊标识、行为特征,还关注域名系统的顺序关系等,从而提升了多模型协同系统的识别准确率。
103.图4为本公开计算机装置一些实施例的结构示意图。如图4所示,计算机装置包括存储器41和处理器42。
104.存储器41用于存储指令,处理器42耦合到存储器41,处理器42被配置为基于存储器存储的指令执行实现上述任一实施例(例如图1或图2实施例)涉及的方法。
105.如图4所示,该计算机装置还包括通信接口43,用于与其它设备进行信息交互。同时,该计算机装置还包括总线44,处理器42、通信接口43、以及存储器41通过总线44完成相互间的通信。
106.存储器41可以包含高速ram存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器41也可以是存储器阵列。存储器41还可能被分块,并且块可按一定的规则组合成虚拟卷。
107.此外,处理器42可以是一个中央处理器cpu,或者可以是专用集成电路asic,或是被配置成实施本公开实施例的一个或多个集成电路。
108.基于本公开上述实施例提供的计算机装置,采用数据增强的方式,增加白名单数据,使黑白名单数量达到均衡,减少样本对检测结果的影响。此外,本专利采用多模型协同的方法,从不同角度提取dga域名特征,以期提高检测准确率。
109.根据本公开的另一方面,提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图1或图2实施例)所述的域名识别方法。
110.本公开上述实施例采用数据增强的方法增加白名单数量,使得黑白名单数据均衡,更加客观地体现了准确率的含义并提升了准确率。
111.本公开上述实施例综合考虑上述方面,采用模型协同的方式,赋予不同特征适当权重,并持续优化及增量数据更新,使得模型效果得以逐步提升。
112.本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
113.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
114.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
115.在上面所描述的域名识别装置可以实现为用于执行本技术所描述功能的通用处理器、可编程逻辑控制器(plc)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
116.至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
117.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种非瞬时性计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
118.本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献