当前位置: 首页 > 专利查询>清华大学专利>正文

域名对抗样本生成方法以及装置制造方法及图纸

技术编号:32563144 阅读:16 留言:0更新日期:2022-03-09 16:47
本公开是关于一种域名对抗样本生成方法以及装置,涉及网络安全领域,包括:获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据;将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值;在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失值;根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器;响应于域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。本公开提高了检测的时效性和鲁棒性。性。性。

【技术实现步骤摘要】
域名对抗样本生成方法以及装置


[0001]本公开涉及网络安全领域,尤其涉及域名对抗样本生成方法以及装置。

技术介绍

[0002]随着技术的不断发展,攻击者们开始设计基于机器学习的DGA算法以专门饶过DGA检测器的探查能力。而由于标注成本昂贵,现有的DGA检测算法很难快速获得足量的最新DGA域名训练样本,而仅仅在有限的真实世界数据集上训练的模型在应对新型DGA算法时是难以发挥预期效果的,这就使得检测模型的迭代周期过长,检测的时效性和鲁棒性较差。

技术实现思路

[0003]为克服相关技术中存在的问题,本公开提供一种域名对抗样本生成方法以及装置。
[0004]根据本公开实施例的第一方面,提供一种域名对抗样本生成方法,包括:
[0005]获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据;
[0006]将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值;
[0007]在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失值;
[0008]根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器;
[0009]响应于域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。
[0010]根据本公开实施例的第二方面,提供一种域名对抗样本生成装置,包括:
[0011]获取模块,用于获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据;
[0012]二元判断模块,用于将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值;
[0013]语言判断模块,用于在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失值;
[0014]训练模块,用于根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器;
[0015]生成模块,用于响应域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。
[0016]根据本公开实施例的第三方面,提供了一种电子设备,包括:
[0017]至少一个处理器;以及,
[0018]与至少一个处理器通信连接的存储器;其中:
[0019]存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述第一方面的方法。
[0020]根据本公开实施例的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行前述第一方面的方法。
[0021]本公开的实施例提供的技术方案可以包括以下有益效果:
[0022]通过设置二元分类器和语言模拟判别器,其中语言模型判别器为生成器的学习提供了更多的区分度,同时可以在域名生成的中间时刻为生成器反馈判别器的损失值,二元分类器依然保留,用于判断输入域名的真伪,以此解决了判别器能够起到的指导作用有限,无法给生成器带来较大改进的问题。
附图说明
[0023]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0024]图1为本公开实施例提供的域名对抗生成算法的流程图。
[0025]图2为本公开实施例提供的一种域名对抗样本生成方法的流程图。
[0026]图3为本公开实施例提供的另一种域名对抗样本生成方法的流程图。
[0027]图4为本公开实施例提供的损失值反馈流程图。
[0028]图5为本公开实施例提供的一种域名对抗样本生成装置的结构框图。
[0029]图6为本公开实施例提供的另一种域名对抗样本生成装置的结构框图。
[0030]图7为本公开实施例提供的一种域名对抗样本生成方法的电子设备的结构框图。
具体实施方式
[0031]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。
[0032]需要说明的是,随着技术的不断发展,攻击者们开始设计基于机器学习的DGA(Domain Generation Algorithm域名生成算法)算法以专门绕过DGA检测器的查重能力。而由于标注成本昂贵,现有的DGA检测算法很难快速获得足量的最新DGA域名训练样本,而仅仅在有限的真实世界数据集上训练的模型在应对新型DGA算法时是难以发挥预期效果的,这就使得检测模型的迭代周期过长,检测实效性和鲁棒性较差。
[0033]为解决上述技术问题,研究者们提出了一些解决方案,其中,最简单的方法就是加大数据标注量,疑惑的充足的新样本。但是这种方法存在如下缺点:规则难以制定,且规则制造的样本过于生硬,容易被模型学出固定模式,反而不利于提升检测模型的泛化性能。当前使用最多的,效果做好的方法则是利用对抗学习的思路,生成“以假乱真”的DGA对抗样本数据来增强检测器的训练集,强化检测器对未知加入DGA域名的检测能力。
[0034]需要说明的是,最早有人利用这一想法提出了DeepDGA(一种算法)。该算法利用GAN(生成式对抗网络)生成难以被检测器识别的对抗样本,并用其扩充原始检测器的训练集,以增强模型鲁棒性,DeepDGA基于自编码器的编解码器结构进行预训练,并将原解码器
作为生成模型、原编码器作为判别模型进行生成对抗训练。然而DeepDGA使用的自编码器结构过于简单,导致无论是生成域名还是判别真伪,效果都较差。在DeepDGA问世后,先后又有作者提出MaskDGA(算法)、DomainGAN(算法)、Khaos(算法)等同样利用GAN进行对抗样本生成的算法。其中,Khaos算法的思路最为创新,效果也最优。Khaos的作者发现,正常的合法域名一般是由音节和首字母的缩写词组成的,因此作者认为,可以使用深度学习模型来排列不同音节和首字母缩写词,以模仿合法域名。此外,Khaos的作者还采取了一些具有显著效果的改进措施,例如使用GAN的改进版本WGAN

GP来解决对抗训练难以收敛的问题、使用ResNet结构解决深度网络训练期间梯度消失的问题,以及将“n

gram”(即由n个连续字符组成的处理单元)而不是单个字符作为基本构词单元进行处理。这些优化策略的组合使得Khaos在各项指标上都击败了当时其他所有的DGA对抗样本生成算法。但Khaos算法的缺点也很明显,由于它的最小处理单元是“n

gram”,它无本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种域名对抗样本生成方法,其特征在于:获取域名训练样本,将所述域名训练样本输入至生成器,以得到第一域名对抗数据;将所述第一域名对抗数据输入至二元分类器,以得到所述域名训练样本的真实性概率,并根据所述真实性概率和所述域名训练样本的真实数据计算第一损失值;在所述生成器逐字符生成所述第一域名对抗数据的每一时刻,利用语言模型判别器和所述域名训练样本,计算在所述生成器逐字符生成所述第一域名对抗数据的每一时刻的交叉熵损失值;根据所述第一损失值和所述每一时刻的交叉熵损失值,训练所述生成器、所述二元分类器和所述语言模型判别器;响应于域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一损失值和所述每一时刻的交叉熵损失值,训练所述生成器、所述二元分类器和所述语言模型判别器,包括:根据所述第一损失值和所述每一时刻的交叉熵损失值计算生成器的指导信号,并根据所述指导信号对所述生成器进行一次训练操作;固定所述生成器的参数,并将域名训练样本输入至所述生成器以得到第二域名对抗数据,并根据第二域名对抗数据分别对所述语言模拟判别器和所述二元分类器进行一次训练操作;其中,所述语言模拟判别器利用每一时刻的交叉熵损失值和所述域名训练样本进行训练;所述二元分类器利用第一损失值和第二域名对抗数据进行训练;依照顺序循环迭代执行上述操作中所述生成器、所述语言模型判别器和所述二元分类器的训练操作,其中,当所述生成器进行训练时,固定所述二元分类器和所述语言模型判别器的参数,当对所述二元分类器和所述语言模型判别器进行训练的时候,固定所述生成器的参数。3.根据权利要求1所述的方法,其特征在于,所述生成器的期望累积奖励函数的计算公式为:式中,r
t
所述每一时刻的交叉熵损失值,p
θ
(y
t
|Y
t
‑1,X)为当前时刻的生成器概率分布,X为所述域名训练样本,Y为域名对抗数据,θ为生成器,T为生成完整个序列的序列长度,t为生成过程的一个时刻,y为生成器生成出来的模型预测值。4.根据权利要求1所述的方法,其特征在于,所述二元分类器的目标函数为:式中,y
i
指所述二分类判别器的输入,label
i
是输入样本的标签指明其真伪性,R
θ
表示正则化项,函数f表示具体的判别模型的预测结果,l
i
表示单个样本的分类误差。5.一种域名对抗样本生成装置,其特征在于:获取模块,用于获取域名训练样本,将所述域名训练样本输入至生成器,以得到第一域
名对抗数据;二元判断模块,用于将所述第一域名对抗数据输入至二元分类器,以得到所述域名训练样本的真实性概...

【专利技术属性】
技术研发人员:杨家海方欣孙晓晴王之梁
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1