◆楊玉蘭
(江蘇聯(lián)合職業(yè)技術學院徐州醫(yī)藥分院基礎教學部 江蘇 221116)
DDoS攻擊行為特征分析及防御方法探究
◆楊玉蘭
(江蘇聯(lián)合職業(yè)技術學院徐州醫(yī)藥分院基礎教學部 江蘇 221116)
DDoS攻擊主要有大流量攻擊型和資源耗盡型兩大類,大流量攻擊型以SYN Flood攻擊和UDP/ICMP Flood攻擊為代表,資源耗盡型以HTTP GET攻擊和DNS Query攻擊為典型代表。每種攻擊行為都有其各自的特征和攻擊原理,深入分析其行為特征和攻擊原理,有針對性地采取正確有效系統(tǒng)的措施進行防御。
分布式拒絕服務攻擊;傀儡計算機;遠程計算機;特征分析;防御
DDoS攻擊即分布式拒絕服務攻擊,是黑客通過遠程控制大量分散在不同地域的“肉雞”(傀儡計算機)同時向遠程計算機(受害者)發(fā)送大量貌似合法的數(shù)據(jù)包,導致網絡阻塞或資源耗盡從而拒絕服務的攻擊行為,阻止了合法的計算機用戶正常的網絡資源的使用,嚴重威脅著網絡安全。
DDoS攻擊主要有兩種類型,一種是大流量攻擊型,通過發(fā)送大量攻擊包阻塞網絡帶寬,正常的用戶數(shù)據(jù)包無法到達主機;另外一種就是資源耗盡攻擊型,通過發(fā)送大量的攻擊包耗盡主機的內存或CPU等資源,使其無法響應正常的用戶服務請求。
1.1 大流量攻擊型
大流量攻擊不僅是使基礎網絡堵塞、帶寬占滿,無法保證正常的用戶流量通過,還會使得基礎網絡的安全設備、服務器主機等的CPU也因為超負荷而掛死,無法繼續(xù)提供服務。典型的大流量攻擊型有兩種:一種是有狀態(tài)協(xié)議報文攻擊型,以SYN Flood為代表;另一種就是無狀態(tài)協(xié)議報文攻擊,以UDP/ICMP Flood為代表。
(1)有狀態(tài)協(xié)議報文攻擊型
SYN Flood攻擊者精通TCP/IP協(xié)議的三次握手機制。服務器如果收不到第三次握手信號,就會等待一段時間,過期才會放棄。但是每臺設備的TCP/IP連接預留的內存緩沖區(qū)有限,等待響應的ACK數(shù)量就有限,該內存緩沖區(qū)一旦被占滿,就不會再響應后續(xù)的請求,即拒絕服務。攻擊者通過控制大量分散的“肉雞”(傀儡計算機)同時向受害機發(fā)送SYN報文,但不發(fā)送響應確認報文即第三次握手,導致受害機因收不到響應報文而保持等待,因這種等待太多(FLOOD)而導致服務器的連接內存緩沖區(qū)瞬間爆滿而阻塞,拒絕服務。
(2)無狀態(tài)協(xié)議報文攻擊型
UDP是用戶數(shù)據(jù)報協(xié)議,提供面向事務的信息傳送服務,用于處理數(shù)據(jù),不提供協(xié)調的握手機制,無法保證報文安全完整到達,是一種無連接狀態(tài)不可靠的通道傳輸協(xié)議,主要用來支持計算機間進行數(shù)據(jù)傳輸?shù)木W絡應用,如網絡游戲、語音視頻聊天、下載工具等。攻擊者只要偽造大量IP地址和小字節(jié)的UDP報文或控制“肉機”針對具體的應用服務器及其端口進行發(fā)送沖擊,就會使得目標服務器一直處于繁忙狀態(tài),無法響應處理正常的UDP數(shù)據(jù)。
ICMP是網絡控制消息協(xié)議,用于主機與路由器間的控制消息傳送,比如Ping命令、Tracert命令等。主機對這些命令的處理是要有一定時間的,而且對數(shù)據(jù)包的大小也有限制,不能超過64KB。ICMP攻擊手段多樣,一種是攻擊者向目標主機發(fā)起“ICMP風暴”攻擊,即大量連續(xù)長時間地向主機發(fā)送ICMP數(shù)據(jù)報,主機的CPU就會被耗盡癱瘓,無法響應正常的ICMP報文。第二種是攻擊者向目標主機大量發(fā)送超過64KB的ICMP報文,主機就會因無法分配內存而導致內存緩沖區(qū)崩潰死機。第三種是攻擊者仿造一個合法的IP,利用路由器具有向許多計算機同時廣播請求的功能,控制大量的路由器同時廣播請求受害者主機作出回答請求,導致網絡中所有計算機都對此ICMP作出回答而使得網絡阻塞癱瘓。
1.2 應用資源耗盡型攻擊
針對應用層資源的攻擊以HTTP GET攻擊和DNS Query攻擊為典型代表,此類攻擊不依大規(guī)模流量取勝,而是用小流量攻擊來耗盡受害者主機的應用資源導致拒絕服務。
1.2.1 HTTP GET攻擊
瀏覽器中HTTP訪問服務器資源默認的都是以GET提交,主機在資源數(shù)據(jù)庫中查詢信息要有一定的時間,大型數(shù)據(jù)庫的查詢時間就更長。攻擊者可以很容易地和受害機服務器建立正常的連接并不斷向其高頻率發(fā)送合法的HTTP GET請求,進行賬戶的注冊、數(shù)據(jù)的查詢、刷新等合法操作來消耗服務器的資源,導致服務器忙于響應這些請求而消耗100%的CPU,無法響應其它的服務請求?;蛘哂么矸掌饕缘吐B接形式如“slow header”、“slow post”等占用大量服務器資源導致資源耗盡。
1.2.2 DNS Query攻擊
DNS子服務器和DNS根服務器中建立了域名和IP地址的映射表,并負責解析查詢(Query)。一次簡單的DNS Query只需在本地域名子服務器上就能完成,復雜或陌生的域名查詢,則會在本地域名子服務器、根服務器、其它域名服務器不斷地進行遞歸查詢,會消耗大量的CPU 資源。DNS Query攻擊就是仿制大量的IP地址或控制大量的肉機發(fā)起大量的DNS Query請求,使DNS服務器的資源被100%消耗,無法響應正常的域名查詢?;蛘甙l(fā)送非法的DNS Query報文,引起域名服務器不斷進行遞歸查查詢導致DNS服務器系統(tǒng)癱瘓,用小流量達到攻擊的目的。
掌握了常見DDoS攻擊行為的原理及特征,就可以針對不同的入侵行為,采取正確有效系統(tǒng)的措施進行針對性的防御。
2.1 有狀態(tài)協(xié)議報文攻擊的防御
防火墻處于服務器和客戶機之間,起到保護內部網絡的作用,可以防御SYN Flood攻擊。根據(jù)對防火墻的不同設置,可分為SYN網關、被動式SYN網關和SYN中繼三種防護方式。
SYN網關式是讓防火墻起到SYN網關的作用。防火墻不僅向服務器轉發(fā)客戶端的SYN包,向客戶端轉發(fā)服務器的ACK包,還要向服務器返回一個以客戶端身份發(fā)出的ACK包,即替客戶機完成TCP協(xié)議的第三次握手,使半連接變?yōu)檫B接。若客戶端真的發(fā)回有數(shù)據(jù)的ACK包,防火墻就轉發(fā)給服務器,反之就丟棄。
被動式SYN網關式是讓防火墻起到SYN網關作用的同時,大大減小防火墻的SYN請求超時時間參數(shù),讓防火墻提前判定客戶端ACK超時,給服務器發(fā)送RST包,刪除等候隊列中的半連接,釋放緩存空間。
SYN中繼式是讓防火墻不向服務器轉發(fā)客戶端的SYN包,而是做登記后代替服務器給客戶端返回ACK包完成二次握手,如果收到客戶端返回的第三次握手ACK包,防火墻才向服務器發(fā)送連接SYN。防火墻在客戶端和服務器端起到中繼器的作用,過濾掉半連接,預防攻擊。
2.2 無狀態(tài)協(xié)議報文攻擊的防御
UDP協(xié)議是無連接的,無法探測來源。最簡單的防御方法就是用防火墻的限流,限制UDP報文在一定的帶寬范圍?;咀龇ㄓ校夯谀康腎P地址的限流、基于目的安全區(qū)域的限流和 基于會話的限流。限流方式以簡單的超量就丟棄的粗暴方法可以緩解帶寬的壓力,但對正常的需求也直接拋棄了。黑客的攻擊包內容大都相同或相似,專業(yè)的防火墻具有指紋學習功能,可以對相同或相似的攻擊包進行判定過濾。
對于ICMP協(xié)議攻擊的防御,一種方法是限定ICMP數(shù)據(jù)包占用帶寬,即使發(fā)生攻擊,對網絡的影響也有限。第二種方法是在系統(tǒng)中設置ICMP數(shù)據(jù)包的過濾,一般是拒絕所有的ICMP包。第三種方法是設置防火墻,啟動“ICMP過濾”功能,防止被“PING”。
2.3 HTTP GET攻擊的防御
對于頻繁發(fā)送合法的用于查詢獲取資源信息的HTTP GET攻擊,有主動防御和被動防御兩種方式。主動防御式是根據(jù)實際情況,限定每個IP可以建立的最大連接數(shù)和每秒可以建立的連接數(shù)。被動防御式一是在發(fā)現(xiàn)攻擊時通過腳本列舉所有的連接,篩選出其中連接數(shù)最大的IP地址,將其封殺,禁止其訪問。采取、屏蔽請求等方法。二是根據(jù)攻擊發(fā)起時的請求包基本相同而且有異于正常,所以在發(fā)生攻擊時可以快速查看日志、分析其請求的特征,對于特征相同的連接將其屏蔽,拒絕訪問。
而對于“l(fā)ow and slow”式的攻擊,其連接數(shù)量少、特征正常,則可以對Apache 進行優(yōu)化處理,一方面通過mod_reqtimeout為header 和 body設置合適的發(fā)送頻率和發(fā)送時間,另一方面通過設置mod_qos的多個參數(shù)來控制客戶端最大的IP數(shù)以及每個IP的最大連接數(shù)等,還可以通過 MaxClients增加最大的連接數(shù)。當然,也可以額外安裝mod_security模塊,給網頁應用再提供一個外部安全層,如檢測某個IP每分鐘的連接數(shù),超過則全部丟棄等,可以有效的抵御攻擊。
2.4 DNS Query攻擊的防御
DNS Query攻擊首先是一種UDP攻擊,故可以采取限流,但最佳的辦法就是利用防火墻的指紋學習功能,根據(jù)域名IP的指紋學習結果主動回應,既減輕服務器的查詢負擔,又提高查詢速度。對于驟然發(fā)生的巨量低頻度的域名解析請求,可以果斷封殺此IP地址,同時降低發(fā)起域名解析請求較低的IP地址的響應優(yōu)先級。也可以設置防火墻限定每個IP地址每秒鐘域名解析請求的次數(shù)。
每種DDoS攻擊都有其獨特的特征和攻擊原理,只要深入分析把握,破解和防御DDoS攻擊并非難事。但是,道高一尺,魔高一丈,不斷涌現(xiàn)的新的DDoS攻擊或變種,還需要專業(yè)技術人員繼續(xù)分析,不斷提供新的軟件、硬件及方法來防御或破解。
[1]杜曄,張大偉.網絡攻防技術教程(第2版) [M].武漢:武漢大學出版社,2012.
[2]張婭婷.DDoS防御技術綜述[J].長沙鐵道學院學報(社會科學版),2007.
[3]池水明.DDoS攻擊防御技術研究[J].信息網絡安全,2012.