一、本周任务
- 继续跟进师兄的代码和论文
- 调研人工智能安全的国内外团队的研究成果
- 学习机器学习的十种基本算法
二、已完成的任务
1.恶意域名检测相关论文
1.1 基于特征提取的机器学习检测
Ⅰ.根据域名字符统计特征的检测
a)Davuth N,Kim S R. Classification of malicious domain names using support vector machine and bi-gram method[J]. International Journal of Security & Its Applications,2013,7( 1) : 51 - 58.
论文提出了三种度量指标KL_distance、Edit distance、Jaccard measure来区分恶意域名与非恶意的域名,并将三种度量指标作为数据的特征。论文提出了L1-regularized Linear Regression 作为分类的算法构建分类模型对数据集进行分类
b) Classification of malicious domain names using support vector machine and bi-gram method[J].International Journal of Security & Its Applications,2013,7( 1) : 51 - 58.
论文使用自然语言处理中的 bigram method 从域名字符串中提取特征,然后使用SVM分类算法进行数据的分类
Ⅱ.基于DNS流量信息的检测
a) Bilge L,Kirda E,Kruegel C,et al. EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis[C]/ / Proceedings of the Network and Distributed System Security Symposium,NDSS 2011,2011.
论文中提取了训练数据集的15个特征,使用决策树算法构建分类模型,在论文提到的检测系统中,通过两种策略收集需要分析的数据。一个策略是设置一个流量白名单,另一个策略是过滤掉超过一年并且没有被任何恶意软件分析工具检测到的域名。通过这两个策略减少无关的流量,使得分析的流量减少到一个更易于管理的规模
1.2 基于无特征提取的深度学习方法的检测
Ⅰ.RNN在域名检测的应用
a) Woodbridge J,Anderson H S,Ahuja A,et al. Predicting Domain Generation Algorithms with Long Short-Term Memory Networks[EB]. eprint ar Xiv: 1611. 00791,2016.
论文利用长短期记忆网络实现对域名实时预测,而无需上下文信息或手动创建的特征,其模型如下图
embedding layer是嵌入层,目的是将输入的字符串序列映射为向量序列
LSTM layer层是用于隐式特征提取,在论文中是特征是向量形式
logistic regression 用于分类的逻辑回归层
b) Yu B,Gray D L,Pan J,et al. Inline DGA Detection with Deep Networks[C]/ / IEEE International Conference on Data Mining Workshops. IEEE,2017.
论文为了比较深度学习方法的优势,以传统的机器学习方法中比较有效的基于特征构建的随机森
林模型作为基准实验,利用 LSTM 网络和 CNN 网络进行域名检测分类比较。并且在训练的数据上的创新点是与大多数使用逆向工程 DGA 算法生成正样本的传统方法不同,论文中使用真实和实时流量数据作为样本来训练 DGA 的分类器。在整体检测率上,CNN 和LSTM 模型相对于随机森林有突出的表现,但在个别DGA 上表现不佳。存在的原因大概有两方面: 一是因数据不平衡导致检测率低或识别误差大; 二是传统的DGA 和基于字典的 DGA 之间存在偏差的样本分布。
c) Tran D,Mac H,Tong V,et al.A LSTM based framework for handling multiclass imbalance in DGA botnet detection[J]. Neurocomputing,2018,275: 2401 - 2413.
LSTM 容易出现多类不平衡问题使得网络模型在DGA恶意软件检测变得困难。这是因为许多 类别的DGA 训练数据集都没有. 论文中提出了一种新颖的 LSTM.MI 算法来结合二元和多类分类模型,其中原始 LSTM 适合成本敏感。成本项被引入到反向传播学习过程中,以考虑到类之间的识别重要性。实验是在真实世界收集的数据集上进行的。论文中证明,与原始 LSTM 和其他最先进的成本敏感方法相比,LSTM.MI 在宏观平均召回率和精度方面提供了至少 7% 的改进。它还能够保持非 DGA 生成类的高精度(0.9849 F1 分数),同时帮助识别 5 个额外的恶意域名类别。
Ⅱ.GAN在域名检测的应用
a) Anderson H S,Woodbridge J,Filar B. Deep DGA: Adversarially-Tuned Domain Generation and Detection[C] / / AcmWorkshop on Artificial Intelligence & Security. ACM,2016.
在论文中利用生成对抗网络的概念构建了一个基于深度学习的DGA,旨在有意地绕过基于深度学习的检测器。在一系列的对抗回合中,生成器学习生成越来越难检测的域名。反过来,一个检测器模型更新其参数,以补偿反向生成的域。论文测试了反向生成的域是否可以用来增强训练集的假设,以加强其他机器学习模型来对抗尚未观察到的DGA。论文详细介绍了训练这个基于字符的生成对抗网络(GAN)的几个挑战的解决方案。特别是,论文的深度学习体系结构最初是一个域名自动编码器(编码器+解码器),在Alexa100万的域上进行训练。然后将编码器和解码器在生成对抗网络(检测器+生成器)中进行竞争性重组,采用新的神经结构和训练策略来提高收敛性。结果表明,从一个GAN生成的域来绕过GAN的检测器,也绕过了一个利用手工制作的特性的随机森林分类器。相反,通过用这些对抗性的例子来增强训练集,随机森林分类器能够更有效地检测到在训练过程中未见过的DGA恶意软件家族。
论文中使用自动编码器架构来表示有效的域名,如图(a)所示. 然后,论文将编码器(接受域名并输出域嵌入)作为判别模型,将解码器(接受域嵌入并输出域名)作为生成模型,如图(b)所示.
![图b](https://img-blog.csdnimg.cn/b9134aa3966f466e85bf758b64cbf32e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAd2VpeGluXzQwODcyNzE0,size_20,color_FFFFFF,t_70,g_se,x_16)
在论文中,提出了一个结合注意机制的LSTM模型,该模型学习了域字符串中每个字符的权值,减少了长期依赖性,从而更合理地表示了域,并对生成的域实现了更好的检测。其中注意将集中关注领域中更重要的子串,并改进域的表达。在真实数据集上的实验结果表明,论文的模型在假告警率降低到1.29%和假阴性率降低到0.76%方面都具有优先级。此外,论文的模型在多标签检测方面也有更好的性能。
参考文献 恶意域名检测研究与应用综述
三、未完成任务
- 跟进师兄代码和论文
- 学习机器学习的基础算法
四、下周任务计划
- 继续跟进师兄的代码和论文
- 调研人工智能安全的国内外团队的研究成果
- 学习机器学习的十种基本算法