通過緩存屬性感知特征進行DNS隧道檢測
1.簡介
作者通過調研分析已有的DNS隧道檢測技術,發現現有檢測方法依賴于攻擊者及其惡意軟件通過模仿良性實體而容易混淆的特征。例如,可以通過隱寫術繞過對字符頻率和熵的分析。因此,有必要提出一種彈性特征,通過關注不易隱藏的DNS隧道“痕跡”來檢測DNS隧道。因此,作者提出了一種基于緩存屬性感知特征的DNS隧道檢測方法。作者實驗表明,所提出的特征之一可以有效地描述DNS隧道流量。此外,還介紹了一種基于規則的分類器,以及使用該特征的基于短時記憶(LSTM)的分類器。基于規則的分類器實現了比LSTM分類器更高的DNS隧道攻擊檢測率,LSTM分類器反而更快地檢測到攻擊,同時兩者都保持較低的誤檢測率。主要完成了以下幾個方面工作:
- 全面調查研究了DNS隧道攻擊和檢測技術
- 引入緩存屬性感知特征、訪問未命中數,并與緩存命中率和訪問命中率進行比較
- 提出基于規則的分類器和基于訪問未命中計數的LSTM分類器
- 評估了超過350000個DNS查詢(包括合法查詢和DNS隧道查詢)組成的大型合法培訓數據集創建的篩選器的性能
2.前期研究
在現有的研究中,多是采特征和機器學習算法分類,相關算法和特征如下圖所示。


3.緩存屬性感知特征
作者提出了三個基于緩存屬性的特征來識別DNS隧道流量。
- 緩存命中率
- 訪問命中率
- 訪問未命中數
其計算實例如下圖所示:
4.監測分析
作者通過在實驗室捕獲21個客戶端31天的DNS流量,創建了緩存項和訪問項列表。實驗參數如表六所示。根據隧道查詢傳輸間隔準備了三種數據分類場景:場景1、2和3,傳輸間隔分別為1、10和100秒。我們僅在場景1中使用了緩存項列表,這證明了HRAN和MCA克服CHR缺點的有效性。省略了場景2和場景3的實驗,因為場景1(DNStunneling檢測的“最簡單”案例)的結果已經表明了CHR的缺點。
5.基于緩存屬性特征的分類
基于監測到的實驗數據,作者使用訪問未命中數作為緩存屬性感知功能實現了一個基于規則和基于LSTM的分類器。如下圖所示。
- 基于規則分類器
基于規則的分類器基于一個定義訪問未命中數閾值的正常檢測模型。具體來說,當訪問未命中數超過預先配置的閾值時,分類器將DNS查詢分類為異常。為了提取閾值,作者只收集合法DNS流量,創建訪問列表,并為每個DNS客戶端生成的DNS查詢計算訪問未命中數。訪問未命中數值(從所有客戶端)收集到訓練數據集中。分類器的閾值是通過從該數據集中獲取用戶定義的百分位值來確定的。
- 基于LSMT分類器
LSTM分分類器基于時間數據的異常檢測管道。首先僅收集合法DNS流量、創建訪問列表,并計算每個DNS客戶端生成的DNS查詢的訪問未命中數。然后,將這些值收集到一個訓練數據集中。使用這些數據來訓練LSTM模型并獲得其下一步預測。然后,根據模型的預測和實際值計算預測誤差。由于合法DNS流量本身包含異常值,因此預測誤差往往高于這些異常值,并可用于創建分類器。因此,通過構造一個以預測誤差為輸入的二元分類器來創建一個分類器。
基于規則和基于LSTM的分類器之間的區別在于前者使用直接從訪問未命中數計算的閾值,而后者使用根據LSTM模型的預測誤差計算的閾值。
6.實驗評估
對于基于規則的分類器,為訓練數據集確定了多個閾值,以根據訪問未命中數將查詢分類為攻擊或非攻擊。在作者實驗中,考慮了10000個閾值(從0.01%到100%,增量為0.01%)。對于LSTM分類器,使用經過訓練的LSTM模型對訓練集進行預測,并計算預測誤差,即實際和預測數據之間的平方誤差。實驗中,考慮了10000個閾值(從0.01%到100%,增量為0.01%),然后從場景1、2和3中生成的DNS流量數據中提取每個DNS查詢的AMC(訪問未命中數),用于獲取AMC的初始訪問列表是根據31天DNS流量數據集創建的。用于評估數據的測試數據集是計算的AMC,它是時間序列數據。基于規則的分類器使用其計算的閾值直接對測試數據集的活動進行分類。
圖14顯示了場景1、場景2和場景3的測試數據集在600時的ROC曲線。從圖中可以看出,當假陽性率超過0.025時,真陽性率超過0.91,這表明分類器能夠以高概率正確分類合法和惡意DNS查詢。相比之下,在圖15中,顯示了僅場景3的測試數據集的ROC曲線,當為600時,分類性能惡化。從這些圖中可以看出,基于規則的分類器優于基于LSTM的分類器。在通過分類器檢查被分類為否定(即合法查詢)的肯定時,LSTM分類器有時會將多個位置識別為合法查詢,因為它根據根據預測誤差計算的閾值評估查詢,這意味著預測誤差可能在某個點變低,甚至在隧道攻擊期間。同時,基于規則的分類器使用直接從AMC計算的閾值來評估查詢。當LSTM分類器獲得的預測誤差低于預定閾值且AMC超過基于規則的分類器的閾值時,基于規則的分類器將查詢分類為異常。


