国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Internet的TCP會話劫持欺騙攻擊與防御策略

2020-08-14 09:59趙景王浉錕
現(xiàn)代電子技術(shù) 2020年16期
關(guān)鍵詞:網(wǎng)絡(luò)安全

趙景 王浉錕

摘? 要: 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和各種應(yīng)用的出現(xiàn),網(wǎng)絡(luò)安全問題成為各種網(wǎng)絡(luò)應(yīng)用需要考慮的頭等大事,在各種欺騙攻擊中,如何防止TCP會話劫持欺騙攻擊成為防御網(wǎng)絡(luò)入侵的重點(diǎn)之一。文中闡述了TCP會話劫持的概念,目的是對其產(chǎn)生的原理和造成的危害進(jìn)行分析,采用實(shí)例分析方法,通過對攻擊者進(jìn)行一次會話劫持攻擊過程的探討,得到目前針對會話劫持攻擊無法從根本上阻止或消除的結(jié)論,進(jìn)一步提出了針對性相應(yīng)防御策略的結(jié)果,減少攻擊的發(fā)生。

關(guān)鍵詞: 防御策略; TCP會話劫持; 欺騙攻擊; 原理分析; 危害分析; 網(wǎng)絡(luò)安全

Abstract: With the rapid development of network technology and the emergence of various applications, the network security has become a top priority for various network applications. In various spoofing attacks, how to prevent TCP session hijacking spoofing attack becomes one of the focuses of the defense against network intrusion. The concept of TCP session hijacking is expounded, so as to analyze the principle it generates and the harm it causes. The discussion of a session hijacking attack process of the attacker is performed by means of the instance analysis method, so that the conclusion that the session hijacking attacks cannot be prevented or eliminated fundamentally is obtained. Furthermore, the corresponding defense strategies are put forward to reduce the attacks′ occurrence.

Keywords: defending strategy; TCP session hijacking; spoofing attack; principle analysis; hazard analysis; network security

0? 引? 言

在Internet上計(jì)算機(jī)之間進(jìn)行相互的交流是建立在認(rèn)證和信任兩個前提之下的,欺騙是社會工程學(xué)的一種體現(xiàn),本質(zhì)上就是攻擊者針對認(rèn)證機(jī)制的缺陷,冒充合法用戶的身份,通過認(rèn)證騙取被攻擊者信任的一種攻擊方式,一般情況下,攻擊者將自己偽裝成可合法用戶,從而與被攻擊者進(jìn)行正常交流,最終攫取被攻擊者的數(shù)據(jù)或者展開進(jìn)一步攻擊。TCP會話劫持欺騙是IP欺騙的高級應(yīng)用,由于其具有不依賴操作系統(tǒng)和能夠無聲無息的竊取機(jī)密信息的特點(diǎn),危害性巨大,越來越受到黑客的青睞。因此,如何防止TCP會話劫持欺騙攻擊就成為防御網(wǎng)絡(luò)入侵的重點(diǎn)之一。

1? TCP會話劫持概述及原理

1.1? TCP會話劫持概述

會話劫持是一種結(jié)合了嗅探及欺騙技術(shù)在內(nèi)的攻擊手段,就是在一次正常的通信過程中,攻擊者作為第三方參與到其中,或者是在基于TCP的會話里注入額外的信息,或者是將雙方的通信模式從直接聯(lián)系變?yōu)橛晒粽呗?lián)系[1?2]。簡單來說,整個攻擊過程實(shí)質(zhì)就是合法接管一個現(xiàn)有的動態(tài)會話過程,黑客通過一個會話劫持過程完成替代已有的合法用戶,成功后,攻擊者就可以監(jiān)視并控制整個會話的內(nèi)容。此時,攻擊者可以對一個被劫持的合法用戶(受害者)的通話內(nèi)容進(jìn)行記錄并對其進(jìn)行應(yīng)答,以便進(jìn)行下一步的欺騙和攻擊。

1.2? TCP會話劫持的原理

在基本的基于IP地址欺騙過程中,攻擊者并不把合法用戶掉線來作為對被攻擊者的攻擊,而是僅僅偽裝成一個合法用戶,這樣,當(dāng)被冒充的合法用戶不在線時,攻擊者在整個攻擊過程中就不冒充任何用戶角色,因此攻擊者不會對它發(fā)動任何攻擊。但是,在整個會話劫持過程中,攻擊者為了接管整個會話過程,就會非常積極主動地對被冒充的用戶進(jìn)行攻擊,從而迫使其被冒充的用戶下線,如圖1和圖2所示。一般欺騙只涉及攻擊者和受害者兩個角色[2],被冒充者不扮演任何角色,而在會話劫持中必然會涉及到被冒充者,從攻擊者的角度來看,它是保證劫持成功的協(xié)作者,這也是兩者之間最根本的區(qū)別。

對于基于TCP連接的可靠性通信來說,序列號是非常重要的,序列號是一個32位計(jì)數(shù)器,可以有大約4億種的可能性組合,用來通知接收方在收到一個混亂的數(shù)據(jù)包時如何排列數(shù)據(jù)包的順序[3?4]。也就是說,序列號記錄了數(shù)據(jù)包放入數(shù)據(jù)流的順序,接收方就可以利用序列號告訴發(fā)送方哪些數(shù)據(jù)包已經(jīng)收到,哪些數(shù)據(jù)包還未收到,于是發(fā)送方就能夠依此重發(fā)丟失的數(shù)據(jù)包。由于發(fā)送方和接收方均有數(shù)據(jù)包的接收和發(fā)送問題,因此需要同時存在一個屬于發(fā)送方和接收方的序列號。

在進(jìn)行TCP會話劫持操作時,必須精確地預(yù)測主機(jī)和目標(biāo)機(jī)之間使用的序列號,這是一件不太容易的事情。但是,在某些平臺上猜測序列號的增量比較容易,由于序列號是隨著傳輸數(shù)據(jù)字節(jié)數(shù)遞增的,而且序列號和應(yīng)答號之間存在明確的對應(yīng)關(guān)系,這使得預(yù)測序列號成為可能,只要攻擊者獲取最近的會話數(shù)據(jù)包,就可以猜測下一次通話中的SEQ和ACK,這一局面是TCP協(xié)議固有缺陷造成的,由此帶來的安全威脅也是無法回避的。

1.3? TCP會話劫持的危害

會話劫持分為被動型和主動型兩種[5]。被動型的劫持攻擊首先劫持會話,然后在后方觀察和記錄雙方所有發(fā)送和接收的數(shù)據(jù);主動型的劫持攻擊總是以首先完成被動型劫持攻擊作為起步,然后尋找動態(tài)的會話并接管它,進(jìn)而攻入目標(biāo)主機(jī),由于一般需要迫使會話中被冒充方下線,因此一般伴隨拒絕服務(wù)攻擊,其難度較被動型攻擊要大。

就其實(shí)現(xiàn)原理而言,任何使用Internet進(jìn)行通信的主機(jī)都有可能受到會話劫持攻擊[6?7],會話劫持在理論上是非常復(fù)雜的,但是現(xiàn)在產(chǎn)生了簡單適用的會話劫持攻擊軟件,技術(shù)門檻的降低導(dǎo)致了很多“少年攻擊者”的誕生。

會話劫持攻擊具有較大的危害性,一個主要的原因是它不依賴于運(yùn)行哪種操作系統(tǒng),只要進(jìn)行一次TCP/IP連接,攻擊者就有可能接管用戶的會話[8]。另一個原因就是它既可以進(jìn)行積極性的攻擊,獲得進(jìn)入系統(tǒng)的可能,也可以進(jìn)行消極的攻擊,在任何人都不知情的情況下竊取會話中的敏感信息。

2? TCP會話劫持過程

2.1? 進(jìn)行會話劫持攻擊的步驟

攻擊者要完成一次會話劫持攻擊,一般需要以下5個步驟。

1) 發(fā)現(xiàn)攻擊目標(biāo)。對于會話劫持攻擊者而言,要找到一個合適的攻擊目標(biāo)有兩個關(guān)鍵的問題首先需要解決。第一,攻擊者一般希望攻擊目標(biāo)是一個準(zhǔn)予TCP會話連接的服務(wù)器,而且服務(wù)器最好能同時和眾多客戶主機(jī)進(jìn)行TCP連接會話,因此這對于攻擊者而言意味著更多的攻擊機(jī)會;第二,攻擊者是否能夠?qū)?shù)據(jù)流進(jìn)行檢測也是一個比較重要的問題,因?yàn)樵趯?shí)施具體攻擊的時候,攻擊者需要對序列號進(jìn)行猜測[9],這就需要嗅探其之前通信的數(shù)據(jù)包,對于交換網(wǎng)絡(luò)環(huán)境,可能還需要使用ARP欺騙。

2) 確認(rèn)動態(tài)會話。確定合適的攻擊目標(biāo)后,攻擊者要想接管一個會話,就必須找到可以接管的合法連接,與多數(shù)其他黑客攻擊方法不同的是,會話劫持攻擊適合在網(wǎng)絡(luò)流通量達(dá)到高峰時才會發(fā)生的。這種選擇具有雙重原因,首先,網(wǎng)絡(luò)流通量大時,說明會話很多很活躍,供攻擊者選擇的會話就會很多;其次,網(wǎng)絡(luò)流通量越大,則攻擊者被發(fā)現(xiàn)的概率就越小。在網(wǎng)絡(luò)流通量不大或者用戶連接數(shù)量較小的情況下,如果用戶數(shù)次掉線,那很有可能引起該用戶的懷疑,容易暴露;但是,如果網(wǎng)絡(luò)流通量很大并且有很多用戶進(jìn)行連接,那么用戶們很有可能忽略掉線后面隱藏的問題,也許只是認(rèn)為這是由于網(wǎng)絡(luò)流通過大而引起的。

3) 猜測序列號。與一次TCP會話相關(guān)的三個重要參數(shù)是IP地址、端口號和序列[10]。其中,IP地址和端口號的發(fā)現(xiàn)比較簡單且在整個會話工程中保持不變,TCP用來辨別正確數(shù)據(jù)包和錯誤數(shù)據(jù)包是通過數(shù)據(jù)包的SEQ/ACK序列號來實(shí)現(xiàn)的,而SEQ/ACK序列號是動態(tài)的,會隨著時間的變化而改變。因此,黑客要想獲得序列號,可以通過嗅探或者ARP欺騙來截取。首先,黑客先找到攻擊對象(目標(biāo)機(jī))正在使用的序列號,其次,獲取序列號后,黑客根據(jù)序列號機(jī)制原理,猜測出下一對SEQ/ACK序列號,與此同時,黑客如果用某種特定方法擾亂合法用戶主機(jī)的SEQ/ACK,就會給服務(wù)器造成假象,不再信任客戶主機(jī)發(fā)送的正確數(shù)據(jù)包。這樣,黑客就可以偽裝成合法用戶的客戶主機(jī),使用截取的合法用戶正確的SEQ/ACK序列號。此時,黑客的攻擊主機(jī)就可以與服務(wù)器進(jìn)行合法連接,從而成功搶劫一個會話連接。

4) 使客戶主機(jī)下線。當(dāng)黑客獲取了合法用戶的SEQ/ACK序列號后,就必須使客戶主機(jī)離線,從而徹底接管這個合法會話,要讓合法客戶主機(jī)離線,一般采用的最簡單方式就是對合法用戶進(jìn)行拒絕服務(wù)攻擊或者分布式拒絕服務(wù)攻擊,從而使客戶機(jī)不再繼續(xù)響應(yīng)。此時,服務(wù)器仍然會繼續(xù)發(fā)送響應(yīng)給合法客戶的主機(jī),但是,由于此時黑客已經(jīng)控制了客戶主機(jī),因此該客戶機(jī)器就不再響應(yīng)。

5) 接管會話。當(dāng)黑客已經(jīng)獲取所需要的一切信息數(shù)據(jù)以后,就可以連續(xù)不斷地向服務(wù)器發(fā)送數(shù)據(jù)包并且接管整個會話。黑客在整個會話劫持攻擊中,一般會持續(xù)不斷地發(fā)送信息數(shù)據(jù)包,進(jìn)而在受害服務(wù)器上建立一個合法賬戶,甚至為了以后輕松進(jìn)入留下某些“后門”,通過這種方式,黑客無論在任何時候都可以輕松進(jìn)入系統(tǒng)。

基于這種TCP會話劫持攻擊是一種盲劫持,因?yàn)檎麄€會話一直使用的都是原始通信雙方的IP地址和端口信息,雖然攻擊者可以偽裝成合法的客戶機(jī)向服務(wù)器發(fā)送攻擊數(shù)據(jù),但服務(wù)器的響應(yīng)包的目的地址仍是合法客戶機(jī)的地址。因此,攻擊者要想獲取信息,需要采取ARP欺騙等特殊手段將自身置于中間人的位置,否則將接收不到服務(wù)器的任何響應(yīng)數(shù)據(jù)。

2.2? 進(jìn)行會話劫持攻擊的算法

使用Python語言進(jìn)行會話劫持攻擊的實(shí)現(xiàn)思路是,首先使用scapy制造syn泛洪攻擊,然后計(jì)算tcp序列號,隨機(jī)生成IP地址、端口并發(fā)送SYN數(shù)據(jù)包,最后偽造tcp連接成功后就可以進(jìn)行攻擊。算法實(shí)現(xiàn)流程如圖3所示。

3? 會話劫持攻擊的防御

對于會話劫持攻擊目前還沒有有效的辦法從根本上阻止或消除,這是因?yàn)樵谠摴糁?,攻擊者能夠直接接管合法用戶的會話,如果要避免被攻擊就需要消除這個會話。但是,一旦消除也就意味著禁止了一個合法用戶的連接,這樣也就背離了使用Internet進(jìn)行連接的本質(zhì)目的。因此,只能盡可能地減少由黑客進(jìn)行會話劫持攻擊所帶來的影響和危害。

目前,進(jìn)行會話劫持攻擊防御的措施一般有以下幾種:

1) 對會話加密。加密技術(shù)是可以防范會話劫持攻擊為數(shù)不多的方式之一[5]。當(dāng)黑客不能截取到合法的數(shù)據(jù)傳輸時,此時要想進(jìn)行會話劫持攻擊也不是一件簡單的事。因此,任何用來傳輸敏感數(shù)據(jù)的關(guān)鍵連接都必須進(jìn)行加密。在理想的情況下,網(wǎng)絡(luò)上的所有流通都應(yīng)該被加密,雖然很多用戶都想要一個能滿足自己安全需要的解決方法,但是,因?yàn)槌杀竞蜔┈嵉脑颍羞@項(xiàng)保護(hù)技術(shù)的工具雖然已經(jīng)面世有很長時間了,卻至今也沒有推廣。

2) 使用安全協(xié)議。無論在任何時候,當(dāng)合法用戶要與一個遠(yuǎn)端的服務(wù)器進(jìn)行連接時,尤其是一個從事敏感工作的用戶或者是管理員,都應(yīng)當(dāng)使用安全協(xié)議進(jìn)行連接通信。一般來說,像SSH(Secure Shell)這樣的協(xié)議或是安全的Telnet都可以使系統(tǒng)免受會話劫持攻擊,此外,從客戶端到服務(wù)器的VPN也是很好的選擇。

3) 限制保護(hù)措施。為了避免受到會話劫持攻擊,當(dāng)用戶或管理員所在單位允許從外部網(wǎng)絡(luò)上傳輸?shù)絾挝粌?nèi)部網(wǎng)絡(luò)的數(shù)據(jù)信息越少,則受到會話劫持攻擊的概率就越少,用戶將會越安全。這是個最小化會話劫持攻擊的方法,黑客越難進(jìn)入系統(tǒng),那么系統(tǒng)就越不容易受到會話劫持攻擊。在理想情況下,應(yīng)該阻止盡可能多的外部連接和連向防火墻的連接。大多數(shù)用戶雖然能夠做到這一條,限制了引入連接,但是通常又會允許內(nèi)部用戶用任何協(xié)議去連接外網(wǎng)的主機(jī),這樣可以減少敏感會話被攻擊者劫持的可能性。

4? 結(jié)? 語

TCP會話劫持欺騙是IP欺騙的高級應(yīng)用,由于其具有不依賴操作系統(tǒng)和能夠無聲無息的竊取機(jī)密信息的特點(diǎn),危害性巨大,越來越受到黑客的青睞。本文從會話劫持產(chǎn)生的原理出發(fā),闡述了其攻擊過程和防御策略,目前雖然還沒有有效的辦法從根本上阻止或消除,但進(jìn)行相應(yīng)的預(yù)防可以在一定程度上減少這種攻擊的發(fā)生。

參考文獻(xiàn)

[1] 王歡.基于嵌入式設(shè)備的網(wǎng)絡(luò)安全機(jī)制的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2016.

[2] 楊澤明.TCP/IP網(wǎng)絡(luò)協(xié)議棧常見攻擊技術(shù)與防范[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(3):26.

[3] 向繼,高能,荊繼武.網(wǎng)站欺騙攻擊技術(shù)及其防范研究[C]//第二十次全國計(jì)算機(jī)安全學(xué)術(shù)交流會論文集.西寧:[s.n.],2005:59?62.

[4] CHRISTIAN Kanamugire.防止跨站腳本攻擊會話劫持的客戶端解決方案研究[D].長沙:中南大學(xué),2012.

[5] 張慶華.網(wǎng)絡(luò)安全與黑客攻防寶典[M].北京:電子工業(yè)出版社,2007.

[6] 甘剛.網(wǎng)絡(luò)攻擊與防御[M].北京:清華大學(xué)出版社,2008.

[7] 劉欽.計(jì)算機(jī)網(wǎng)絡(luò)信息安全及其防護(hù)對策探討[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(11):16.

[8] 王友亮.目前網(wǎng)絡(luò)安全技術(shù)的缺陷及整合趨勢分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015(12):38?39.

[9] 王宗楠.網(wǎng)絡(luò)攻擊技術(shù)與網(wǎng)絡(luò)安全分析[J].電子技術(shù)與軟件工程,2015(12):212.

[10] 錢志遠(yuǎn).基于計(jì)算機(jī)網(wǎng)絡(luò)安全防ARP攻擊的研究[J].通訊世界,2017(1):99?100.

猜你喜歡
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全知多少?
新形勢下的特種設(shè)備網(wǎng)絡(luò)安全防護(hù)探討
新量子通信線路保障網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全人才培養(yǎng)應(yīng)“實(shí)戰(zhàn)化”
上網(wǎng)時如何注意網(wǎng)絡(luò)安全?
網(wǎng)絡(luò)安全與執(zhí)法專業(yè)人才培養(yǎng)探索與思考
設(shè)立網(wǎng)絡(luò)安全專項(xiàng)基金 促進(jìn)人才培養(yǎng)
網(wǎng)絡(luò)安全監(jiān)測數(shù)據(jù)分析——2015年12月
網(wǎng)絡(luò)安全監(jiān)測數(shù)據(jù)分析——2015年11月
杂多县| 油尖旺区| 余干县| 高唐县| 伊金霍洛旗| 通榆县| 读书| 长武县| 和龙市| 文昌市| 保亭| 襄垣县| 新蔡县| 闽侯县| 贵溪市| 四会市| 新田县| 景德镇市| 神木县| 墨竹工卡县| 读书| 开阳县| 金溪县| 漳州市| 定兴县| 南充市| 韶山市| 大埔县| 乡宁县| 银川市| 合山市| 东台市| 榆林市| 三河市| 宁都县| 威海市| 遵化市| 逊克县| 湘乡市| 西林县| 冷水江市|