一種基于主機的網(wǎng)絡攻擊跳板檢測方法及裝置制造方法【專利摘要】本發(fā)明涉及多級網(wǎng)絡跳板主機檢測領域,尤其是一種網(wǎng)絡攻擊跳板檢測方法。本發(fā)明針對現(xiàn)有技術(shù)的問題,本發(fā)明提出了一種基于主機的網(wǎng)絡攻擊跳板檢測方法及裝置,通過網(wǎng)絡追蹤溯源找到攻擊者,必然需要能夠?qū)W(wǎng)絡攻擊跳板主機進行檢測,從而遏制通過跳板主機進行的網(wǎng)絡攻擊,并逐級找到隱匿在跳板主機后的攻擊者。本發(fā)明中數(shù)據(jù)包捕獲模塊捕獲該主機的數(shù)據(jù)包,數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,跳板檢測模塊檢測數(shù)據(jù)流組是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對數(shù)據(jù)流組進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級。【專利說明】一種基于主機的網(wǎng)絡攻擊跳板檢測方法及裝置【
技術(shù)領域:
】[0001]本發(fā)明涉及多級網(wǎng)絡跳板主機檢測領域,尤其是一種網(wǎng)絡攻擊跳板檢測方法及裝置?!?br>背景技術(shù):
】[0002]目前,網(wǎng)絡攻擊日益猖獗,攻擊手段日益復雜,攻擊者在實施網(wǎng)絡攻擊時通常會利用多級跳板主機來實施攻擊步驟,從而達到隱匿攻擊者身份的目的。跳板主機是指攻擊者事先攻擊并掌控的主機,攻擊者通過逐級登錄多個跳板主機,組成一個跳板攻擊鏈,并通過最后一個跳板主機實施具體的網(wǎng)絡攻擊,如圖1所述。由于從受害者只能追查找到最后一跳跳板主機,所以攻擊者能夠利用跳板攻擊鏈達到逃避追蹤、隱匿身份的目的。攻擊者利用的跳板主機大都是其事先攻下的主機或者購買的虛擬主機,主要利用SSH、Telnet、rlogin、rsh等交互式登錄會話協(xié)議組織攻擊跳板鏈。對跳板主機的檢測主要就是利用這些遠程登錄協(xié)議的特征及跳板主機間數(shù)據(jù)流的相關(guān)性進行檢測。[0003]攻擊者通常利用SSH、Telnet、rlogin、rsh等遠程交互式會話協(xié)議登錄并組織跳板攻擊鏈,因此對跳板的檢測方法主要集中在對多級跳板間通信特征的分析。正常情況下,一條主機間的遠程登錄會話鏈不會超過兩跳,如果超過兩跳則很有可能是攻擊者蓄意組織的一條網(wǎng)絡攻擊跳板鏈。StanifordChen等人在文獻《HoldingIntrudersAccountableontheInternet》提出了一種利用數(shù)據(jù)包指紋對比的方法來進行跳板鏈的檢測,但是只能對未加密的會話進行檢測,無法檢測SSH等加密會話鏈。YinZhang和VernPaxson在文獻《Detectingsteppingstones))中提出了一種基于數(shù)據(jù)包時間信息相關(guān)分析的跳板檢測方法,該方法可以對加密的會話進行檢測,但是這種方法的誤報率較高,在真實的互聯(lián)網(wǎng)環(huán)境下并不適用。JianhuaYang等人在文獻《AReal-TimeAlgorithmtoDetectLongConnectionChainsofInteractiveTerminalSessions))提出了一種基于RTT(RoundTripTime)的跳板檢測方法,該方法通過檢測交互式會話中回送信息的延時判斷跳板是否存在,但是該方法需要從會話初始建立時就對主機的數(shù)據(jù)流進行監(jiān)控,對已建立的會話鏈無法進行檢測。國內(nèi)解放軍信息工程大學的孫奕等人在文獻《基于網(wǎng)絡回聲的跳板檢測系統(tǒng)的設計與實現(xiàn)》提出了一種基于Web服務器端的跳板檢測方法,能夠檢測訪問Web服務器的主機是否為跳板主機。但是這種方法只能在Web攻擊場景下實施,并且只能檢測跳板主機的最后一跳,應用場景比較狹窄。[0004]在目前的互聯(lián)網(wǎng)環(huán)境下,為了能夠?qū)W(wǎng)絡攻擊進行追蹤溯源,找到通過跳板隱匿真實身份的攻擊者,我們需要一種在真實網(wǎng)絡環(huán)境下能夠?qū)崟r、準確、快速檢測網(wǎng)絡攻擊跳板的方法。但是,當前對網(wǎng)絡攻擊跳板的檢測大多仍集中在理論研究階段,一些設計的檢測算法只適用于實驗環(huán)境,而另外一些檢測方法則應用場景單一,難于在實際網(wǎng)絡中應用?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明所要解決的技術(shù)問題是:針對現(xiàn)有技術(shù)網(wǎng)絡攻擊者在實施網(wǎng)絡攻擊時通常會利用多級跳板主機來實施攻擊步驟,從而達到隱匿攻擊者身份的目的問題,解決的思路是通過網(wǎng)絡追蹤溯源找到攻擊者,必然需要能夠?qū)W(wǎng)絡攻擊跳板主機進行檢測,從而遏制通過跳板主機進行的網(wǎng)絡攻擊,并逐級找到隱匿在跳板主機后的攻擊者。本發(fā)明提出了一種基于主機的網(wǎng)絡攻擊跳板檢測方法及裝置,該方法通過監(jiān)控主機的數(shù)據(jù)流,分析和識別與跳板攻擊相關(guān)的數(shù)據(jù)流,并通過基于RTT的檢測判別方法,能夠快速有效地檢測是否存在網(wǎng)絡攻擊跳板,有效解決網(wǎng)絡攻擊追蹤溯源中跳板的檢測與識別問題。相應的,通過方法對應的裝置,分析和識別與跳板攻擊相關(guān)的數(shù)據(jù)流,快速檢測是否存在網(wǎng)絡攻擊跳板,有效解決網(wǎng)絡攻擊追蹤溯源中跳板的檢測與識別問題。[0006]本發(fā)明采用的技術(shù)方案如下:一種基于主機的網(wǎng)絡攻擊跳板檢測方法包括:步驟1:數(shù)據(jù)包捕獲模塊捕獲該主機的數(shù)據(jù)包,對每條數(shù)據(jù)包進行唯一標識,對數(shù)據(jù)包進行分類后輸出,執(zhí)行步驟2;所述數(shù)據(jù)包分為遠程登錄協(xié)議數(shù)據(jù)包和未識別應用層協(xié)議數(shù)據(jù)包;步驟2:數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列并進行分類保存,執(zhí)行步驟3;否則丟棄本次數(shù)據(jù)包;步驟3:跳板檢測模塊檢測分類數(shù)據(jù)流隊列是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對分類數(shù)據(jù)流隊列進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級;否則,結(jié)束流程;其中Echo_RTT是發(fā)送數(shù)據(jù)包與回顯數(shù)據(jù)包之間時間間隔值;Ack_RTT是發(fā)送數(shù)據(jù)包與相鄰節(jié)點Ack數(shù)據(jù)包之間的時間間隔值。[0007]進一步的,所述步驟2具體步驟包括:步驟21:數(shù)據(jù)流識別及分析模塊判斷接收到捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則執(zhí)行步驟2;否則,丟棄本次TCP數(shù)據(jù)包;步驟22:判斷TCP數(shù)據(jù)包是否屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,若不屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,則建立分類數(shù)據(jù)流隊列,將為本次TCP數(shù)據(jù)包加入建立后分類數(shù)據(jù)流隊列中;否則,將本次TCP數(shù)據(jù)包加入對應分類數(shù)據(jù)流隊列中,執(zhí)行步驟23;步驟23:判斷本次TCP數(shù)據(jù)包是否屬于遠程登錄數(shù)據(jù)包,若屬于遠程登錄數(shù)據(jù)包,則將本次TCP數(shù)據(jù)包直接加入相應分類數(shù)據(jù)流隊列中;否則,執(zhí)行步驟24;步驟24:進行TCP數(shù)據(jù)包應用層協(xié)議識別,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,執(zhí)行步驟25:步驟25:對未識別為遠程登錄協(xié)議數(shù)據(jù)包進行判斷,當本次TCP數(shù)據(jù)包中個數(shù)超過M個未識別、數(shù)據(jù)包中不足M且數(shù)據(jù)包捕獲時間超過T,則丟棄本次數(shù)據(jù)包;否則,執(zhí)行步驟21,其中M范圍是5-10,T范圍是5-10分鐘。[0008]進一步的,所述步驟24中進行TCP數(shù)據(jù)包應用層協(xié)議識別是通過協(xié)議默認端口識別及協(xié)議識別負載特征串相結(jié)合的方法,其具體過程是:步驟241:識別TCP數(shù)據(jù)包的端口字段,根據(jù)遠程登錄協(xié)議的默認端口號進行判別,若是能根據(jù)遠程登錄協(xié)議默認端口號識別出TCP數(shù)據(jù)包;則將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則執(zhí)行步驟242;步驟242:根據(jù)遠程登錄協(xié)議交互中數(shù)據(jù)包存在的特征字符串識別TCP數(shù)據(jù)包,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,結(jié)束操作。[0009]進一步的,所述步驟3跳板檢測模塊對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行數(shù)據(jù)匹配并計算Echo_RTT與Ack_RTT,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級的具體步驟為:步驟311:當X1-Xh蘭60、t蘭T且η蘭N,執(zhí)行步驟312,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Ack_RTT的匹配與計算;同時執(zhí)行步驟315,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Echo_RTT的匹配計算;其中Xi為該分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包數(shù)量,Xi^1為上一周期檢測的數(shù)據(jù)包數(shù)量;T范圍是5-10分鐘A的捕獲時間為t;X,檢測周期數(shù)η;Ν范圍為5_10,η表示檢測的周期個數(shù),t表示周期長度;步驟312:對于主機的分類數(shù)據(jù)流隊列的每一個TCP數(shù)據(jù)包,提取TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算期待ACK序號=順序號+數(shù)據(jù)包載荷長度;步驟313:提取TCP數(shù)據(jù)包中距離發(fā)送TCP數(shù)據(jù)包時間間隔最近的從機響應數(shù)據(jù)包,并提取從機響應數(shù)據(jù)包中ACK序號,若步驟312中計算的期待ACK序號與從機響應數(shù)據(jù)包的ACK序號相等,則這兩個數(shù)據(jù)包是匹配的,通過計算這兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Ack_RTT;步驟314:重復步驟312至步驟313得到多組Ack_RTT,并計算得到Ack_RTT平均值;步驟315:當使用明文傳輸?shù)倪h程登錄協(xié)議,那么通過直接匹配發(fā)送數(shù)據(jù)包和回送數(shù)據(jù)包的數(shù)據(jù)包載荷,如果包含相同內(nèi)容,那么這兩個數(shù)據(jù)包是匹配的,通過計算著兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Echo_RTT;當使用密文傳輸?shù)倪h程登錄協(xié)議,執(zhí)行步驟315;步驟316:對于使用密文傳輸?shù)倪h程登錄協(xié)議,那么使用如下方法:提取主機TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算主機的期待ACK序號=順序號+數(shù)據(jù)包載荷長度;對收到的從機發(fā)送的TCP數(shù)據(jù)包Q獲取ACK序號及序列號,當滿足P的ACK序號與Q的序列號相等且P的序列號小于Q的ACK序號,且P的序列號小于Q的ACK序號,則稱TCP數(shù)據(jù)包P和TCP數(shù)據(jù)包Q是匹配的發(fā)送和回顯數(shù)據(jù)包,計算所述發(fā)送數(shù)據(jù)包和回顯數(shù)據(jù)包的時間間隔得到Echo_RTT;步驟317:重復步驟315至步驟316,得到多組Echo_RTT,計算得到Echo_RTT平均值。[0010]進一步的,所述步驟3中跳板檢測模塊判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級,具體步驟為:步驟321:若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例大于等于50%,則判定為高等級;若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例小于50%,則判定為中等級;其余為低等級;步驟322:如果數(shù)據(jù)流捕獲時間超過10分鐘且檢測周期大于超過M,那么對仍未檢測出跳板的數(shù)據(jù)流判定為不是跳板數(shù)據(jù),丟棄本數(shù)據(jù),M范圍是5到10。[0011]一種基于主機的網(wǎng)絡攻擊跳板檢測裝置包括:數(shù)據(jù)包捕獲模塊、數(shù)據(jù)流識別及分析模塊以及跳板檢測模塊,所述數(shù)據(jù)包捕獲模塊:捕獲該主機的數(shù)據(jù)包,對每條數(shù)據(jù)包進行唯一標識,對數(shù)據(jù)包進行分類后輸出;所述數(shù)據(jù)包分為遠程登錄協(xié)議數(shù)據(jù)包和未識別應用層協(xié)議數(shù)據(jù)包;數(shù)據(jù)流識別及分析模塊:接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出TCP數(shù)據(jù)流,并將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列并進行分類保存;將未識別的數(shù)據(jù)包丟棄;跳板檢測模塊檢測分類數(shù)據(jù)流隊列是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對分類數(shù)據(jù)流隊列進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級。[0012]進一步的,所述數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出TCP數(shù)據(jù)流,并將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列并進行分類保存;將未識別的數(shù)據(jù)包丟棄具體步驟包括:步驟21:數(shù)據(jù)流識別及分析模塊判斷接收到捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則執(zhí)行步驟2;否則,丟棄本次TCP數(shù)據(jù)包;步驟22:判斷TCP數(shù)據(jù)包是否屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,若不屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,則建立分類數(shù)據(jù)流隊列,將為本次TCP數(shù)據(jù)包加入建立后分類數(shù)據(jù)流隊列中;否則,將本次TCP數(shù)據(jù)包加入對應分類數(shù)據(jù)流隊列中,執(zhí)行步驟23;步驟23:判斷本次TCP數(shù)據(jù)包是否屬于遠程登錄數(shù)據(jù)包,若屬于遠程登錄數(shù)據(jù)包,則將本次TCP數(shù)據(jù)包直接加入相應分類數(shù)據(jù)流隊列中;否則,執(zhí)行步驟24;步驟24:進行TCP數(shù)據(jù)包應用層協(xié)議識別,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,執(zhí)行步驟25:步驟25:對未識別為遠程登錄協(xié)議數(shù)據(jù)包進行判斷,當本次TCP數(shù)據(jù)包中個數(shù)超過M個未識別、數(shù)據(jù)包中不足M且數(shù)據(jù)包捕獲時間超過T,則丟棄本次數(shù)據(jù)包;否則,執(zhí)行步驟21,其中M范圍是5-10,T范圍是5-10分鐘。[0013]進一步的,所述步驟24中進行TCP數(shù)據(jù)包應用層協(xié)議識別是通過協(xié)議默認端口識別及協(xié)議識別負載特征串相結(jié)合的方法,其具體過程是:步驟241:識別TCP數(shù)據(jù)包的端口字段,根據(jù)遠程登錄協(xié)議的默認端口號進行判別,若是能根據(jù)遠程登錄協(xié)議默認端口號識別出TCP數(shù)據(jù)包;則將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則執(zhí)行步驟242;步驟242:根據(jù)遠程登錄協(xié)議交互中數(shù)據(jù)包存在的特征字符串識別TCP數(shù)據(jù)包,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,結(jié)束操作。[0014]進一步的,所述跳板檢測模塊分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行數(shù)據(jù)匹配并計算Echo_RTT與Ack_RTT,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級的具體步驟為:步驟311:當X1-Xh蘭60、t蘭T且η蘭N,執(zhí)行步驟312,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Ack_RTT的匹配與計算;同時執(zhí)行步驟315,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Echo_RTT的匹配計算;其中Xi為該分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包數(shù)量,Xi^1為上一周期檢測的數(shù)據(jù)包數(shù)量;T范圍是5-10分鐘A的捕獲時間為t;X,檢測周期數(shù)η;Ν范圍為5_10,η表示檢測的周期個數(shù),t表示周期長度;步驟312:對于主機的分類數(shù)據(jù)流隊列的每一個TCP數(shù)據(jù)包,提取TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算期待ACK序號=順序號+數(shù)據(jù)包載荷長度;步驟313:提取TCP數(shù)據(jù)包中距離發(fā)送TCP數(shù)據(jù)包時間間隔最近的從機響應數(shù)據(jù)包,并提取從機響應數(shù)據(jù)包中ACK序號,若步驟312中計算的期待ACK序號與從機響應數(shù)據(jù)包的ACK序號相等,則這兩個數(shù)據(jù)包是匹配的,通過計算這兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Ack_RTT;步驟314:重復步驟312至步驟313得到多組Ack_RTT,并計算得到Ack_RTT平均值;步驟315:當使用明文傳輸?shù)倪h程登錄協(xié)議,那么通過直接匹配發(fā)送數(shù)據(jù)包和回送數(shù)據(jù)包的數(shù)據(jù)包載荷,如果包含相同內(nèi)容,那么這兩個數(shù)據(jù)包是匹配的,通過計算著兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Echo_RTT;當使用密文傳輸?shù)倪h程登錄協(xié)議,執(zhí)行步驟315;步驟316:對于使用密文傳輸?shù)倪h程登錄協(xié)議,那么使用如下方法:提取主機TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算主機的期待ACK序號=順序號+數(shù)據(jù)包載荷長度;對收到的從機發(fā)送的TCP數(shù)據(jù)包Q獲取ACK序號及序列號,當滿足P的ACK序號與Q的序列號相等且P的序列號小于Q的ACK序號,且P的序列號小于Q的ACK序號,則稱TCP數(shù)據(jù)包P和TCP數(shù)據(jù)包Q是匹配的發(fā)送和回顯數(shù)據(jù)包,計算所述發(fā)送數(shù)據(jù)包和回顯數(shù)據(jù)包的時間間隔得到Echo_RTT;步驟317:重復步驟315至步驟316,得到多組Echo_RTT,計算得到Echo_RTT平均值。[0015]進一步的,所述步驟3中跳板檢測模塊判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級,具體步驟為:步驟321:若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例大于等于50%,則判定為高等級;若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例小于50%,則判定為中等級;其余為低等級;步驟322:如果數(shù)據(jù)流捕獲時間超過10分鐘且檢測周期大于超過M,那么對仍未檢測出跳板的數(shù)據(jù)流判定為不是跳板數(shù)據(jù),丟棄本數(shù)據(jù),M范圍是5到10。[0016]綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:1、本發(fā)明提出了一種基于主機的網(wǎng)絡攻擊跳板檢測方法和裝置,通過監(jiān)控和分析主機的數(shù)據(jù)流,對比數(shù)據(jù)流中RTT的變化,判斷主機是否為網(wǎng)絡攻擊跳板,為遏止利用跳板進行的網(wǎng)路攻擊和對攻擊者的追蹤溯源提供關(guān)鍵?目息。[0017]2、本發(fā)明設計的網(wǎng)絡攻擊跳板檢測方法及系統(tǒng)利用遠程登錄協(xié)議的特點,通過對數(shù)據(jù)流進行相關(guān)分析,計算并比較RTT值來判斷主機是否為跳板,能夠快速有效地實現(xiàn)對跳板主機的檢測。網(wǎng)絡攻擊跳板主機的判定可以幫助對進行中的網(wǎng)絡攻擊鏈進行阻斷,并且能夠為網(wǎng)絡攻擊溯源中對上一跳的追蹤提供關(guān)鍵信息。[0018]3、本發(fā)明設計了一種快速有效的跳板檢測方法,能夠在實際的網(wǎng)絡環(huán)境中實時對網(wǎng)絡攻擊跳板進行檢測,誤報率及漏報率較低。同時,本發(fā)明能夠利用數(shù)據(jù)流的部分數(shù)據(jù)包進行檢測,減小了檢測算法的時間及空間復雜度,并根據(jù)收集的信息對疑似跳板給予不同的可信等級,提高了判定的準確度及可行度。【專利附圖】【附圖說明】[0019]本發(fā)明將通過例子并參照附圖的方式說明,其中:圖1網(wǎng)絡攻擊跳板示意圖。[0020]圖2主機發(fā)送“ps”命令到遠程主機并返回結(jié)果的示意圖。[0021]圖3主機與鄰近主機間的Ack_RTT值示意圖。[0022]圖4是本發(fā)明結(jié)構(gòu)框圖。[0023]圖5是本發(fā)明數(shù)據(jù)流識別及分析模塊工作流程圖。[0024]圖6跳板檢測模塊流程圖。【具體實施方式】[0025]本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。[0026]本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。[0027]本專利原理:1、在大部分交互式登錄會話中,用戶在客戶端輸入的每個字符都將產(chǎn)生一個數(shù)據(jù)包發(fā)送到登錄的遠程主機,而遠程主機收到該字符后會將其回送給客戶端并顯示出來。圖2展示了客戶端發(fā)送“ps”命令到遠程主機并返回結(jié)果的大致流程。[0028]2、網(wǎng)絡回環(huán)時間(RTT)是從主機發(fā)送數(shù)據(jù)包到收到響應數(shù)據(jù)包的時間間隔。由于跳板攻擊鏈各個主機要中繼傳輸數(shù)據(jù)包,因此發(fā)送數(shù)據(jù)包與回顯數(shù)據(jù)包之間的時間間隔Echo_RTT通常遠遠大于主機與鄰近主機間的RTT值,如圖3所示。本發(fā)明通過檢測和匹配發(fā)送數(shù)據(jù)包和回顯數(shù)據(jù)包,計算和對比Echo_RTT與鄰近主機間的RTT值,從而判定該主機是否為跳板主機。[0029]3、本發(fā)明由包括數(shù)據(jù)包捕獲模塊、數(shù)據(jù)流識別及分析模塊、跳板檢測模塊和結(jié)果輸出四個部分組成,如圖4所示。數(shù)據(jù)包捕獲模塊負責對主機的網(wǎng)絡數(shù)據(jù)包進行監(jiān)控,得到主機的網(wǎng)絡數(shù)據(jù)包;數(shù)據(jù)流識別及分析模塊負責對捕獲的數(shù)據(jù)包進行應用層協(xié)議識別及管理,過濾掉非SSH、Telnet、rlogin、rsh協(xié)議的數(shù)據(jù)流;跳板檢測模塊負責對數(shù)據(jù)流進行RTT計算及跳板的判定;結(jié)果輸出模塊展示并存儲跳板檢測的結(jié)果信息。[0030]4、判斷是否為TCP數(shù)據(jù)包具體過程是:查看IP數(shù)據(jù)包頭上層協(xié)議標識字段,若該字段為TCP數(shù)據(jù)包字段,則該數(shù)據(jù)包屬于TCP數(shù)據(jù)包。[0031]5、每條TCP數(shù)據(jù)包進行唯一標識是通過TCP數(shù)據(jù)包四元組信息進行唯一標識具體步驟為:提取TCP數(shù)據(jù)包的源IP地址、目的IP地址、源端口和目的端口四元組信息,將該四元組信息作為該TCP數(shù)據(jù)包的唯一標識。[0032]6、從機指的是與主機通訊的客戶端。[0033]實施例一:一種基于主機的網(wǎng)絡攻擊跳板檢測方法包括:步驟1:數(shù)據(jù)包捕獲模塊捕獲該主機的數(shù)據(jù)包,對每條數(shù)據(jù)包進行唯一標識,對數(shù)據(jù)包進行分類后輸出,執(zhí)行步驟2;所述數(shù)據(jù)包分為遠程登錄協(xié)議數(shù)據(jù)包和未識別應用層協(xié)議數(shù)據(jù)包;步驟2:數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出符合條件的遠程登錄協(xié)議數(shù)據(jù)包,并將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列,進行分類保存,執(zhí)行步驟3;將不合符條件的TCP數(shù)據(jù)包丟棄;步驟3:跳板檢測模塊檢測數(shù)據(jù)流組是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對數(shù)據(jù)流組進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級;否則,結(jié)束流程。[0034]其中,步驟I中對每條TCP數(shù)據(jù)包進行唯一標識是通過TCP數(shù)據(jù)包四元組信息進行唯一標識,具體步驟為:提取TCP數(shù)據(jù)包的源IP地址、目的IP地址、源端口和目的端口四元組信息,將該四元組信息作為該TCP數(shù)據(jù)包的唯一標識。[0035]實施例二:在實施例一基礎上,步驟I中每條TCP數(shù)據(jù)包進行唯一標識是通過TCP數(shù)據(jù)包四元組信息進行唯一標識,具體步驟為:提取TCP數(shù)據(jù)包的源IP地址、目的IP地址、源端口和目的端口四元組信息,將該四元組信息作為該TCP數(shù)據(jù)包的唯一標識。[0036]實施例三:在實施例一或二基礎上,所述步驟2具體步驟為:步驟21:數(shù)據(jù)流識別及分析模塊判斷接收到捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則執(zhí)行步驟2;否則,丟棄本次TCP數(shù)據(jù)包;步驟22:判斷TCP數(shù)據(jù)包是否屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,若沒有建立保存隊列,則將為本次TCP數(shù)據(jù)包建立保存隊列,并將此次TCP數(shù)據(jù)包加入保存隊列中;否則,將本次TCP數(shù)據(jù)包加入對應數(shù)據(jù)流保存隊列中,執(zhí)行步驟23;步驟23:判斷本次TCP數(shù)據(jù)包是否屬于遠程登錄數(shù)據(jù)包,若屬于遠程登錄數(shù)據(jù)包,則將本次TCP數(shù)據(jù)包直接加入相應分類數(shù)據(jù)流隊列中;否則,執(zhí)行步驟24;步驟24:進行TCP數(shù)據(jù)包應用層協(xié)議識別,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,執(zhí)行步驟25:步驟25:對未識別為遠程登錄協(xié)議數(shù)據(jù)包進行判斷,當本次TCP數(shù)據(jù)包中個數(shù)超過M個未識別、數(shù)據(jù)包中不足M且數(shù)據(jù)包捕獲時間超過T,則丟棄本次數(shù)據(jù)包;否則,執(zhí)行步驟21。[0037]其中步驟21中判斷是否為TCP數(shù)據(jù)包具體過程是:查看IP數(shù)據(jù)包頭上層協(xié)議標識字段,若該字段為TCP數(shù)據(jù)包字段,則該數(shù)據(jù)包屬于TCP數(shù)據(jù)包。[0038]實施例四:在實施例一至三之一基礎上,所述步驟24中進行TCP數(shù)據(jù)包應用層協(xié)議識別是通過協(xié)議默認端口識別及協(xié)議識別負載特征串相結(jié)合的方法,其具體過程是:步驟241:識別IP數(shù)據(jù)包的端口字段,根據(jù)遠程登錄協(xié)議的默認端口號(比如Telnet協(xié)議默認端口為23號,SSH協(xié)議默認端口為22號)進行判別,若是能根據(jù)遠程登錄協(xié)議默認端口號識別出TCP數(shù)據(jù)包;則執(zhí)行步驟25;否則執(zhí)行步驟242;步驟242:根據(jù)遠程登錄協(xié)議交互中數(shù)據(jù)包存在的特征字符串識別TCP數(shù)據(jù)包(例如SSH協(xié)議存在“SSH-**-0penSSH_**”特征字符串)。[0039]實施例五:所述步驟3跳板檢測模塊對數(shù)據(jù)流進行數(shù)據(jù)匹配并計算Echo_RTT與Ack_RTT,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級的具體步驟為:步驟311:當X1-Xh蘭60、t蘭T且η蘭N,執(zhí)行步驟312,對數(shù)據(jù)流進行Ack_RTT的匹配與計算;同時執(zhí)行步驟315,對數(shù)據(jù)流進行Echo_RTT的匹配計算;其中XiS該數(shù)據(jù)流組中數(shù)據(jù)包數(shù)量,Xh為上一周期檢測的數(shù)據(jù)包數(shù)量;T范圍是5-10分鐘A的捕獲時間為t;X,檢測周期數(shù)η;N范圍為5-10;步驟312:對于主機的發(fā)送的每一個TCP數(shù)據(jù)包,提取TCP數(shù)據(jù)包中其發(fā)送的順序號(SequenceNumber)及數(shù)據(jù)包載荷長度,并計算期待ACK序號=順序號+數(shù)據(jù)包載荷長度;步驟313:提取數(shù)據(jù)流中距離發(fā)送數(shù)據(jù)包時間間隔最近的從機響應數(shù)據(jù)包,并提取數(shù)據(jù)包中ACK序號,若步驟312中計算的期待ACK序號與該數(shù)據(jù)包的ACK序號相等,則這兩個數(shù)據(jù)包是匹配的,通過計算這兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Ack_RTT;步驟314:重復步驟312至步驟313得到多組Ack_RTT,并計算得到Ack_RTT平均值;步驟315:當使用明文傳輸?shù)倪h程登錄協(xié)議,如Telnet,那么可以通過直接匹配發(fā)送數(shù)據(jù)包和回送數(shù)據(jù)包的數(shù)據(jù)包載荷,如果包含相同內(nèi)容,那么這兩個數(shù)據(jù)包是匹配的,通過計算著兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Echo_RTT;當使用密文傳輸?shù)倪h程登錄協(xié)議,執(zhí)行步驟315;步驟316:對于使用密文傳輸?shù)倪h程登錄協(xié)議,如SSH,那么使用如下方法:針對發(fā)送數(shù)據(jù)包P,對收到的從機發(fā)送的數(shù)據(jù)包Q與P進行比較,若滿足下列條件之一:I)P的ACK序號與Q的序列號相等且P的序列號小于Q的Ack序號;2)P的序列號小于Q的Ack序號。則稱P和Q是匹配的發(fā)送和回顯數(shù)據(jù)包,計算連個數(shù)據(jù)包的時間間隔得到Echo_RTT;步驟317:重復步驟315至步驟316,得到多組Echo_RTT,計算得到Echo_RTT平均值。[0040]實施例六:步驟3中跳板檢測模塊判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級,具體步驟為:步驟321:若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例大于等于50%,則判定為高等級;若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例小于50%,則判定為中等級;其余為低等級;步驟322:如果數(shù)據(jù)流捕獲時間超過10分鐘且檢測周期大于超過5,那么對仍未檢測出跳板的數(shù)據(jù)流判定為不是跳板數(shù)據(jù),丟棄本數(shù)據(jù)。[0041]實施例七:一種基于主機的網(wǎng)絡攻擊跳板檢測裝置,其特征在于包括:數(shù)據(jù)包捕獲模塊、數(shù)據(jù)流識別及分析模塊以及跳板檢測模塊,所述數(shù)據(jù)包捕獲模塊:捕獲該主機的數(shù)據(jù)包,對每條數(shù)據(jù)包進行唯一標識,對數(shù)據(jù)包進行分類后輸出;所述數(shù)據(jù)包分為遠程登錄協(xié)議數(shù)據(jù)包和未識別應用層協(xié)議數(shù)據(jù)包;數(shù)據(jù)流識別及分析模塊:接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出符合條件的遠程登錄協(xié)議數(shù)據(jù)流,并將其分類加入等待跳板檢測的數(shù)據(jù)流組分類保存;將不合符條件的TCP數(shù)據(jù)包丟棄;跳板檢測模塊檢測數(shù)據(jù)流組是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對數(shù)據(jù)流組進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級。[0042]實施例八:在實施例七基礎上,所述數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出符合條件的遠程登錄協(xié)議數(shù)據(jù)流,并將其分類加入等待跳板檢測的數(shù)據(jù)流組分類保存后;將不合符條件的TCP數(shù)據(jù)包丟棄具體步驟包括:步驟21:數(shù)據(jù)流識別及分析模塊判斷接收到捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則執(zhí)行步驟2;否則,丟棄本次TCP數(shù)據(jù)包;步驟22:判斷TCP數(shù)據(jù)包是否屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,若沒有建立保存隊列,則將為本次TCP數(shù)據(jù)包建立保存隊列,并將此次TCP數(shù)據(jù)包加入保存隊列中;否則,將本次TCP數(shù)據(jù)包加入對應數(shù)據(jù)流保存隊列中,執(zhí)行步驟23;步驟23:判斷本次TCP數(shù)據(jù)包是否屬于遠程登錄數(shù)據(jù)包,若屬于遠程登錄數(shù)據(jù)包,則將本次TCP數(shù)據(jù)包直接加入相應分類數(shù)據(jù)流隊列中;否則,執(zhí)行步驟24;步驟24:進行TCP數(shù)據(jù)包應用層協(xié)議識別,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,執(zhí)行步驟25:步驟25:對未識別為遠程登錄協(xié)議數(shù)據(jù)包進行判斷,當本次TCP數(shù)據(jù)包中個數(shù)超過M個未識別、數(shù)據(jù)包中不足M且數(shù)據(jù)包捕獲時間超過T,則丟棄本次數(shù)據(jù)包;否則,執(zhí)行步驟21。[0043]實施例九:所述步驟24中進行TCP數(shù)據(jù)包應用層協(xié)議識別是通過協(xié)議默認端口識別及協(xié)議識別負載特征串相結(jié)合的方法,其具體過程是:步驟241:識別IP數(shù)據(jù)包的端口字段,根據(jù)遠程登錄協(xié)議的默認端口號(比如Telnet協(xié)議默認端口為23號,SSH協(xié)議默認端口為22號)進行判別,若是能根據(jù)遠程登錄協(xié)議默認端口號識別出TCP數(shù)據(jù)包;則執(zhí)行步驟25;否則執(zhí)行步驟242;步驟242:根據(jù)遠程登錄協(xié)議交互中數(shù)據(jù)包存在的特征字符串識別TCP數(shù)據(jù)包(例如SSH協(xié)議存在“SSH-**-0penSSH_**”特征字符串)。[0044]實施例十:步驟3中跳板檢測模塊判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級;步驟321:若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例大于等于50%,則判定為高等級;若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例小于50%,則判定為中等級;其余為低等級;步驟322:如果數(shù)據(jù)流捕獲時間超過10分鐘且檢測周期大于超過5,那么對仍未檢測出跳板的數(shù)據(jù)流判定為不是跳板數(shù)據(jù),丟棄本數(shù)據(jù)。[0045]本發(fā)明并不局限于前述的【具體實施方式】。本發(fā)明擴展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合?!緳?quán)利要求】1.一種基于主機的網(wǎng)絡攻擊跳板檢測方法,其特征在于包括:步驟1:數(shù)據(jù)包捕獲模塊捕獲該主機的數(shù)據(jù)包,對每條數(shù)據(jù)包進行唯一標識,對數(shù)據(jù)包進行分類后輸出,執(zhí)行步驟2;所述數(shù)據(jù)包分為遠程登錄協(xié)議數(shù)據(jù)包和未識別應用層協(xié)議數(shù)據(jù)包;步驟2:數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列并進行分類保存,執(zhí)行步驟3;否則丟棄本次數(shù)據(jù)包;步驟3:跳板檢測模塊檢測分類數(shù)據(jù)流隊列是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對分類數(shù)據(jù)流隊列進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級;否則,結(jié)束流程;其中Echo_RTT是發(fā)送數(shù)據(jù)包與回顯數(shù)據(jù)包之間時間間隔值;Ack_RTT是發(fā)送數(shù)據(jù)包與相鄰節(jié)點Ack數(shù)據(jù)包之間的時間間隔值。2.根據(jù)權(quán)利要求1所述的一種基于主機的網(wǎng)絡攻擊跳板檢測方法,其特征在于所述步驟2具體步驟包括:步驟21:數(shù)據(jù)流識別及分析模塊判斷接收到捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則執(zhí)行步驟2;否則,丟棄本次TCP數(shù)據(jù)包;步驟22:判斷TCP數(shù)據(jù)包是否屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,若不屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,則建立分類數(shù)據(jù)流隊列,將為本次TCP數(shù)據(jù)包加入建立后分類數(shù)據(jù)流隊列中;否則,將本次TCP數(shù)據(jù)包加入對應分類數(shù)據(jù)流隊列中,執(zhí)行步驟23;步驟23:判斷本次TCP數(shù)據(jù)包是否屬于遠程登錄數(shù)據(jù)包,若屬于遠程登錄數(shù)據(jù)包,則將本次TCP數(shù)據(jù)包直接加入相應分類數(shù)據(jù)流隊列中;否則,執(zhí)行步驟24;步驟24:進行TCP數(shù)據(jù)包應用層協(xié)議識別,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,執(zhí)行步驟25:步驟25:對未識別為遠程登錄協(xié)議數(shù)據(jù)包進行判斷,當本次TCP數(shù)據(jù)包中個數(shù)超過M個未識別、數(shù)據(jù)包中不足M且數(shù)據(jù)包捕獲時間超過T,則丟棄本次數(shù)據(jù)包;否則,執(zhí)行步驟21,其中M范圍是5-10,T范圍是5-10分鐘。3.根據(jù)權(quán)利要求2所述的一種基于主機的網(wǎng)絡攻擊跳板檢測方法,其特征在于所述步驟24中進行TCP數(shù)據(jù)包應用層協(xié)議識別是通過協(xié)議默認端口識別及協(xié)議識別負載特征串相結(jié)合的方法,其具體過程是:步驟241:識別TCP數(shù)據(jù)包的端口字段,根據(jù)遠程登錄協(xié)議的默認端口號進行判別,若是能根據(jù)遠程登錄協(xié)議默認端口號識別出TCP數(shù)據(jù)包;則將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則執(zhí)行步驟242;步驟242:根據(jù)遠程登錄協(xié)議交互中數(shù)據(jù)包存在的特征字符串識別TCP數(shù)據(jù)包,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,結(jié)束操作。4.根據(jù)權(quán)利要求3所述的一種基于主機的網(wǎng)絡攻擊跳板檢測方法,其特征在于所述步驟3跳板檢測模塊對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行數(shù)據(jù)匹配并計算Echo_RTT與Ack_RTT,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級的具體步驟為:步驟311:當X1-Xh蘭60、t蘭T且η蘭N,執(zhí)行步驟312,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Ack_RTT的匹配與計算;同時執(zhí)行步驟315,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Echo_RTT的匹配計算;其中Xi為該分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包數(shù)量,Xi^1為上一周期檢測的數(shù)據(jù)包數(shù)量;T范圍是5-10分鐘A的捕獲時間為t;X,檢測周期數(shù)η;Ν范圍為5_10,η表示檢測的周期個數(shù),t表示周期長度;步驟312:對于主機的分類數(shù)據(jù)流隊列的每一個TCP數(shù)據(jù)包,提取TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算期待ACK序號=順序號+數(shù)據(jù)包載荷長度;步驟313:提取TCP數(shù)據(jù)包中距離發(fā)送TCP數(shù)據(jù)包時間間隔最近的從機響應數(shù)據(jù)包,并提取從機響應數(shù)據(jù)包中ACK序號,若步驟312中計算的期待ACK序號與從機響應數(shù)據(jù)包的ACK序號相等,則這兩個數(shù)據(jù)包是匹配的,通過計算這兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Ack_RTT;步驟314:重復步驟312至步驟313得到多組Ack_RTT,并計算得到Ack_RTT平均值;步驟315:當使用明文傳輸?shù)倪h程登錄協(xié)議,那么通過直接匹配發(fā)送數(shù)據(jù)包和回送數(shù)據(jù)包的數(shù)據(jù)包載荷,如果包含相同內(nèi)容,那么這兩個數(shù)據(jù)包是匹配的,通過計算著兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Echo_RTT;當使用密文傳輸?shù)倪h程登錄協(xié)議,執(zhí)行步驟315;步驟316:對于使用密文傳輸?shù)倪h程登錄協(xié)議,那么使用如下方法:提取主機TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算主機的期待ACK序號=順序號+數(shù)據(jù)包載荷長度;對收到的從機發(fā)送的TCP數(shù)據(jù)包Q獲取ACK序號及序列號,當滿足P的ACK序號與Q的序列號相等且P的序列號小于Q的ACK序號,且P的序列號小于Q的ACK序號,則稱TCP數(shù)據(jù)包P和TCP數(shù)據(jù)包Q是匹配的發(fā)送和回顯數(shù)據(jù)包,計算所述發(fā)送數(shù)據(jù)包和回顯數(shù)據(jù)包的時間間隔得到Echo_RTT;步驟317:重復步驟315至步驟316,得到多組Echo_RTT,計算得到Echo_RTT平均值。5.根據(jù)權(quán)利要求4所述的一種基于主機的網(wǎng)絡攻擊跳板檢測裝置,其特征在于步驟3中跳板檢測模塊判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級,具體步驟為:步驟321:若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例大于等于50%,則判定為高等級;gEcho_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例小于50%,則判定為中等級;其余為低等級;步驟322:如果數(shù)據(jù)流捕獲時間超過10分鐘且檢測周期大于超過M,那么對仍未檢測出跳板的數(shù)據(jù)流判定為不是跳板數(shù)據(jù),丟棄本數(shù)據(jù),M范圍是5到10。6.一種基于主機的網(wǎng)絡攻擊跳板檢測裝置,其特征在于包括:數(shù)據(jù)包捕獲模塊、數(shù)據(jù)流識別及分析模塊以及跳板檢測模塊,所述數(shù)據(jù)包捕獲模塊:捕獲該主機的數(shù)據(jù)包,對每條數(shù)據(jù)包進行唯一標識,對數(shù)據(jù)包進行分類后輸出;所述數(shù)據(jù)包分為遠程登錄協(xié)議數(shù)據(jù)包和未識別應用層協(xié)議數(shù)據(jù)包;數(shù)據(jù)流識別及分析模塊:接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出TCP數(shù)據(jù)流,并將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列并進行分類保存;將未識別的數(shù)據(jù)包丟棄;跳板檢測模塊檢測分類數(shù)據(jù)流隊列是否滿足檢測要求,若滿足檢測要求則進行檢測,跳板檢測模塊對分類數(shù)據(jù)流隊列進行數(shù)據(jù)匹配并計算Echo_RTT只值與Ack_RTT值,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級。7.根據(jù)權(quán)利要求6所述的一種基于主機的網(wǎng)絡攻擊跳板檢測裝置,其特征在于所述數(shù)據(jù)流識別及分析模塊接收數(shù)據(jù)包捕獲模塊捕獲的數(shù)據(jù)包,識別出TCP數(shù)據(jù)流,并將其分類加入等待跳板檢測模塊檢測的數(shù)據(jù)流,建立分類數(shù)據(jù)流隊列并進行分類保存;將未識別的數(shù)據(jù)包丟棄具體步驟包括:步驟21:數(shù)據(jù)流識別及分析模塊判斷接收到捕獲模塊捕獲的數(shù)據(jù)包,判斷是否為TCP數(shù)據(jù)包,若是TCP數(shù)據(jù)包,則執(zhí)行步驟2;否則,丟棄本次TCP數(shù)據(jù)包;步驟22:判斷TCP數(shù)據(jù)包是否屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,若不屬于分類數(shù)據(jù)流隊列的數(shù)據(jù)流,則建立分類數(shù)據(jù)流隊列,將為本次TCP數(shù)據(jù)包加入建立后分類數(shù)據(jù)流隊列中;否則,將本次TCP數(shù)據(jù)包加入對應分類數(shù)據(jù)流隊列中,執(zhí)行步驟23;步驟23:判斷本次TCP數(shù)據(jù)包是否屬于遠程登錄數(shù)據(jù)包,若屬于遠程登錄數(shù)據(jù)包,則將本次TCP數(shù)據(jù)包直接加入相應分類數(shù)據(jù)流隊列中;否則,執(zhí)行步驟24;步驟24:進行TCP數(shù)據(jù)包應用層協(xié)議識別,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,執(zhí)行步驟25:步驟25:對未識別為遠程登錄協(xié)議數(shù)據(jù)包進行判斷,當本次TCP數(shù)據(jù)包中個數(shù)超過M個未識別、數(shù)據(jù)包中不足M且數(shù)據(jù)包捕獲時間超過T,則丟棄本次數(shù)據(jù)包;否則,執(zhí)行步驟。21,其中M范圍是5-10,T范圍是5-10分鐘。8.根據(jù)權(quán)利要求7所述的一種基于主機的網(wǎng)絡攻擊跳板檢測方法,其特征在于所述步驟24中進行TCP數(shù)據(jù)包應用層協(xié)議識別是通過協(xié)議默認端口識別及協(xié)議識別負載特征串相結(jié)合的方法,其具體過程是:步驟241:識別TCP數(shù)據(jù)包的端口字段,根據(jù)遠程登錄協(xié)議的默認端口號進行判別,若是能根據(jù)遠程登錄協(xié)議默認端口號識別出TCP數(shù)據(jù)包;則將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則執(zhí)行步驟242;步驟242:根據(jù)遠程登錄協(xié)議交互中數(shù)據(jù)包存在的特征字符串識別TCP數(shù)據(jù)包,將識別出遠程登錄協(xié)議數(shù)據(jù)包加入等待進行跳板檢測的分類數(shù)據(jù)流隊列;否則,結(jié)束操作。9.根據(jù)權(quán)利要求8所述的一種基于主機的網(wǎng)絡攻擊跳板檢測方法,其特征在于所述跳板檢測模塊分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行數(shù)據(jù)匹配并計算Echo_RTT與Ack_RTT,判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級的具體步驟為:步驟311:當X1-Xh蘭60、t蘭T且η蘭N,執(zhí)行步驟312,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Ack_RTT的匹配與計算;同時執(zhí)行步驟315,對分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包進行Echo_RTT的匹配計算;其中Xi為該分類數(shù)據(jù)流隊列中TCP數(shù)據(jù)包數(shù)量,Xi^1為上一周期檢測的數(shù)據(jù)包數(shù)量;T范圍是5-10分鐘A的捕獲時間為t;X,檢測周期數(shù)η;Ν范圍為5_10,η表示檢測的周期個數(shù),t表示周期長度;步驟312:對于主機的分類數(shù)據(jù)流隊列的每一個TCP數(shù)據(jù)包,提取TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算期待ACK序號=順序號+數(shù)據(jù)包載荷長度;步驟313:提取TCP數(shù)據(jù)包中距離發(fā)送TCP數(shù)據(jù)包時間間隔最近的從機響應數(shù)據(jù)包,并提取從機響應數(shù)據(jù)包中ACK序號,若步驟312中計算的期待ACK序號與從機響應數(shù)據(jù)包的ACK序號相等,則這兩個數(shù)據(jù)包是匹配的,通過計算這兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Ack_RTT;步驟314:重復步驟312至步驟313得到多組Ack_RTT,并計算得到Ack_RTT平均值;步驟315:當使用明文傳輸?shù)倪h程登錄協(xié)議,那么通過直接匹配發(fā)送數(shù)據(jù)包和回送數(shù)據(jù)包的數(shù)據(jù)包載荷,如果包含相同內(nèi)容,那么這兩個數(shù)據(jù)包是匹配的,通過計算著兩個數(shù)據(jù)包的時間間隔,得到這兩個數(shù)據(jù)包的Echo_RTT;當使用密文傳輸?shù)倪h程登錄協(xié)議,執(zhí)行步驟315;步驟316:對于使用密文傳輸?shù)倪h程登錄協(xié)議,那么使用如下方法:提取主機TCP數(shù)據(jù)包中其發(fā)送的順序號及TCP數(shù)據(jù)包載荷長度,并計算主機的期待ACK序號=順序號+數(shù)據(jù)包載荷長度;對收到的從機發(fā)送的TCP數(shù)據(jù)包Q獲取ACK序號及序列號,當滿足P的ACK序號與Q的序列號相等且P的序列號小于Q的ACK序號,且P的序列號小于Q的ACK序號,則稱TCP數(shù)據(jù)包P和TCP數(shù)據(jù)包Q是匹配的發(fā)送和回顯數(shù)據(jù)包,計算所述發(fā)送數(shù)據(jù)包和回顯數(shù)據(jù)包的時間間隔得到Echo_RTT;步驟317:重復步驟315至步驟316,得到多組Echo_RTT,計算得到Echo_RTT平均值。10.根據(jù)權(quán)利要求9所述的一種基于主機的網(wǎng)絡攻擊跳板檢測裝置,其特征在于步驟3中跳板檢測模塊判斷Echo_RTT與Ack_RTT的關(guān)系值,確定跳板可信度等級,具體步驟為:步驟321:若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例大于等于50%,則判定為高等級;若Echo_RTT與Ack_RTT的比值大于等于3,RTT值的匹配組數(shù)比例小于50%,則判定為中等級;其余為低等級;步驟322:如果數(shù)據(jù)流捕獲時間超過10分鐘且檢測周期大于超過M,那么對仍未檢測出跳板的數(shù)據(jù)流判定為不是跳板數(shù)據(jù),丟棄本數(shù)據(jù),M范圍是5到10?!疚臋n編號】H04L29/06GK104009986SQ201410216666【公開日】2014年8月27日申請日期:2014年5月22日優(yōu)先權(quán)日:2014年5月22日【發(fā)明者】劉波,陳周國,蒲石,郝堯,黃宸申請人:中國電子科技集團公司第三十研究所