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