Dictionary Extraction andDetection of Algorithmically Generated Domain Names inPassive DNS Traffic

基本概念

  1. Path,路径
    对于图G=(V,E),一个行程(walk) ( v 1 , e 1 , v 2 , e 2 , . . . , v n , e n , v n + 1 ) (v_{1}, e_{1}, v_{2}, e_{2}, ... ,v_{n}, e_{n},v_{n+1}) (v1,e1,v2,e2,...,vn,en,vn+1)中,如果没有重复经过同一个节点v和边e,称为路径。

  2. Cycle,循环
    对于图G=(V,E),增加新的边 e n + 1 e_{n+1} en+1使得行程 ( v 1 , e 1 , v 2 , e 2 , . . . , v n , e n , v n + 1 ) (v_{1}, e_{1}, v_{2}, e_{2}, ... ,v_{n}, e_{n},v_{n+1}) (v1,e1,v2,e2,...,vn,en,vn+1)中的点 v n + 1 v_{n+1} vn+1 v 1 v_{1} v1连通,整个行程形成一个环路。

  3. Cycle Basis,基础循环
    经过图中每一条边且只经过一次的最小闭合称作欧拉子图。无向图的循环空间是它的欧拉子图的集合。一个基础循环是指循环的最小集合,其中的欧拉子图互斥。

  4. The average shortest-path length,APSL,平均最短距离
    令F为所有连通的节点对的集合,则 A S P L ( G ) = 1 ∣ F ∣ ∑ ( v i , v j ) ∈ F d i s t ( v i , v j ) ASPL(G)=\frac{1}{|F|}\sum_{(v_{i},v_{j})\in F}dist(v_{i},v_{j}) ASPL(G)=F1(vi,vj)Fdist(vi,vj),其中 d i s t ( v i , v j ) dist(v_{i},v_{j}) dist(vi,vj)是两节点之间的边数。

  5. 图G的连通分量 G ′ G^{'} G是G的一个子图, G ′ G^{'} G中的任意两个节点均连通。

方法

本文提出的是基于字典的词图(WordGraph)方法。
域名集合 C = c 1 , c 2 , . . . , c q C={c_{1},c_{2},...,c_{q}} C=c1,c2,...,cq既含有正常域名,也含有Dictionary-AGD域名,本算法的目标是区分C中的Dictionary-AGD域名。

  • 从域名中提取单词:
    提取在至少两个SLD中出现至少m(m=3)次的单词构造字典。例如对于集合[“facetype.com”, “facetime.com”, “bedtime.com”, “faceboard.com”, “bedboard.com”, “bedding.com”]
    提取的字典为D={“face”, “time”, “bed”, “board”, “facet”}

在这里插入图片描述

  • 词图构造:
  1. 先按照TLD将C划分为多个子集 C 1 , C 2 , . . . , C r C_{1}, C_{2}, ..., C_{r} C1,C2,...,Cr。这样划分可以有效控制噪声和图的大小。
  2. 在每一子集内定义图G:
    节点: C i C_{i} Ci中至少出现一次的单词
    边 :同一域名的单词两两之间建立连接
    上图为理想状态下的恶意域名词图和正常域名词图。但是在实际应用中,一些正常域名也会在恶意域名较多的子集中,于是实际获得的词图并不像图中那样边界分明。
  • 特征向量:
    对于G的每个子图 G j G_{j} Gj提取一下特征:
    D m e a n D_{mean} Dmean G j G_{j} Gj平均顶点深度
    D m a x D_{max} Dmax G j G_{j} Gj最大顶点深度
    C C C G j G_{j} Gj基本循环的基数
    C V C_{V} CV:C/|V|,其中V为 G j G_{j} Gj顶点数
    –ASPL: G j G_{j} Gj的平均最短路径长度

  • 基于字典的图搜索:
    在这里插入图片描述

实验

进行三种模式的对比实验(对比算法为随机森林RF和CNN):
–训练集和测试集使用相同的字典生成域名
–训练集和测试集使用不同的字典生成域名
–使用很少的恶意样本进行训练

  • 数据集
  1. labeled ground truth data : DGArchive(a web database for DGA domains from various families, and from the Alexa top 1 million domains)
  2. 恶意流量:根据三个不同的字典使用Dictionary-based DGA Suppobox生成的域名。
  3. 真实流量:ISP
  • 数据大小
    在这里插入图片描述
    在这里插入图片描述

  • 数据处理
    由于CNN需要定长输入,所以设置长度为75,长度不足75的域名左边以0填充。RF和WordGraph均不需要做特殊处理。
    –RF:
    使用11个特征:1.信息熵;2.2-gram中位数;3.3-gram中位数;4.符号字符比;5.十六进制字符比;6.元音字符比;7.域名长度;8.gini字符索引;9.字符分类错误;10.顶级域名散列值;11.第一个数字
    每个森林包含100棵树。
    –CNN:
    卷积神经网络由一个嵌入层,一个卷积层,两个隐藏层和一个输出层组成。

  • 结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 局限性:
    —如果恶意软件将DGA作为C2阶段的辅助工具,将通信地址硬编码在软件内部,则该恶意软件不会产生过多的DGA域名访问,例如Matsnu,WordGraph将无法很好地检测。
    —假设攻击者知道检测字典,那么可以专门构造绕过字典的检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值