李建
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.009
摘 要: DNS是Internet應用基礎,通過DNS映射主機名和IP地址信息來保證兩者間正常解析,但DNS設計有先天缺陷,使得其成為被網絡攻擊的首要對象。為了研究DNS攻擊檢測方法,從網絡遭受DNS攻擊的特性等方面分析,提出將捕獲到的數據包進行過濾,并將過濾后數據信息通過K-means聚類算法分為不同類別,再用相應算法判定該類數據是否為DNS攻擊。
關鍵詞: DNS攻擊; 過濾; 聚類; K-means算法
中圖分類號:TP393.08 文獻標志碼:A 文章編號:1006-8228(2016)07-31-03
DNS attack detection based on clustering algorithm
Li Jian
(Communication University of Shanxi, Jinzhong, Shanxi 030619, China)
Abstract: DNS is the basis of Internet application. In order to ensure the normal parsing information between the hostname and IP address, the DNS using mapping methods. But DNS makes it the primary object of network attack because of its birth defects. In order to study the DNS attack detection methods, the article analyzes the characteristics of DNS attack from networks, proposes to filter the captured data packets, and divide these data into different categories by using K-means methods, and then whether the data is DNS attack is determined by the corresponding algorithm.
Key words: DNS attack; filter; clustering; K-means algorithm
0 引言
DNS實現IP地址與網絡域名之間的映射關系,是Internet重要的基礎設施,但DNS設計本身沒有完善的安全措施,使得其成為主要被攻擊對象。2010年1月百度域名NS記錄被伊朗網軍(Iranian Cyber Army)劫持,持續(xù)時間8小時,直接經濟損失700萬人民幣[1]。2013年8月CN域DNS受到DDOS攻擊,導致所有CN域名無法解析。2014年1月發(fā)生的全國DNS故障是大陸境內遭受最為嚴重的DNS攻擊事件,所有通用頂級域(.com/.net/.org)均遭到DNS污染[2]。
國內外很多學者針對DNS攻擊問題曾提出許多解決方案。1997年1月IETF域名安全工作組提出了DNS安全擴展協(xié)議[3],以此加強DNS基礎設施安全性。Fetzer[4]提出SSL協(xié)議改進DNS安全性,但SSL是面向連接的協(xié)議,以TCP協(xié)議為基礎,不適合DNS廣泛使用的UDP協(xié)議。除了對協(xié)議本身研究外,也有研究提出在現有基礎上改進安全方案,但大多方式是針對現有技術基礎上的服務器軟件升級、禁止相關功能等較為被動的方法,對DNS攻擊缺乏必要的解決方案,為解決此類問題,需對檢測和防御技術作深入研究。
1 DNS攻擊原理
DNS作為開放的協(xié)議體系,其上數據未加密,也沒有足夠的信息認證和保護措施,對基礎設施和主要設備的攻擊未能引起足夠重視。DNS系統(tǒng)在給全球用戶提供域名解析服務的同時也遭受到來自各方的攻擊和安全威脅,主要攻擊特征描述如表1所示。
由表1可知,大多針對DNS的攻擊都會導致源、目的IP、端口信息等產生異常。因此,可通過分析報頭信息來檢測其是否受到DNS的攻擊,分別選取報文5維屬性(源IP,目的IP,源端口,目的端口,報文長度)作為分析數據,一定時間間隔內(如5min)截取相關端口數據包,分別統(tǒng)計各維度數據,并依據統(tǒng)計數據做相關處理和檢測,以確定其是否受到DNS攻擊。具體異常檢測模型流程如圖1所示。
具體方法為:在一定時間間隔內(如5min)捕獲經過網絡端口的數據包并分別統(tǒng)計各維度數據;根據數據可信白名單進行過濾,分離出正常網絡流量數據;使用聚類算法對過濾出來的數據進行聚類,將數據分為不同類別;計算各聚類間的偏移程度,并將可疑聚類數據移入觀察區(qū)做進一步檢測確定其是否為DNS攻擊,為此提出系統(tǒng)異常評估因子的計算公式,根據系統(tǒng)閥值計算系統(tǒng)異常評估因子,并借此判定是否受到DNS攻擊。
2 數據包捕獲
捕獲全部經DNS服務器發(fā)往本機53端口的UDP請求數據包(TCP數據包不在此檢測范圍),并進行過濾分析。流經DNS域名解析服務器的網絡流量大、服務器負載大,捕包技術的選擇直接影響數據包捕獲效率,甚至可能產生丟包現象,直接影響異常檢測效果。因此,高效的捕包技術為后續(xù)準確、全面分析數據包提供保障。常用的較為流行的數據包捕獲技術有WinPcap技術、零拷貝技術等[5-6]。
WinPcap技術由伯克利分組捕獲庫派生而得,是在Windows 平臺上實現BPF 模型與Libpcap 函數庫結合的對底層包的捕獲、狀態(tài)分析的體系結構,此體系結構分別包含核心包過濾驅動程序、底層動態(tài)連接庫 Packet.dll及相對獨立于系統(tǒng)的Libpcap函數庫。
零拷貝(True Zero Copy)技術可描述為在某節(jié)點的報文收發(fā)過程中不出現內存間的拷貝,發(fā)送數據時數據包由用戶緩沖區(qū)經過網絡接口直接到達外部網絡,接收數據時由網絡接口直接將數據包送入用戶緩沖區(qū)的數據發(fā)送模式。
4 結束語
DNS協(xié)議設計缺陷與軟件漏洞使得對其攻擊難度降低,從而使其成為近年來主要網絡攻擊目標。本文在傳統(tǒng)的基于統(tǒng)計的誤用檢測方法上引入聚類分析的思想,將捕獲數據包分為不同的類別,提出異常評估因子計算方法,并以此判定是否受到DNS攻擊。該檢測方法對判定疑似數據信息是否為DNS攻擊有一定效果,但此算法效果在實際應用過程中受到系統(tǒng)參數取值的影響,如ξ、OF(ci)的取值直接影響最終結果。故后續(xù)還需在擴大檢測范圍、升級檢測模型方面做深入研究,同時也需在智能檢測方面做進一步探索,以期提高檢測效果和檢測效率。
參考文獻(References):
[1] 中關村在線.百度域名劫持案塵埃落定[DB/OL]. http://
digi.tech.qq.com/a/20101208/000768.htm.2010-12-08.
[2] 騰訊科技.全國范圍網絡故障事件一覽:DNS遭多次攻擊
[DB/OL].http://tech.qq.com/a/20140121/020779.htm,2014-01-24.
[3] Pappas V, Xu Z. Impact of configuration errors on DNS
robustness. In: Proc. of the ACM SIGCOM,2004:319-330
[4] Fetzer C, Pfeifer G, Jim T. Enhancing DNS Security using
the SSL Trust Infrastructure, In: 10th IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2005),2005:21-28
[5] 張顯,黎文偉.基于多核平臺的數據包捕獲方法性能評估[J].
計算機應用研究,2011.28(7):2632-2639
[6] 劉小威,陳蜀宇,盧堯等.零拷貝技術在網絡分析工具中的應
用[J].計算機系統(tǒng)應用,2012.21(4):169-173