




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 拒絕服務攻擊與防御技術張玉清國家計算機網絡入侵防范中心62022/7/18網絡入侵與防范講義2本章內容安排6.1 拒絕服務攻擊概述6.2 典型拒絕服務攻擊技術 6.3 分布式拒絕服務攻擊 6.4 拒絕服務攻擊的防御6.5 分布式拒絕服務攻擊的防御6.6 小結 2022/7/18網絡入侵與防范講義36.1 拒絕服務攻擊概述6.1.1 拒絕服務攻擊的概念6.1.2 拒絕服務攻擊的類型2022/7/18網絡入侵與防范講義46.1.1 拒絕服務攻擊的概念拒絕服務( Denial of Service,簡稱DoS),是一種簡單的破壞性攻擊,通常是利用傳輸協議中的某個弱點、系統存在的漏洞、或服務的
2、漏洞,對目標系統發起大規模的進攻,用超出目標處理能力的海量數據包消耗可用系統資源、帶寬資源等,或造成程序緩沖區溢出錯誤,致使其無法處理合法用戶的正常請求,無法提供正常服務,最終致使網絡服務癱瘓,甚至系統死機。簡單的說,拒絕服務攻擊就是讓攻擊目標癱瘓的一種“損人不利己”的攻擊手段。 2022/7/18網絡入侵與防范講義56.1.1 拒絕服務攻擊的概念歷史上最著名的拒絕服務攻擊服務恐怕要數Morris蠕蟲事件,1988年11月,全球眾多連在因特網上的計算機在數小時內無法正常工作,這次事件中遭受攻擊的包括個計算機中心和12個地區結點,連接著政府、大學、研究所和擁有政府合同的25萬臺計算機。這次病毒事
3、件,使計算機系統直接經濟損失達9600萬美元。許多知名網站如Yahoo、eBay、CNN、百度、新浪等都曾遭受過DoS攻擊。 2022/7/18網絡入侵與防范講義66.1.1 拒絕服務攻擊的概念拒絕服務攻擊可能是蓄意的,也可能是偶然的。當未被授權的用戶過量使用資源時,攻擊是蓄意的;當合法用戶無意地操作而使得資源不可用時,則是偶然的。應該對兩種拒絕服務攻擊都采取預防措施。但是拒絕服務攻擊問題也一直得不到合理的解決,究其原因是因為這是由于網絡協議本身的安全缺陷造成的。2022/7/18網絡入侵與防范講義76.1.2 拒絕服務攻擊的類型最常見的DoS攻擊是利用合理的服務請求來占用過多的服務資源,致使
4、服務超載,無法響應其他的請求。這些服務資源包括網絡帶寬、文件系統空間容量、開放的進程、向內的連接等。這種攻擊會導致資源的匱乏,無論計算機的處理速度多么快,內存容量多么大,互聯網帶寬多么大都無法避免這種攻擊帶來的后果。 2022/7/18網絡入侵與防范講義86.1.2 拒絕服務攻擊的類型從實施DoS攻擊所用的思路來看,DoS攻擊可以分為:濫用合理的服務請求過度地請求系統的正常服務,占用過多服務資源,致使系統超載。這些服務資源通常包括網絡帶寬、文件系統空間容量、開放的進程或者連接數等 制造高流量無用數據惡意地制造和發送大量各種隨機無用的數據包,用這種高流量的無用數據占據網絡帶寬,造成網絡擁塞 利用
5、傳輸協議缺陷 構造畸形的數據包并發送,導致目標主機無法處理,出現錯誤或崩潰,而拒絕服務 利用服務程序的漏洞 針對主機上的服務程序的特定漏洞,發送一些有針對性的特殊格式的數據,導致服務處理錯誤而拒絕服務 2022/7/18網絡入侵與防范講義96.1.2 拒絕服務攻擊的類型按漏洞利用方式分類,DoS攻擊可以分為:特定資源消耗類主要利用TCP/IP協議棧、操作系統或應用程序設計上的缺陷,通過構造并發送特定類型的數據包,使目標系統的協議棧空間飽和、操作系統或應用程序資源耗盡或崩潰,從而達到DoS的目的。暴力攻擊類依靠發送大量的數據包占據目標系統有限的網絡帶寬或應用程序處理能力來達到攻擊的目的。通常暴力
6、攻擊需要比特定資源消耗攻擊使用更大的數據流量才能達到目的。2022/7/18網絡入侵與防范講義106.1.2 拒絕服務攻擊的類型按攻擊數據包發送速率變化方式,DoS攻擊可分為:固定速率可變速率根據數據包發送速率變化模式,又可以分為震蕩變化型和持續增加型。震蕩變化型變速率發送方式間歇性地發送數據包,使入侵檢測系統難以發現持續的異常。持續增加型變速率發送方式可以使攻擊目標的性能緩慢下降,并可以誤導基于學習的檢測系統產生錯誤的檢測規則。2022/7/18網絡入侵與防范講義116.1.2 拒絕服務攻擊的類型按攻擊可能產生的影響,DoS攻擊可以分為:系統或程序崩潰類根據可恢復的程度,系統或程序崩潰類又可
7、以分為:自我恢復類、人工恢復類、不可恢復類等。自我恢復類是指當攻擊停止后系統功能可自動恢復正常。人工恢復類是指系統或服務程序需要人工重新啟動才能恢復。不可恢復類是指攻擊給目標系統的硬件設備、文件系統等造成了不可修復性的損壞。服務降級類系統對外提供服務的服務下降2022/7/18網絡入侵與防范講義12典型案例:百度遭受大規模SYN Flooding攻擊2006年9月12日下午,百度遭受有史以來最大規模的不明身份黑客攻擊,導致百度搜索服務在全國各地出現了近30分鐘的故障,黑客所使用的手段是Syn Flooding分布式拒絕服務攻擊。新華網報道:/newmedia/2006-09/14/conten
8、t_5089683.htm下頁是新聞的部分截圖。2022/7/18網絡入侵與防范講義132022/7/18網絡入侵與防范講義146.2 典型拒絕服務攻擊技術6.2.1 Ping of Death6.2.2 淚滴(Teardrop)6.2.3 IP欺騙DoS攻擊 6.2.4 UDP洪水6.2.5 SYN洪水6.2.6 Land攻擊6.2.7 Smurf攻擊6.2.8 Fraggle攻擊6.2.9 電子郵件炸彈6.2.10 畸形消息攻擊6.2.11 Slashdot effect6.2.12 WinNuke攻擊2022/7/18網絡入侵與防范講義156.2.1 Ping of DeathPing是
9、一個非常著名的程序,這個程序的目的是為了測試另一臺主機是否可達。現在所有的操作系統上幾乎都有這個程序,它已經成為系統的一部分。Ping程序的目的是為了查看網絡上的主機是否處于活動狀態。通過發送一份ICMP回顯請求報文給目的主機,并等待返回ICMP回顯應答,根據回顯應答的內容判斷目的主機的狀況。2022/7/18網絡入侵與防范講義166.2.1 Ping of DeathPing之所以會造成傷害是源于早期操作系統在處理ICMP協議數據包存在漏洞。ICMP協議的報文長度是固定的,大小為64KB,早期很多操作系統在接收ICMP數據報文的時候,只開辟64KB的緩存區用于存放接收到的數據包。一旦發送過來
10、的ICMP數據包的實際尺寸超過64KB(65536B),操作系統將收到的數據報文向緩存區填寫時,報文長度大于64KB,就會產生一個緩存溢出,結果將導致TCP/IP協議堆棧的崩潰,造成主機的重啟動或是死機。 2022/7/18網絡入侵與防范講義176.2.1 Ping of DeathPing程序有一個“-l”參數可指定發送數據包的尺寸,因此,使用Ping這個常用小程序就可以簡單地實現這種攻擊。例如通過這樣一個命令:Ping -l 65540 40如果對方主機存在這樣一個漏洞,就會形成一次拒絕服務攻擊。這種攻擊被稱為“死亡之Ping”。 2022/7/18網絡入侵與防范講義186.2.1 Pin
11、g of Death現在的操作系統都已對這一漏洞進行了修補。對可發送的數據包大小進行了限制。在Windows xp sp2操作系統中輸入這樣的命令:Ping -l 65535 40 系統返回這樣的信息:Bad value for option -l, valid range is from 0 to 65500. 2022/7/18網絡入侵與防范講義196.2.1 Ping of DeathPing Of Death攻擊的攻擊特征、檢測方法和反攻擊方法總結如下:攻擊特征:該攻擊數據包大于65535個字節。由于部分操作系統接收到長度大于65535字節的數據包時,就會造成內存溢出、系統崩潰、重啟、
12、內核失敗等后果,從而達到攻擊的目的。檢測方法:判斷數據包的大小是否大于65535個字節。反攻擊方法:使用新的補丁程序,當收到大于65535個字節的數據包時,丟棄該數據包,并進行系統審計。 2022/7/18網絡入侵與防范講義206.2.2 淚滴(Teardrop)“淚滴”也被稱為分片攻擊,它是一種典型的利用TCP/IP協議的問題進行拒絕服務攻擊的方式,由于第一個實現這種攻擊的程序名稱為Teardrop,所以這種攻擊也被稱為“淚滴”。 2022/7/18網絡入侵與防范講義216.2.2 淚滴(Teardrop)兩臺計算機在進行通信時,如果傳輸的數據量較大,無法在一個數據報文中傳輸完成,就會將數據
13、拆分成多個分片,傳送到目的計算機后再到堆棧中進行重組,這一過程稱為“分片”。為了能在到達目標主機后進行數據重組,IP包的TCP首部中包含有信息(分片識別號、偏移量、數據長度、標志位)說明該分段是原數據的哪一段,這樣,目標主機在收到數據后,就能根據首部中的信息將各分片重新組合還原為數據。 2022/7/18網絡入侵與防范講義22例子2022/7/18網絡入侵與防范講義23例子(2)如上圖所示,從客戶機向服務器發送一個數據報文無法發送完成的數據,這些數據會被分片發送。報文1、2、3是TCP連接的三次握手過程,接著4、5、6客戶機向服務器發送三個報文,在這三個數據報文首部信息中,有每個報文的分片信息
14、。 2022/7/18網絡入侵與防范講義24例子(3)這就是報文重組的信息:PSH 1:1025(1024) ack 1, win 4096PSH 1025:2049(1024) ack 1, win 4096PSH 2049:3073(1024) ack 1, win 4096在這個報文中,可以看到在第4、5、6這三個報文中,第4個發送的數據報文中是原數據的第11025字節內容,第5個發送的報文包含的是第10252048字節,第6個數據報文是第20493073個字節,接著后面是繼續發送的分片和服務器的確認。當這些分片數據被發送到目標主機后,目標主機就能夠根據報文中的信息將分片重組,還原出數據
15、。 2022/7/18網絡入侵與防范講義25例子(4)如果入侵者偽造數據報文,向服務器發送含有重疊偏移信息的分段包到目標主機,例如如下所列的分片信息:PSH 1:1025(1024) ack1, win4096PSH 1000:2049(1024) ack1, win4096PSH 2049:3073(1024) ack1, win4096這樣的信息被目的主機收到后,在堆棧中重組時,由于畸形分片的存在,會導致重組出錯,這個錯誤并不僅僅是影響到重組的數據,由于協議重組算法,會導致內存錯誤,引起協議棧的崩潰。 2022/7/18網絡入侵與防范講義266.2.2 淚滴(teardrop)淚滴攻擊的攻
16、擊特征、檢測方法和反攻擊方法總結如下:攻擊特征:Teardrop工作原理是向被攻擊者發送多個分片的IP包,某些操作系統收到含有重疊偏移的偽造分片數據包時將會出現系統崩潰、重啟等現象。檢測方法:對接收到的分片數據包進行分析,計算數據包的片偏移量(Offset)是否有誤。反攻擊方法:添加系統補丁程序,丟棄收到的病態分片數據包并對這種攻擊進行審計。 2022/7/18網絡入侵與防范講義276.2.3 IP欺騙DoS攻擊這種攻擊利用RST位來實現。假設現在有一個合法用戶(1)已經同服務器建立了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為1,并向服務器發送一個帶有RST位的TCP數據段。服務
17、器接收到這樣的數據后,認為1發送的連接有錯誤,就會清空緩沖區中建立好的連接。這時,如果合法用戶1再發送合法數據,服務器就已經沒有這樣的連接了,該用戶就必須從新開始建立連接。2022/7/18網絡入侵與防范講義286.2.3 IP欺騙DoS攻擊攻擊時,攻擊者會偽造大量的IP地址,向目標發送RST數據,使服務器不對合法用戶服務,從而實現了對受害服務器的拒絕服務攻擊。 2022/7/18網絡入侵與防范講義296.2.4 UDP洪水UDP洪水(UDP flood)主要是利用主機能自動進行回復的服務(例如使用UDP協議的chargen服務和echo服務)來進行攻擊。 很多提供WWW和Mail等服務設備通
18、常是使用Unix的服務器,它們默認打開一些被黑客惡意利用的UDP服務。如echo服務會顯示接收到的每一個數據包,而原本作為測試功能的chargen服務會在收到每一個數據包時隨機反饋一些字符。 2022/7/18網絡入侵與防范講義306.2.4 UDP洪水當我們向echo服務的端口發送一個數據時,echo服務會將同樣的數據返回給發送方,而chargen服務則會隨機返回字符。當兩個或兩個以上系統存在這樣的服務時,攻擊者利用其中一臺主機向另一臺主機的echo或者chargen服務端口發送數據,echo和chargen服務會自動進行回復,這樣開啟echo和chargen服務的主機就會相互回復數據。由于
19、這種做法使一方的輸出成為另一方的輸入,兩臺主機間會形成大量的UDP數據包。當多個系統之間互相產生UDP數據包時,最終將導致整個網絡癱瘓。 2022/7/18網絡入侵與防范講義31UDP洪水實例(UDP-Flood)IP/hostname和port:輸入目標主機的IP地址和端口號;Max duration:設定最長的攻擊時間;Speed:設置UDP包發送速度;Data:指定發送的UDP數據包中包含的內容。2022/7/18網絡入侵與防范講義32UDP洪水實例(2)對局域網網內的一臺計算機4發起UDP Flood攻擊,發包速率為250PPS。 2022/7/18網絡入侵與防范講義33UDP洪水實例
20、(3)在被攻擊的計算機4上打開Sniffer工具,可以捕捉由攻擊者計算機發到本機的UDP數據包,可以看到內容為“* UDP Flood. Server stress test *”的大量UDP數據包,如下頁圖所示。如果加大發包速率和增加攻擊機的數量,則目標主機的處理能力將會明顯下降。2022/7/18網絡入侵與防范講義34UDP“洪水”實例2022/7/18網絡入侵與防范講義356.2.5 SYN洪水SYN Flood是當前最流行的拒絕服務攻擊方式之一,這是一種利用TCP協議缺陷,發送大量偽造的TCP連接請求,使被攻擊方資源耗盡(CPU滿負荷或內存不足)的攻擊方式。SYN Flood是利用TC
21、P連接的三次握手過程的特性實現的。2022/7/18網絡入侵與防范講義366.2.5 SYN洪水在TCP連接的三次握手過程中,假設一個客戶端向服務器發送了SYN報文后突然死機或掉線,那么服務器在發出SYN/ACK應答報文后是無法收到客戶端的ACK報文的,這種情況下服務器端一般會重試,并等待一段時間后丟棄這個未完成的連接。這段時間的長度我們稱為SYN Timeout。一般來說這個時間是分鐘的數量級。一個用戶出現異常導致服務器的一個線程等待1分鐘并不是什么很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況(偽造IP地址),服務器端將為了維護一個非常大的半連接列表而消耗非常多的資源。2022/7/
22、18網絡入侵與防范講義376.2.5 SYN洪水即使是簡單的保存并遍歷半連接列表也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果服務器的TCP/IP棧不夠強大,最后的結果往往是堆棧溢出崩潰既使服務器端的系統足夠強大,服務器端也將忙于處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求,此時從正常客戶的角度看來,服務器失去響應,這種情況就稱作:服務器端受到了SYN Flood攻擊(SYN洪水攻擊)。 2022/7/18網絡入侵與防范講義38SYN“洪水”攻擊示意圖 2022/7/18網絡入侵與防范講義39SYN“洪水”攻擊實例局域網環境,有一
23、臺攻擊機(PIII667/128/mandrake),被攻擊的是一臺Solaris 8.0 的主機,網絡設備是Cisco的百兆交換機。后面將顯示在Solaris上進行snoop抓包的記錄。 注:snoop與tcpdump等網絡監聽工具一樣,是一個網絡抓包與分析工具。2022/7/18網絡入侵與防范講義40SYN“洪水”攻擊實例(2) 攻擊示意圖:2022/7/18網絡入侵與防范講義41SYN“洪水”攻擊實例(3)攻擊機開始發包,DoS開始了,突然間Solaris主機上的snoop窗口開始飛速地翻屏,顯示出接到數量巨大的Syn請求。這時的屏幕就好象是時速300公里的列車上的一扇車窗。Syn Fl
24、ood攻擊時的snoop輸出結果如下頁圖所示。2022/7/18網絡入侵與防范講義42SYN“洪水”攻擊實例(4)2022/7/18網絡入侵與防范講義43SYN“洪水”攻擊實例(4)此時,目標主機再也收不到剛才那些正常的網絡包,只有DoS包。大家注意一下,這里所有的Syn Flood攻擊包的源地址都是偽造的,給追查工作帶來很大困難。這時在被攻擊主機上積累了多少Syn的半連接呢?用netstat來看一下:# netstat -an | grep SYN。結果如下頁圖所示。2022/7/18網絡入侵與防范講義442022/7/18網絡入侵與防范講義45SYN“洪水”攻擊實例(5)其中SYN_RCV
25、D表示當前未完成的TCP SYN隊列,統計一下(wc是文件內容統計命令,-l選項表示統計行數):# netstat -an | grep SYN | wc -l5273# netstat -an | grep SYN | wc -l5154# netstat -an | grep SYN | wc -l5267. 共有五千多個Syn的半連接存儲在內存中。這時候被攻擊機已經不能響應新的服務請求了,系統運行非常慢,也無法ping通。而這只是在攻擊發起后僅僅70秒鐘左右時的情況。 2022/7/18網絡入侵與防范講義46SYN“洪水”的防御SYN洪水攻擊比較難以防御,以下是幾種解決方法:縮短SYN
26、Timeout時間 設置SYN Cookie 負反饋策略 退讓策略 分布式DNS負載均衡 防火墻 2022/7/18網絡入侵與防范講義47縮短SYN Timeout時間由于SYN Flood攻擊的效果取決于服務器上保持的SYN半連接數,這個值=SYN攻擊的頻度 x SYN Timeout,所以通過縮短從接收到SYN報文到確定這個報文無效并丟棄該連接的時間,可以成倍的降低服務器的負荷。2022/7/18網絡入侵與防范講義48設置SYN Cookie就是給每一個請求連接的IP地址分配一個Cookie,如果短時間內連續受到某個IP的重復SYN報文,就認定是受到了攻擊,以后從這個IP地址來的包會被丟棄
27、。 2022/7/18網絡入侵與防范講義49負反饋策略正常情況下,OS對TCP連接的一些重要參數有一個常規的設置: SYN Timeout時間、SYN-ACK的重試次數、SYN報文從路由器到系統再到Winsock的延時等等。這個常規設置針對系統優化,可以給用戶提供方便快捷的服務;一旦服務器受到攻擊,SYN Half link 的數量超過系統中TCP活動Half link最大連接數的設置,系統將會認為自己受到了SYN Flood攻擊,并將根據攻擊的判斷情況作出反應:減短SYN Timeout時間、減少SYN-ACK的重試次數、自動對緩沖區中的報文進行延時等等措施,力圖將攻擊危害減到最低。2022
28、/7/18網絡入侵與防范講義50退讓策略退讓策略是基于SYN Flood攻擊代碼的一個缺陷: SYN Flood一旦攻擊開始,將不會再進行域名解析。切入點:假設一臺服務器在受到SYN Flood攻擊后迅速更換自己的IP地址,那么攻擊者仍在不斷攻擊的只是一個空的IP地址,并沒有任何主機,而防御方只要將DNS解析更改到新的IP地址就能在很短的時間內恢復用戶通過域名進行的正常訪問。為了迷惑攻擊者,我們甚至可以放置一臺“犧牲”服務器讓攻擊者滿足于攻擊的“效果” 。2022/7/18網絡入侵與防范講義51分布式DNS負載均衡在眾多的負載均衡架構中,基于DNS解析的負載均衡本身就擁有對SYN Flood的
29、免疫力。基于DNS解析的負載均衡能將用戶的請求分配到不同IP的服務器主機上,攻擊者攻擊的永遠只是其中一臺服務器,一來這樣增加了攻擊者的成本,二來過多的DNS請求可以幫助我們追查攻擊者的真正蹤跡。 2022/7/18網絡入侵與防范講義52防火墻在防火墻設置了正確的規則后,可以識別SYN Flood攻擊所采用的攻擊方法,并將攻擊包阻擋在外。2022/7/18網絡入侵與防范講義536.2.6 Land攻擊Land是因特網上最常見的拒絕服務攻擊類型,它是由著名黑客組織rootshell發現的。原理很簡單,向目標機發送大量的源地址和目標地址相同的包,造成目標機解析Land包時占用大量的系統資源,從而使網
30、絡功能完全癱瘓。 2022/7/18網絡入侵與防范講義546.2.6 Land攻擊Land攻擊也是利用TCP的三次握手過程的缺陷進行攻擊。Land攻擊是向目標主機發送一個特殊的SYN包,包中的源地址和目標地址都是目標主機的地址。目標主機收到這樣的連接請求時會向自己發送SYN/ACK數據包,結果導致目標主機向自己發回ACK數據包并創建一個連接。大量的這樣的數據包將使目標主機建立很多無效的連接,系統資源被大量的占用。2022/7/18網絡入侵與防范講義556.2.6 Land攻擊Land攻擊示意圖:2022/7/18網絡入侵與防范講義566.2.6 Land攻擊Land攻擊可簡要概括如下:攻擊特征
31、:用于Land攻擊的數據包中的源地址和目標地址是相同的。操作系統接收到這類數據包時,不知道該如何處理堆棧中的這種情況,或者循環發送和接收該數據包,消耗大量的系統資源,從而有可能造成系統崩潰或死機等現象。檢測方法:判斷網絡數據包的源/目標地址是否相同。反攻擊方法:適當配置防火墻設備或過濾路由器的過濾規則可以防止這種攻擊行為,并對這種攻擊進行審計。 2022/7/18網絡入侵與防范講義576.2.7 Smurf攻擊Smurf攻擊是利用IP欺騙和ICMP回應包引起目標主機網絡阻塞,實現DoS攻擊。Smurf攻擊原理:在構造數據包時將源地址設置為被攻擊主機的地址,而將目的地址設置為廣播地址,于是,大量
32、的ICMP echo回應包被發送給被攻擊主機,使其因網絡阻塞而無法提供服務。比Ping of Death洪水的流量高出1或2個數量級。2022/7/18網絡入侵與防范講義586.2.7 Smurf攻擊Smurf攻擊示意圖:2022/7/18網絡入侵與防范講義596.2.7 Smurf攻擊如上例所示,入侵者的主機發送了一個數據包,而目標主機就收到了三個回復數據包。如果目標網絡是一個很大的以太網,有200臺主機,那么在這種情況下,入侵者每發送一個ICMP數據包,目標主機就會收到200個數據包,因此目標主機很快就會被大量的回復信息吞沒,無法處理其他的任何網絡傳輸。這種攻擊不僅影響目標主機,還能影響目
33、標主機的整個網絡系統。 2022/7/18網絡入侵與防范講義60Smurf攻擊例子B類網絡攻擊者冒充服務器向一個B類網絡的廣播地址發送ICMP echo包整個B類網絡的所有系統都向此服務器回應一個icmp reply包2022/7/18網絡入侵與防范講義616.2.8 Fraggle攻擊Fraggle攻擊原理與Smurf一樣,也是采用向廣播地址發送數據包,利用廣播地址的特性將攻擊放大以使目標主機拒絕服務。不同的是,Fraggle使用的是UDP應答消息而非ICMP。 2022/7/18網絡入侵與防范講義626.2.9 電子郵件炸彈電子郵件炸彈是最古老的匿名攻擊之一,由于這種攻擊方式簡單易用,互聯
34、網上也很容易找到這些發送匿名郵件的工具,并且入侵者只需要知道對方的電子郵件地址就可以進行攻擊了。傳統的電子郵件炸彈只是簡單的往你的郵箱里發送大量的郵件,入侵者的目的是要用垃圾郵件填滿你的郵箱后,正常的郵件就會因空間不夠而被服務器拒收。2022/7/18網絡入侵與防范講義636.2.9 電子郵件炸彈如果用戶的郵箱使用空間不受限制,那么電子郵件炸彈攻擊就有可能影響到服務器的正常工作了。最有可能的情況是入侵者不斷發送大量的電子郵件,由于用戶的郵箱空間不受限制,服務器會接收全部的郵件并保存在硬盤上。大量到來的郵件將不斷吞噬服務器上的硬盤空間,最終將耗盡服務器上的所有硬盤空間,使得服務器無法再對外服務。
35、還有一種可能是通過設置一臺機器不斷地大量向同一地址發送電子郵件,入侵者能夠耗盡接收者網絡的帶寬。 2022/7/18網絡入侵與防范講義646.2.9 電子郵件炸彈電子郵件是通過SMTP協議進行發送的,最初的SMTP協議服務是不需要進行身份認證的,在發送電子郵件的過程中不對用戶進行身份認證。 SMTP不會進行認證,郵件的發送人可以偽造任何郵件地址,甚至可以不寫發件人的信息。這就是能發送匿名郵件的原因。 針對SMTP的問題,新的SMTP協議規范新增了2個命令,對發送郵件的發件人進行身份認證,在一定程度上降低了匿名電子郵件的風險。 2022/7/18網絡入侵與防范講義656.2.10 畸形消息攻擊畸
36、形消息攻擊是一種有針對性的攻擊方式,它利用目標主機或者特定服務存在的安全漏洞進行攻擊。目前無論是Windows、Unix、Linux等各類操作系統上的許多服務都存在安全漏洞,由于這些服務在處理信息之前沒有進行適當正確的錯誤校驗,所以一旦收到畸形的信息就有可能會崩潰。 2022/7/18網絡入侵與防范講義666.2.10 畸形消息攻擊例如,在IIS 5沒有安裝相應的修補包以及沒有相應的安全措施時,向IIS 5服務器遞交如下的URL會導致IIS 5停止服務:http:/testIP/.25kb of .ida 而向IIS 5遞交如下的HTTP請求會導致IIS系統的崩潰,需要重啟動才能恢復: “GE
37、T /.3k. .htr HTTP/1.0”這兩者都是向服務器提交正常情況下不會出現的請求,導致服務器處理錯誤而崩潰,是典型的畸形消息攻擊。2022/7/18網絡入侵與防范講義676.2.11 Slashdot effectSlashdot effect來自S這個網站,這曾是十分知名而且瀏覽人數十分龐大的IT、電子、娛樂網站,也是blog網站的開宗始祖之一。由于S的知名度和瀏覽人數的影響,在S上的文章中放入的網站鏈接,有可能一瞬間被點入上千次,甚至上萬次,造成這個被鏈接的網站承受不住突然增加的連接請求,出現響應變慢、崩潰、拒絕服務。這種現象就稱為Slashdot effect,這種瞬間產生的大
38、量進入某網站的動作,也稱作Slashdotting。2022/7/18網絡入侵與防范講義686.2.11 Slashdot effect這種攻擊手法使web服務器或其他類型的服務器由于大量的網絡傳輸而過載,一般這些網絡流量是針對某一個頁面或一個鏈接而產生的。當然這種現象也會在訪問量較大的網站上正常的發生,但一定要把這些正常現象和攻擊區分開來。如果您的服務器突然變得擁擠不堪,甚至無法響應再多的請求時,您應當仔細檢查一下這個資源匱乏的現象,確認在10000次點擊里全都是合法用戶進行的,還是由5000個合法用戶和一個點擊了5000次的攻擊者進行的。2022/7/18網絡入侵與防范講義696.2.12
39、 WinNuke攻擊WinNuke攻擊又稱“帶外傳輸攻擊”,它的特征是攻擊目標端口,被攻擊的目標端口通常是139、138、137、113、53。TCP傳輸協議中使用帶外數據(Out of Band,OOB數據)通道來傳送一些比較特殊(如比較緊急)的數據。在緊急模式下,發送的每個TCP數據包都包含URG標志和16位URG指針,直至將要發送的帶外數據發送完為止。16位URG指針指向包內數據段的某個字節數據,表示從第一字節到指針所指字節的數據就是緊急數據,不進入接收緩沖就直接交給上層進程。 2022/7/18網絡入侵與防范講義706.2.12 WinNuke攻擊WinNuke攻擊就是制造特殊的這種報
40、文,但這些攻擊報文與正常攜帶OOB數據報文不同的是:其指針字段與數據的實際位置不符,即存在重合,這樣WINDOWS操作系統在處理這些數據的時候,就會崩潰。2022/7/18網絡入侵與防范講義716.2.12 WinNuke攻擊攻擊者將這樣的特殊TCP帶外數據報文發送給已建立連接的主機的NetBIOS端口139,導致主機崩潰后,會顯示下面的信息: An exception OE has occurred at 0028:address in VxD MSTCP(01)+ 000041AE. This was called from 0028:address in VxD NDIS(01)+ 00
41、008660.It may be possible to continue normally. Press any key to attempt to continue. Press CTRL+ALT+DEL to restart your computer. You will lose any unsaved information in all applications. Press any key to continue2022/7/18網絡入侵與防范講義726.2.12 WinNuke攻擊WinNuke攻擊的特征、檢測方法和反攻擊方法概括如下:攻擊特征:WinNuke攻擊又稱帶外傳輸攻
42、擊,它的特征是被攻擊的目標端口通常是139、138、137、113、53,而且URG位設為“1”,即緊急模式。檢測方法:判斷數據包目標端口是否為139、138、137等,并判斷URG位是否為“1”。反攻擊方法:適當配置防火墻設備或過濾路由器就可以防止這種攻擊手段(丟棄該數據包),并對這種攻擊進行審計(記錄事件發生的時間,源主機和目標主機的MAC地址和IP地址) 2022/7/18網絡入侵與防范講義736.3 分布式拒絕服務攻擊6.3.1 分布式拒絕服務攻擊簡介6.3.2 分布式拒絕服務攻擊造成的影響6.3.3 分布式拒絕服務攻擊工具2022/7/18網絡入侵與防范講義746.3.1 分布式拒絕
43、服務攻擊簡介分布式拒絕服務DDoS (Distributed Denial of Service)攻擊指借助于客戶/服務器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DoS攻擊,從而成倍地提高拒絕服務攻擊的威力。 可以使得分散在互聯網各處的機器共同完成對一臺主機攻擊的操作,從而使主機看起來好象是遭到了不同位置的許多主機的攻擊。這些分散的機器可以分別進行不同類型的攻擊。2022/7/18網絡入侵與防范講義756.3.1 分布式拒絕服務攻擊簡介在進行分布式拒絕服務攻擊前,入侵者必須先控制大量的無關主機,并在這些機器上安裝進行拒絕服務攻擊的軟件。互聯網上充斥著安全措施較差的主機,這些
44、主機存在系統漏洞或配置上的錯誤,可能是一些沒有足夠安全技術力量的小站點或者一些企業的服務器,入侵者輕易就能進入這些系統。 由于攻擊者來自于范圍廣泛的IP地址,而且來自每臺主機的少量的數據包有可能從入侵檢測系統的眼皮下溜掉,這就使得防御變得困難。2022/7/18網絡入侵與防范講義766.3.1 分布式拒絕服務攻擊簡介分布式拒絕服務攻擊的軟件一般分為客戶端、服務端與守護程序,這些程序可以使協調分散在互聯網各處的機器共同完成對一臺主機攻擊的操作,從而使主機遭到來自不同地方的許多主機的攻擊。客戶端:也稱攻擊控制臺,它是發起攻擊的主機服務端:也稱攻擊服務器,它接受客戶端發來的控制命令守護程序:也稱攻擊
45、器、攻擊代理,它直接(如SYN Flooding)或者間接(如反射式DDoS)與攻擊目標進行通信2022/7/18網絡入侵與防范講義776.3.1 分布式拒絕服務攻擊簡介DDoS攻擊示例:2022/7/18網絡入侵與防范講義786.3.1 分布式拒絕服務攻擊簡介入侵者通過客戶端軟件向服務端軟件發出攻擊指令,服務端在接收到攻擊指令后,控制守護進程向目標主機發動攻擊。采用三層結構的做法是確保入侵者的安全,一旦客戶端發出指令后,客戶端就能斷開連接,由服務端指揮守護進程攻擊。客戶端連接和發送指令的時間很短,隱蔽性極強。2022/7/18網絡入侵與防范講義796.3.1 分布式拒絕服務攻擊簡介入侵者先控
46、制多臺無關主機,在上面安裝守護進程與服務端程序。當需要攻擊時,入侵者從客戶端連接到安裝了服務端軟件的主機上,發出攻擊指令,服務端軟件指揮守護進程同時向目標主機發動拒絕服務攻擊。目前流行的分布式拒絕服務攻擊軟件一般沒有專用的客戶端軟件,使用telnet進行連接和傳送控制命令。2022/7/18網絡入侵與防范講義806.3.1 分布式拒絕服務攻擊簡介通常情況下,服務端與守護進程間并不是一一對應的關系,而是多對多的關系。也就是說,一個安裝了守護進程的主機可以被多個服務端所控制,一個服務端軟件也同時控制多個守護進程。2022/7/18網絡入侵與防范講義81DDoS攻擊過程 攻擊過程主要有兩個步驟:攻占
47、代理主機和向目標發起攻擊。具體說來可分為以下幾個步驟: 1探測掃描大量主機以尋找可入侵主機; 2入侵有安全漏洞的主機并獲取控制權; 3在每臺被入侵主機中安裝攻擊所用的客戶進程或守護進程; 4向安裝有客戶進程的主控端主機發出命令,由它們來控制代理主機上的守護進程進行協同入侵。2022/7/18網絡入侵與防范講義826.3.2 DDoS造成的影響被DDoS攻擊時的現象DDoS攻擊對Web站點的影響2022/7/18網絡入侵與防范講義83被DDoS攻擊時的現象被攻擊主機上有大量等待的TCP連接; 網絡中充斥著大量的無用的數據包,源地址為假;制造高流量無用數據,造成網絡擁塞,使受害主機無法正常和外界通
48、訊;利用受害主機提供的服務或傳輸協議上的缺陷,反復高速的發出特定的服務請求,使受害主機無法及時處理所有正常請求; 嚴重時會造成系統死機。 2022/7/18網絡入侵與防范講義84DDoS攻擊對Web站點的影響當對一個Web站點執行 DDoS 攻擊時,這個站點的一個或多個Web服務會接到非常多的請求,最終使它無法再正常使用。在一個DDoS攻擊期間,如果有一個不知情的用戶發出了正常的頁面請求,這個請求會完全失敗,或者是頁面下載速度變得極其緩慢,看起來就是站點無法使用。 2022/7/18網絡入侵與防范講義856.3.3 DDoS的工具TFN2KTrinooStacheldraht其他拒絕服務攻擊工
49、具 2022/7/18網絡入侵與防范講義86TFN2K介紹TFN(Tribe Flood Network)是德國著名黑客Mixter編寫的分布式拒絕服務攻擊的攻擊工具,它是一個典型的分布式拒絕服務攻擊的工具。TFN由服務端程序和守護程序組成,能實施ICMP flood、SYN flood、UDP flood和Smurf等多種拒絕服務攻擊。2022/7/18網絡入侵與防范講義87TFN2K-特點TFN2K的選擇面寬,Solaris、Linux、Windows NT/2000上都能運行。TFN2K的另一個特點是服務端控制守護進程發動攻擊時,可以定制通信使用的協議,TFN2K目前可以使用的TCP、U
50、DP、ICMP三種協議中的任何一種。 服務端向守護進程發送的控制指令,守護進程是不會進行回復。由于這一特點,網絡中的TFN2K的隱蔽性更強,檢測更加困難,因為服務端可以將命令的數據報文的源地址信息進行偽造。 2022/7/18網絡入侵與防范講義88TFN2K-特點(2)TFN2K所有命令都經過了CAST-256算法(RFC2612)加密。加密關鍵字在程序編譯時定義,并作為TFN2K客戶端程序的口令。并且所有加密數據在發送前都被編碼( Base64 )成可打印的ASCII字符。TFN2K守護程序接收數據包并解密數據。為保護自身,守護進程還能通過修改進程名方式來欺騙管理員,掩飾自己的真正身份。總之
51、,TFN2K采用的單向通信、隨機使用通信協議、通信數據加密等多種技術以保護自身,使得實時檢測TFN2K更加困難。 2022/7/18網絡入侵與防范講義89TFN2K檢測TFN2K有一個獨特的設計,在每一個數據包后面填充了16個零(0 x00),這樣做的目的是為了使數據包的長度不固定,欺騙某些防火墻或者入侵檢測系統。然而,這項獨特的設計也成為了TFN2K 的弱點。TFN2K的數據包后面填充的零(0 x00)在經過Base64編碼后就變成了A(0 x41)。這樣,尾部的數據包就成為了TFN2K的特征。當然這并不是說檢測到尾部有0 x41的數據包就認為網絡存在TFN2K,不過,如果在網絡中大量捕獲到
52、這種類型的數據包的時候,管理員就該好好檢查網絡中的主機了。2022/7/18網絡入侵與防范講義90TFN2K檢測(2)另一種對TFN2K的檢測的方法是采用病毒檢測的通用做法,采用特征碼。雖然TFN2K服務端和守護進程的文件名可以隨意修改,但是程序中必然存在不會改變的特征字符串,這個不會改變的字符串就是程序的特征碼,檢查系統中是否存在有這樣特征碼的程序就能發現系統中存在的TFN2K。2022/7/18網絡入侵與防范講義91TFN2K防御TFN2K的抵御方法有:加固系統和網絡,以防系統被當做DDoS主機。在邊界路由器上設置出口過濾,這樣做的原因是或許不是所有的TFN2K源地址都用內部網絡地址進行偽
53、裝。請求上游供應商配置入口過濾。2022/7/18網絡入侵與防范講義92Trinoo介紹Trinoo也是一種比較常見的分布式拒絕服務攻擊,Trinoo與TFN2K相比,雖然在很多方面都略遜一籌,但從總體上來說,Trinoo還是一個非常不錯的分布式拒絕服務攻擊工具。2022/7/18網絡入侵與防范講義93Trinoo組成Trinoo是一個典型的分布式拒絕服務攻擊軟件,由兩部分組成,服務端和守護進程,而沒有專門的客戶端軟件,客戶端軟件可以使用通用的如Telnet來代替。如圖: 2022/7/18網絡入侵與防范講義94Trinoo工作原理Trinoo的守護進程NC在編譯時就將安裝有服務程序的主機IP
54、地址包含在內,這樣,守護進程NC一旦運行起來,就會自動檢測本機的IP地址,并將本機的IP地址發送到預先知道的服務器的31335端口(服務器開啟31335UDP端口接收守護進程)。同時,守護進程也在本機打開一個27444的UDP端口等待服務器端過來的命令。Trinoo的服務器端在收到守護進程發回來的IP地址后,就明白已有一個守護進程準備完畢,可以發送指控命令了。主服務器會一直記錄并維護一個已激活守護程序的主機清單。2022/7/18網絡入侵與防范講義95Trinoo設計特色Trinooo的所有連接都需要口令,連接的口令是編譯時就指定的,缺省情況下,服務端連接守護進程的口令是“144adsl”,而
55、客戶端連接到服務端的口令是“betaalmostdone”。不過口令在進行驗證時是明文進行傳送的。Trinoo另一個比較有特色的設計是,當客戶端連接到服務端時,如果還有其他的連接建立,Trinoo會將一個包含連接IP地址的報警信息發送到已連接的主機。這樣,入侵者在控制服務端發動攻擊時,還能掌握系統上的用戶動向,確保Trinoo客戶端的安全。 2022/7/18網絡入侵與防范講義96Trinoo-基本特性及建議的抵御策略在master程序(服務端)與代理程序(守護程序)的所有通訊中,Trinoo都使用了UDP協議。入侵檢測軟件能夠尋找使用UDP協議的數據流(類型17)。 Trinoo maste
56、r程序的監聽端口是27655,攻擊者一般借助telnet通過TCP連接到master程序所在計算機。入侵檢測軟件能夠搜索到使用TCP (類型6)并連接到端口27655上的數據流。2022/7/18網絡入侵與防范講義97Trinoo-基本特性及建議的抵御策略(2)所有從master程序到代理程序的通訊都包含字符串l44,并且被引導到代理的UDP 端口27444。入侵檢測軟件檢查到UDP 端口27444的連接,如果有包含字符串l44的信息包被發送過去,那么接受這個信息包的計算機可能就是DDoS代理。Master和代理之間的通訊受到口令的保護,但是口令不是以加密格式發送的,因此它可以被“嗅探”到并被
57、檢測出來。使用這個口令以及Dave Dittrich編寫的Trinot腳本,要準確地驗證出Trinoo代理的存在是很可能的。 2022/7/18網絡入侵與防范講義98StacheldrahtStacheldraht 也是一個分布式拒絕服務攻擊,它很多方面類似于Trinoo和TFN,能發動ICMP Flood、SYN Flood、UDP Flood和Smurf等多種攻擊。它的主要特色是能進行自動更新。2022/7/18網絡入侵與防范講義99Stacheldraht(2)Stacheldraht跟TFN和trinoo一樣也是基于客戶機/服務器模式,其中Master程序與潛在的成千個代理程序進行通訊
58、。在發動攻擊時,入侵者與master程序進行連接。Stacheldraht增加了以下新功能:攻擊者與master程序之間的通訊是加密的,以及使用rcp (remote copy,遠程復制)技術對代理程序進行更新。 2022/7/18網絡入侵與防范講義100Stacheldraht(3)Stacheldraht同TFN一樣,可以并行發動數不勝數的DoS攻擊,類型多種多樣,而且還可建立帶有偽裝源IP地址的信息包。Stacheldraht所發動的攻擊包括UDP洪水、TCP SYN洪水、ICMP回應洪水攻擊。 2022/7/18網絡入侵與防范講義101Stacheldraht DDoS攻擊的特征及防御
59、 1)在發動Stacheldraht攻擊時,攻擊者訪問master程序,向它發送一個或多個攻擊目標的 IP地址。Master程序再繼續與所有代理程序進行通訊,指示它們發動攻擊。Stacheldraht master程序與代理程序之間的通訊主要是由ICMP 回音和回音應答信息包來完成的。配置路由器或入侵檢測系統,不允許一切ICMP回音和回音應答信息包進入網絡,這樣可以挫敗Stacheldraht代理。但是這樣會影響所有要使用這些功能的Internet程序,例如ping。 2022/7/18網絡入侵與防范講義102Stacheldraht DDoS攻擊的特征及防御 (2)2)代理程序要讀取一個包含
60、有效master程序的IP地址列表。代理會試圖與列表上所有的master程序進行聯系。如果聯系成功,代理程序就會進行一個測試,以確定它被安裝到的系統是否會允許它改變“偽造”信息包的源地址。通過配置入侵檢測系統或使用嗅探器來搜尋它們的簽名信息,可以探測出這兩個行為。 2022/7/18網絡入侵與防范講義103Stacheldraht DDoS攻擊的特征及防御 (3)2.1)代理會向每個master發送一個ICMP回音應答信息包,其中有一個ID域包含值666,一個數據域包含字符串“skillz”。如果master收到了這個信息包,它會以一個包含值667的ID 域和一個包含字符串“ficken”的數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業技能評估2025年企業人力資源管理師考試試題及答案
- 融媒直播測試題及答案
- 古詩常識測試題及答案
- 激光行業人才需求試題及答案
- 一個叫歐維的男人決定去死讀后感
- 利用光電知識備考工程師證書考試的試題及答案
- 激光技術管理的基本原則考題試題及答案
- 學習地圖2025年臨床執業醫師考試試題及答案
- 網絡規劃設計師備考計劃的靈活調整方法試題及答案
- 2025福建建筑安全員《B證》考試題庫
- GJB9001C-2017管理手冊、程序文件及表格匯編
- 2024年山東省慶云縣九年級第一次練兵考試數學試題
- 【高中語文】《秦腔》說課課件++統編版高中語文選擇性必修下冊
- 河北省石家莊市橋西區第四十一中學2022-2023學年七年級下學期期中數學試卷
- 安慶銅礦選礦工藝
- 新能源汽車在政府采購領域中的推廣與應用
- 《宇航服知識》課件
- 案例沃爾瑪的風險管理(風險評估、應對)
- 投資金融公司春節安全生產培訓 加強數據安全保障
- 不干膠基礎知識培訓
- 機車直流電機的電力拖動-直流電機的基本方程
評論
0/150
提交評論