
摘 要:本文首先介紹了分布式拒絕服務攻擊(DDoS)的實施原理,進而分析了DDoS攻擊對電子商務網站和DNS服務器的危害,最后提出了一種防御基于DNS放大DDoS攻擊的方案。
關鍵詞:分布式拒絕服務攻擊 DNS UDP 放大攻擊 反射攻擊
電子商務指的是利用簡單、快捷、低成本的電子通訊方式,買賣雙方不謀面地進行各種商貿活動。然而隨著網絡技術的發展,拒絕服務攻擊也越來越成為電子商務網站始終如揮之不去的夢魘。
一、分布式拒絕服務攻擊的實施原理
拒絕服務攻擊(DoS)一般可以被歸納為兩大類。第一種DoS攻擊主要是利用網絡協議漏洞、操作系統或應用軟件的缺陷來達到攻擊的目的,如比較有名的ping of death攻擊。第二種是攻擊者直接向目標機器發送大量精心偽造的數據包,其主要目標往往是目標系統中最稀缺的資源,如內存,CPU或者網絡帶寬等。此類型的拒絕服務攻擊一般被稱為泛洪(flooding)攻擊,如SYN-Flood 攻擊就是屬于此類攻擊。
二、分布式拒絕服務攻擊的危害性
拒絕服務攻擊威脅著因特網上所有類型的服務,DNS服務器也不例外。與DNS服務器相關的攻擊也可以分為兩種。第一種情況是以DNS服務器為攻擊目標,即攻擊者直接向DNS服務器發送大量的DNS查詢請求或其他無用的UDP流量進而影響DNS服務器的正常工作。防御這種蠻力攻擊的簡單有效的方法是使用Cluster集群技術進行負載平衡,這也是眾多世界級公司慣用的抵御DoS攻擊的措施。第二種DNS相關攻擊更為精巧和策略性,攻擊者往往利用DNS服務器來放大攻擊流量(也就是所謂的DNS放大攻擊或反射攻擊)。其基本原理是攻擊者發送一個 偽造的DNS詢問請求給DNS服務器,而這個DNS詢問請求的源地址被設置為目標地址(即被攻擊者地址)。由于DNS應答數據包的字節數遠大于DNS詢問數據包,故無形中攻擊流量被放大了。因此DNS放大攻擊會不但會耗盡被攻擊者的下行帶寬,也會消耗被利用DNS服務器的上行帶寬。由于攻擊流量會被放大,故一個攻擊者可以輕易的耗盡帶寬比自己大數倍的目標機器的帶寬。
三、DNS放大攻擊的防御措施研究
一個有效的防御方案的主要任務是在可承受的計算能力和內存消耗下,能區分出正常的DNS應答數據流量和攻擊流量。具體來說,正常情況下發送的DNS詢問請求數據包和收到的DNS應答數據包都是對應的(當然未必是一一對應,由于某些請求可能未得到回應,故請求數據包的數量一般大于應答數據包,但真實的應答數據包必然有相對應的詢問數據包),而當攻擊發生時被攻擊機器將會收到大量沒有相應發送請求記錄的應答數據包(我們可稱這些數據包為未配對數據包),這些數據包就可以被標志為可疑的數據包。
我們使用snort來監視進出機器的DNS詢問請求和應答數據包。同時我們使用PHP語言編寫了一個DNS放大攻擊檢測軟件DDAA(Detecting DNA Amplification Attacks)來實時處理我們捕獲到的數據并把這些信息存放到數據庫中,其中我們根據端口53來區分是否是DNS數據流量。其次我們可以把機器接收到的DNS應答數據包按照其特征可以被劃分為正常或可疑。
下圖顯示了我們提出的防御方案的總體架構。簡而言之,當DDAA引擎檢測到DNS數據包時先判定數據包是詢問請求包還是應答包(可根據源端口和目的端口來判定)。如果是詢問請求數據包,DDAA會把該包的信息寫入數據表,并供以后查詢。當確認是應答數據包后,DDAA會在數據庫表中尋找與之匹配的詢問請求數據包。如果未能在相應時間段內(如5秒內)查詢到與之匹配的請求數據包,則可判定該應答數據包為可疑數據包。當可疑數據包的數目超過一個閥值后,如下圖所示,DDAA將會產生一個警報信號并改寫防火墻的設置來阻塞來自該IP地址的所有數據。DDAA軟件中的所有參數設置(如閥值等)都可以根據系統管理員的安全策略而動態的變化。
為了評估本方案的識別攻擊的準確度,我們按照圖1架構了系統并模擬了攻擊。根據我們前面所述的場景,攻擊者偽造了DNS請求數據包并發送給本地DNS服務器,以便產生DoS攻擊。此場景下受害者可以是DNS服務器本身或者是其他網絡里的機器(只要DNS請求數據包里的源地址設為受害者地址即可)。當攻擊者的攻擊達到一定強度(即警報數超過一定閥值),DDAA會向防火墻發出信息,以阻塞該IP地址對系統的攻擊。一個指示防火墻阻塞IP地址 202.116.64.106的命令如下:
iptables-I RH-Firewall-1-INPUT-p udp-s 202.116.64.106-m-tate NEW-
m udp-sport 53-j REJECT
四、結束語
分布式拒絕服務攻擊(DDoS)嚴重威脅了電子商務網站的正常運作。本文中我們主要討論了基于DNS放大的DDoS攻擊的產生機理,并提出了一種新穎,有效和易實現的方法來減低此種攻擊對客戶機的危害。部署本方案可以較好的保護本地DNS服務器和主機,可以把攻擊帶來的損失降低到最小,從而提高了電子商務活動的安全性。
參考文獻:
[1]謝逸等.“新網絡環境下應用層DDoS攻擊的剖析與防御”.《電信科學》,2007年01期,89頁-93頁.
[2]李目海.“基于流量的分布式拒絕服務攻擊檢測”.華東師范大學,2010年博士論文.