




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、TCPIP攻擊原理.txt如果有來生,要做一棵樹,站成永恒,沒有悲傷的姿勢。一半在土里安詳,一半在風里飛揚,一半灑落陰涼,一半沐浴陽光,非常沉默非常驕傲,從不依靠從不尋找。TCP/IP攻擊原理在本章,將要介紹一些利用TCP/IP協議的處理程序中錯誤進行攻擊的原理、方法以及一些防范對策。這些攻擊包括當前流行的Teardrop和Land攻擊。利用協議實現的攻擊方法,都是故意錯誤地設定數據包頭的一些重要字段,例如,IP包頭部的Total Length、Fragment offset、IHL和Source address等字段。使用Raw Socket將這些錯誤的IP數據包發送出去。在接受數據端,接收
2、程序通常都存在一些問題,因而在將接受到的數據包組裝成一個完整的數據包的過程中,就會使系統當機、掛起或系統崩潰。在最后,是一個服務程序錯誤而導致攻擊的例子:OOB。在本章,我們將結合一些程序來討論這種攻擊能夠實施的原理的同時,讀者也可以使用這些程序來檢查自己系統針對這類攻擊的安全程度,并采取相應的措施。1 攻擊的現象及其后果使用了Windows 95和Windows 98 NT的人們都經歷過系統陷入混亂,對任何輸入都沒有響應的情況。這時候,屏幕出現藍屏,遲遲無法重新刷新。按下Ctrl+Alt+Del時,看到系統CPU利用率達到100%,同時顯示一個應用程序無響應。這是程序出錯或者使用了盜版軟件的
3、緣故。通過網絡,也可以使正在使用的計算機出現這種無響應、死機的現象。事實上,大量的程序往往經不住人們惡意的攻擊。人們已經使用了許多方法來專門對付上網的Windows 95和Windows NT。目前,能夠對Windows 95和Windows NT進行攻擊的方法很多,當前流行的有:tearDrop(也稱為“淚滴”)、OOB、Land和Ping of Death等。其中,關于Ping of Death在緩沖區溢出一章中對這種攻擊做了介紹,并給出了一些對策。一般的攻擊過程是這樣的:當入侵者發現了一臺Windows 95或者Windows NT(這只需用端口掃描工具掃一下就可以辨認出來),便用一個O
4、OB或者TearDrop攻擊,再次用ping命令時,目標主機就沒有響應了。事實上,這些攻擊并不是局限于Windows NT和Windows 95平臺,一些攻擊,如Land已被發現對Linux、Cisco路由器以及其他大量的UNIX操作系統都具有相當的攻擊能力。能夠實施這種攻擊的原因是在Windows 95和Windows NT中存在錯誤,這是一種處理TCP/IP協議或者服務程序的錯誤。人們利用這些錯誤。通過給端口送一些故意弄錯的數據包,在這個數據包的偏移字段和長度字段,寫入一個過大或過小的值。Windows 95和Windows NT都不能處理這個情況,然后Windows 95就先變成藍屏,W
5、indows NT是非死機不可。據稱TearDrop可以使被攻擊的主機立刻當機。這些攻擊的危險性在于可以通過網絡發起攻擊,當攻擊者發現了一臺上網的Windows 95、Windows NT或者Linux操作系統主機時,只需啟動這一程序,輸入入口參數假冒IP、端口號,被攻擊主機的IP地址和端口號,便可以發起攻擊了。通常是Linux一遭到攻擊就當機,而Windows在受到十幾次攻擊之后也會死機。這時候,用ping命令,被攻擊的主機就再也沒有回應了。服務程序存在錯誤的情況是很多的,例如,Windows NT中的RPC服務存在漏洞。某個用戶可以遠程登錄到Windows NT 3。5x或者服務器的端口1
6、35,并任意輸入10個字符,然后回車,切斷連接。這便可以使目標主機的CPU利用率達到100%。雖然一個簡單的重啟動就消除了這個問題,但畢竟這是很討厭的,是系統安全的重要隱患并嚴重地影響系統性能。對于OOB攻擊,人們已經提出一些對策,如在Windows NT 4.0 中,呆以對發到端口若懸河39的包進行過濾等,都需要對系統的網絡設置進行一番配置,來分別處理拔號上網和使用LAN的情況。目前網上已經出現補丁程序,用來對付這些攻擊方法的攻擊。在 Windows 95和Windows NT上的安裝非常簡單,只需運行一下安裝包即可。在沒有找到補丁程序之前,也可能性安裝一個PC防火墻。該工具非常有效,例如,
7、當禁止從主機的所有端口發出數據包,同時禁止數據包發向本主機的所有端口時,實際上已將本主機應用層的服務功能和訪問功能切斷。此時,雖然可以ping通一臺有帳戶和口令的UNIX主機,但卻地法登上(telnet)該主機或從該主機用ftp取回文件。可以用該工具來過濾發向本主機一些端口(例如139)的數據包。2 淚滴(TearDrop)攻擊工具 這個攻擊工具起名為淚滴,它確實可以讓人們恨得咬牙切齒。當辛苦的勞動成果突然因為一次莫名其妙的當機而化為烏有。也許,這次當機便是一個人隨意地向你的計算機動了一次小小的攻擊所致。這個攻擊利用的是系統在實現時的一個錯誤,我們以Linux上的一個實現為例,也就是說,某些L
8、inux操作系統也是脆弱的,我們也可以用這種方法攻擊Linux操作系統。Linux操作系統在它的IP數據包重裝模塊有一個嚴重的錯誤,更確切一點地說,是在ip-glue()函數中。當Linux收到一個個IP包,送到IP層進行組裝,以形成發送端原來的IP包時,它將進入了一個循環中,將接收隊列中的一個個數據包中的有效數據,拷貝到一個新分配的緩沖區中。這段代碼如下:fp = qp->fragments;while (fp ! =NULL)if (count +fp ->len >skb ->len)error-to-big;memcpy (ptr + fp ->offae
9、t ), fp-> ptr, fp->len);count +=fp ->len;fp =fp->next;在程序中,檢查了每段數據是否過長,因為如果數據部分過長,將會向內核拷貝過多的數據,引起內核發生某種危險。然而在程序中并沒有檢查包中有效數據的長度是否過分小,例如,當表示包中數據長度的變量變成了一個負數時(例如 fp->len<0),對這種情況,并沒有進行檢查,結果是系統將過多的數據拷貝到內核中去。以下,讓我們看看Linux是如何將收到的IP數據加入到組裝隊列中去的。 計算這一fragmrnt的終結位置:/* l Determine the positi
10、on of this fragmrment.l /end =offset +ntohs(iph ->tot-len) ihl;在正常情況下一切也正常。但是,當我們精心準備這樣的數據包,讓前后包中的“fragment offset”字段交疊在一起,會發生什么呢?看看程序對“fragment offset”做了那些處理:if (prev != NULL&& offset I =prev->end offset;Offset +=I : /*ptr into datagram */Ptr += I /* ptr into fragment data */如果我們發現當前包
11、的段偏移在前一包數據內部,也就是說根據偏移字段的值,前后兩數據包的數據部分有重疊。組裝程序試圖正確對齊它們的邊界。程序代碼如上所示。這一步是對的。除非當前包中的有效數據碰巧沒有足夠的數據來滿足對齊的要求。在這種情況下,“offset”域中的值將會比“ end”域中的值大。這兩個數值被交給“ip-frag-create()”模塊,在這個模塊中,將會計算當前包的長度。/* Fill in the structure. */fp->offset =offset;fp->end =end;fp->len =end offset;在這種極少見的情況下,計算出來的fp-len竟變成了一個
12、負數,于是memcpy()最終將會把大量的數據拷貝到內核中,因為memcpy()中的記數器是一個反碼,是一個非常大的數值。根據使用的內存管理機制的不同,將會引起系統重啟動或停機。這種情況完全可以通過編程來實現,例如可以發送兩個特殊的數據包,第一個包中的“offset”域置為0,包中有效數據(IP數據)長度為N,MF位置1。第二個包中MF位置0,“offset”為一個小于N的數,包中的IP數據也少于N。當將收到的兩個數據包組裝時,先將第一個數據包拷貝到一個緩沖區中去,然后拷貝第二個數據包。因為next->offset cur ->offset =next ->offset +(
13、pre->end-next->offest);cur ->end =next ->offest +(next->iph ->tot-len)-ihl);cur ->len =cur->end-cur->offest;當ntohs(next->iph->tot-len)-ihl<(pre->end-next->offset)時,錯誤就發生了。這時候,cur->len為負數。在正常情況下,無法預言這種情況是否會發生,發生的頻率如何。但是在人為的情況下,尤其是在一處故意的情況下,那就一定會發生的。人們可以自己編寫發送raw數據包的程序。在數據包中,從IP包頭開始,都可以填入自己想要的任意數值。而我們使用軟件并不能處理這類非常復雜的情況。事實上,即使對軟件曾經進行了詳細的測試,也很難說會發現這種錯誤。當前的許多Linux的實現中都有這個錯誤,向Linux發送很少幾個這樣的數據包,便可以引起
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年部編版語文五年級下冊第一次月考測試及答案(共2套)
- 2014保險銷售從業沖刺練習卷及答案2
- 農產品安全監測信息共享協議
- 童話里的森林王國:想象作文10篇范文
- 軟件測試與性能優化操作規程
- 《古典詩詞鑒賞方法分享:高中語文課程》
- 機械工程零件加工技術知識點詳解
- 化工工藝流程操作及安全知識要點
- 歷史年代事件考查題集
- 2025年中考語文二輪復習講練測第01講 巧辨字音字形(課件)
- 【MOOC】固定資產投資審計-南京審計大學 中國大學慕課MOOC答案
- RFID試題庫及參考答案
- 2025版國家開放大學法學本科《知識產權法》期末紙質考試第二大題多項選擇題題庫
- 中醫藥膳學知識學習考試題庫500題(含答案)
- 國際法課件:國際組織法
- 【MOOC】數字邏輯電路實驗-東南大學 中國大學慕課MOOC答案
- 2024年度小學生科普知識競賽題庫附答案(共100題)
- 高教版2023年中職教科書《語文》(基礎模塊)上冊教案全冊
- 五年級下冊語文作文范文1-8單元
- 廣東省廣州市2024年中考數學真題試卷(含答案)
- 2024年山東省青島市中考數學試卷(附答案)
評論
0/150
提交評論