DGA深度学习相关论文
一、基于 word-hashing 的 DGA 僵尸网络深度检测模型 (2017)
主要贡献:基于word-hashing 将所有 域名转用二元语法字符串表示,利用词袋模型把域名映射到高维向量空间. 然后利用5 层深度神 经网络对转换为高维向量的域名进行训练分类检测。 通过深度模型,能够从训练数据中发现不同 层次抽象的隐藏模式和特征,而这些模式和特征使用传统的统计方法大多是无法发现的.
自然语言处理中将字 符串或者词汇转换为向量最常用的方式是one-hot Encoding 技术,但是 one-hot Encoding 技术并不适合这里的应用场景.在自然语言处理中,one-hot Encoding 生成的向量非常稀疏,需要通过上下文 关系使用 word embedding 技术降维. 而在本文中域名之间并不存在上下文关系,因此使用 word embedding 技术降维方法生成的向量也就无法体现出域名该有的特征信息。
word-hashing技术,将所有域名字符串使用二元语法( bigram) 表示,然后将生成的 bigram 字符串利用词袋模型( Bag-of-words model) 表示,把域名映射到高维向量空间.向量空间的维度就是不同 bigram 字符串的个数,每一个 维度对应一个bigram 字符串,域名向量中每个维 度的数值就是域名在该维度对应 bigram 字符串出 现的个数.使用 bigram 的好处是可以保存很多域名语义相关的信息,例如相连的辅音元音前后关 系,双元音都可以包含在一个 bigram 中,同时域名 bigram 的个数也反映了域名的长度.
模型分析:这是一个典型 DNN 结构,输入为域名的二级域名标签( 后面如无特殊说明,域名将特指域名的 二级域名标签) ,如域名“www. taobao. com ”, “taobao”是二级域名标签 . 第 1 个隐藏层用于 word-hashing 处理,将域名转换成高维稀疏向量, 这是一个线性变换. 由于词袋模型生成向量空间维 度由 bigram 字符串个数决定,因此该层节点个数会根据训练集的大小变化. 第 2 ~ 4 隐藏层分别包 含 512,128,128 个神经元,隐藏层采用 ReLU ** 函数. 最后一层,一个 sigmoid **函数负责输出 分类. 该深度检测模型包含大量的神经元和参数, 所以本文使用了 Dropout 正则化技术来提高模型 的泛化能力.
结果:准确率有较小的提升。
二、A LSTM based framework for handlingmulticlass imbalance in DGA botnet detection
LSTM容易出现多类不平衡问题,这在DGA恶意软件检测中变得更加重要。这是由于许多DGA类在训练数据集中只有很少的支持。提出了一种新颖的LSTM.MI算法来组合二元和多类分类模型,其中原始LSTM适合对成本敏感。将成本项目引入反向传播学习过程,以考虑类别之间的识别重要性。直接引入反向传播学习机制,成本比由γ参数控制。我们表明,改变γ会导致决策边界的变化。这些现象可以解释为重新采样训练数据集。
一大堆以前的DGA分类的介绍之后,讲述其分类都是回溯性的,需要几个小时才能使域集群达到最低阈值以获得良好的性能。本文使用两类语言属性的实时DGA检测。即有意义的字符比例和n-gram正态分数。、
(a) LSTM memory block with onlyone cell; (b) the LSTM.MI algorithm.
LSTM旨在最小化网络相对于k输出神经元和目标tk的实际输出yk的成本函数(我们假设softmax):
实验表明,对成本敏感的LSTM更适合替代成本不敏感的LSTM,提取表征给定域名的各种功能。这些功能不是手工制作的,因此难以绕开对手。据观察,它优于RUSBoost,过采样和阈值移动方法。这些观察结果为分析LSTM.MI算法的各种特性提供了有价值的见解,LSTM.MI算法能够实现更高的HMM,C5.0,LSTM,成本敏感的SVM,成本敏感的更高的宏观平均F1分数C4.5和加权极限学习机在多类失衡数据集上。这种技术与LSTM共享一些重要特性,使其适用于直接应用。
在LSTM.MI中,二元和多类成本敏感的LSTM一起工作。其基本动机是保持流行的非DGA类的高准确性,同时增加其他DGA类的宏观平均F1分数。LSTM.MI对于多类不平衡问题是最有效的。它还能够保持Alexa(非DGA)类的高精度(0.9816)和回忆(0.9881)。 CS-NN,CS-SVMCS-C4.5,WELM和C5.0都不如原来的LSTM和LSTM.MI.
对成本敏感的LSTM:cost-sensitive LSTM
)。因此,它对于阶级失衡问题(class imbalance problem)自然很敏感。这种算法偏向于流行的类别,限制了其在训练数据中以非常小的代表性检测DGA家族的能力。成本敏感的学习在现实世界的数据挖掘应用中起着至关重要的作用,并提供了处理类不平衡问题的手段。受成本敏感C4.5 的成功启发,Jiang等人介绍了实例加权方法来诱导成本敏感的贝叶斯网络分类器,试图最小化整体错误分类成本。
在文献中,可以设计一个将成本不敏感LSTM转换为成本敏感的“包装器”。 实现这一目标的最常见方法是使用过采样或欠采样来重新平衡训练数据。 过采样复制小类中的样本。这是耗时的,可能导致模型建筑过度配合。 欠采样需要较短的训练时间。 它可能会丢失关键信息,涉及流行的类别。 Zhou和Liu观察到重采样对于处理多类任务的类不平衡是没有帮助的。阈值移动操作LSTM输出通过对给予小分类学习的相对较高的影响。决策超平面是使用原始训练数据构建的,而成本本身仅在测试阶段引入。另一方面,AdaBoost.M1是一种方法,它能够提高任何分类器的性能,只要分类器比随机猜测更好。该算法是以准确性为导向的,并且与其他技术的结合解决了多种处理多类不平衡的提议。特别是,RUSBoost 基于这样的想法,其中欠采样被整合到AdaBoost.M1中。RUSBoost被证明是比AdaC2,SMOTEBoost,MSMOTEBoost,UnderBagging,EasyEnsemble,BalanceCascade更好,更快,更简单的替代方案,因此成为从偏斜训练数据中学习的可行选择。
通过调整误差最小化函数来解释预期成本,引入了对神经网络的成本敏感性。尽管作者没有针对阶级失衡问题,但他们的方法不仅保持了原有的网络结构,而且加强了对重要分类的学习。受到这种开创性工作的启发,本文开发了一种算法方法,将错误分类成本直接纳入LSTM的落后过程( directly include themisclassification costs into the LSTM's backward pass. )。每个样本p与成本项目C [class(p), k],相关联,其中class(p)和k分别是实际和预测的类别。成本项表示分类的重要性,因此较低的值被分配给属于流行类别的样本。
从反向传播中可以看出,这样的成本项在E(t)的偏导数中是一个常数。强调训练错误较大的样本,使学习故意偏向小类。成本敏感的LSTM能够解决多类不平衡问题而无需分类解决。
其中γ∈[0,1]是一个折衷参数。γ= 1意味着C [i,i]与类别大小ni成反比。小型和流行类别的数量重新平衡为1:1:...:1的比例[35]。另一方面,γ= 0意味着成本敏感的LSTM降低到原始的LSTM,这对成本不敏感。