文摘
随着检测算法对恶意的发展动态域名,域生成算法开发了更隐秘的。多个元素生成域的使用将导致更高的检测困难。能够有效地提高算法的检测精度基于多个元素生成的域名,域名语法模型,提出了分析域名的多个元素及其句法关系,并提出了一种自适应嵌入方法实现有效元素解析域名。基于特征选择模块并行卷积模型结合一种改进的动态损失函数提出了基于课程的学习,可以实现有效检测多元素恶意域名。一系列的实验设计和该模型与5以前的算法。实验结果表示,检测的准确性提出了多元模式的恶意域名明显高于对比算法和也有其他类型的恶意域名适应性好。
1。介绍
先进的持续威胁(APT)攻击和僵尸网络已经成为重要的网络安全威胁1,2]。实现远程控制的控制主机,攻击者通常使用远程指挥和控制服务器(C & C)。后与C & C服务器建立通信链路,攻击者可以收集的信息控制主机和窃取敏感数据或利用控制主机发动进一步攻击其他主机或网络。早期的僵尸网络将硬编码C & C服务器的域名在恶意软件,这可以很容易地检测并被防火墙和入侵检测系统(IDS)。启用动态更新的域名,域名生成算法(DGA)广泛应用于恶意软件与C & C通信服务器。网络攻击者使用启动生成大量的伪随机域名注册,然后在恶意软件中嵌入域生成代码,浸润到主机。与C和C服务器通信时,该算法用于生成域名来完成通信。因为域名通常是动态生成的,恶意软件的通信域名更新随着时间的推移,从而逃避安全软件的检测规则。随着移动互联网的发展,5 g技术,以及物联网的增加(物联网)设备,检测恶意通过算法产生的域名是网络安全具有十分重要的意义。
启动可以分为不同类别根据其生成原理和生成元素(3]。早期的启动使用英文字母、数字和特殊字符作为基本元素来生成域名通过一些简单的随机算法。然后一些僵尸网络开始使用单词作为域生成的基本元素,如Matsnu [4]和Suppobox [5]。与基于字符的启动相比,基于启动是很难发现的。之后,一些研究人员设计了启动,可以产生较低的域名字符随机性用英文字母的组合(6]。近年来,随着检测技术的发展为恶意域名,一些研究人员设计了启动,更耐药检测,如隐形域生成算法(SDGA)基于隐马尔可夫模型(HMM) [7)和生成对抗网络的使用氮化镓(GAN)来生成动态域名(8]。根据合理的分析领域,有元素,比如英语单词中国拼音缩写、特殊意义的数字,英文字母,在合法的域名和特殊字符,所以当域名生成基于这些多个元素,语法成分的异常程度较低和现有算法不能有效的检测恶意域名基于多个元素。
有效地提高检测精度的多元素混合的恶意域名,域名多元素自适应嵌入方法提出了基于域名语法模型,可以实现各种元素的有效分割在域名。基于自适应嵌入模块,一个平行的卷积模型提出了基于特征选择模块,结合动态Focalloss函数,可以实现有效的特征提取和分类的多元素混合的恶意域名。比较几种典型的数据集上实验结果表示,该模型可以有效地检测多元素混合的恶意域名也具有良好的适应性,其他类型的恶意域名。
本文的贡献可以概括如下:(1)我们提出一个域名语法模型,分析域名的组成元素和语法规则。它可用于元素解析域名。(2)我们提出一种自适应的解析和嵌入模块,它能更合适的域名解析结果基于最大熵的概率。它可以映射元素向量表示。(3)我们提出一种基于特征选择模块并行卷积模型,提高分类精度通过执行功能关注多个回旋的分支。(4)我们提出了一种改进的动态损失函数基于课程学习,可以有效改善难以探测样品的检测精度。
本文的其余部分组织如下。在下一节中,我们总结的相关工作现有的恶意域名检测方法。节3介绍,该域名语法模型。节4,提出了检测模型。节5研究中,我们首先介绍所选择的数据集,然后进行一系列的实验数据集。最后,在节6研究,我们的结论和未来的工作。
2。相关工作
当恶意软件与C & C通信服务器,请求的域名通常是一个动态域名由DGA生成。检测恶意动态域名可以发现恶意软件的沟通行为和C & C节点。方法检测恶意DNS通信可以分为三类基于自己的原则:基于特征、行为和deep-learning-based。其中,基于特征检测算法分析恶意域名的字符特征和合法的域名。基于行为的算法分析恶意的行为特征和合法的DNS沟通。Deep-learning-based算法使用Deep-learning-based模型提取特征,不依赖于手工分析的功能和更好的自学习和自适应能力,可以检测未知恶意域名。Deep-learning-based算法是近年来最受欢迎的方法,所以他们被组合到一个单独的类别。以下是对三种类型的检测算法。
域名基于特征检测算法是最早和古典恶意域名检测算法,实现了分析域名的性格特征。这种类型的检测算法只依赖于分析域名的功能没有长期观察和附加信息。Yadav et al。9,10)检测到恶意域名通过提取出Kullback-Leibler分歧,Jaccard指数和编辑距离特性;他们也使用线性回归分类器实现有效检测。然而,该算法只在几个僵尸网络检测的家庭,而不是一个更大的数据集DGA。后来,Schiavoni et al。11)提出了凤凰城,域名检测算法,它使用一个有意义的角色比和语法功能正常。这个算法的缺点在于小数量的维度和事实已经测试的特性只在有限数量的动态域名恶意。Raghuram et al。12]关注域名的可读性;他们分析了字符组成,词组成,长度,和其他维度的合法域名,建立了概率模型的合法域名从大量样本中达到更好的效果检测恶意域名。Truong et al。13]分析了域名建设基于大量合法的规则和恶意域名来检测恶意域名的长度的期望值。最晚et al。14)进行检测,提取17域名功能结合的四个加权信心和验证算法的有效性在大规模的网络环境。杨et al。15)提出了一个基于域名词的语义分析方法来检测恶意域名词与词之间的相关性。
基于特征检测算法的缺点是,他们依靠手动功能分析能力,和字符级特征的维数是有限的。后验证域名功能的有效性,Zago et al。16]发现,只有少数特性对检测结果产生巨大的影响。恶意软件与C & C通信服务器与类似的生命周期和DNS请求的查询模式。因此,一些研究人员结合DNS的交往的行为特征与域名的字符级特征检测算法设计。舱底水等。17]总结15功能域名请求基于功能分析和设计了一个恶意域名检测系统称为接触使用J-48决策树分类器。该系统成功地检测到大量的恶意域名在实际网络流量。施等。18]提取域名功能,IP特性,TTL特性,以及域名查询服务功能和使用极端学习机(ELM)来实现有效的分类。莫布雷et al。19)提出了一个恶意域名检测算法基于域名长度分布,从而实现有效检测一些特定类型的恶意域名。Kwon et al。20.)使用功率谱密度(PSD)分析技术来分析DNS查询时间信息在大规模网络来检测恶意DNS请求。自生成和DGA域名登记不是完全同步的,大量的未注册域名的DNS请求请求出现恶意软件;基于这一事实,Yadav et al。21)和Antonakakis et al。22)提出了各种恶意域名请求检测算法基于NXDomain反应引起的未注册的域名。
近年来,deep-learning-based DGA域名检测恶意域名已经成为最受欢迎的方向检测。伍德布里奇et al。23)第一次使用深学习模型来检测恶意域名,使用长短期记忆(LSTM)网络设计一个检测模型。Yu et al。24)建立了一个模型来检测恶意域名使用cnn和检测结果接近LSTM模型实现。随后,Yu et al。25)相比,七个经典deep-learning-based模型的检测结果和分析检测的影响不同的CNN和LSTM架构;结果表示LSTM和CNN结构有效的检测结果。Tran et al。26)提出了一个LSTM-MI模型,它能有效地缓解二元分类的样本不平衡和multiclassification厂商通过使用一个损失函数的问题。也提高multiclassification的准确性问题,乔et al。27)添加了一个全球的关注机制LSTM模型,它可以显著提高multiclassification DGA域名的准确性。全球注意力机制依赖于计算全球关注的矩阵,由不同的训练样本,强烈影响和当地的注意机制可以考虑改善注意力的效果只通过计算不同角色之间的权重域名。因此,杨et al。28)提出了一种检测模式结合CNN和LSTM与当地的注意机制,可有效提高检测精度难以探测的恶意域名。徐et al。29日)域名的嵌入方法提高了n元字符和一个平行的CNN网络用于分类。
DGA算法近年来也发展产生更隐秘的恶意域名。例如,恶意软件Matsnu Suppobox使用英语单词生成域名;它可以有效地减少随机性在域名的字符。另一方面,傅et al。7)提出了一个隐秘的域名生成算法,基于隐马尔可夫模型(HMM)和概率上下文无关文法(PCFGs)。生成模型的设计和训练有大量合法的样本生成域名,更好地适应的角色分配合法的域名。因此,需要设计更有效的检测模型更为隐蔽的恶意域名。
总之,与域名基于特征检测算法相比,deep-learning-based检测算法不需要手动分析特性和提取高维域名功能通过deep-learning-based架构。与行为特征检测算法相比,deep-learning-based检测算法不需要收集完整的DNS交互。然而,当前deep-learning-based算法的嵌入方法相对简单,大部分只使用字符嵌入,不能有效代表域名与多个元素,因此有必要分析不同元素在域名和设计更有效的嵌入方法。
3所示。域名语法模型
本节定义了一个域名语法模型。首先,域名的构成要素进行了分析,和最基本的构成单位的域名语法树从多个维度定义。然后,域名的多维树结构进行了分析。最后,合法的域名和恶意的特点动态域名是基于语法模型相比,结果表示,域名语法树可以有效地描述的域名,可以支持设计的恶意域名检测模型。
3.1。元素定义的域名语法模型
域名的基本元素是数字,英文字母和特殊字符。10个数字从0到9的数字,和英语字母通常是小写英文字母。特殊字符的合法域名通常只包含“−”和“_”根据统计结果Alexa的域的列表。有各种各样的英文字母组合的域名可以用某些表单元素的语义含义,比如英语单词,汉语拼音缩写等等。不同的数字也可以形成具有特殊意义的数字组合,如年。分析元素有效域名,域名的组成元素中定义的多个维度。
首先,域名的基本元素中定义方程(1);的基本元素是10个数字,26个英文字母,和两个特殊字符。 在哪里表示组英文字母,表示数字的集合表示特殊字符的集合。
有很多英语单词的合法的域名,可以被视为一种元素在域名。它可以被定义为 在哪里表示英语单词的集合。
域名两字组合的总数是676,排名前50的高价票组合可以被视为有意义的高价票。域名三字组合的总数是17576,最高100三字组合可以被视为有意义的三集。有意义的高价票,域名被定义为三集 在哪里代表意义的高价票的组合表示一组有意义的三字组合。
其他元素的域名包括汉语拼音、英文缩写,中文缩写、和特殊意义的数字组合,它可以被定义为 在哪里代表中国的拼音,表示一组英语缩写,代表中国的缩写代表意义的数字组合。
3.2。域语法树施工方法
可以构造树结构在几个维度来描述元素之间的关系之间的域名或不同的域名。在本文中,我们关注的句法成分在域名不同元素之间的关系。分析在前面的小节中,很明显,相同的域名可分为各种类型的元素,和域名中的角色可分为根据单,双或三倍的人物,以及拼音、字,和数字的组合。把域名“baidutop123”为例。域名可以解析根据单,双或三字符;然而,他们不能获得的语义含义在域名字符;最合适的解析方法,满足人类理解应该解析域“白”,“杜”,“,”“123”。
获得更合适的域名解析的结果,提出了一种基于PCFG域名语法模型。PCFG是基于词的语法模型类型和同现概率解析句子成类似树状的元素解析树。PCFG模型只考虑的话,域名更复杂的元素。根据分析在前面的小节中,元素的集合在一个域名包括英文字母、数字、特殊字符,话说,两字组合,三字组合,中国的拼音,中国的缩写,英文缩写,特殊意义的数字组合。可以被定义为不同元素的组合 在哪里W表示一句话,N表示一个数字。它可以进一步表示为
因此,解析树的“baidutop123”可以获得基于域名PCFG如图1。
在图1,象征D表示域名、域名中单个分支表示语法成分,这些符号在方程(5)表示语法树的非终结符号,符号在方程(6)表示终端符号。
因为域名中的元素不是随机结合,有一定概率组合,所以PCFG模型增强了规则通过添加每个规则的概率: 在哪里一个表示非终结符号,表示所有终端的连接符号和非终结符号,和p表示规则的发生概率。域名语法模型可以被定义为方程所示(8)。 一个非终结符号连接的条件概率可以表示为一个象征吗 。
在域名还可以解析成字符或两字组合,等等。因此,有不同的重点解析字符到不同的元素。分段域名中的元素根据优先考虑可以产生更精确的域名解析树。添加域名解决优先级后,可以被定义为域名语法模型 在哪里l指示元素的优先级在每个域解析规则。
语法解析树T获得一个域名D,平均每条规则的优先级元素,可以计算概率的解析树 在哪里 表示每个域名解析结果的平均优先, 表示条件概率的解析结果,表示在解析规则,每个元素的优先级表示每个解析规则的条件概率。
多个相同的域名解析树,最高的优先级和平均概率可以被选为最高 在哪里表示域的解析树的集合D。
每个规则的条件概率可以从大量样本的统计结果,可以计算的 在哪里 表示出现的次数 统计样本和表示符号出现的次数一个在统计样本。
同时存在多个维度的方法分析元素的关系在一个域名,本节着重于构建一个域名的语法树的元素类型和发生的条件概率。通过分析域名中的元素之间的关系,可以构造元素的语法树,可以分析和域名合法性根据域名语法树。
3.3。分析的恶意域名
目前已知的启动可以分为三类。第一个使用字符作为生成元素随机生成域名;大多数当前的恶意软件使用这些算法。第二个使用英语单词来生成域名,减少随机性的域名的字符;少量的当前恶意软件使用这些算法。第三是SDGA算法基于HMM和其他生成模型;HMM模型生成域名与域名字符分布接近正常。本节分析了四种典型的样本malware-generated域名基于随机字符启动,Corebot和败阵生成恶意动态域名使用26个英语字母和10个数字;Cryptolocker和巨妖生成恶意动态域名只使用26个英文字母。基于DGA的Matsnu随机选择一些动词和名词的单词列表,并使用“−”连接,和Suppobox选择两个词单词表形成一个动态域名。 The HMM-based SDGA algorithm uses English words or legitimate domain names as training samples to train the HMM model and uses the pretrained model to generate malicious dynamic domain names. Sample examples of the three DGA algorithms are shown in Table1。
分析不同类型的恶意域名的字符特征,合法的域名的特征频率分布统计,和三种类型的恶意域名选择的统计数据。特征频率分布的结果如图所示2。从图可以看出,基于字符的字符频率恶意域名的合法域名有极大的差别,而基于单词的特征频率分布和SDGA域名是合法的域名更接近,表明基于构建恶意域名和SDGA域名字符分布异常,更隐蔽。
进一步分析差异的几个恶意域名,域名解析结果和分布的熵值计算的熵值。域名解析的结果 ,熵可以作为计算 在哪里表示的熵和域名解析结果每个元素表示发生的条件概率。考虑到域名有不同的长度,平均熵可以用于比较不同长度的域名。平均熵值计算 在哪里n表示元素的数量在一个域名。
基于马尔可夫假设,每个元素的发生概率相关的域名只有前者字符。2克的模型,计算平均熵的域名 基于字符的域名,10000年合法样本,Corebot样本,和Cryptolocker样本选择和他们的平均熵分布直方图计算如图3。由于每个字符的出现是随机Corebot Cryptolocker,性格发生的条件概率较低而合法的域名,因此平均熵明显低于合法的域名。
(一)
(b)
(c)
基于域,10000合法的域名,10000 Matsnu域名和10000 Suppobox选择域名和域的直方图熵分布如图4。平均熵Matsnu域名显著低于合法领域,主要是因为单词Matsnu相连的角色“−”,所以平均概率大大降低。的平均熵Suppobox域名,这是由完全的话,更接近的合法的域名;然而,直方图的峰值分布明显不同于合法的域名。
(一)
(b)
(c)
SDGA域名10000合法的域名,10000 SDGA与合法的域名,域名由培训和10000年SDGA域名选择生成的训练和英语单词和他们的平均熵分布直方图如图5。可以看出,自SDGA域名与合法的域名或英语单词训练,生成的域名更接近分发给合法的域名。
(一)
(b)
(c)
结果基于域名的解析和统计分析语法树表明,许多类型的恶意域名有一定程度的熵分布的差异从合法的域名;然而,一些基于单词和SDGA域名更接近合法域名熵分布,表明这样的恶意域名更隐蔽,和检测方法需要深入分析元素的语义表达。
4所示。基于自适应嵌入检测模型
基于域名语法树模型,本节首先提出了一种自适应域名元素嵌入法将不同元素映射到向量,然后并行卷积模型提出了基于特征选择模块选择特征从不同的卷积核分支提高特征提取的准确性,最后,提出了一种基于课程学习的动态损失函数来提高模型的训练效果。
4.1。自适应嵌入模块
在大多数先前的动态域名检测模型,嵌入基于域名中的每个字符,字符之间的关系并不是处理。文献[29日)提出了一个语法嵌入方法,它可以提高知觉的域名中不同人物之间的联系。很明显从分析部分3有域名,多种类型的元素和语法在域名中嵌入不同元素不能有效表达。在这个研究中,我们相信,一个更准确的分割不同元素的域名,连同适当的嵌入,可以提高表达的准确性的域名,从而提高检测效果。
根据分析部分3,域名中的元素所示方程(16)。 在哪里表示的集合中的所有元素的域名,表示英语字母,表示数字,表示特殊字符,表示英语单词,表示两字组合,表示三字组合,表示中国的拼音,表示英语缩写,表示中国的缩写,表示数字的组合。
不同的元素并不是完全无关的,例如,英语单词包含字符和三字组合两字组合,和数字组合包含数字。因此,对于将字符串分成不同的元素在一个域名,需要定义优先级和把他们按照优先级从最高到最低。优先级的定义如表所示2和优先级值越大优先级越低。其中,英语、汉语拼音、英文缩写、汉语缩略语和数字组合具有最高的优先级。两字组合和三字组合具有较低优先级。其余元素的优先级最低,这意味着域名将分成单个字符的元素,包括英文字母、数字和特殊字符,只有当它不能被分成其他元素。
域名可以解析到不同的树木,它包含不同的元素类型。不同的解析树,每棵树的平均优先级计算,结果与最高优先级。具有相同优先级的解析树,通过计算每棵树的平均熵,熵值是最高的结果作为最终的域名解析的结果。算法如下(算法1)。
|
在步骤1中使用的分割方法是双向最大匹配算法(15]。一个独特的解析结果 可以通过域名语法解析算法。对于每个元素,一个向量可以获得使用Word2vec [30.]。获得更准确的词表示,pretrained词向量模型用于嵌入的话。其他元素的域名,收集到的域名被用作语料库来解析域名中的元素和元素是训练Word2vec获取嵌入模型,和每个元素向量的长度是128。因为有许多元素类型的域名,域名元素类型的不同组合有不同的影响的合法性的决心。向量,获得更准确的域名元素类型的域名也映射到向量和向量被添加到元素。域名分为10大类:英文字母,数字,特殊字符,英文单词,汉语拼音,英文缩写,中文缩写、数字组合,关爱”组合,三字组合。一些元素类型可以分为更多的子类。英文字母可以分为两类:元音和辅音,英语单词可以分为各种词汇类型根据自然语言处理的分类方法。中的每个元素类型域名映射到一个向量的长度为128,这是缝与原元素向量的向量长度为256。向量长度128是一个实验获得的值可以平衡计算效率和准确性,也用于模型的28]。域名元素生成矢量方程所示(17)。 在哪里表示在域名和向量的元素表示元素类型。
域名解析和元素嵌入过程如图6。以域名“baidutop1”为例,其中包含中国的拼音,英语单词,和数字;最合适的方法是解析为元素的“白”,“杜”,“,”和“1”,然后将每个元素及其解决类型映射到一个向量。在这种情况下,英语单词“顶级”映射使用公共pretrained嵌入模式,而“白”和“嘟”和“1”从收集到的语料训练获得的元素。
4.2。并行卷积模型基于特征选择模块
嵌入域名中的元素后,并行卷积模型基于特征选择模块是为了实现有效的分类。特征选择模块结合multibranch并行卷积结构来实现更有效的特征提取。有几个以前作品CNN-based模型的有效性验证域名检测领域。卷积层主要是用于获得通过卷积计算相邻元素的内在关联。卷积与不同大小的卷积内核层用于获得相邻元素之间的关系的不同感知范围。域名检测问题,通常的元素映射到一维向量,然后是一维向量进行一维卷积。两个相邻元素的向量 和 ,所示的卷积计算方程(18)。
卷积,卷积神经网络参数和偏见条款通常添加到卷积计算,使用不同大小的卷积核,所以可以用卷积过程 在哪里表示卷积的结果输出,f表示非线性激活函数,表示卷积的参数,b表示的偏见,V表示元素的向量一个窗口,表示卷积窗口大小,即。,卷积核的大小。
提取卷积特性在不同的感知范围,四个卷积内核不同尺寸用于卷积输入元素向量,和卷积核的大小作为2,3,5,7。域名的相关元素的范围是不同的,在不同的领域和有效感知领域名称。提高选择不同大小的卷积核的卷积结果的有效性,特征选择模块提出了一维并行卷积,这类似于SKNets [31日]。的体系结构模型如图7。
在模型中,域名元素向量是首先得到的自适应嵌入。然后用不同的内核大小四个卷积层用于卷积元素向量,分别可以获得四个回旋的特征图谱与不同的感知范围,和关注权重计算的四个特征图谱特征选择模块。之后,原来的特征图谱与体重增加的结果,最后,总结四个特征图获取域名的特征提取。提取的特征图谱输入三个完全连接层获取二进制分类结果。
在特征选择模块,四个特征图elementwise总结获得特征地图完全混合四个感知结果:
全球平均池层是用于获取每个过滤器的全球信息通道。为cth过滤通道,如果元素的数量N,全球平均池计算结果
获得权重自适应功能,全球平均的结果池计算使用一个完全连接层: 在哪里表示ReLU激活函数W表示完全连接参数。
实现重量计算卷积分支渠道不同,软注意力模型使用Softmax并得到归一化权重结果。重量计算的四个分支机构 在哪里一个,b,c,d表示的关注权重向量U1∼U4,分别。
基于权重的关注四个卷积的结果分支可以加权,和权重的总和的四个回旋的分支是1获得特征映射的结果V。计算每个通道满足
提取的特征选择模块可以自适应地选择功能不同的卷积内核通过使用一个软的注意机制计算多个卷积分支的权重,从而实现自适应的选择特征提取不同的脑回的内核。
4.3。改进的动态损失函数
提高模型的检测效果,检测精度难以探测样品需要改进,提出一种改进的动态损失函数的基于课程学习的想法和Focalloss [32]。它能自适应地调整的损失难以探测样本在训练的不同阶段,提高检测的准确性难以探测样品,从而提高整体模型的检测效果。
在二进制分类任务中,熵损失函数通常用于模型训练: 在哪里预测结果与y是地面真理;地面真理是0或1的二进制分类。当 ,越接近1产生的损失值越小,这表明样本检测的难度较低。当 ,越接近0损失越小产生的价值。难以探测样品可以被定义为样品生产大损失值,和容易地检测出样本可以被定义为样品生产小损失值。由于容易检测到样品的数量远远超过难以探测样本,减少的重量损失容易检测到生成的样本和增加损失难以探测样品的重量,Focalloss引入了权重因子,使模型更加关注难以探测样品,和Focalloss 和Focalloss曲线的不同如图8。可以看出,作为的价值增加,所产生的损失值样本之间的差异接近地面真理和样本远离地面真理显著增加,损失由容易检测到样品的重量减少,和损失难以探测样品的重量增加。
(一)
(b)
Focalloss功能,更大的价值越高的重量损失难以探测样品。然而,根据课程学习的概念,模型训练是类似于人类学习学习这门课的特点从简单到困难;它可以使模型更好的优化33]。因此,在模型训练的早期阶段,没有必要太在意难以探测样品,经过模型达到更好的检测效果容易检测到样品,损失难以探测样品的重量逐渐增加,这使得模型更加关注困难检测样品。基于上述考虑,使用Focalloss函数时,值可以在不同阶段的动态调整模型训练阶段实现动态调整的损失难以探测和容易地检测出样品的重量。为了这个目的,动态的定义值是作为 在哪里t表示的训练时期,和是固定参数。
如图9的价值,增加培训时期的数量增加,变异影响的范围和 。的参数应调整根据模型的收敛性。在模型中有更多困难的收敛性和更多的训练时期,小模型中应该使用,而用更少的训练时期,大应该使用。的参数应该根据训练样本集,和一个更大应该用于模型需要一个更大的困难和简单样本之间的分化重量;否则,一个小应该使用。
此外,限制的价值 ,截断阈值范围为可以设置:
提出一种改进的Focalloss功能,可以动态地调整难以探测的重量损失和容易地检测出样本在不同阶段的培训阶段,可使模型关注难以探测和样品在不同的阶段,不同的权重,提高检测的准确性难以探测样品检出率的同时保持容易检测到样品。
5。实验和分析
在本节中,几个实验旨在评估模型。首先,一个烧蚀实验的目的是验证的有效性提出了自适应嵌入模块,特征选择模型,动态损失函数和改进,结果表示,该模块是有效地提高模型的检测精度。然后该检测算法和几个以前的算法,比较和结果表示,该算法可以有效地提高检测精度对于许多类型的恶意动态域名。
5.1。实验准备
在这个实验中,大量的合法域名和多种类型的恶意域名收集从公共数据集。合法的域名,我们收集了100万个域名Alexa的每日更新排名从2009年1月到2019年2月,3159年收集的列表,每个列表,我们选择前200000名添加到白名单,清洁和合并之后,白名单样本超过1000万。为多个恶意域名与不同的元素,我们选择20个样本包含典型的元素和生成方法启动的UMUDGA [34]数据集,每个DGA的10000家庭。SDGAs, 8种SDGA域名生成8参数选择,和样品的总数是88000。进一步分析了该模型的有效性检测恶意域名多个元素的基础上,我们根据一些启动和生成多元素动态域名HMM-based SDGAs使用元素,如字符,数字,特殊字符,两字组合,三字组合,和文字。基于多元素和DGA生成的域名是名叫ME-DGA,基于多元素的域名和SDGA ME-SDGA命名。实验中使用的数据集如表所示3。
基于上述数据,一些实验数据集构建用于测试该算法的检测能力为不同类型的恶意域名。检测是二进制分类;即。,一个domain name is classified as legitimate or malicious. To evaluate the detection effectiveness of the models, Precision, Recall, Accuracy, andF1-score可以作为评价指标。这些评价指标,计算真阳性的数量(TP),假阳性(FP),真正的负面(TN),假阴性(FN)样品需要计算。指标定义如下:(我)TP:数量的正确分类动态域名恶意(2)TN:数量的正确分类合法的域名(3)外交政策:数量的错误分类合法的域名(iv)FN:数量的错误分类动态域名恶意
使用这四个方面,精度,还记得,准确性,F1-score可以定义和计算如下:(我)精度:恶意域样本正确分类的比例对所有恶意域样本。这是计算的 (2)回忆:真正的恶意样本的比例在所有样本归类为恶意。这是计算的 (3)精度:在所有样本正确分类样本的比例。这是计算的 (iv)F1-score:调和平均数的精度和召回。这是计算的
Keras作为这个实验模型训练框架。实验中使用的机器有一个dual-way Intel Xeon e5 - 2630 V4 CPU, 64 GB的内存,4 t硬盘,Ubuntu 16.04操作系统。
5.2。烧蚀实验
验证的有效性的自适应嵌入模块,特征选择模块,和本文提出的改进的动态Focalloss一个消融实验包含模型的比较用不同的模块设计。基线模型在实验中使用字符嵌入输入域名,然后使用四个并行卷积分支来提取特征,和四个分支相结合的结果,输入三层完全连接层,损失函数和模型训练使用叉。在模型中特征向量的长度是128,过滤器的数量是128,在完全连接层节点的数目是512。200000 DGA样本和800000合法用于消融实验样品。
烧蚀实验有七个模型,即:基线模型,模型1,使用自适应嵌入模块而不是字符嵌入,模型2,将特征选择模块添加到基线模型,模型3列车使用Focalloss基线模型,模型4列车使用改进的动态Focalloss基线模型,模型5,应用自适应嵌入模块和特征选择模块基线模型,模型与自适应嵌入模块6,特征选择模块,动态Focalloss和改进。表4显示了检测精度和F1-scores上面的模型,在这“×”表示该模型不包含的模块和“○”表示模型包含模块。
模型1的检测结果表明,模型的平均检测精度提高了从0.9685到0.9732F1-score也提高了从0.9684到0.9730后,使用自适应元素嵌入模块;它表示,自适应速度量化模块可以显著提高模型的检测效果。模型2的平均精度和提高到0.9724F1-score也提高到0.9720,这表明特征选择模块可以提高并行卷积模型的检测效果。模型3的检测结果表示Focalloss函数可以提高模型的检测效果与叉损失函数。模型4的平均检测精度是0.9721,F1-score为0.9720,表明改进的动态Focalloss可以进一步提高模型的检测效果。模型5平均达到0.9758和一个的检测精度F1-score 0.9755,这表明使用适应性元素嵌入模块和特征选择模块可以有效地提高检测效果。模型6的平均检测精度可以达到0.9812F1-score可以达到0.9810。它表示,使用自适应元素嵌入后,特征选择模块,和改进的动态Focalloss功能,检测精度与基线相比显著提高模型的模型。自适应的烧蚀实验结果表示域名元素嵌入模块,特征选择模块,和改进的动态Focalloss可以有效改善模型的检测效果。
5.3。比较DGA实验数据集
在本节中,提出了检测模型与五前检测算法,即LSTM模型(23],Invincea CNN模型[25],LSTM-MI模型[26)、语法CNN-based模型(29日),和HDNN模型(28]。该模型使用模型6结构从以前叫MEAE-CNN分段。对比数据集包含20个选择DGA样品和合法的域名。比较检测结果如表所示5。
20中选择DGA域名样本,其中大部分都是由选择字符根据一定的随机数种子,用更少的随机生成,其中一些字符,这是很难发现的,例如,Simda和Virut算法严格限制的长度生成域名并生成域名长度较短,减少随机性。尽管Pykspa和Symmi生成长的域名,元音字母和辅音字母选择根据他们的同现关系;生成的域名是很难发现的。Matsnu和Suppobox用语言来生成域名最低的随机性。在算法相比,Invincea CNN简单地使用一个并行卷积结构,不能有效地提取字符之间的关联特性,因此检测最严重影响DGA域名,平均精度为0.9685。相比之下,LSTM模型的检测精度显著提高,为0.9712。之后添加一个样本LSTM模型均衡策略,LSTM-MI模型的准确性略有提高,精度提高到0.9721,提高召回至0.9709。语法CNN可以实现更准确的定量表示的DGA域名由于n元字符的嵌入方法;LSTM-MI相比精度更高。 The average accuracy of the HDNN model is further improved due to the use of modules such as parallel convolution, bidirectional LSTM, and an attention mechanism, as well as the use of Focalloss function in the training process, so the accuracy of the detection of DGA samples is further improved. The accuracy of the proposed model is 0.9812 and the recall is 0.982 because of the use of a more adaptive domain embedding module, the use of feature selection module to select features from parallel convolution, and the use of improved dynamic Focalloss function in the training process; it denotes that the proposed modules can significantly improve the detection accuracy. The experimental results denote that the proposed algorithm can significantly improve the detection of DGA domain names.
为了进一步比较这些模型的检测效果,对每个域模型的分类精度类型如图10。可以看出,所有的比较算法维护大多数DGA类型的分类精度高。Symmi和Virut语法CNN模型和HDNN模型的检测精度明显高于LSTM和Invincea CNN算法,在该算法执行最好的检测精度。Pykspa Simda,该算法的检测精度也明显好于其他比较算法。对基于Matsnu Suppobox, LSTM的检测精度和Invincea CNN模型都是低于0.5,LSTM-MI略有改进的检测精度,约0.5,和语法CNN和HDNN更高的检测精度,都超过0.6。提出了这两个算法的检测精度DGA域名明显高于其他比较算法,和检测精度Suppobox Matsnu域名是0.8和0.85,分别。提到DGA类型很难检测和属于难以探测样品。之间的比较算法,LSTM-MI提高了损失函数考虑了样本不平衡和增加困难样本的重量,而语法CNN改进的向量表示域名;它使用相邻字符嵌入,可以增加人物之间的关系。HDNN吸收LSTM和CNN和提取物域名的优势特点从多个维度; it effectively improves the detection accuracy of several hard-to-detect samples. The proposed algorithm improves domain representation by adaptively segmenting and embedding different elements in domain names, which can improve the accuracy of vector representation of two-character combinations, three-character combinations, and words. Then it uses a feature selection module to adaptively select features extracted from multiple convolutional kernel dimensions of domain names and finally uses an improved loss function that can dynamically adjust the loss weights of the hard-to-detect samples. The comparison experiments denote that the detection accuracy of the proposed algorithm is significantly higher than the comparison algorithms on the DGA dataset.
在DGA的比较实验数据集表示,该算法的检测精度明显高于五比较算法;尤其是一些难以探测域类型的检测精度显著提高。
5.4。比较SDGA实验数据集
由于SDGA使用HMM模型来生成动态域名,字符组合的随机性更低,检测更加困难。来验证该算法的检测精度SDGA样本,我们构造一个数据集使用8 SDGA域名与不同的参数和大量合法的域名,并与5算法进行对比实验。检测结果如表所示6。
5的比较算法,Invincea CNN模型精度最高,而其准确性和平均水平F1-score表现最差。LSTM模型的检测结果略高于Invincea CNN模型,精度0.8481和一个F1-score 0.8275。使用样本平衡模块后,检测的准确性LSTM-MI模型和提高到0.8621F1-score是0.8485。语法CNN模型更有效地检测SDGA域名,只有0.8476的准确性。HDNN使用许多类型的深度学习架构和SDGA域名具有不同参数的适应性;检测精度显著提高至0.8833。该算法的检测效果明显优于对比算法,精度0.9012和一个F1-score 0.8940。召回显著增加到0.8610,因为模型使用改进的动态损失函数增加关注难以探测样品和其资产策略会导致轻微下降,精度为0.9296。比较结果表示,基于自适应嵌入模块,特征选择模块,和改进的动态Focalloss函数,该算法可以有效地提高SDGA数据集上的检测结果。
进一步比较检测影响SDGA域名,为每个域类型算法的分类精度SDGA数据集如表所示7。DNL1∼DNL4样本生成基于英语单词。其他SDGA样本的生成是基于合法的域名。的准确性的LSTM DNL1∼DNL4大约是0.5,和500 kl1 LSTM算法的检测精度和500年kl2是0.9785和0.9565,分别。9 ml1中引入的准确性只有0.9115,而500年kl3训练样本依赖更多字符,因此很难发现的,只有0.8249的准确性。Invincea CNN的检测精度SDGA域名接近LSTM的结果。LSTM-MI使用平衡模块,和难以探测样品的检测精度较高,所以检测精度DNL1∼DNL4显著高于LSTM模型,精度为0.6247 DNL1和大约0.6 DNL2∼DNL4。检测精度为500 kl1∼500 kl3也高于LSTM模型,其缺点是合法的域名的检测精度下降了约3%。语法CNN已经检测精度SDGA类型,因为它使用语法嵌入;然而,检测的准确性DNL2∼DNL4和500年kl2∼500 kl3增加,虽然DNL1的检测精度和500年kl1减少。 It denotes that the embedding of fixed-length character combinations cannot be adapted to generative models with different parameters. HDNN model significantly improves the detection accuracy of multiple SDGA domain types due to the use of multiple architectures. The detection effectiveness of the proposed algorithm is improved compared to the HDNN algorithm, and the accuracy of each SDGA domain is significantly improved, and the detection accuracy of legitimate domain names is also higher than that of the HDNN model. The experimental results denote that the proposed algorithm can effectively improve the detection accuracy of SDGA domain names, especially the detection accuracy of hard-to-detect samples.
5.5。比较实验数据集
提出的自适应嵌入模块可以嵌入不同元素的域名。尽管DGA和SDGA域名样本包含字符、字,字符组合,多个元素并不充分混合。进一步比较该模型的检测精度动态域名生成多个元素的基础上,我们使用多个DGA和SDGA算法来生成基于多个元素的域名。ME-DGA样本中,ME-Suppobox是一组样本使用Suppobox算法生成多个元素,ME-Kraken是一组样本使用巨妖算法生成多个元素,和ME-Corebot是一组样本使用Corebot算法生成多个元素。根据不同的参数L SDGA和多个元素,ME-DNL1 ME-DNL2, ME-DNL3可以设计。
该算法的检测结果和五个比较算法ME-DGA样本如表所示8。检测动态域名的难度增强,基于多个元素的召回LSTM算法只有0.6856,平均只有0.8012的准确性。召回和Invincea CNN算法精度低于LSTM模型,记得只有0.6793和0.7980的准确性。LSTM-MI模型比LSTM模型具有更好的检测结果,召回的0.7350和0.8310的平均精度。语法CNN检测结果略优于Invincea CNN由于使用相邻的语法特征嵌入、0.8043和0.6881召回的准确性。HDNN模型受益LSTM和CNN的优势相结合的结构,及其检测精度高于LSTM-MI模型,平均精度0.8421和0.7612召回。拟议中的MEAE-CNN模型表现显著优于其它模型由于多个元素嵌入和多个优化模块的使用。的平均精度可以达到0.8920和召回可以达到0.8407。比较结果表示,该自适应嵌入模块,特征选择模块,改善动态Focalloss函数可以有效地提高检测结果的多元素的恶意域名。
为了进一步比较了检测算法的有效性,为每个类型的检测精度动态域名表所示9。可以看出我域名的检测精度低于DGA域名和SDGA域名,表明我域名的检测难度高于DGA SDGA域名。检测模型,检测的准确性LSTM模型ME-DNL1∼ME-DNL3只有0.50和0.87的三个ME-DGA域名。检测的准确性Invincea CNN模型对于大多数ME-DGA和ME-SDGA域名低于LSTM模型。LSTM-MI模型的检测精度明显高于LSTM模型的所有三个ME-SDGA和三个ME-DGA域名。语法CNN模型提高了检测的准确性ME-DNL2和略提高了检测的准确性三个ME-DGA域名与Invincea CNN模型相比,表明语法嵌入可以改善一些多元素的域表示动态域名。HDNN模型从CNN和LSTM混合架构的好处;每种类型的检测精度ME-DGA ME-SDGA域名是高于LSTM-MI模型。该算法的检测精度为每一个动态域名是明显高于其他算法,表明该自适应元素嵌入模块可以有效地提高检测精度的多元素动态域名。
与五算法相比,该算法ME-DGA ME-SDGA数据集,和实验结果表示,该算法的检测精度多元素的动态域名高于比较算法,每个域类型的检测精度也明显改善。
在本节中,我们构建3数据集与五算法相比,该算法在几个维度。实验结果表示,该算法的检测精度在DGA的数据集,SDGA数据集,数据集和我比的比较算法,表明提出的自适应嵌入模块,特征选择模块,和改进的动态Focalloss可以有效改善检测效果动态域名。
6。结论
摘要域名语法模型提出了从元素成分和语法的角度分析域名,和检测模型提出了基于元素的自适应嵌入。检测模型使用一种自适应嵌入模块部分域名到元素和嵌入不同类型的元素,然后喂将结果嵌入到一个平行的卷积模型,并使用一个特征选择模块选择卷积特性得到不同的脑回的内核。提高检测能力难以探测模型的样本,我们提出一种改进的动态Focalloss可以动态调整的损失难以探测样本在训练阶段,这可以提高训练效果的模型。各种实验设计是基于公共数据集和五算法相比,该算法。实验结果表示,该算法的检测精度高于3数据集比较算法;特别是,难以探测样品的检测精度显著提高。本文的检测对象不考虑基于氮化镓生成的动态域名;我们将研究动态域名的对抗性的检测所产生的氮化镓在未来。
数据可用性
https://data.mendeley.com/datasets/y8ph45msv8/1。
的利益冲突
作者宣称没有利益冲突。
确认
部分这项工作支持下由中国国家自然科学基金资助(U1836104, 61702235)和中央大学的基础研究基金拨款30918012204。