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

域名对抗样本生成方法以及装置与流程

2022-03-09 05:37:26 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

3.为克服相关技术中存在的问题,本公开提供一种域名对抗样本生成方法以及装置。
4.根据本公开实施例的第一方面,提供一种域名对抗样本生成方法,包括:
5.获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据;
6.将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值;
7.在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失值;
8.根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器;
9.响应于域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。
10.根据本公开实施例的第二方面,提供一种域名对抗样本生成装置,包括:
11.获取模块,用于获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据;
12.二元判断模块,用于将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值;
13.语言判断模块,用于在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失值;
14.训练模块,用于根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器;
15.生成模块,用于响应域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。
16.根据本公开实施例的第三方面,提供了一种电子设备,包括:
17.至少一个处理器;以及,
18.与至少一个处理器通信连接的存储器;其中:
19.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述第一方面的方法。
20.根据本公开实施例的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行前述第一方面的方法。
21.本公开的实施例提供的技术方案可以包括以下有益效果:
22.通过设置二元分类器和语言模拟判别器,其中语言模型判别器为生成器的学习提供了更多的区分度,同时可以在域名生成的中间时刻为生成器反馈判别器的损失值,二元分类器依然保留,用于判断输入域名的真伪,以此解决了判别器能够起到的指导作用有限,无法给生成器带来较大改进的问题。
附图说明
23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
24.图1为本公开实施例提供的域名对抗生成算法的流程图。
25.图2为本公开实施例提供的一种域名对抗样本生成方法的流程图。
26.图3为本公开实施例提供的另一种域名对抗样本生成方法的流程图。
27.图4为本公开实施例提供的损失值反馈流程图。
28.图5为本公开实施例提供的一种域名对抗样本生成装置的结构框图。
29.图6为本公开实施例提供的另一种域名对抗样本生成装置的结构框图。
30.图7为本公开实施例提供的一种域名对抗样本生成方法的电子设备的结构框图。
具体实施方式
31.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
32.需要说明的是,随着技术的不断发展,攻击者们开始设计基于机器学习的dga(domain generation algorithm域名生成算法)算法以专门绕过dga检测器的查重能力。而由于标注成本昂贵,现有的dga检测算法很难快速获得足量的最新dga域名训练样本,而仅仅在有限的真实世界数据集上训练的模型在应对新型dga算法时是难以发挥预期效果的,这就使得检测模型的迭代周期过长,检测实效性和鲁棒性较差。
33.为解决上述技术问题,研究者们提出了一些解决方案,其中,最简单的方法就是加大数据标注量,疑惑的充足的新样本。但是这种方法存在如下缺点:规则难以制定,且规则制造的样本过于生硬,容易被模型学出固定模式,反而不利于提升检测模型的泛化性能。当前使用最多的,效果做好的方法则是利用对抗学习的思路,生成“以假乱真”的dga对抗样本数据来增强检测器的训练集,强化检测器对未知加入dga域名的检测能力。
34.需要说明的是,最早有人利用这一想法提出了deepdga(一种算法)。该算法利用gan(生成式对抗网络)生成难以被检测器识别的对抗样本,并用其扩充原始检测器的训练集,以增强模型鲁棒性,deepdga基于自编码器的编解码器结构进行预训练,并将原解码器
作为生成模型、原编码器作为判别模型进行生成对抗训练。然而deepdga使用的自编码器结构过于简单,导致无论是生成域名还是判别真伪,效果都较差。在deepdga问世后,先后又有作者提出maskdga(算法)、domaingan(算法)、khaos(算法)等同样利用gan进行对抗样本生成的算法。其中,khaos算法的思路最为创新,效果也最优。khaos的作者发现,正常的合法域名一般是由音节和首字母的缩写词组成的,因此作者认为,可以使用深度学习模型来排列不同音节和首字母缩写词,以模仿合法域名。此外,khaos的作者还采取了一些具有显著效果的改进措施,例如使用gan的改进版本wgan-gp来解决对抗训练难以收敛的问题、使用resnet结构解决深度网络训练期间梯度消失的问题,以及将“n-gram”(即由n个连续字符组成的处理单元)而不是单个字符作为基本构词单元进行处理。这些优化策略的组合使得khaos在各项指标上都击败了当时其他所有的dga对抗样本生成算法。但khaos算法的缺点也很明显,由于它的最小处理单元是“n-gram”,它无法准确识别基于伪随机字符串生成的dga域名。
35.在khaos被提出的同一时期,charbot(算法)也以其简便轻巧的特点和黑盒性质被广泛使用。charbot的算法逻辑很简单:在正常域名上添加简单扰动(例如随机选取域名中的两个字符,并用其他任意字符替换),使其无法被检测器识别。经实验验证,该算法虽简单但十分有效,且不需要获取目标dga检测器的相关知识,属于典型的黑盒模型。然而,charbot也存在着一些局限性:首先,charbot随机性太强,算法过于简单,生成质量较差;其次,使用charbot算法生成的dga对抗样本数据可用率很低,其中的大部分都是已被注册的正常域名或是很容易被检测器识别的简单样本,并不具有对抗性质。因此,简单地对正常域名或恶意域名添加扰动来制造对抗样本是不完备的,还需要在生成过程中使用一定的策略对其进行判别,筛除无效部分,以提高算法可用性。
36.其中域名又称网域,是由一串用点分隔的名字组成的internet(互联网)上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。
37.需要说明的是,自诞生以来,gan首先被运用在图像领域,并很快大放光彩,迅速成为研究界的热点;但它在nlp(神经语言程序学)领域却没有取得令人满意的结果。这是因为,在自然语言的生成过程中,gan的生成器的输出端需要对离散的标记位进行采样,这使得反向传播时梯度无法从判别器传回生成器,从而阻碍了gan模型的参数更新,也就无法完成训练。
38.对此,学者们提出了一系列应对方案。他们认为,文本生成过程离散不可导的问题可以通过将gan生成器末端的softmax(函数)替换为gumbel-softmax(函数)来解决。gumbel-softmax通过对离散变量进行重参数化,巧妙地用连续函数模拟了softmax的离散分布,从而将gan的输出端的离散采样过程变成了连续且可导的采样过程。该算法具有较强的创新性,然而缺点是计算量较大,复杂度较高,对算法运行速度有一定的影响。
39.基于以上问题,本公开提出了一种域名对抗样本生成方法以及装置。本公开以生成能够使dga检测器失效的恶意域名为目标,即生成能够使dga检测器失效的恶意域名,以此来实现增强dga域名检测器的检测效果的目的。
40.可选地,本公开提出的是一种基于策略的(policy-based)对抗样本生成算法。该算法将生成器作为参数化的随机策略(stochastic policy)并直接对其进行优化,从而利用策略梯度更新定理规避了离散采样导致的梯度不可导问题,本算法将生成器看作强化学
习中的随机策略,将目前为止已生成的字符序列看作当前的状态(state),将下一个将要生成的字符作为下一步采取的动作(action),而判别器对当前已生成序列的评价分数则是返回的奖励(reward)。
41.需要说明的是,直接将策略参数化,然后通过调整参数来得到最佳策略才是更加直接、高效的做法。
42.需要说明的是,本公开实施例可以学习正常域名的字符分布,生成“假”dga域名集。该算法被命名为policy-based dgan域名对抗生成算法,简称dgan。
43.图1为本公开实施例提供的域名对抗生成算法的流程图。图2为本公开实施例提供的一种域名对抗样本生成方法的流程图,需要说明的是,本公开实施例域名对抗样本生成方法可应用于本技术实施例的域名对抗样本生成装置。该生成装置可被配置于电子设备上。
44.如图1和图2所示,该域名对抗样本生成方法包括以下步骤:
45.步骤201,获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据;
46.需要说明的是,生成器是一个浅层的transformer(一种模型架构)编解码器,用于提供强大的特征抽取与文本生成能力,以学习真实合法域名的特征分布并生成能够绕过判别器的“假”dga域名。
47.可选地,域名训练样本为真实合法的域名,通过从语料库中获取到域名训练样本,并将域名训练样本作为生成器的输入值,学习域名训练样本的特征分布,并根据域名训练样本的特征分布输出尽可能接近域名训练样本。
48.在一种实现方式中,生成器在进行对抗训练之前需要进行预训练,生成器的预训练过程为;
49.给定输入样本x,生成器g
θ
的损失函数如下列所示,且预训练目标是将下列损失函数最大化:
[0050][0051]
其中,目标输出y为输入x向右偏置一位后的取值。在计算如上述损失函数表示的生成下一个字符的条件概率时,算法选择真值中的前一个字符y
t-1
而不是模型生成的字符y
t-1
作为输入,此时训练与预测之间的偏差可能会不断累积。因此,后续需要使用对抗训练对生成器进行微调,利用判别器的反馈校正偏差。
[0052]
步骤202,将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值。
[0053]
其中,二元分类器是一系列可动态配置的二元分类器,用于判断输入的域名是真实的需要说,并且为了证明算法生成出的伪造dga域名有能力绕过大多数检测器,本公开复现了多种基于单个域名的dga域名检测器,并选取其中检测能力较强的若干个,平行添加在二元分类器模块。
[0054]
步骤203,在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失
值。
[0055]
其中,语言模型判别器是一个建模真实合法域名分布的lstm语言模型,它负责学习真实合法域名的分布和构成,在域名逐字符生成的每一时刻都计算当前的交叉熵损失,并将其作为当前状态的即时损失值进行反馈。
[0056]
需要说明的是,生成器的设计思路为:如果生成器生成的域名对抗数据与域名训练样本的分布规律不匹配,那么在使用建模真实合法域名分布的语言模型进行评估时,结果将具有很高的困惑度;如果生成器生成的域名对抗数据与域名训练样本的分布规律匹配,那么在使用建模真实合法域名分布的语言模型进行评估时,结果将具有很低的困惑度。
[0057]
其中,困惑度是一种可用于评测语言模型质量的评测指标,本公开具体用于对域名对抗数据质量的评估。
[0058]
在一种实现方式中,语言模型判别器在进行对抗训练之前需要进行预训练处理,语言模拟判别器的预训练过程为:
[0059]
语言模型判别器的输入为真实的合法域名(域名训练样本)。给定输入域名x={x1,x2,...,xn},xi表示域名的第i个字符,模型学习在给定前k个字符的条件下,第k 1个字符的分布概率,即p(x
k 1
|x1,x2,...,xk)。求解该条件概率的方法有很多种,例如构造统计语言模型、神经网络语言模型,或是基于rnn(循环神经网络recurrent neural network)的语言模型来求解。本公开采用的方法是构造一个lstm(长短期记忆long short-term memory)网络来建模输入序列。
[0060]
需要说明的是,lstm是一种特殊的rnn,能够学习长期的规律,lstm明确旨在避免长期依赖性的问题。所有循环神经网络结构都是由完全相同结构的(神经网络)模块进行复制而成的。在标准rnn中,这个重复的模块只有一种非常简单的结构,例如tanh(一种函数)层,lstm同样也是类似的结构。但是它不再只是一个单一的tanh层,而是用了四个相互作用的层。
[0061]
步骤204,根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器。
[0062]
步骤205,响应于域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。
[0063]
根据本公开实施例的域名对抗样本生成方法,由于传统的判别器只有二元分类器提供一个为真或者假的概率作为损失值,并且对于二元分类器来说,区分真实域名和伪造域名是很容易的,而生成器生成域名是相当困难的,因此判别器能够起到的指导作用比较有限,无法给生成器带来较大改进。通过设置二元分类器和语言模型判别器,其中语言模型判别器为生成器的学习提供了更多的区分度,同时可以在域名生成的中间时刻为生成器反馈判别器的损失值,二元分类器依然保留,用于判断输入域名的真伪,以此解决了判别器能够起到的指导作用有限,无法给生成器带来较大改进的问题。
[0064]
需要说明的是,为了能够通过训练实现对于生成器的更新与改进,可通过对生成器、二元分类器和语言模型判别器进行交替训练。可选的,如图3所示,根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器可包括步骤:
[0065]
步骤301,根据第一损失值和每一时刻的交叉熵损失值计算生成器的指导信号,并根据指导信号对生成器进行一次训练操作。
[0066]
在一种实现方式中,将当前时刻生成器的概率分布p
θ
(y
t
|y
t-1
,x)看作需要优化的随机策略,定义r
t
为判别器在时刻t反馈的损失值,则生成器在对抗训练阶段的训练目标为最大化期望累积奖励,生成器的期望累积奖励函数公式为:
[0067][0068]
利用策略梯度定理来对上述目标函数进行求解:
[0069][0070]
式中,r
t
每一时刻的交叉熵损失值,p
θ
(y
t
|y
t-1
,x)为当前时刻的生成器概率分布,x为域名训练样本,y为域名对抗数据,θ为生成器t为生成完整个序列的序列长度(也可以理解为时刻,即生成序列中的一个元素就是一个时刻),t为生成过程的一个时刻,y为生成器生成出来的模型预测值。
[0071]
其中,如图4所示,r
t
由两类判别器联合提供,在域名生成过程中,损失值由语言模型判别器提供,即r
t<t
=logd
lm
(y
t
|y
<t
);在域名生成结束后,损失值由二元分类器提供,即r
t
=d
cls
(y
1:t
)。
[0072]
步骤302,固定生成器的参数,并将域名训练样本输入至生成器以得到第二域名对抗数据,并根据第二域名对抗数据分别对语言模拟判别器和二元分类器进行一次训练操作;其中,语言模拟判别器利用每一时刻的交叉熵损失值和域名训练样本进行训练;二元分类器利用第一损失值和第二域名对抗数据进行训练。
[0073]
需要说明的是,语言模拟判别器在域名逐字符生成的每个时刻为生成器提供损失值,因此在训练的过程中不需要使用生成器生成的域名对抗数据,主需要通过持续以真实合法的域名训练样本进行训练,及通过每一时刻的交叉熵损失值完成训练操作。
[0074]
其中,语言模拟判别器在每一次域名对抗数据生成的中间时刻为生成器反馈损失值,即在域名生成过程中,损失值由语言模型判别器提供。
[0075]
二元分类器在每一次域名对抗数据生成结束时提供判断结果,即在域名生成结束后,损失值由二元分类器提供。
[0076]
需要说明的是,二元分类器的优化目标为最小化单样本分类误差之和,公式为:
[0077][0078]
其中yi指二元分类器的输入,即域名训练样本或生成器生成的域名对抗数据,labeli则是该输入样本的标签,指明其真伪性,r
θ
表示正则化项,函数f表示具体的判别模型的预测结果,li表示单个样本的分类误差。需要说明的是,根据二元分类器模块所使用的判别模型的不同,该优化目标的目标函数和求解方法也略有不同。
[0079]
步骤303,依照顺序循环迭代执行上述操作中生成器、语言模型判别器和二元分类器的训练操作,其中,当生成器进行训练时,固定二元分类器和语言模型判别器的参数,当对二元分类器和语言模型判别器进行训练的时候,固定生成器的参数。
[0080]
作为一种示例,当生成器通过第一损失值和每一时刻的交叉熵损失值完成训练操作后,将更新后的生成器参数固定,获取域名训练样本,并将域名训练样本输入至生成器,生成器输出得到第二域名对抗数据。语言模型判别器通过持续以正常合法的域名训练样本为训练数据,根据训练数据实现语言模型判别器的训练操作,并且固定更新后的语言模型判别器参数,直至下一次语言模型判别器的训练完成。二元分类器通过获取第二域名对抗数据得到域名对抗数据的真实性概率,并在域名对抗数据生成结束后,根据真实性概率和域名训练样本的真实数据计算第一损失值,二元分类器通过第一损失值进行和域名训练样本完成训练操作,并且更新后的二元分类器参数固定,直至下一次二元分类器的训练完成。最后按照顺序循环迭代执行上述操作中生成器、语言模型判别器和二元分类器的训练操作,其中,当生成器进行训练时,固定二元分类器和语言模型判别器的参数,当对二元分类器和语言模型判别器进行训练的时候,固定生成器的参数。
[0081]
根据本公开实施例的域名对抗样本生成方法,通过采用交替训练的形势对生成器、语言模型判别器和二元分类器进行训练操作,保证了能够在保证准确性和较小复杂度的前提下,为生成器带来较大的改进,防止出现二元分类器所提供的损失值大多数都是零的情况,从而导致生成器没有办法得到较大改变。
[0082]
为了实现上述实施例,本公开还提出了一种域名对抗样本生成装置。
[0083]
图5为本公开实施例提供的一种域名对抗样本生成装置的结构框图。如图5所示,该域名对抗样本生成装置,可以包括:获取模块510、二元判断模块520、语言判断模块530、训练模块540和生成模块550。
[0084]
其中,获取模块510,用于获取域名训练样本,将域名训练样本输入至生成器,以得到第一域名对抗数据。
[0085]
二元判断模块520,用于将第一域名对抗数据输入至二元分类器,以得到域名训练样本的真实性概率,并根据真实性概率和域名训练样本的真实数据计算第一损失值。在一种实现方式中,二元分类器在域名对抗数据生成结束时提供判断结果,即在域名生成结束后,损失值由二元分类器提供。
[0086]
语言判断模块530,用于在生成器逐字符生成第一域名对抗数据的每一时刻,利用语言模型判别器和域名训练样本,计算在生成器逐字符生成第一域名对抗数据的每一时刻的交叉熵损失值。
[0087]
训练模块540,用于根据第一损失值和每一时刻的交叉熵损失值,训练生成器、二元分类器和语言模型判别器。
[0088]
生成模块550,用于响应域名对抗样本生成请求,基于训练好的生成器生成域名对抗样本。
[0089]
根据本公开实施例的域名对抗样本生成装置,由于传统的判别器只有二元分类器提供一个为真或者假的概率作为损失值,并且对于二元分类器来说,区分真实域名和伪造域名是很容易的,而生成器生成域名是相当困难的,因此判别器能够起到的指导作用比较有限,无法给生成器带来较大改进。通过设置二元分类器和语言模型判别器,其中语言模型判别器为生成器的学习提供了更多的区分度,同时可以在域名生成的中间时刻为生成器反馈判别器的损失值,二元分类器依然保留,用于判断输入域名的真伪,以此解决了判别器能够起到的指导作用有限,无法给生成器带来较大改进的问题。
[0090]
在本公开申请的一些实施例中,如图6所示,图6为本公开另一个实施例的域名对抗样本生成装置的结构框图,该域名对抗样本生成装置中训练模块640包括:生成训练单元641、语言训练单元642、二元训练单元643和循环单元644。
[0091]
其中,生成训练单元641,用于根据第一损失值和每一时刻的交叉熵损失值计算生成器的指导信号,并根据指导信号对生成器进行一次训练操作。在一种实现方式中,其中生成器的期望累积奖励函数的计算公式为:
[0092][0093]
式中,r
t
每一时刻的交叉熵损失值,p
θ
(y
t
|y
t-1
,x)为当前时刻的生成器概率分布,x为域名训练样本,y为域名对抗数据,t指的是生成完整个序列的序列长度(也可以理解为时刻,即生成序列中的一个元素就是一个时刻),t为生成过程的一个时刻,y为生成器生成出来的模型预测值。
[0094]
判别器训练单元642,用于固定生成器的参数,并将域名训练样本输入至生成器以得到第二域名对抗数据,并根据第二域名对抗数据分别对语言模拟判别器和二元分类器进行一次训练操作;其中,语言模拟判别器利用每一时刻的交叉熵损失值和域名训练样本进行训练;二元分类器利用第一损失值和第二域名对抗数据进行训练。
[0095]
需要说明的是,语言模拟判别器在域名逐字符生成的每个时刻为生成器提供损失值,因此在训练的过程中不需要使用生成器生成的域名对抗数据,主需要通过持续以真实合法的域名训练样本进行训练,及通过每一时刻的交叉熵损失值完成训练操作。
[0096]
其中,语言模拟判别器在每一次域名对抗数据生成的中间时刻为生成器反馈损失值,即在域名生成过程中,损失值由语言模型判别器提供。
[0097]
二元分类器在每一次域名对抗数据生成结束时提供判断结果,即在域名生成结束后,损失值由二元分类器提供。
[0098]
需要说明的是,二元分类器的优化目标为最小化单样本分类误差之和,公式为:
[0099][0100]
其中yi指二元分类器的输入,即域名训练样本或生成器生成的域名对抗数据,labeli则是该输入样本的标签,指明其真伪性,r
θ
表示正则化项,函数f表示具体的判别模型(如lstm.mi或d3n.cnn)的预测结果,li表示单个样本的分类误差。需要说明的是,根据二元分类器模块所使用的判别模型的不同,该优化目标的目标函数和求解方法也略有不同。
[0101]
循环单元643,用于依照顺序循环迭代执行上述操作中生成器、语言模型判别器和二元分类器的训练操作,其中,当生成器进行训练时,固定二元分类器和语言模型判别器的参数,当对二元分类器和语言模型判别器进行训练的时候,固定生成器的参数。
[0102]
根据本公开实施例的域名对抗样本生成装置,通过采用交替训练的形势对生成器、语言模型判别器和二元分类器进行训练操作,保证了能够在保证准确性和较小复杂度的前提下,为生成器带来较大的改进,防止出现二元分类器所提供的的损失值大多数都是零的情况,从而导致生成器没有办法得到较大改变。
[0103]
其中,图6中610-650和图5中510-550具有相同功能和结构。
[0104]
图7是根据一示例性实施例示出的一种域名对抗样本生成方法的电子设备的框图。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0105]
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
[0106]
如图7所示,是根据本公开实施例的用于实现域名对抗样本生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0107]
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
[0108]
存储器702即为本公开所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本公开所提供的域名对抗样本生成方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的域名对抗样本生成的方法。
[0109]
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的域名对抗样本生成方法对应的程序指令/模块(例如,附图5所示的获取模块510、二元判断模块520、语言判断模块530、训练模块540和生成模块550)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的域名对抗样本生成方法。
[0110]
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于域名对抗样本生成方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至域名对抗样本生成的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0111]
用于域名对抗样本生成方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
[0112]
输入装置703可接收输入的数字或字符信息,以及产生与域名对抗样本生成的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
[0113]
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0114]
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0115]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0116]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
[0117]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0118]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0119]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献