1.36k likes | 1.61k Views
Module 6 :DDoS攻擊與防禦. 學習目的. 分散式阻斷服務攻擊 (Distributed Denial of Service) 為目前駭客對商業服務主要的攻擊方式之一,容易造成被攻擊之服務提供者嚴重的商業利益損失,且難以防禦和追查來源 本單維共有七個小節包括 (1) DDoS 的起源與定義 (2) DDoS 的原理 (3) DDoS 的攻擊類型 (4) DDoS 的防禦 (5) DDoS 工具介紹 (6) DDoS 的實務 (7) DDoS 的專案實作 共需三個鐘點. Module 6 : DDoS 攻擊與防禦演練實習.
E N D
學習目的 • 分散式阻斷服務攻擊(Distributed Denial of Service)為目前駭客對商業服務主要的攻擊方式之一,容易造成被攻擊之服務提供者嚴重的商業利益損失,且難以防禦和追查來源 • 本單維共有七個小節包括 (1) DDoS的起源與定義 (2) DDoS的原理 (3) DDoS的攻擊類型 (4) DDoS的防禦 (5) DDoS工具介紹 (6) DDoS的實務 (7) DDoS的專案實作 共需三個鐘點
Module 6:DDoS攻擊與防禦演練實習 • Module 6-1: DDoS的起源與定義(*) • Module 6-2: DDoS的原理(*) • Module 6-3: DDoS的攻擊類型(*) • Module 6-4: DDoS的防禦(**) • Module 6-5: DDoS工具介紹(*) • Module 6-6: DDoS的實務 (**) • Module 6-7: DDoS的專案實作(**) * 初級(basic):基礎性教材內容 **中級(moderate):教師依據學生的吸收情況,選擇性介紹本節的內容 ***高級(advanced):適用於深入研究的內容
隨著網際網路商業服務的增加,分散式阻斷服務攻擊(Distributed Denial of Service)事件越來越多,探究其原因乃出於商業競爭、對手報復及網路敲詐等多種因素 隨網路多種DDoS駭客工具的散佈,實施攻擊困難度降低,DDoS攻擊事件亦隨之上升 DoS攻擊的出現最初是在1996~97年之間,此時美國的資訊雜誌上已流傳著簡單的DoS攻擊工具 DDoS起源 ICMP DoS攻擊之原理與防禦方法 資料來源:http://www.iii.org.tw/adc/papers/thesis/00B02.htm
DDoS定義 • 阻斷服務攻擊可區分為 • 阻斷服務攻擊(Denial of Service, DoS)為一導致電腦無法進行網路活動的網路攻擊行為,其會造成使用者無法進行連線 • 分散式阻斷服務攻擊(Distributed Denial of Service, DDoS) 為駭客操控大量殭屍電腦(Zombies)同時進行DoS攻擊,以達到用戶無法使用網路服務的目標
DDoS和DoS的差異 DoS攻擊是透過攻擊主機的特定漏洞,造成網路功能異常、系統當機且無法提供正常的網路服務,形成阻斷服務攻擊 DDoS攻擊是透過多台被駭客控制之“殭屍主機(Zombies)”,向受害主機進行DoS攻擊,進而造成其網路阻塞或伺服器資源耗盡以致阻斷服務 DDoS定義 (續)
DDoS危害 實施阻斷服務攻擊時,大量攻擊網路封包猶如洪水般向受害主機發送,導致合法用戶的網路連線切斷,故阻斷服務攻擊也被稱為“洪水式攻擊(Flood Attacks)” 就兩種阻斷服務攻擊而言,危害較大的是DDoS攻擊,因其與一般使用者之正常行為類似,故較難防範;至於DoS攻擊,透過將主機伺服器漏洞進行修補或安裝防火牆軟體即可有效達到防護目的
DDoS網路攻擊之結果為商業損失、法律糾紛及客戶投訴,因此,解決DDoS攻擊問題成為網路服務供應商(Internet Service Provider, ISP)首要任務 最新發展─資安研究專家預測,駭客集團利用合法雲端運算服務的犯罪將會越來越多,例如亞馬遜的Elastic Computing Cloud(EC2)服務和Google的App Engine 將企業內部的服務或應用程式資源移到雲端後,防禦工作從企業內部轉嫁給雲端運算供應商,資安威脅仍然存在 DDoS危害(續)
雲端運算之基礎設施即服務(Infrastructure as a Service, IaaS)面對DDoS攻擊手法,駭客利用大量殭屍電腦同時攻擊,來達到妨礙正常雲端服務使用者使用的目的 駭客預先入侵大量主機以後,在被害主機上安裝DDoS攻擊程式控制被害主機,再對攻擊目標展開攻擊,利用這樣的方式可以迅速產生極大的網路流量、癱瘓攻擊目標 Amazon提供的EC2服務於2009年12月就遭受過以Zeus botnet 為基礎之DDoS攻擊 DDoS危害(續) 6-10
阻斷服務攻擊 DoS攻擊大部分採用一對一攻擊;當受攻擊之目標其資源不足時(例:CPU執行速度低、記憶體過小或網路頻寬過小等),攻擊成效更為明顯 隨著電腦與網路技術的發展,電腦的處理能力迅速增長,記憶體增大,網路頻寬也越來越大,這使得DoS攻擊的困難度增加 若利用特定弱點所造成之DoS,通常只要將該弱點修復,便能有效阻擋該種DoS攻擊
DDoS攻擊利用被攻擊者入侵控制之殭屍主機(Zombies)發起攻擊,以更大的規模來進攻目標DDoS攻擊利用被攻擊者入侵控制之殭屍主機(Zombies)發起攻擊,以更大的規模來進攻目標 其手法特色是必須先入侵一定數量的殭屍主機並植入跳板程式;攻擊發動時,駭客自遠端操控攻擊 高速網路對攻擊者而言是極為有利的條件,攻擊者欲佔領攻擊用的殭屍主機時,會優先考慮離目標網路距離近的主機。因為經過路由器的跳躍數(Hops) 少,攻擊效果較佳 分散式阻斷服務攻擊
分散式阻斷服務攻擊 (續) DDoS攻擊示意圖
被DDoS攻擊時,目標主機的現象 有大量等待中的TCP連線要求 網路中充斥著大量無用的資料封包 由於網路阻塞,受害主機無法與外界網路正常通訊 如目標主機提供之服務或傳輸協定有漏洞時,會收到大量服務請求,造成正常連線請求無法獲得回應 系統可能會當機 分散式阻斷服務攻擊 (續)
分散式阻斷服務攻擊 (續) 受害主機之CPU loading
分散式阻斷服務攻擊 (續) 受害主機之網路使用率
分散式阻斷服務攻擊 (續) 受害主機未遭受攻擊時
分散式阻斷服務攻擊 (續) 受害主機之當機現象
DDoS攻擊程式的分類,可依照自動化程度分為手動、半自動及自動攻擊三種DDoS攻擊程式的分類,可依照自動化程度分為手動、半自動及自動攻擊三種 手動攻擊:早期的DDoS攻擊程式多半屬之,駭客手動尋找可入侵的電腦,入侵並植入攻擊程式後再下指令攻擊目標 半自動攻擊:使用專門的程式控制攻擊用的殭屍主機。駭客散佈自動化的入侵工具入侵殭屍主機,然後使用專門程式控制所有殭屍主機,針對目標發動DDoS攻擊 DDoS的攻擊類型
自動攻擊:更進一步自動化整個攻擊步驟,將攻擊的目標、時間及方式都事先寫在攻擊程式裡,當駭客散佈攻擊程式後便自動掃描可入侵的主機,植入攻擊程式後,在預定的時間對指定目標發動攻擊,如W32/Blaster蠕蟲即屬於此類自動攻擊:更進一步自動化整個攻擊步驟,將攻擊的目標、時間及方式都事先寫在攻擊程式裡,當駭客散佈攻擊程式後便自動掃描可入侵的主機,植入攻擊程式後,在預定的時間對指定目標發動攻擊,如W32/Blaster蠕蟲即屬於此類 DDoS的攻擊類型 (續) 顯揚資訊有限公司--知識庫--DDoS分散式阻斷服務(DistributedDenialofService) 資料來源:http://www.hsienyang.com/knowledge/?page=2
DDoS的攻擊類型 (續) • DDoS攻擊手段依照「網路協定」與「連線方式」可分為8種,以下簡介其中較常見的三種攻擊 • TCP Flood • ICMP Flood • UDP Flood • ACK Flood • SYN Flood • Connections Flood • Script Flood • Proxy Flood
大量發送正常或異常的TCP網路封包,造成被攻擊主機其網路超出負荷無法處理,導致該主機所提供之網路服務停止運作大量發送正常或異常的TCP網路封包,造成被攻擊主機其網路超出負荷無法處理,導致該主機所提供之網路服務停止運作 TCP Flood攻擊主要有三種實作攻擊模式,分別為 Land攻擊 Teardrop攻擊 TCP SYN Flood攻擊 TCP Flood攻擊
Land攻擊 為一種使用攻擊者發送一來源端和目的端相同的網路位址之TCP同步請求連線至目標電腦,造成無窮迴路的連線逾時(Timeout) 重覆傳送將耗去許多系統資源,進而造成被攻擊端電腦當機 TCP Flood攻擊 (續)
Teardrop攻擊 為利用TCP網路封包分割、重組間的弱點之攻擊 正常的TCP網路傳輸,封包片段(Fragment)是一個以互相連續且不重疊的方式,依序傳入目標主機,並將其重新組合 若有心人刻意以不規則的正常封包序列,將造成某些作業系統對不正常封包進行偵測及處理,嚴重時系統甚至會當機或網路暫停連線服務 TCP Flood攻擊 (續)
TCP SYN Flood攻擊 運用程式假冒IP大量發送TCP同步連線至攻擊目標,但卻不回覆確認(Acknowledgment)訊號 ,造成空連線或逾時耗去系統資源 當作業系統未針對此弱點進行修補,此攻擊中的大量TCP連線將消耗用來記錄連線(Session)的記憶空間,最後造成系統當機或超載(Overloading) TCP Flood攻擊 (續)
TCP Flood攻擊 (續) TCP Flood攻擊
ICMP Flood攻擊 ICMP Flood攻擊是指短時間內對目標主機傳送大量的ICMP封包,造成目標主機資源耗盡 ICMP DoS攻擊可分為Ping of Death與Smurf二種主要攻擊方式 Ping of Death攻擊利用指令「Ping 」,將超過65535 bytes的Ping封包送到攻擊目標 假如主機系統(TCP/IP Stack) ,未對連線封包進行控管,當接收到此類封包,將產生封包無法處理,網路連線發生錯誤的問題,最後造成系統當機或重開機的現象
Smurf攻擊是攻擊者向路由器(Router)發送廣播的ICMP封包,造成該區域網路充滿廣播封包,而影響網路連線或中斷服務Smurf攻擊是攻擊者向路由器(Router)發送廣播的ICMP封包,造成該區域網路充滿廣播封包,而影響網路連線或中斷服務 Smurf會以程式大量製作假冒IP的ICMP Request封包,針對攻擊位址進行廣播,然後廣播位址會回傳ICMP Response封包給目標電腦,造成網路連線變慢或中斷服務 除了攻擊特定目標主機,網路Smurf的攻擊方式也能以雙向攻擊-ICMP的Request封包與Response封包,增加網路攻擊量,迅速造成網路中斷,此種方式常被稱為Smurf倍增型攻擊 ICMP Flood攻擊 (續)
ICMP Flood攻擊 (續) ICMP Flood攻擊
UDP Flood攻擊 透過UDP協定送出假冒IP來源端之資訊的廣播封包至目標網路,造成網路壅塞進而中止服務 當目的網路中有多台主機回應,便可造成網路的壅塞 UDP是一種不需建立連接(Connectionless)的協定,而且它不需要用任何程式建立連接來管制傳輸資料,故很難以單一網路設備進行有效控管
DDoS攻擊的防禦 • 網路防護 • 通信埠檢測- CurrPorts:使用免費之主機之通信阜之檢測工具,觀察通信阜之開啟是否有異常、本機開啟那個連接埠?在遠端開啟什麼連接埠?使用CurrPorts讓使用者一目了然,可作為在電腦簡易判斷是否被植入木馬 • 基本防護-防火牆:以連線過濾的技術,過濾對外開放的port
DDoS攻擊的防禦 (續) • 進階防護-入侵防護系統(IPS):以封包過濾的技術,過濾對外開放的port。可防止假冒位址的攻擊,使得外部機器無法假冒內部機器的位址來對內部機器發動攻擊
DDoS攻擊的防禦 (續) 以CurrPorts觀察主機之通信埠開啟是否有異常 6-36
DDoS攻擊的防禦 (續) 針對可疑或異常通信埠進行檢視及關閉連線 將CurrPorts設定為電腦啟動便自動執行 6-37
DDoS攻擊的防禦 (續) • 進階防護 - 路由器:運用存取控制表(Access Control List, ACL) 過濾連線IP,針對SYN封包與網路流量進行控管、並將路由器升級至最新版本 • 主機防護 • 關閉不必要的網路服務 • 系統修補(Patch) • 定期執行系統弱點掃描(Vulnerabilities Scan) • 防毒軟體
DDoS攻擊的防禦 (續) 關閉不必要的網路服務 6-39
DDoS攻擊的防禦 (續) 排除異常連線的網站 6-40
DDoS攻擊的防禦 (續) 定期執行系統更新與修補 6-41
DDoS攻擊的防禦 (續) 定期執行系統掃描 6-42
DDoS攻擊的防禦 (續) 注意網路最新的威脅並將設定為掃瞄的對象 6-43
DDoS攻擊之檢測:NMAP NMAP全名是Network Mapper,是一個網路應用程式,由Fyodor Vaskovich於1997年所開發的一套開放原始碼軟體,可以檢測本機或網路遠端主機的安全性弱點、提供網路服務、主機作業系統、封包過濾器及防火牆種類等等資訊,作為安全性的監控工具 NMAP亦可掃描指定的網路位址或某個網段,對內部網路進行掃描內網主機是否有開啟不正常的通信埠
DDoS攻擊之檢測:NMAP (續) • NMAP的支援功能 • Vanilla TCP connect() scanning • TCP SYN (half open) scanning • TCP FIN, Xmas, or NULL (stealth) scanning • TCP ftp proxy (bounce attack) scanning • SYN/FIN scanning using IP fragments (bypasses some packet filters) • TCP ACK and Window scanning • UDP raw ICMP port unreachable scanning
DDoS攻擊之檢測:NMAP (續) • NMAP的支援功能 • ICMP scanning(ping-sweep) • TCP Ping scanning • Direct (non portmapper) RPC scanning • Remote OS Identification by TCP/IP Fingerprinting • Reverse-ident scanning
DDoS網路防禦:防火牆 • 防火牆通常用於保護內部網路不受外部網路的非授權連線;它位於客戶端和伺服器之間,因此利用防火牆來阻止DDoS攻擊,可有效地保護內部的伺服器 • 以SYN Flood為例,針對SYN Flood,防火牆通常有三種防護方式 • SYN閘道 • 被動式SYN閘道 • SYN中繼
DDoS網路防禦:防火牆 (續) • SYN閘道 • 將防火牆當作閘道(Gateway) ,當收到用戶端的SYN封包時,直接轉發給伺服器 • 防火牆收到伺服器的SYN/ACK封包後,一方面將SYN/ACK封包轉發給用戶端,另一方面以代理用戶身份回送ACK封包給伺服器,完成TCP三向交握(Three-Way Handshake) • 當用戶端真正的ACK封包到達時,檢查若封包有資料則轉發給伺服器,否則丟棄(Drop)該封包
DDoS網路防禦:防火牆 (續) • 被動式SYN閘道 • 將防火牆用做閘道(Gateway)或代理伺服器(Proxy),設置防火牆的SYN請求超時參數(Commtimeouts) ,讓它遠小於伺服器的超時期限(Expired Timing) • 與SYN閘道作用相同,防火牆將轉發客戶端傳送至伺服器的SYN封包,伺服器傳送客戶端的YN/ACK封包、以及客戶端傳送伺服器的ACK封包 • 如果客戶端在防火牆計時器到期時,還沒回傳ACK封包,則防火牆即代伺服器發送RST封包,使伺服器完成TCP三向交握(Three-Way Handshake)
DDoS網路防禦:防火牆 (續) 防火牆防止DDoS SYN Flood原理 資料來源:http://www.bingdun.com/dDoStech/778.htm • SYN中繼防火牆 • 防火牆作為完整的代理伺服器(Proxy) ,可完全過濾對伺服器發出之無效連線 • 在收到客戶端的SYN封包後,並不向伺服器轉發,而是記錄該狀態資訊,然後主動給用戶端回送SYN/ACK封包 • 如果收到客戶端的ACK封包,視為是合法連線,由防火牆向伺服器發送SYN封包並完成三向交握