DNS 隧道檢測綜述

原文標題:A comprehensive survey on DNS tunnel detection
原文作者:Yue Wang, Anmin Zhou, Shan Liao, Rongfeng Zheng, Rong Hu, Lei Zhang
原文地址:https://linkinghub.elsevier.com/retrieve/pii/S1389128621003248
發表會議:Computer Networks,9 October 2021
筆記作者:yyp@SecQuan
文章小編:cherry@SecQuan

1. 簡介

域名系統(DNS)隧道建立在受控主機和主服務器之間,僞裝成授權域名服務器,可作爲惡意活動的祕密數據通信通道。由於 DNS 流量隨時可以規避網絡安全機制,DNS 隧道可能造成嚴重損害。因此,在面對此類威脅時,深入全面地瞭解各種檢測技術具有相當重要的意義。然而,大多數現有的研究集中在 DNS 隧道檢測技術的一個方面,例如基於機器學習、流量和負載分析的方法,很少有研究進行了全面的調查,包括該研究領域的一系列完整的文獻,或者分析關於 DNS 隧道的最新文獻。本文從基於規則和基於模型的方法的新角度回顧了這些檢測技術,並對基於 DNS 的工具及其相應的特性進行了描述和分析。據作者所述,這是第一次從各個方面詳細地以新穎和具體的分類方式全面討論和分析 DNS 隧道檢測的研究,涵蓋了 2006 年至 2020 年開發的幾乎所有檢測方法。此外,還對檢測方法進行了比較分析,並對今後的研究方向提出了幾點建議。

2.DNS 隧道技術分析

DNS 隧道技術分析的典型特徵可分爲兩類:有效負載分析和流量分析。

2.1 負載分析

有效負載分析針對單個或多個 DNS 數據包,其重點是分析有效負載的相關特性。例如,特定 DNS 隧道工具的簽名、請求域名相關功能等。當前的檢測技術也主要集中在利用這些特徵。

2.2 流量分析

流量分析側重於查詢整個 DNS 流量,基於時間尺度,更側重於流量的異常變化。除了與流量相關的功能外,還包括一些其他有用的信息(此處稱爲流量功能)。大多數基於流量的功能依賴於確定的時間窗口;因此,它們通常用於非實時檢測。對於實時檢測,基於有效載荷的特徵被更頻繁地使用。

3.DNS 隧道檢測

與不確定性較大的檢測相比,依賴模型或特定平臺的規則去設計檢測方法更加科學、高效。根據是否手動設置規則,DNS 隧道檢測分爲兩類,即基於規則的檢測和基於模型的檢測,如圖所示。

3.1 基於規則的檢測

基於規則的檢測是指通過分析相關特徵,手動設置規則。然後,在監控流量中發生預設規則匹配時,確定 DNS 隧道的存在。其重點在於某些特徵的規則設計,這些特徵可分爲兩類:基於簽名的方法和基於閾值的方法。

基於簽名的方法通過匹配特定簽名來檢測 DNS 隧道。它的重點是由專業人員分析的有效特徵:惡意數據包的靜態和固定數據特徵。

基於閾值的方法涉及通過比較特定閾值來檢測 DNS 隧道,這需要對 DNS 隧道的特徵進行定量分析,以設計一個實用的閾值。DNS 隧道的檢測實現了重置閾值與在線捕獲的流量計算值之間的比較。除了直接定量分析相關功能外,可視化技術還經常用於閾值確定或輔助檢測。基於閾值的方法又分爲基於負載閾值和基於流量閾值的分析方法。

3.2 基於模型的檢測

基於模型的檢測通過模型自動生成基於多個特徵的識別規則。其重點在於機器學習模型的訓練。機器學習算法可以分爲傳統機器學習和深度學習。這兩種方法的主要區別在於特徵提取的方法和算法。傳統的基於機器學習的方法要求專家在數據處理階段通過豐富的經驗和專業知識手動提取關鍵特徵。基於深度學習的方法可以充分利用數據結構和序列信息,自動提取關鍵特徵。

在 DNS 隧道檢測領域,從無監督學習和有監督學習的角度分析了常見的傳統機器學習算法。在無監督學習中常用的算法有:K 均值聚類算法、一類支持向量機 (OCSVM) 算法;有監督學習模型算法有:邏輯迴歸算法、支持向量機(SVM)算法、隨機森林集成學習算法。

基於深度學習的方法的優勢在於,它可以利用序列和結構信息以及自動提取特徵。然而,這也意味着影響深度學習模型性能的具體原因可能未知,並且需要高性能的硬件。

總體來說,有監督學習算法被廣泛應用於 DNS 隧道檢測。支持向量機算法的性能優於邏輯迴歸算法、決策樹、貝葉斯等。此外,基於核函數的支持向量機優於線性支持向量機。在無監督學習算法中,k-means 更受歡迎,但其性能不如 OCSVM。基於機器學習和深度學習模型的比較如下表所示。

4. 總結

爲了設計一個 DNS 隧道檢測系統的實際應用,有必要首先研究系統環境,包括可用硬件設備和網絡環境的性能,在一定程度上限制檢測方法。例如,深度學習方法需要高性能的硬件設備。一些經過訓練的模型方法或閾值可能需要根據網絡的不同規模吞吐量進行重新訓練和確定。然後,可以將背景信息與檢測系統的性能要求相結合,以選擇和設計適當的方法、數據集和信息。常見特徵主要分爲基於有效載荷的特徵和基於流量的特徵。基於負載的功能側重於通過參考多個 DNS 數據包來分析負載的相關特徵。基於流量的功能旨在查詢特定時間窗口內的總體 DNS 流量,更側重於流量的異常變化。對於基於流量的功能,有幾個功能可能與本地網絡環境密切相關,例如到 IP 地址的 DNS 流量和到域的 DNS 流量。這種類型的功能表明,使用這些功能調整檢測系統對於各種網絡流量規模至關重要。

DNS 隧道檢測系統方法框架的選擇也是一個關鍵環節。基於規則的檢測側重於對重要特徵的手動分析,以設計有效的規則。結合不同的平臺,這種方法可以很容易地部署在現有的網絡中。然而,由於自適應性差,這種方法無法處理變化的網絡環境,無論是通過簽名還是保留。基於模型的檢測技術側重於模型訓練,自動形成有效的規則,具有較強的靈活性和自適應性。這兩種技術有不同的優勢和劣勢,但都可以在有效特性和足夠數據集的條件下表現良好。

總體而言,方法、數據集和特徵是檢測系統性能的最重要因素。這三個方面都會影響檢測系統的性能以及系統擅長的場景(例如,實時檢測、低吞吐量 DNS 隧道檢測),因此在比較或設計 DNS 隧道檢測系統時存在相當大的挑戰。很難使用特定標準來判斷 DNS 隧道檢測系統的絕對質量,也很難找到滿足任何要求的完美檢測系統。因此,在檢測 DNS 隧道時,理想的想法是結合上述一般性能要求和背景環境,逐步確定合適的方法、數據集和功能。

此外,未來的研究可能集中在兩個方面:DNS 隧道的心跳流量和封裝在 DNS 隧道中的協議。在 DNS 隧道中檢測心跳流量的研究可以在進行惡意活動之前消除威脅,避免非活動 DNS 隧道在通信維護期間檢測性能可能下降的情況。同時,值得注意的是,DNS 過度傳輸層安全性(DoT)和通過安全協議層(DoH)的超文本傳輸協議的 DNS 的出現給 DNS 隧道檢測帶來了巨大挑戰,這意味着 DNS 隧道的存在成爲加密雙隧道的內層,導致 DNS 隧道的隱蔽性和 DNS 隧道檢測的困難性增加,這一新的研究方向也非常需要關注和進一步研究。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/pt4RmQctqzTcN-as5HsCkw