System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于无监督学习的恶意域名检测方法技术_技高网
当前位置: 首页 > 专利查询>东北大学专利>正文

一种基于无监督学习的恶意域名检测方法技术

技术编号:41391998 阅读:8 留言:0更新日期:2024-05-20 19:14
本发明专利技术提供一种基于无监督学习的恶意域名检测方法,涉及网络安全技术领域。该方法首先获取DGA恶意域名和正常域名,然后使用预设的算法将获取到的域名句化,再将句化后的域名输入到对比学习模型中对预设的BERT模型进行训练,并通过不断最小化对比学习的损失函数来微调预设的BERT模型,最后采用训练完成的BERT模型域名检测。该方法使用对比学习模型来微调预设的BERT模型,使得模型更具判别能力,能够更好更快速地区分恶意域名和正常域名。

【技术实现步骤摘要】

本专利技术涉及网络安全,尤其涉及一种基于无监督学习的恶意域名检测方法


技术介绍

1、近年来,互联网产业得到了巨大的进步。但是随之而来的也有更多的威胁。现如今僵尸网络和恶意软件正在成为最严重的网络安全威胁。在过去十年中,僵尸网络和恶意软件最重要的专利技术之一就是“域名生成算法(dga)”。域名生成算法(dga)是在各种恶意软件中经常出现的算法,其用于定期生成大量可用作命令和控制(c&c)服务器集合点的域名。由于现在互联网中恶意软件的猖獗,各种以窃取个人隐私信息、进行勒索等为目标的软件不断出现。而这些软件的开发者通常通过dga域名对受感染的机器进行控制,所以对dga域名进行有效检测是对抗恶意软件非常重要的手段。

2、专利cn115102783a提出,在海量恶意域名数据库中,利用恶意域名和合法域名在字符特征和高级特征上的差别,通过融合多特征选择算法,优化域名特征、缩短检测时间,并使用多种分类器模型进行组合学习训练,提升恶意域名的检测效率和准确率,再通过集成方式将多个分类器结合在一起以优化恶意域名检测能力,使检测模型更加稳定与高效。该该方法需要大量已经标记好的恶意域名数据。虽然通过大量数据的拟合可以使结果准确率提升,可是目前恶意域名数据库数据还不完善,恶意域名生成方式变化也比较迅速,这种模型训练速度较慢,并且不能很好的应对恶意域名的变种,时间久了会导致模型准确率降低。

3、专利cn110798481a提出,先获取待检测域名并对待检测域名进行解析,得到待检测域名的报文信息,然后基于自然语言处理算法和文本特征提取算法,对待检测域名的报文信息进行处理,得到待检测域名的特征信息,最后将特征信息输入深度学习模型,得到检测结果。该方法虽然可以解决目前恶意域名检测准确率较低的技术问题,但是由于使用了深度学习模型,其中每个训练数据都需要一个耗费资源的标记过程,并且对低随机性的dga域名的检测效果也不是很好。


技术实现思路

1、本专利技术要解决的技术问题是针对上述现有技术的不足,提供一种基于无监督学习的恶意域名检测方法,通过将无监督学习应用于域名检测任务的训练过程中,提升bert预训练模型在域名检测方向的表现。

2、为解决上述技术问题,本专利技术所采取的技术方案是:一种基于无监督学习的恶意域名检测方法,首先获取dga恶意域名和正常域名,然后使用预设的算法将获取到的域名句化,再将句化后的域名输入到对比学习模型中对预设的bert模型进行训练,并通过不断最小化对比学习的损失函数来微调预设的bert模型,最后采用训练完成的bert模型域名检测。具体包括以下步骤:

3、步骤1:获取dga恶意域名和正常域名,并基于预设的句向量模型将待检测dga恶意域名和正常域名转化为待测句向量;

4、步骤1.1:获取dga恶意域名和正常域名数据集;

5、步骤1.2:使用预设的句向量模型将待检测的域名句化,转化为待测句向量;

6、步骤2:将句化后的域名输入到对比学习模型中进行训练;

7、步骤2.1:将句化后的域名x传递给数据增强模块,应用打乱词序t1和裁剪t2这两种变换方式来生成两个版本的令牌嵌入:e1=t1(x),e2=t2(x);其中,e1,e2∈rl×d,l是输入文本序列长度,d是隐藏维度,即每个位置的特征向量的维度;

8、步骤2.2:将令牌嵌入e1和e2由预训练的bert模型中的多层transformer编码器编码;

9、步骤2.2.1:令牌嵌入e1和e2首先要先经过多头注意力机制层;

10、步骤2.2.2:接下来进入标准化层,该层是一个残差网络,将上一层的输出与其标准化后的输出进行相加即可;

11、步骤2.2.3:然后要经过前馈神经网络层;

12、步骤2.2.4:然后再进入标准化层,将上一层的输出与其标准化后的输出进行相加;

13、步骤2.2.5:接下来再重复多次步骤2.2.1-2.2.4完成transformer编码器编码过程并输出令牌嵌入e1和e2对应的编码ei1和ei2;

14、步骤2.3:进入池化层将transformer编码器编码结果进行平均池化;

15、步骤2.4:采用归一化温度标度交叉熵损失作为对比损失函数

16、步骤2.5:对每个输入的域名数据进行训练,对所有2n个批量分类损失进行平均,以获得最终的对比损失lcon,通过最小化对比学习损失函数lcon来微调bert预训练模型使其能更好地适应接下来的分类任务;

17、步骤3:将任意域名输入到训练好的bert模型中进行编码并得到分类结果。

18、采用上述技术方案所产生的有益效果在于:本专利技术提供的一种基于无监督学习的恶意域名检测方法,(1)数据获取和预处理:首先,从可靠的来源获取dga恶意域名和正常域名作为训练数据。接下来,使用预设的算法对获取到的域名进行预处理,将其转化为句子表示的形式,以便后续处理和分析。(2)数据增强方式:为了生成对比学习所需的一对正例对,采用两种不同的数据增强方式。这些增强方式可以是对域名进行随机扰动、字符替换、字符删除或字符插入等操作,以产生与原始域名不同但属于同一类别的变体。通过这种方式,可以增加训练样本的多样性,提供更丰富的正例对,从而增强对比学习模型的训练效果。(3)对比学习模型:采用对比学习模型对预设的bert模型进行微调。对比学习是一种强大的学习方法,通过将同类域名样本进行聚集,不同类别的样本进行分散,有助于学习样本之间的相似度和差异性。在该模型中,将域名的句向量作为输入,并通过最小化对比学习的损失函数来微调预设的bert模型,以增强其对恶意域名和正常域名的区分能力。(4)预测和分类:经过训练后,该方法可以将任意域名输入经过微调的bert模型进行预测,并返回域名的分类结果,即良性或恶性,帮助用户快速判断输入域名的安全性,提供及时的域名分类信息。

19、该方法使用对比学习模型来微调预设的bert模型。这种方法通过学习样本之间的相似度和差异性,不需要大量已经标记好的恶意域名数据,并且提供更好的域名分类效果。使得模型更具判别能力,能够更好更快速地区分恶意域名和正常域名。

本文档来自技高网...

【技术保护点】

1.一种基于无监督学习的恶意域名检测方法,其特征在于:

2.根据权利要求1所述的一种基于无监督学习的恶意域名检测方法,其特征在于:包括以下步骤:

3.根据权利要求2所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤1的具体方法为:

4.根据权利要求3所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤2的具体方法为:

5.根据权利要求4所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤2.2的具体方法为:

6.根据权利要求4所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤2进行训练时采用归一化温度标度交叉熵损失作为对比损失函数。

7.根据权利要求4所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤2对每个输入的域名数据进行训练,对所有2N个批量分类损失进行平均,以获得最终的对比损失Lcon,通过最小化对比学习损失函数Lcon来微调BERT预训练模型使其能更好地适应接下来的分类任务。

【技术特征摘要】

1.一种基于无监督学习的恶意域名检测方法,其特征在于:

2.根据权利要求1所述的一种基于无监督学习的恶意域名检测方法,其特征在于:包括以下步骤:

3.根据权利要求2所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤1的具体方法为:

4.根据权利要求3所述的一种基于无监督学习的恶意域名检测方法,其特征在于:所述步骤2的具体方法为:

5.根据权利要求4所述的一种基于无监督学习的恶意域名检测方法,其特征在于:...

【专利技术属性】
技术研发人员:高天寒王泓凯
申请(专利权)人:东北大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1