DGA域名检测方法及装置与流程
- 国知局
- 2024-08-02 14:19:14
本说明书涉及互联网网络安全,特别涉及一种dga域名检测方法及装置。
背景技术:
1、随着互联网的普及,人们的生活更加地便捷,同时也面对着日益增多的安全挑战。各类安全攻击层出不穷,尤其以利用僵尸网络为主要手段所造成的破坏和影响更是严重。这些僵尸网络控制者通过命令和控制(c&c,command and control)服务器,与僵尸主机建立信道,实现对多个僵尸主机的一对多控制,从而进行垃圾邮件、恶意软件分发等攻击。由于dga(domain generation algorithm,域名生成算法)能够在极短时间内生成大量随机域名,传统的基于黑名单过滤的防御方式在效果上受到限制。这种dga算法的高度隐蔽性和低成本特点,使其被僵尸网络控制者广泛应用于应对ip封锁和逆向分析的域名黑名单中。
2、对于银行系统而言,僵尸网络的恶意攻击可能导致潜在的数据泄露风险,对客户敏感信息的安全性构成威胁。然而,通过识别dga生成的域名,可以有效切断僵尸网络与c&c服务器之间的通信,从而阻止僵尸网络的攻击。因此,dga域名检测在银行系统中的作用非常关键,有助于及时发现潜在的攻击行为,采取相应的防范措施,保护客户数据和系统安全。
3、现有的dga域名检测可大致分为两类,基于传统机器学习检测方法和基于深度学习的检测方法。基于传统机器学习的检测方法,其性能关键取决于手工提取的特征和进行的统计分析。深度学习代表了对传统机器学习的改良和升级,其强大的自学能力使得基于深度学习的检测模型更能充分捕捉域名之间的特征关系。然而,基于传统机器学习的检测方法,依赖于手工提取的特征,需要耗费大量的人力资源和时间。同时提取的特征相对固定,难以适应新出现的dga变体。且其特征提取和模型训练过程较为耗时,实时性不佳。由于不同dga家族的域名数量存在巨大差异,导致在域名具体家族分类任务中,数据集的不平衡问题使得性能表现不佳。目前针对单词dga域名的检测方法,由于其统计特征与良性域名相似,难以在一次性的预测中捕获有效的层级语义信息以进行区分,从而导致检测性能下降。
4、针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
1、本说明书实施例提供了一种dga域名检测方法及装置,以解决现有技术中恶意域名多分类任务的准确率较低的问题。
2、本说明书实施例提供了一种dga域名检测方法,包括:
3、获取域名数据集;对所述域名数据集中的域名样本进行预处理,并基于预处理后的域名数据集,构建训练样本集;所述域名数据集包括良性域名样本和dga恶意域名样本;
4、利用所述训练样本集对预设网络模型进行训练,得到目标检测模型;所述目标检测模型用于识别dga恶意域名;
5、其中,所述目标检测模型包括词嵌入层、特征提取层和预测输出层,所述词嵌入层用于对所述预处理后的域名样本数据进行向量化,得到对应的词向量;所述特征提取层包括浅层特征提取器、长短期记忆网络和基于自注意力机制的缓存restormer模块;所述浅层特征提取器用于提取所述词向量的浅层特征,并将所述浅层特征传递给所述长短期记忆网络,所述长短期记忆网络用于建立早期阶段的浅层特征信息与后期阶段的长期依赖关系;所述基于自注意力机制的缓存restormer模块用于捕获域名特征的全局信息,以建立域名字符间的依赖关系;所述预测输出层用于输出域名的分类结果。
6、在一个实施例中,对所述域名数据集中的域名样本进行预处理,包括:
7、截断所述域名数据集中的域名样本的顶级域名,并保留二级域名,得到截断后的域名数据;
8、对所述截断后的域名数据进行分词操作,得到分词后的域名数据。
9、在一个实施例中,所述浅层特征提取器用于对输入的特征分别进行多次扩张卷积,并将输出的特征进行通道维度的拼接,随后再通过卷积层对特征进行通道压缩,最后将压缩后的特征输入到se通道注意力模块中得到最终的输出结果。
10、在一个实施例中,所述多次扩张卷积对应的膨胀率不同。
11、在一个实施例中,所述长短期记忆网络的输入包括当前阶段所述浅层特征提取器提取的特征信息以及上一阶段中所述长短期记忆网络保留的隐藏状态信息。
12、在一个实施例中,所述基于自注意力机制的缓存restormer模块包括多头缓存注意模块和门控前馈网络;所述多头缓存注意模块用于对输入的特征进行自注意力计算以及缓存注意力计算;所述门控前馈网络用于允许有用的信息在网络层次结构中进一步传递。
13、在一个实施例中,所述多头缓存注意模块的输出结果为:
14、x=σ(λ)×xmem+(1-σ(λ))×xself;
15、其中,x为所述多头缓存注意模块的输出结果,xself和xmem分别是对输入的特征进行自注意力计算和缓存注意力计算的计算结果,σ(·)为sigmoid激活函数,λ是用于平衡所述自注意力计算的计算结果和所述缓存注意力计算的计算结果的学习参数。
16、在一个实施例中,在利用所述训练样本集对预设网络模型进行训练的过程中,采用focal loss损失函数。
17、在一个实施例中,在利用所述训练样本集对预设网络模型进行训练的过程中,采用准确率、精确率、召回率和f1分数作为评价指标。
18、在一个实施例中,所述方法还包括:
19、获取目标域名数据;
20、对所述目标域名数据进行预处理,得到预处理后的目标域名数据;
21、将所述预处理后的目标域名数据输入所述目标检测模型,得到所述目标域名数据的类别,以确定所述目标域名数据是否为dga恶意域名。
22、本说明书实施例还提供了一种dga域名检测装置,包括:
23、获取模块,用于获取域名数据集;对所述域名数据集中的域名样本进行预处理,并基于预处理后的域名数据集,构建训练样本集;所述域名数据集包括良性域名样本和dga恶意域名样本;
24、训练模块,用于利用所述训练样本集对预设网络模型进行训练,得到目标检测模型;所述目标检测模型用于识别dga恶意域名;
25、其中,所述目标检测模型包括词嵌入层、特征提取层和预测输出层,所述词嵌入层用于对所述预处理后的域名样本数据进行向量化,得到对应的词向量;所述特征提取层包括浅层特征提取器、长短期记忆网络和基于自注意力机制的缓存restormer模块;所述浅层特征提取器用于提取所述词向量的浅层特征,并将所述浅层特征传递给所述长短期记忆网络,所述长短期记忆网络用于建立早期阶段的浅层特征信息与后期阶段的长期依赖关系;所述基于自注意力机制的缓存restormer模块用于捕获域名特征的全局信息,以建立域名字符间的依赖关系;所述预测输出层用于输出域名的分类结果。
26、本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的dga域名检测方法的步骤。
27、本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现上述任意实施例中所述的dga域名检测方法的步骤。
28、本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的dga域名检测方法的步骤。
29、在本说明书实施例中,提供了一种dga域名检测方法,可以获取域名数据集;对所述域名数据集中的域名样本进行预处理,并基于预处理后的域名数据集,构建训练样本集,利用所述训练样本集对预设网络模型进行训练,得到目标检测模型,目标检测模型可以用于识别dga恶意域名。目标检测模型中包括词嵌入层、特征提取层和预测输出层。词嵌入层可以用于对所述预处理后的域名样本数据进行向量化,得到对应的词向量。特征提取层包括浅层特征提取器、长短期记忆网络和基于自注意力机制的缓存restormer模块。浅层特征提取器用于提取所述词向量的浅层特征,并将所述浅层特征传递给所述长短期记忆网络。长短期记忆网络用于建立早期阶段的浅层特征信息与后期阶段的长期依赖关系。基于自注意力机制的缓存restormer模块用于捕获域名特征的全局信息,以建立域名字符间的依赖关系。预测输出层用于输出域名的分类结果。上述方案中,在特征提取层中,词向量首先通过浅层特征提取器来初步提取输入词向量的浅层特征表示,随后将浅层特征表示传递给下一层长短时记忆层,该层用于建立早期阶段的浅层特征信息与后期阶段的长期依赖关系,实现特征信息的跨阶段流动,对特征表示进行渐进式的优化,随后通过基于自注意力机制的缓存restormer模块用于充分捕获域名特征的全局性息,建立域名字符间的依赖关系,特征提取层通过多阶段的迭代提取出深层域名字符的特征表示,该特征表示被输入到预测输出层中预测域名的分类结果。通过上述方案,能够充分聚合域名特征的时空上下文信息,稳定多阶段网络对域名字符特征提取的渐进式优化,提高分类任务的性能,因而能够高效准确地检测dga恶意域名。
本文地址:https://www.jishuxx.com/zhuanli/20240801/242374.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。