簡述TCP欺騙攻擊的兩種方法
TCP協議是一種基于IP協議而建立的一條面向連接的、可靠的字節流。在黑客攻擊層出不窮的今天,一個攻擊者可以通過發送IP地址源地址屬于另一臺機器的IP數據來實施欺騙。TCP欺騙的攻擊者實際上并不在乎是否能收到這些數據的答復,但其他的機器將接受這些偽造數據并認為他們來自合法的擁有者。現今想要實現TCP欺騙主要有兩種方式。
實現TCP欺騙攻擊有兩種方法:
1.非盲攻擊
攻擊者和被欺騙的目的主機在同一個網絡上,攻擊者可以簡單地使用協議分析器(嗅探器)捕獲TCP報文段,從而獲得需要的序列號。以下是其攻擊步驟:
(1)攻擊者X要確定目標主機A的被信任主機B不在工作狀態,若其在工作狀態,也使用SYN flooding等攻擊手段使其處于拒絕服務狀態。
(2)攻擊者X偽造數據包:B->A:SYN(ISN C),源IP地址使用B,初始序列號ISN為C,給目標主機發送TCP的SYN包,請求建立連接。
(3)目標主機回應數據包:A->B:SYN(ISN S),ACK(ISN C),初始序列號為S,確認序號為C。由于B處于拒絕服務狀態,不會發出響應包。攻擊者X使用嗅探工具捕獲TCP報文段,得到初始序列號S。
(4)攻擊者X偽造數據包:B->A:ACK(ISN S),完成三次握手建立TCP連接。
(5)攻擊者X一直使用B的IP地址與A進行通信。
2.盲攻擊
由于攻擊者和被欺騙的目標主機不在同一個網絡上,攻擊者無法使用嗅探工具捕獲TCP報文段。其攻擊步驟與非盲攻擊幾乎相同,只不過在步驟(3)中無法使用嗅探工具,可以使用TCP初始序列號預測技術得到初始序列號。在步驟(5)中,攻擊者X可以發送第一個數據包,但收不到A的響應包,較難實現交互。
從攻擊者的角度來考慮,盲攻擊比較困難,因為目的主機的響應都被發送到不可達的被欺騙主機,攻擊者不能直接確定攻擊的成敗。然而,攻擊者可使用路由欺騙技術把盲攻擊轉化為非盲攻擊。
對TCP欺騙攻擊的防范策略主要有:
(1)使用偽隨機數發生工具產生TCP初始序號;
(2)路由器拒絕來自外網而源IP是內網的數據包;
(3)使用TCP段加密工具加密。
【編輯推薦】