Dictionary Extraction andDetection of Algorithmically Generated Domain Names inPassive DNS Traffic

基本概念

  1. Path,路徑
    對於圖G=(V,E),一個行程(walk)(v1,e1,v2,e2,...,vn,en,vn+1)(v_{1}, e_{1}, v_{2}, e_{2}, ... ,v_{n}, e_{n},v_{n+1})中,如果沒有重複經過同一個節點v和邊e,稱爲路徑。

  2. Cycle,循環
    對於圖G=(V,E),增加新的邊en+1e_{n+1}使得行程(v1,e1,v2,e2,...,vn,en,vn+1)(v_{1}, e_{1}, v_{2}, e_{2}, ... ,v_{n}, e_{n},v_{n+1})中的點vn+1v_{n+1}v1v_{1}連通,整個行程形成一個環路。

  3. Cycle Basis,基礎循環
    經過圖中每一條邊且只經過一次的最小閉合稱作歐拉子圖。無向圖的循環空間是它的歐拉子圖的集合。一個基礎循環是指循環的最小集合,其中的歐拉子圖互斥。

  4. The average shortest-path length,APSL,平均最短距離
    令F爲所有連通的節點對的集合,則ASPL(G)=1F(vi,vj)Fdist(vi,vj)ASPL(G)=\frac{1}{|F|}\sum_{(v_{i},v_{j})\in F}dist(v_{i},v_{j}),其中dist(vi,vj)dist(v_{i},v_{j})是兩節點之間的邊數。

  5. 圖G的連通分量GG^{'}是G的一個子圖,GG^{'}中的任意兩個節點均連通。

方法

本文提出的是基於字典的詞圖(WordGraph)方法。
域名集合C=c1,c2,...,cqC={c_{1},c_{2},...,c_{q}}既含有正常域名,也含有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劃分爲多個子集C1,C2,...,CrC_{1}, C_{2}, ..., C_{r}。這樣劃分可以有效控制噪聲和圖的大小。
  2. 在每一子集內定義圖G:
    節點:CiC_{i}中至少出現一次的單詞
    邊 :同一域名的單詞兩兩之間建立連接
    上圖爲理想狀態下的惡意域名詞圖和正常域名詞圖。但是在實際應用中,一些正常域名也會在惡意域名較多的子集中,於是實際獲得的詞圖並不像圖中那樣邊界分明。
  • 特徵向量:
    對於G的每個子圖GjG_{j}提取一下特徵:
    DmeanD_{mean}GjG_{j}平均頂點深度
    DmaxD_{max}GjG_{j}最大頂點深度
    CCGjG_{j}基本循環的基數
    CVC_{V}:C/|V|,其中V爲GjG_{j}頂點數
    –ASPL:GjG_{j}的平均最短路徑長度

  • 基於字典的圖搜索:
    在這裏插入圖片描述

實驗

進行三種模式的對比實驗(對比算法爲隨機森林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將無法很好地檢測。
    —假設攻擊者知道檢測字典,那麼可以專門構造繞過字典的檢測

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章