999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DDoS攻擊原理及防御策略研究

2013-12-29 05:26:36左衛剛王耀紅
長春師范大學學報 2013年6期

左衛剛 ,王耀紅

DDoS(Distributed Denial of Service,分布式拒絕服務)攻擊是目前威脅網絡安全的重要因素之一,其主要目的是讓指定目標無法提供正常服務,甚至從互聯網上消失,是目前最強大、最難防御的攻擊之一。

1 DDoS攻擊原理分析

按照發起的方式,DDoS可以簡單分為三類。第一類以力取勝,海量數據包從互聯網的各個角落蜂擁而來,堵塞IDC入口。第二類以巧取勝,利用協議或者軟件的漏洞,每隔幾分鐘發一個包甚至只需要一個包,就可以讓高級配置的服務器不再響應,例如Slowloris攻擊、Hash沖突攻擊等。第三類是上述兩種的混合,既利用了協議、系統的缺陷,又具備了海量的流量,例如SYNFlood攻擊、DNSQuery Flood攻擊,是當前的主流攻擊方式。本文將一一描述這些最常見、最具代表性的攻擊方式,并介紹對它們的防御方案。

1.1 SYNFlood

SYNFlood是互聯網上最經典的DDoS攻擊方式之一,其攻擊利用了TCP三次握手的缺陷,能夠以較小代價使目標服務器無法響應。標準的TCP三次握手過程如下:(1)客戶端發送一個包含SYN標志的TCP報文,SYN即同步(Synchronize),同步報文會指明客戶端使用的端口以及TCP連接的初始序號;(2)服務器在收到客戶端的SYN報文后,將返回一個SYN+ACK(即確認Acknowledgement)的報文,表示客戶端的請求被接受,同時TCP初始序號自動加1;(3)客戶端也返回一個確認報文ACK給服務器端,同樣TCP序列號被加1。經過這三步,TCP連接就建立完成。TCP協議為了實現可靠傳輸,在三次握手的過程中設置了一些異常處理機制。第三步中如果服務器沒有收到客戶端的最終ACK確認報文,會一直處于SYN_RECV狀態,將客戶端IP加入等待列表,并重發第二步的SYN+ACK報文。另一方面,服務器在自己發出了SYN+ACK報文后,會預分配資源為即將建立的TCP連接儲存信息做準備,這個資源在等待重試期間一直被保留。而服務器資源有限,可以維護的SYN_RECV狀態超過極限后就不再接受新的SYN報文,也就是拒絕新的TCP連接建立。SYN Flood正是利用了上文中TCP協議的設定,達到攻擊的目的。

1.2 DNSQuery Flood

作為互聯網最基礎、最核心的服務,DNS自然也是DDoS攻擊的重要目標之一。DNSQuery Flood就是攻擊者操縱大量傀儡機器,對目標發起海量的域名查詢請求。消耗DNS服務器的CPU資源,解析無法正常響應。

1.3 HTTPFlood

HTTPFlood是針對Web服務在第七層協議發起的攻擊。HTTPFlood攻擊是通過端口掃描程序在互聯網上尋找匿名的HTTP代理或者SOCKS代理,攻擊者通過匿名代理對攻擊目標發起HTTP請求。這種攻擊會引起嚴重的連鎖反應,不僅是直接導致被攻擊的Web前端響應緩慢,還間接攻擊到后端的Java等業務層邏輯以及其后端的數據庫服務,增大它們的壓力,甚至對日志存儲服務器都帶來影響。

1.4 慢速連接攻擊

慢速連接攻擊以慢著稱,最具代表性的是Slowloris。HTTP協議規定,HTTPRequest以 結尾表示客戶端發送結束,服務端開始處理。Slowloris就是利用永遠不發送 來做DDoS攻擊的。攻擊者在HTTP請求頭中將Connection設置為Keep-Alive,要求WebServer保持TCP連接不要斷開,隨后緩慢地每隔幾分鐘發送一個key-value格式的數據到服務端,如a:b ,導致服務端認為HTTP頭部沒有接收完成而一直等待。如果攻擊者用多線程或者傀儡機來做同樣的操作,服務器的Web容器很快就被攻擊者占滿了TCP連接而不再接受新的請求。

1.5 P2P網絡攻擊

前面的攻擊方式,多多少少都需要一些傀儡機,即使是HTTPFlood也需要搜索大量的匿名代理。而來自P2P網絡的攻擊,只需要發出一些指令,就有機器自動上來執行。現如今,互聯網上的P2P用戶和流量都是一個極為龐大的數字。如果他們都去一個指定的地方下載數據,將成千上萬的真實IP地址連接過來,被攻擊網絡將會癱瘓。

2 DDoS攻擊對應的防御方案

談到DDoS防御,首先要知道到底遭受了多大的攻擊。以SYNFlood為例,為了提高發送效率在服務端產生更多的SYN等待隊列,攻擊程序在填充包頭時,IP首部和TCP首部都不填充可選的字段,因此IP首部長度恰好是20字節,TCP首部也是20字節,共40字節。

對于以太網來說,最小的包長度數據段必須達到46字節,而攻擊報文只有40字節,因此,網卡在發送時,會做一些處理,在TCP首部的末尾,填充6個0來滿足最小包的長度要求。這個時候,整個數據包的長度為14字節的以太網頭,20字節的IP頭,20字節的TCP頭,再加上因為最小包長度要求而填充的6個字節的0,一共是60字節。

但這還沒有結束。以太網在傳輸數據時,還有CRC檢驗的要求。網卡會在發送數據之前對數據包進行CRC檢驗,將4字節的CRC值附加到包頭的最后面。這個時候,數據包長度已不再是40字節,而是變成64字節了,這就是常說的SYN小包攻擊,數據包結構如下:

到64字節時,SYN數據包已經填充完成,準備開始傳輸了。攻擊數據包很小,遠遠不夠最大傳輸單元(MTU)的1500字節,因此不會被分片。以太網在傳輸時,還有前導碼(preamble)和幀間距(inter-frame gap)。其中前導碼占8字節(byte),即64比特位。前導碼前面的7字節都是10101010,1和0間隔而成。但第八個字節就變成了10101011,當主機監測到連續的兩個1時,就知道后面開始是數據了。在網絡傳輸時,數據的結構如下:

也就是說,一個本來只有40字節的SYN包,在網絡上傳輸時占的帶寬,其實是84字節。通過以上分析,可以計算攻擊流量和網絡設備的線速問題。當只填充IP頭和TCP頭的最小SYN包跑在以太網絡上時,100Mbit的網絡,能支持的最大PPS(Packet Per Second)是100×106/(8×(64+8+12))=148809,1000Mbit的網絡,能支持的最大PPS是1488090。

2.1 SYNFlood防御

前文描述過,SYN Flood攻擊大量消耗服務器的CPU、內存資源,并占滿SYN等待隊列。相應地,我們修改內核參數即可有效緩解。主要參數如下:

分別為啟用SYNCookie、設置SYN最大隊列長度以及設置SYN+ACK最大重試次數。SYNCookie的作用是緩解服務器資源壓力。啟用之前,服務器在接到SYN數據包后立即分配存儲空間,并隨機化一個數字作為SYN號發送SYN+ACK數據包。然后保存連接的狀態信息等待客戶端確認。啟用SYNCookie之后,服務器不再分配存儲空間,而且通過基于時間種子的隨機數算法設置一個SYN號,替代完全隨機的SYN號。發送完SYN+ACK確認報文之后,清空資源不保存任何狀態信息。直到服務器接到客戶端的最終ACK包,通過Cookie檢驗算法鑒定是否與發出去的SYN+ACK報文序列號匹配,匹配則通過完成握手,失敗則丟棄。

還有一種常見做法是TCP首包丟棄方案,利用TCP協議的重傳機制識別正常用戶和攻擊報文。當防御設備接到一個IP地址的SYN報文后,簡單比對該IP是否存在于白名單中,存在則轉發到后端。如不存在于白名單中,檢查是否是該IP在一定時間段內的首次SYN報文,不是則檢查是否重傳報文,是重傳則轉發并加入白名單,不是則丟棄并加入黑名單;是首次SYN報文則丟棄并等待一段時間以試圖接受該IP的SYN重傳報文,等待超時則判定為攻擊報文加入黑名單。

2.2 HTTPFlood防御

HTTPFlood攻擊防御主要通過緩存的方式進行,盡量由設備的緩存直接返回結果來保護后端業務。大型的互聯網企業,會有龐大的CDN節點緩存內容。HTTPFlood是由程序模擬HTTP請求,一般來說不會解析服務端返回數據,更不會解析JS之類代碼。當攻擊者穿透緩存時,清洗設備會截獲到HTTP請求,返回一段特殊JavaScript代碼,正常用戶的瀏覽器會處理并正常跳轉不影響使用,而攻擊程序會攻擊到空處。

2.3 DNSFlood防御

DNS攻擊防御也有類似HTTP的防御手段,第一方案是緩存。其次是重發,可以是直接丟棄DNS報文導致UDP層面的請求重發,可以是返回特殊響應強制要求客戶端使用TCP協議重發DNS查詢請求。特殊地,對于授權域DNS的保護,設備會在業務正常時期提取收到的DNS域名列表和ISPDNSIP列表備用,在攻擊時,非此列表的請求一律丟棄,大幅降低性能壓力。對于域名,實行同樣的域名白名單機制,非白名單中的域名解析請求,做丟棄處理。

2.4 慢速連接攻擊防御

Slowloris攻擊防御比較簡單,主要方案有兩個:第一個是統計每個TCP連接的時長并計算單位時間內通過的報文數量即可做精確識別。一個TCP連接中,HTTP報文太少和報文太多都是不正常的,過少可能是慢速連接攻擊,過多可能是使用HTTP1.1協議進行的HTTPFlood攻擊,在一個TCP連接中發送多個HTTP請求。第二個是限制HTTP頭部傳輸的最大許可時間。超過指定時間HTTPHeader還沒有傳輸完成,直接判定源IP地址為慢速連接攻擊,中斷連接并加入黑名單。

2.5 企業級防御

互聯網企業防御DDoS攻擊,主要使用上文的基礎防御手段,重點在于監控、組織以及流程。監控需要具備多層監控、縱深防御的概念,從骨干網絡、IDC入口網絡的BPS、PPS、協議分布,負載均衡層的VIP新建連接數、并發連接數、BPS、PPS到主機層的CPU狀態、TCP新建連接數狀態、TCP并發連接數狀態,到業務層的業務處理量、業務連通性等多個點部署監控系統。即使一個監控點失效,其他監控點也能夠及時給出報警信息。多個點信息結合,準確判斷被攻擊目標和攻擊手法。一旦發現異常,立即啟動在虛擬防御組織中的應急流程,防御組織需要囊括到足夠全面的人員,至少包含監控部門、運維部門、網絡部門、安全部門、客服部門、業務部門等,所有人員都需要2~3個備份。流程啟動后,除了人工處理,還應該包含一定的自動處理、半自動處理能力。例如自動化的攻擊分析,確定攻擊類型,自動化、半自動化的防御策略,在安全人員到位之前,最先發現攻擊的部門可以采取一些緩解措施。

除了DDoS到來之時的流程等工作之外,更多的工作是在攻擊到來之前。主要包含CDN節點部署、DNS設置、流程演習等。對于企業來說,具備多個CDN節點是DDoS防御容量的關鍵指標。當一個機房承擔不住海量數據時,可以通過DNS輪詢的方式,把流量引導到多個分布節點,使用防御設備分頭處理。因此,DNS的TTL值需要設置得足夠小,能夠快速切換,每個CDN節點的各種VIP設置也需要準備充分。

總之,在虛擬化時代,各種用戶的不同業務共處在相同的物理機平臺,遭受DDoS攻擊的可能性越來越高,而且一個用戶被攻擊可能牽扯到大量的其他用戶,危害被顯著放大,因此防御顯得尤為重要。對DDoS防御,除了以上介紹的幾種防御外,主要的工作是幕后積累。如果有充分的資源準備,有足夠的應急演練,有豐富的處理經驗,DDoS攻擊將不再是噩夢。

[1]鄭顯舉.分布式拒絕服務防御技術研究[J].計算機與數字工程,2011(7):109-112.

[2]廖鳳蘭.DDoS防御系統關鍵技術的研究[D].上海:上海交通大學,2007.

[3]池水明.DDoS攻擊防御技術的研究[J].信息網絡安全,2012(5):27-31.

[4](美)杜里格瑞斯.網絡安全:現狀與展望[M].北京:科學出版社,2010.

[5]張玉清.網絡攻擊與防御技術[M].北京:清華大學出版社,2011.

主站蜘蛛池模板: 久久伊人久久亚洲综合| 污网站免费在线观看| 18禁黄无遮挡免费动漫网站| 热re99久久精品国99热| 中国国产A一级毛片| 亚洲国产理论片在线播放| 暴力调教一区二区三区| 亚洲精品无码日韩国产不卡| 国产欧美亚洲精品第3页在线| 国产美女一级毛片| 亚洲av色吊丝无码| 国产熟女一级毛片| 五月激激激综合网色播免费| 欧美精品成人一区二区在线观看| 2022精品国偷自产免费观看| 中文无码精品A∨在线观看不卡| 婷婷激情亚洲| 激情无码字幕综合| 成人一区专区在线观看| a级毛片免费看| 一级毛片基地| 日韩欧美高清视频| 成人毛片免费在线观看| 青青操视频免费观看| 91成人免费观看| 婷五月综合| 国产一区二区三区日韩精品 | 亚洲最大福利网站| 色播五月婷婷| 在线观看免费AV网| 国产自在线播放| 国产成人精品一区二区秒拍1o| 无码国产伊人| 四虎亚洲精品| h视频在线播放| 久久精品国产亚洲AV忘忧草18| 欧美日韩中文字幕在线| 日韩美女福利视频| 成年片色大黄全免费网站久久| 日本道综合一本久久久88| 国产一级毛片网站| 亚洲无码熟妇人妻AV在线| 日本一本正道综合久久dvd| 免费在线一区| 伊人欧美在线| 制服丝袜无码每日更新| 久草网视频在线| 亚洲成a人片77777在线播放| 99久久无色码中文字幕| 91在线一9|永久视频在线| 亚洲国产成人麻豆精品| 久久人搡人人玩人妻精品一| 欧美国产日韩一区二区三区精品影视| 亚洲伊人天堂| 精品1区2区3区| 久久国产V一级毛多内射| 国产精品天干天干在线观看| 国产剧情一区二区| 欧美三级日韩三级| 一区二区三区国产精品视频| 精品国产电影久久九九| 亚洲国产系列| 亚洲一级毛片在线观播放| 国产无人区一区二区三区| 狠狠色噜噜狠狠狠狠色综合久| 亚洲欧美在线精品一区二区| 青青青国产视频| 99激情网| 欧美成人看片一区二区三区 | 久久久久青草大香线综合精品| 天天摸天天操免费播放小视频| 久久夜色精品国产嚕嚕亚洲av| 一区二区三区四区精品视频| 欧美第一页在线| 91小视频在线播放| 久久99国产乱子伦精品免| 免费人成黄页在线观看国产| 国产女同自拍视频| av无码久久精品| 91精品最新国内在线播放| 91外围女在线观看| 欧美不卡在线视频|