




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、DoS的英文全稱是DenialofService,也就是“拒絕服務”的意思。廣義的DOS攻擊是指:“任何導致被攻擊的服務器不能正常提供服務的攻擊方式”。DoS攻擊和其他類型的攻擊不大一樣攻擊者并不是去尋找進入內部網絡的入口而是去阻止合法的用戶訪問資源或路由器。DOS攻擊的基本原理是設法使被攻擊服務器充斥大量要求回復的信息,消耗網絡帶寬或系統資源導致網絡或系統不勝負荷以至于癱瘓而寬或系統資源,導致網絡或系統不勝負荷以至于癱瘓而停止提供正常的網絡服務。DoS攻擊一般是采用一對一方式的,當被攻擊目標CPU速度低、內存小或者網絡帶寬小等等各項性能指標不高時攻擊的效果就更明顯。隨著計算機與網絡技術的發展
2、,計算機的處理能力迅速增長,內存大大增加,同時也出現了千兆級別的網絡,這些變化都使得目標計算機有足夠的資源來應付這些DoS攻擊報文,這使得DoS攻擊的困難程度加大,效果減小。在這種情況下,DDoS攻擊方法就應運而生,DDoS是英文DistributedDenialofService的縮寫,即“分布式拒絕服務”,它是一種基于DoS的特殊形式的拒絕服務攻擊。前面已經提到了,當今的計算機和網絡速度都普遍比較快,尤其是大型服務器和數據中心,那數據處理能力和網絡速度簡直令人嘆為觀止,因此傳統的基于一對一的DoS攻擊效果已不再那么明顯。于是,我們偉大的IT高手們秉承“辦法總比困難多”的勵志理念,汲取街頭打
3、架斗毆場景中的精髓,既然一個人打不過,那就來群毆。DDoS攻擊便是利用一批受控制的機器向一臺機器發起攻擊,這樣來勢迅猛的攻擊令,即使性能再高的服務器也無法應付,因此產生的破壞性極大。主要目標是較大的站點,像商業公司、搜索引擎和政府部門的站點。DDoS攻擊的4個組成部分:.攻擊者攻擊者所用的主機,也稱為攻擊主控臺.主控端攻擊者侵入并控制的一些主機,分別控制大量代理攻擊主機;3).代理攻擊端攻擊者侵入并控制的一批主機,其上面運行攻擊程序,接收和運行主控端發來的命令,代理攻擊端俗稱“肉雞”;.受害者被攻擊的目標主機。DDoS攻擊示意圖如下:代理攻擊端擊端主控端主控端七冃J受害者攻擊者代理政擊端代理攻
4、擊端擊端主控端主控端七冃J受害者攻擊者代理政擊端代理政擊端I&代理攻擊端主控端e上圖為DDoS直接攻擊方式,另外還有一種威力更大、更隱蔽的DDoS間接攻擊方式,其原理是攻擊者偽造源地址為受害者地址的SYN連接請求包發送給大量服務器,隨后,服務器群會向源IP(也就是受害者)發出大量的SYN+ACK或RST包來進行響應,大量服務器的響應數據包最終在受害者處匯集為洪水,使受害者網絡癱瘓,甚至死機,此攻擊方式隱蔽性非常強,受害方很難找到攻擊來源。其攻擊示意圖如下所示。攻擊者主控端代理攻擊端主控端代理攻擊端代理攻擊端d弋理攻擊端L代理攻擊端代理攻擊端攻擊者主控端代理攻擊端主控端代理攻擊端代理攻擊端d弋理
5、攻擊端L代理攻擊端代理攻擊端攻擊步驟1).搜集攻擊目標信息。包括目標主機的地址、配置、性能、帶寬等。并根據目標主機的相關參數設計合理的攻擊強度,做到知己知彼,百戰不殆;.占領傀儡機。攻擊者通過工具掃描互聯網上那些有漏洞的機器,隨后就是嘗試攻擊。攻擊成功后,就可以占領和控制被攻擊的主機,即“肉雞”。攻擊者可以利用FTP/TFTP等協議把DDoS攻擊用的程序上傳到“肉雞”中。“肉雞”包括主控端和代理端主機,其中一部分主機充當攻擊的主控端,一部分主機充當攻擊的代理端。不過,攻擊者如果想省事的話,可以直接從網絡上購買“肉雞”,一般是幾角錢一只,量多優惠。這些“肉雞”就是被黑客成功控制的計算機,并用于出
6、售目的。.實施攻擊。攻擊者登錄到作為控制臺的“肉雞”中,向所有做為代理端主機的“肉雞”發出命令,這時候埋伏在“肉雞”中的DDoS攻擊程序就會響應控制臺的命令,同時向受害主機以高速度發送大量的數據包,導致受害主機死機或是無法響應正常的請求。在DOS/DDOS原理及攻擊防御方法淺談(一)中我們已經了解了DOS/DDOS攻擊的原理及步驟,下面我們接著介紹DOS/DDOS的常用攻擊方法及防御手段。Dos攻擊種類有很多,主要有:IPSpoofing攻擊、Land攻擊、Smurf攻擊、Fraggle攻擊、WinNuke攻擊、SYNFlood攻擊、ICMPFlood攻擊、UDPFlood攻擊、ICMP-Re
7、direct攻擊及ICMP-Unreachable攻擊等。1).IPSpoofing攻擊IPSpoofing也叫IP欺騙,其原理是攻擊者機器A利用軟件構造一個虛假不存在的IP地址,并以此不存在地址為源IP地址向受害者機器B發送SYN報文,請求建立TCP/IP連接。目標機器B接收到這個SYN報文后,會將收到的SYN報文中的源IP地址提取出來,并將此IP作為目的IP,回復一個ACK/SYN確認報文給B,并等待接收來自B的確認報文。由于這個目的IP是攻擊者A偽造的,實際網絡中根本不存在,所以這個ACK/SYN確認報文也就無法到達,B也就不可能接收到它的確認報文。但是,根據TCP/IP協議規范,受害者
8、B必須一直等待接收A回復的確認報文,直到受害者B內部的定時器超時才放棄等待。這就是一次IPSpoofing攻擊,假如攻擊者A使用軟件以每秒幾百次幾千次乃至幾萬次的速度向同一個受害者B發送虛假SYN報文,那么受害者機器B上就會產生大量的TCP/IP半連接,并且都要等待這些半連接超時(在等待的時候要專心,不能干別的事情的,呵呵),從而使系統資源耗盡,不能及時響應正常的服務請求。如果攻擊者A控制幾百幾千臺乃至幾萬臺機器同時使用軟件分別以每秒幾百次幾千次乃至幾萬次的速度向同一個受害者B發送虛假SYN報文,這樣,受害者B所建立的TCP/IP半連接數量會呈指數上升,即使B的處理能力再強,網絡帶寬再寬,系統
9、也會在瞬間崩潰,這就是DDoS攻擊。為了大家更好的理解IPSpoofing攻擊方法,這里再補充介紹下TCP鏈接的建立過程。大家都知道,目前網絡中的絕大部分上層應用程序都是基于TCP協議的。TCP是TransmissionControlProtocol的縮寫,即傳輸控制協議。TCP是一種面向連接的高可靠性協議,它的建立過程包括三個過程,簡稱“三次握手”。如下圖所示。如上圖所示,客戶A想要從服務器B取得服務,首先需要向B發送一個SYN報文,請求建立TCP鏈接,這就是“第一次握手”。服務器B收到SYN報文后,會將SYN的源IP地址提取出來作為目的IP地址,回復一個SYN/ACK報文給客戶A,這就是“
10、第二次握手”??蛻鬉收到來自服務器B的SYN/ACK報文后,再將此報文的源IP地址提取出來作為目的IP地址,回復一個ACK確認報文給服務器B,這就是“第三次握手”。服務器B收到這個ACK報文后,立即啟動對客戶A的相應服務。上面介紹的IPSpoofing就是因為A偽造了自己的IP,使得“第二次握手”的SYN/ACK報文不能到達A,A也不會發ACK報文進行“第三次握手”,但是B卻一直在苦苦等待“第三次握手”報文ACK的到來。在網絡安全設備中,是通過如下方法來防御IPSpoofing攻擊的:檢測每個接口流入的IP報文的源IP地址和目的IP地址,并對報文的源IP地址反查路由表,如果該IP報文的的入接口
11、與以該地址為目的地址的最佳出接口不相同的話,則視為IPSpoofing攻擊報文,將禁止其通過,并進行攻擊日志記錄。.Land攻擊Land攻擊其實是IPSpoofing攻擊的一個變種。其原理是攻擊者機器A向受害者機器B發送一個偽造的SYN報文,此SYN報文的源IP地址和目的IP地址都被設成受害者機器B的IP地址,源端口號和目的端口號也相同。受害者機器B接收到此SYN報文后,提取報文的源IP地址(其實是B機器自己的IP地址),并將其作為目的IP地址發送一個SYN/ACK報文(其實是向它自己發送了一個SYN/ACK報文),結果這個地址又發回ACK確認報文,從而創建了一個空連接,每一個這樣的空連接都將
12、保留到內部定時器超時后才釋放,從而消耗掉大量的系統資源。對于Land攻擊,各種操作系統的反應也有所不同,UNIX系統將會崩潰,而NT系統將變的極其緩慢,時間大約持續五分鐘。在網絡安全設備中,是通過如下方法來防御Land攻擊的:檢測每個接口流入的IP報文的源IP地址和目的IP地址,阻止那些源IP地址落在所保護網絡IP地址段內的報文進入。但是,此方法也具有局限性,即不能防御那些從所保護網絡內部發起的Land攻擊。3).SYNFlood攻擊SYNFlood是當前最流行的DoS/與DDoS攻擊方式之一,其原理原理跟上面介紹過的IPSpoofing攻擊是一樣的,都是利用TCP協議的缺陷,偽造不存在的源I
13、P向受害者發送SYN報文,使得受害者機器建立大量TCP半連接,每個半連接差不多等待30秒2分鐘后才超時釋放。“Flood”的中文意思是“洪水”,顧名思義,SYNFlood攻擊時,無數偽造的SYN攻擊報文就像洪水一樣涌向受害者機器,如果受害者機器的TCP/IP棧不夠強大,最后的結果往往是堆棧溢出而使系統崩潰,即使其系統足夠強大,也會因忙于處理偽造的SYN報文而無法響應客戶的正常請求,此時從正常客戶的角度看來,服務器失去響應。針對SYNFlood攻擊,一種有效的防御方法是限制系統TCP半連接的數量,并且在TCP半連接超過一定數量后,在防火墻端啟動TCP代理功能。所謂TCP代理功能,就是在客戶發起T
14、CP連接時,防火墻不把SYN報文發給目標機器而是自己偽裝成目標機器對SYN報文做出SYN/ACK應答。.UDPFlood攻擊為了更好的介紹UDPFlood攻擊,我們先來看一下UDP協議與TCP協議的區別。TCP(TransmissionControlProtocol)是一種面向連接、可靠的字節流服務。當客戶和服務器彼此交換數據前,必須先在雙方之間建立一個TCP連接,之后才能傳輸數據OTCP提供超時重發,丟棄重復數據,檢驗數據,流量控制等功能,保證數據能從一端傳到另一端。UDP(UserDatagramProtocol,用戶數據報協議)是一個簡單的面向數據報的運輸層協議。UDP不提供可靠性,它只
15、是把應用程序傳給IP層的數據報發送出去,但是并不能保證它們能到達目的地。由于UDP在傳輸數據報前不用在客戶和服務器之間建立一個連接,且沒有超時重發等機制,故而傳輸速度很快。從專業的角度說,TCP的可靠保證,是它的三次握手機制,這一機制保證校驗了數據,保證了他的可靠性。而UDP就沒有了,所以不可靠。不過UDP的速度是TCP比不了的,而且UDP的反應速度更快,QQ就是用UDP協議傳輸的,HTTP是用TCP協議傳輸的。UDPFlood攻擊的原理是攻擊者機器A偽造一個并不存在的IP地址,并以此為源IP地址向受害者機器B發送一個UDP報文,B收到UDP報文后,發現上層沒有任何應用程序在等待UDP端口,于
16、是B就會生成一個ICMP報文發給該偽造的源IP地址,告訴對方剛才所發的UDP報文無法連接。如果A向B發送的足夠多的UPD報文,受害者B將忙于處理這些無用的UDP報文,造成系統資源耗盡,導致癱瘓。.ICMPFlood攻擊ICMP是InternetControlMessageProtocol的縮寫,即因特網控制消息協議的意思。ICMP協議是TCP/IP協議族的一個子協議,它是一種面向連接的網絡層協議,用于傳輸出錯報告控制信息,主要用于在主機與路由器之間傳遞控制信息,包括報告錯誤、交換受限控制和狀態信息等。當遇到IP數據無法訪問目標、IP路由器無法按當前的傳輸速率轉發數據包等情況時,會自動發送ICM
17、P消息。我們經常用來檢測網絡通不通的“Ping”命令就是使用ICMP協議。ICMPFlood攻擊的原理就在在較短時間內向受害者機器發送大量的ICMP請求報文,使受害者機器忙于向外發送ICMP應答報文,造成系統資源耗盡,導致癱瘓。在DOS/DDOS原理及攻擊防御方法淺談(二)中,我們已經介紹了IPSpoofing、Land、SYNFlood、UDPFlood、ICMPFlood五中常用的DOS/DDOS攻擊方法及防御手段,下面我們繼續介紹剩下的五中DOS/DDOS攻擊方法及防御手段。6).Smurf攻擊Smurf攻擊是以最初發動這種攻擊的程序名“Smurf”來命名的。同ICMPFlood攻擊一樣
18、,Smurf攻擊也是利用了ICMP協議的漏洞。其原理是攻擊者A向廣播地址發送ICMP請求廣播報文,不過該廣播報文的源IP地址不是攻擊者A本身,而是偽造成受害者B的IP地址,這樣,廣播域內所有收到該ICMP請求報文的機器都會給受害者B回復ICMP應答報文,因而產生大量的通信業務,從而導致受害者B的網絡擁塞及系統癱瘓。對于Smurf攻擊,廣播域內的機器數量越多,攻擊效果就越明顯。在網絡安全設備中,是通過如下方法來防御Smurf攻擊的:對通過設備的所有ICMP請求報文的目的地址進行檢查,如果是子網廣播地址或者子網的網絡地址,則認為是Smurf攻擊,直接拒絕通過。.Fraggle攻擊Fraggle攻擊
19、的原理與Smurf攻擊的原理類似,不過,Fraggle攻擊發送的是UDP報文而非ICMP報文。因為發送的是UDP報文,Fraggle攻擊可以穿過一些阻止ICMP報文進入的防火墻。Fraggle攻擊的原理是攻擊者A向廣播地址發送UDP報文,目的端口號為7(ECH0)或19(Chargen),報文的源IP地址偽裝成受害者B的IP地址。這樣,廣播域中所有啟用了此功能的計算機都會向受害者B發送回應報文,從而產生大量的流量,導致受害網絡的阻塞或受害主機崩潰。如果廣播域中的主機沒有啟動這些功能,這些主機將產生一個ICMP不可達消息發給B,仍然消耗帶寬。Fraggle攻擊時,也可將源端口改為端口19(Cha
20、rgen),目的端口為7(ECH0),這樣會自動不停地產生回應報文,其危害性更大。防御方法:關閉路由器或防火墻的廣播地址特性,并在防火墻上過濾掉UDP報文,阻止所有目的端口或源端口號為7或19的UDP報文通過。補充下計算機端口方便的知識,大家都知道通信網絡的上層應用程序都是通過端口號來識別傳輸層協議的,比如常用的HTTP協議就使用了80端口,用于郵件的SMTP協議使用的是25端口。比如某傳輸層報文的端口號標識位為“80”,那么計算機收到報文后一看端口號就知道該報文是給HTTP協議的,直接轉交給它處理。同樣的,TCP/UDP協議是IP的上層協議,IP可能會被系統中多個應用程序應用,如何來區分多個
21、應用程序呢?答案是TCP/UDP端口號。TCP和UDP的端口號的編號都是獨立的,都是065535。例如DNS,可以是TCP的53號端口,也可以是UDP的53號端口。端口號只具有本地意義,是拿來標識程序的。只有01023是公認的系統占用,其他在通信過程中是隨機生成,此次傳輸完成即撤消。在UDP的這些端口中,有兩個很特殊的端口7和19OUDP的7號端口收到報文后,會象ICMPEchoReply一樣回應收到的內容,而19號端口在收到報文后,會產生一串字符流。.WinNuke攻擊WinNuke攻擊是以最初發動這種攻擊的程序名“WinNuke”來命名的。其攻擊原理是利用了WINDOWS操作系統的一個漏洞
22、,向139端口發送一些攜帶TCP帶外(00B)數據報文,但這些攻擊報文與正常攜帶OOB數據報文不同的是,其指針字段與數據的實際位置不符,即存在重疊,WINDOWS操作系統在處理這些數據的時候,就會崩潰。還有一種是IGMP(InternetGroupManagementProtocol)分片報文,一般情況下,IGMP報文是不會分片的,所以,不少系統對IGMP分片報文的處理有問題。如果收到IGMP分片報文,則基本可判定受到了攻擊。NetBIOS作為一種基本的網絡資源訪問接口,廣泛的應用于文件共享,打印共享,進程間通信(IPC),以及不同操作系統之間的數據交換。一般情況下,NetBIOS是運行在LL
23、C2鏈路協議之上的,是一種基于組播的網絡訪問接口。為了在TCP/IP協議棧上實現NetBIOS,RFC規定了一系列交互標準,以及幾個常用的TCP/UDP端口,如下。.139:NetBIOS會話服務的TCP端口;.137:NetBIOS名字服務的UDP端口;.136:NetBIOS數據報服務的UDP端口。Windows操作系統實現了NetBIOSoverTCP/IP功能,并開放了139端口WinNuke攻擊就是利用了WINDOWS操作系統的一個漏洞,向這個139端口發送一些攜帶TCP帶外(00B)數據報文,但這些攻擊報文與正常攜帶00B數據報文不同的是,其指針字段與數據的實際位置不符,即存在重疊,WINDOWS操作系統在處理這些數據的時候,就會崩潰。還有一種是IGMP(InternetGroupManagementProtocol)分片報文,一般情況下,IGMP報文是不會分片的,所以,不少系統對IGMP分片報文的處理有問題。如果收到IGMP分片報文,則基本可判定受到了攻擊。補充下NetBIOS協議方面的知識
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購房意向合同
- 手房抵押按揭買賣合同
- 國外工程承包合同
- 政工程施工分包合同書
- 促銷場地租賃合同
- 幼兒園保安聘用合同
- 茶藝師(中級)練習試題及答案
- 廣告代理服務居間合同
- 餐飲長期訂購合同范本
- 鏟車的勞務合同范本
- 河南省文物保護單位名錄
- 包裝設計-超級全完整的課件
- 寫景作文ppt課件完美版
- mysql數據庫考試試題及答案
- 孕期免疫系統:如何增強免疫力
- 物流配送員勞動合同
- 同等學力申碩英語詞匯
- 軟件工程導論課件(第六版)(張海潘編著)(1-13章)
- 本科畢業設計-年產110萬噸氧化鋁石灰拜耳法溶出車間設計
- 2023-2024學年廣東廣州天河區明珠中英文學校數學三上期末聯考試題含答案
- 生態袋生態護坡工程施工方案【實用文檔】doc
評論
0/150
提交評論