调研-笔记-基于生成对抗网络的恶意域名训练数据生成

DGA 域名字符生成模型

域名字符分析

问题:理论上 GAN 中的生成器和判别器部分采用任意可微函数都能表示,因此其主要用于连续数据的处理,如图像生成、视频检测等[13]。基于文本的离散数据处理一直是深度神经网络研究的难点之一。

本文基于字符串的文本域名来构建生成网络, 在构造训练 GAN 之前,需要对域名数据样本做变换处理。

域名在构造上可分为两部分:主机名和域名(包括*域 及可能的二级域、三级域等)。DGA 域名在构造上一般用随机 算法来生成主机名,域名部分相对固定或变化较少。如symmi 的 DGA 域名hakueshoubar.ddns.net,其域名是由元辅音字符生 成器和 ddns.net 组合而成;Conficker.C 的 DGA域名plrjgcjzf.net、 gkrobqo.info 等也是由同频率的字符生成器和一级域名组合而成。

因此本文中在生成域名时不考虑域名数据集中的一二级域 名部分,只对DGA算法生成器的主机名的字符特性进行分析。 本文基于 GAN 的 DGA 域名数据生成模型主要包括域名 编码器、生成网络、对抗网络和域名解码器四个部分。

域名编、解码器

这里主要讲的是域名字符串通过字符Ascall码值转换函数、归一化变为域名张量,以及域名张量还原成域名字符串。

 生成网络

生成网络由四层神经网络组成,包括输入层、隐含层和输 出层。其中输入层数据来源于高斯分布模型并随机产生 n=100 维的数据,**函数采用 ReLu 函数。网络包含两层隐含层,节点数分别为 n=150 和n =300,**函数亦采用 ReLu 函数。输出层节点数为 n =15(即域名向量维度),考虑到域名向量元素区间为  [1,0],因此输出层的**函数采用 sigmoid函数。

判别网络

判别网络同样为四层神经网络,包括输入层、隐含层和输出层。其中输入层的数据来源有二,一部分来源于真实数据,

另一部分来源于生成网络生成的生成数据,本文将域名长度设 置为 15,因此输入数据维度 n=30 。两层隐含层的节点数分别

为 n =150和 n=300 ,**函数采用 ReLu 函数。输出层**函数 为 sigmoid 函数,数据在经过**函数运算之前,将前 15 维数 据和后 15 维数据拆分进行运算,分别输出真实数据和生成数 据的 dropout[14],即以一定概率随机丢弃,防止网络出现过拟合

实验结果:

数据集

数据集有四部分:100 万条 Conficker.C 真实 DGA 恶意域 名样本、Alexa 排名前 5000 的负样本和真实 DGA 随机选取的 5000 个正样本、Alexa 排名前 5000 的负样本和生成类似 DGA 的 5000 个正样本、Alexa排名前 10000 的负样本和 5000 个随 机真实 DGA 样本与 5000 个随机生成的类似 DGA 样本组成的 正样本。

实验设计

本文在 GAN 模型的基础上尝试将 Ascall 编码方式与其相

结合生成恶意域名训练数据,并通过分类器性能验证数据的有 效性,实验设计如下:

 a)类似 DGA 域名字符生成。本部分将预处理后的百万级域名输入域名字符生成模型,用于训练和生成类似 DGA 恶意 域名样本。在每个网络训练的 epoch 内(1 个 epoch 等于使用训练集中的全部样本训练一次)生成网络产生出每次训练结束后的生成数据,每次产生 bach_size 个(批大小)列表数据。

 b)特征选取。特征部分主要选用统计特征,包括域名长度、 n-gram 频率(n=2、3、4、5)、 n-gram 正态分[5](n=2、3、4、 5)、域名元音频率和域名辅音频率。

c)Alexa 负样本集与真实 DGA 正样本的分类。采用 b 中的特征对本数据集进行分类,此为后续两次分类结果的对比基 准值,也是验证生成数据有效的基准。

 d)Alexa 负样本集与生成类似 DGA 正样本集的分类。本 部分分类同样采用 b 中的特征进行分类,分类结果与 c 中的分 类结果进行比较,目的是为了验证类似样本可以充当 DGA 真 实样本,从而说明生成数据的有效性。

e)Alexa 负样本集与真实 DGA 和生成类似 DGA 样本集的 混淆分类。本部分分类同样采用 b 中的特征进行分类,将分类结果与 c 中的结果进行对比,此分类是为了说明在真实 DGA 与生成类似 DGA 混淆情况下,如果分类器结果良好,那么生成 DGA 数据具备真实 DGA 数据的特征,也验证了生成数据的有 效性。

调研-笔记-基于生成对抗网络的恶意域名训练数据生成

实验结果:

。第一椭圆 内的数据为真实 DGA 样本,第二椭圆内的数据为 GAN 对抗回 合 0~10 产生的样本,第三椭圆内的数据为 GAN 对抗回合 250~253 产生的样本。

调研-笔记-基于生成对抗网络的恶意域名训练数据生成

分类验证结果 :

分类器选取 Weka3.8 中的朴素贝叶斯、J48、随机树及随 机森林,性能评估指标有正确率、错误率、精确率、F-measure 值及 ROC 面积。

调研-笔记-基于生成对抗网络的恶意域名训练数据生成

调研-笔记-基于生成对抗网络的恶意域名训练数据生成

调研-笔记-基于生成对抗网络的恶意域名训练数据生成

结果分析:

        从字符分布的角度来说,对生成数据进行简单筛选与整理,剔除其中少部分不能作为域名的数据并进行一元字符统计分析,如图 4 所示。白色代表真实 DGA 样本字符频率分布,黑色代表 GAN 字符模型生成的样本频率。黑色数据围绕真实 DGA 样本上下波动,在经过 GAN 对抗训练后,频率分布在大样本下生成的 DGA 样本的频率围绕真实DGA 的平均频率 0.0385 上下波动,因此,从字符分布特性的角度说明了类似 DGA 样本和真实 DGA 样本已经具有一定的相似性。

          由 Alexa 和类似 DGA 分类结果可知,分类指标 如正确率、错误率、召回率、精确率、F-measure 值、ROC 面积均与基准值保持在同一性能状态,说明在分类特征相同的情况 下,生成的类似DGA 样本可以充当真实 DGA 数据样本,从而 说明了生成数据的有效性。

           由Alexa 样本和混淆样本分类结果可知,在 Alexa 正常域名样本和分类特征不变的情况下,真实 DGA 样本和类似样本混淆分类器的指标如正确率、错误率、召回率、精确率、 F-measure 值、ROC 面积仍与基准值处在同样的性能状态,说 明类似样本已具备真实 DGA 样本的部分特性,也同样说明生 成的类似样本有效。 

贡献:将图像处理领域中的GAN 对抗生成网络应用到网络安全中去生成恶意 DGA 域名字符数 据集。解决恶意 DGA 域名的训练数据生成和识别检测问题,

并通过实验初步验证了此方法的可行性。为最大化利用 GAN 神经网络不用公式化描述数据分布和能够对原始数据直 接进行学习的特性,本文将DGA 域名字符进行简单的 Ascall 编码与数据归一化处理。其次,为了限制 GAN 网络生成数据过于*化,本文编码器和解码器部分均对映射函数的定义域、值域部分进行限制,并对解码数据进行自动丢弃,从而让生成数据更符合真实样本数据。