TCP協(xié)議詳解和tcp上的攻擊_第1頁
TCP協(xié)議詳解和tcp上的攻擊_第2頁
TCP協(xié)議詳解和tcp上的攻擊_第3頁
TCP協(xié)議詳解和tcp上的攻擊_第4頁
TCP協(xié)議詳解和tcp上的攻擊_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

主要內(nèi)容一、TCP協(xié)議相關知識:協(xié)議結構、連接創(chuàng)立、滑動窗口確認機制與流量控制二、針對TCP協(xié)議的攻擊:SYNFlood、TCPReset、大滑動窗口漏洞三、TCPISN預測算法分層模型數(shù)據(jù)的流動 無論是OSI模型還是TCP/IP協(xié)議族都采用了分層協(xié)議設計。都是為了到達這樣的一個效果:接收者的第n層收到的數(shù)據(jù)就是發(fā)送者第n層發(fā)送的數(shù)據(jù)。這樣,就可以使協(xié)議的使用者在一段時間內(nèi)把注意力集中到某一層而不必擔憂較低層執(zhí)行情況。數(shù)據(jù)包封裝TCP數(shù)據(jù)局部IP數(shù)據(jù)局部IP首部應用層數(shù)據(jù)包TCP首部IP數(shù)據(jù)包以太網(wǎng)幀首部

IP協(xié)議把首部的目網(wǎng)絡接口層把以太網(wǎng)幀首部的目標物理地址設為54-89-98-f5-9e-d2并把數(shù)據(jù)發(fā)送到網(wǎng)線上應用層傳輸層網(wǎng)絡層網(wǎng)絡接口層TCP協(xié)議把首部的目標端口設為80TCP首部20字節(jié)的固定首部目的端口數(shù)據(jù)偏移檢驗和選項〔長度可變〕源端口序號緊急指針窗口確認號保留FIN32bitSYNRSTPSHACKURG比特08162431填充TCP協(xié)議結構IP首部20字節(jié)的固定首部包總長度〔單位:字節(jié)〕選項版本拆分包標識協(xié)議32bit比特08162431數(shù)據(jù)首部長度效勞類型標志片偏移生存時間首部檢驗和源IP目標IPIP協(xié)議結構下面通過分析訪問博達主頁產(chǎn)生的數(shù)據(jù)包來了解一下TCP,IP協(xié)議的結構及TCP三次握手過程48位目標MAC地址(54-89-98-f5-9e-d2)48位源MAC地址第一次握手:我想和博達效勞器建立TCP連接〔00-22-68-1E-62-D9〕16位源端口(50229)16位目標端口(80)32位序號序號32位確認號(0)4位首部長度(單位:4字節(jié))6位保存SYNFIN16位窗口16位TCP包檢驗和16位緊急指針選項和填充(可變)選項和填充(可變)4位版本4位首長8位效勞類型16位IP包總長度〔52〕16位標識符〔3617〕不用DFRSTMF13位片偏移8位TTL(64)8位協(xié)議(6)16位首部檢驗和32位源IP(36.45.131.26)ACKPSHURG32位目標的IP(116.255.223.53)16位類型0x8864(2577935418)16位窗口16位TCP包檢驗和16位緊急指針選項和填充(可變)選項和填充(可變)選項和填充(可變)4位版本4位類型8位代碼16位會話ID(0x635e)16位凈載荷長度16位協(xié)議域(0x0021)第二次握手:博達效勞器同意我連接,并且要求連接我32位序號32位確認號(2577935419,上個tcp包序號+1)SYNACK序號(3393589865)第三次握手:我同意博達效勞器的連接請求,32位序號32位確認號(3393589866,上個tcp包序號+1)SYNACK序號(2577935419)SYNFLOOD攻擊短時間內(nèi)發(fā)送大量tcp連接請求卻不予回應,耗盡目標系統(tǒng)資源X等待回復滑動窗口功能之一:TCP數(shù)據(jù)確認

可靠的數(shù)據(jù)傳輸都要求接收方對發(fā)送方發(fā)出的數(shù)據(jù)進行確認。TCP也要求數(shù)據(jù)確實認,但TCP確實認機制與一般的不同,它能極大的提高數(shù)據(jù)確認效率,減少信道占用捎帶確認機制網(wǎng)購狂人取快遞9:109:159:209:35sorry,來不動了...單包確認〔雖然可靠但效率很低,而且容易擁塞網(wǎng)絡〕多么累的領悟之后9:10你的快遞,10分鐘不來簽收,就下趟再送了啊馬上就來我要等下個一起簽收9:15馬上就來我還要等下個一起簽收9:20TCP超時重傳這次真要去了,否那么第一個快遞員要走了剛站起來,看到小段拿著個包裹去寄小段啊,聽說你的凌波微步練成了,幫我把三個包裹簽收了吧小段一趟就發(fā)出一個包,并順帶簽收了三個包TCP捎帶確認機制〔效率很高,不擁塞網(wǎng)絡信道〕9:20滑動窗口功能之二:流量控制

發(fā)送端不可發(fā)送的太多、太快以至于使得接收端的緩存溢出流量控制接收端緩存RcvBuffer=接收端的TCP緩存大小RcvWindow=緩存中空閑的局部收到確認即可右移1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送指針發(fā)送TCP要維護一個指針。指針隨著已經(jīng)發(fā)送的數(shù)據(jù)向右移動。窗口隨著已經(jīng)確認的數(shù)據(jù)向右移動。假設發(fā)送端要發(fā)送900字節(jié)長的數(shù)據(jù),而發(fā)送窗口確定為500字節(jié)?;瑒哟翱诔跏紶顟B(tài):收到確認即可右移1002003004005006007008009001012013014015016017018011發(fā)送窗口可發(fā)送不可發(fā)送指針滑動窗口已發(fā)送但未被確認已發(fā)送300字節(jié),但未被確認:

1002003004005006007008009001012013014015016017018011可發(fā)送不可發(fā)送指針發(fā)送窗口右移已發(fā)送并被確認已發(fā)送但未被確認其中200字節(jié)被確認收到:

滑動窗口又發(fā)送了300字節(jié):

1002003004005006007008009001012013014015016017018011可發(fā)送不可發(fā)送指針發(fā)送窗口右移已發(fā)送并被確認已發(fā)送但未被確認1002003004005006007008009001012013014015016017018011可發(fā)送不可發(fā)送指針發(fā)送窗口右移并縮小已發(fā)送并被確認已發(fā)送但未被確認發(fā)送端收到了對方對前400字節(jié)數(shù)據(jù)確實認,但對方數(shù)據(jù)積壓,空閑緩存變小,通知發(fā)送端必須把窗口減小到400字節(jié)。梳理一下滑動窗口進行流量控制和捎帶確認的過程SEQ=1SEQ=201SEQ=401SEQ=301SEQ=101SEQ=501ACK=201,WIN=300ACK=601,WIN=0ACK=501,WIN=200主機A主機B允許A再發(fā)送300字節(jié)〔序號201至500〕A還能發(fā)送200字節(jié)A還能發(fā)送200字節(jié)〔序號301至500〕A還能發(fā)送300字節(jié)A還能發(fā)送100字節(jié)〔序號401至500〕A超時重發(fā),但不能發(fā)送序號500以后的數(shù)據(jù)允許A再發(fā)送200字節(jié)〔序號501至700〕A還能發(fā)送100字節(jié)〔序號501至700〕不允許A再發(fā)送〔到序號600的數(shù)據(jù)都已收到〕SEQ=201丟失!假定雙方開始時確定的窗口值是400,A每次發(fā)送100字節(jié)TCPReset攻擊SEQ=7582121SEQ=7582221ACK=7582321,RST=1主機A主機B告訴A出現(xiàn)異常,A中斷連接A還能發(fā)送200字節(jié)A還能發(fā)送300字節(jié)還看剛剛的情景,假定雙方確定的窗口值是400,A每次發(fā)送100字節(jié)假設這時候主機C發(fā)了這個數(shù)據(jù)包呢?ACK=1234567,RST=1主機CACK=7582321,RST=1ACK不對,不予理會接受該包,斷開與B的連接大滑動窗口漏洞SEQ=7582121SEQ=7582221ACK=7582321,RST=1主機A主機B告訴A出現(xiàn)異常,A中斷連接A還能發(fā)送200字節(jié)A還能發(fā)送300字節(jié)仍然看剛剛的情景,假定雙方確定的窗口值是400,A每次發(fā)送100字節(jié)假設這時候主機C沒發(fā)上個而是發(fā)了這個數(shù)據(jù)包呢?ACK=123456,RST=1主機CACK=7582321,RST=1ACK不對,不予理會接受該包,斷開與B的連接ACK=7582221,RST=1接受該包,斷開與B的連接大滑動窗口漏洞1002003004005006007008009001012013014015016017018011不可發(fā)送已發(fā)送并被確認已發(fā)送但未被確認發(fā)送窗口對這個等待被確認的任何一個發(fā)送確認包都會被接受指針大滑動窗口漏洞 由此,我們假設TCP連接的序列號是A,攻擊者選擇一個隨機序列號為B,以步長為“windowsize”發(fā)送報文,因為序列號范圍為0到,同時考慮到A,B所處的位置的概率,攻擊者平均發(fā)送〔〕/〔windowsize*2〕個報文就有一個能夠落在當前TCP連接的滑動窗口范圍內(nèi),從而導致該TCP連接復位。這里假設windowsize為8192,達成攻擊必須平均發(fā)送262144個報文,假設報文長 度為256字節(jié),那么攻擊者使用2M的ADSL線路可以在512秒復位這個TCP連接,考慮到現(xiàn)在很多操作系統(tǒng)的windowsize很大,而且攻擊的線路帶寬也遠不止2M,攻擊者可以更快完成攻擊。TCPISN預測 盡管目前操作系統(tǒng)的TCP協(xié)議棧都采用了強健的隨機生成算法生成ISN,但是所產(chǎn)生的ISN仍然不可能是真正的隨機數(shù)。因為:(1)計算機只能重復、準確地執(zhí)行指令,同一生成算法在相同條件下都會得到相同的結果;(2)如果能獲得遠程主機的內(nèi)部狀態(tài),也可以預測它的輸出;(3)雖然不知道遠程主機TCP協(xié)議棧的ISN生成函數(shù),但是算法最終會使ISN繚繞,按一定的規(guī)律重復以前的ISN,所以仍然可以推斷ISN;(4)相關RFC規(guī)定ISN單調(diào)增加。假設產(chǎn)生完全隨機的ISN值,攻擊者猜到的可能性是1/〔2的32次方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論