美国伦理〈欲女春潮〉|美国伦理〈欲奴3〉|美国伦理巜交换做爰|宝贝腿开大点我添添你下边美国|美国色情巜春药2|美国A片巜禁忌5

鑒源實驗室

Jianyuan Lab

TCP協(xié)議網(wǎng)絡(luò)安全攻擊

發(fā)布時間:2023-04-07 作者:上海工業(yè)控制安全創(chuàng)新科技有限公司 點擊次數(shù):

作者 | 吳延占 上海控安可信軟件創(chuàng)新研究院研發(fā)工程師


來源 | 鑒源實驗室


引言:隨著計算機(jī)、控制與網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,信息化時代已經(jīng)到來。TCP協(xié)議作為可靠性傳輸協(xié)議,在工業(yè)自動化、軌道交通、新能源等領(lǐng)域的數(shù)據(jù)傳輸方面得到了廣泛使用。在使用TCP協(xié)議做數(shù)據(jù)傳輸?shù)牡耐瑫r,TCP協(xié)議網(wǎng)絡(luò)安全問題也不容忽視。在介紹TCP協(xié)議網(wǎng)絡(luò)安全攻擊之前,首先要了解TCP協(xié)議的概念、主要功能、主要特點、報文格式以及相應(yīng)的工作方式,才能進(jìn)一步了解到TCP協(xié)議網(wǎng)絡(luò)安全攻擊,更好地防范TCP攻擊。

01

TCP協(xié)議


傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793 [1]  定義。

TCP位于OSI(Open System Interconnection)七層模型中的傳輸層。不同于傳輸層其它協(xié)議,TCP具有獨立的、可對數(shù)據(jù)流進(jìn)行分片成適當(dāng)長度的報文字段、傳輸可靠的優(yōu)點。當(dāng)收到上層應(yīng)用層數(shù)據(jù)流后,根據(jù)數(shù)據(jù)鏈路層的最大傳輸單元(MTU)對數(shù)據(jù)流進(jìn)行分割處理,然后依次進(jìn)入網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層對數(shù)據(jù)封裝處理,進(jìn)而發(fā)送到相應(yīng)的接收端。

TCP協(xié)議工作流程如下圖如下:

圖 1 TCP協(xié)議工作流程圖

由上圖可以看出,TCP協(xié)議需要三次握手建立連接并且包含相應(yīng)的序列號、確認(rèn)號,當(dāng)斷開連接時需要四次揮手才能正常斷開,屬于安全、可靠性連接。


02

 TCP攻擊與防御


TCP攻擊是指利用TCP協(xié)議的設(shè)計缺陷或漏洞,對目標(biāo)主機(jī)或網(wǎng)絡(luò)進(jìn)行攻擊的行為。TCP攻擊包括TCP SYN泛洪攻擊[2]、TCP SYN掃描攻擊、TCP FIN掃描、TCP LAND攻擊[3]、TCP中間人攻擊[4]和TCP連接重置攻擊等。本文主要針對以上幾種攻擊做詳細(xì)介紹。

另外,TCP防御策略[5]也是多種多樣,本文也是在每種攻擊介紹完畢之后,簡單介紹相應(yīng)的防御策略。

2.1 TCP SYN泛洪攻擊

(1)攻擊實現(xiàn)

TCP SYN泛洪攻擊,英文為“TCP SYN Flood Attack”。此攻擊是利用TCP三次握手過程存在的漏洞,達(dá)到一種DOS(Denial of Service)攻擊目的。

當(dāng)攻擊者發(fā)送此攻擊時,被攻擊主機(jī)會在短時間內(nèi)接收到大量的TCP SYN請求連接,如果被攻擊對象沒有相應(yīng)防御策略,短時間內(nèi)可能會占用大量的主機(jī)資源,或者進(jìn)一步將主機(jī)資源耗盡,從而拒絕其它應(yīng)該正常連接的設(shè)備進(jìn)行正常連接,最終達(dá)到了使被攻擊主機(jī)拒絕服務(wù)的目的。

具體實現(xiàn)如下圖所示:

圖2  TCP SYN泛洪攻擊

由上圖可知,攻擊者利用TCP協(xié)議中的三次握手過程中存在的漏洞,向目標(biāo)主機(jī)發(fā)送大量偽造的TCP SYN連接請求,目標(biāo)主機(jī)在接收到這些請求后會向攻擊者回復(fù)TCP SYN-ACK包,然后等待攻擊者響應(yīng)TCP ACK包,完成TCP連接的建立。但攻擊者并不會回復(fù)TCP ACK包,而是會忽略目標(biāo)主機(jī)發(fā)來的TCP SYN-ACK包并持續(xù)發(fā)送TCP SYN連接請求,從而導(dǎo)致目標(biāo)主機(jī)長時間等待TCP連接的建立,占用大量資源,最終導(dǎo)致目標(biāo)主機(jī)無法正常工作。

(2)防御策略

TCP SYN泛洪攻擊是一種常見的DoS攻擊手段,可以通過以下幾種方式進(jìn)行防范:

● 安裝防火墻:可以利用防火墻的過濾功能,從而間接地過濾掉一部分可能存在的惡意的TCP數(shù)據(jù)包,從而保護(hù)目標(biāo)主機(jī)。

● 用TCP SYN Cookie機(jī)制:TCP SYN Cookie是一種防止TCP SYN泛洪攻擊的機(jī)制,它可以在不存儲連接信息的情況下,使被攻擊主機(jī)正確處理TCP連接請求。

● 限制TCP連接數(shù):通過限制TCP連接數(shù),可以減少TCP SYN泛洪攻擊的危害。

● 更新系統(tǒng)和應(yīng)用程序:根據(jù)已經(jīng)檢測到的或者公眾已經(jīng)熟知的漏洞,及時更新系統(tǒng)和應(yīng)用程序,從而提高系統(tǒng)的安全性(此防御策略對后面其他攻擊也同樣適用)。

2.2 TCP SYN掃描攻擊

TCP SYN掃描攻擊,英文“TCP SYN Scan Attack”。此攻擊可以掃描到被攻擊主機(jī)所支持的TCP開放端口,從而可以進(jìn)一步發(fā)現(xiàn)被攻擊主機(jī)的一些其他信息。

(1)攻擊實現(xiàn)

具體實現(xiàn)如下圖所示:

圖3  TCP SYN掃描攻擊

由上圖可以看出,TCP SYN掃描攻擊是利用TCP協(xié)議的三次握手過程中實現(xiàn)的,這個也是TCP三次握手存在的漏洞。實現(xiàn)可以分為三步,當(dāng)攻擊者向被攻擊主機(jī)某個端口發(fā)送第一次握手連接(即TCP SYN連接請求),如果被攻擊主機(jī)此端口在TCP監(jiān)聽狀態(tài),則會向攻擊者發(fā)送第二次握手包(即TCP SYN-ACK包,作為第一次握手的響應(yīng)包)。

根據(jù)TCP協(xié)議連接時三次握手規(guī)范,此時被攻擊主機(jī)在等待攻擊者發(fā)送第三次握手包(即TCP ACK包,作為第二次握手的響應(yīng)包)。但此時攻擊者并不會響應(yīng)第三次握手,而是會迅速發(fā)送TCP RST包,也會避免被及對方記錄連接信息。以一種無痕跡的方式獲取到了目標(biāo)主機(jī)的開放端口。

當(dāng)攻擊者獲取到某一個端口狀態(tài)時,繼續(xù)切換到下一端口,按照以上步驟再次發(fā)送TCP SYN掃描攻擊,直到所有端口掃描完畢。

(2)防御策略

針對TCP SYN掃描攻擊,也可以制定一些相應(yīng)的方法進(jìn)行防御,主要實現(xiàn)手段有以下幾種:

● 安裝防火墻:可以利用防火墻的過濾功能,從而間接地過濾掉一部分可能存在的惡意的TCP數(shù)據(jù)包,從而保護(hù)目標(biāo)主機(jī)。

● 關(guān)閉不經(jīng)常使用服務(wù):關(guān)閉不經(jīng)常使用的一些服務(wù),不允許隨意安裝APP,也可以減少系統(tǒng)的漏洞,使系統(tǒng)的安全性進(jìn)一步提高。

● 使用IDS/IDS(入侵檢測系統(tǒng)、入侵防御系統(tǒng))防御設(shè)備:入侵檢測、防御系統(tǒng)也可以有針對性地、及時地發(fā)現(xiàn)攻擊者是否在進(jìn)行TCP SYN掃描,使得目標(biāo)機(jī)系統(tǒng)安全得到提升。

2.3 TCP FIN掃描攻擊

TCP FIN掃描攻擊,英文“TCP FIN Scan Attack”。TCP FIN掃描攻擊屬于TCP協(xié)議存在的一種漏洞,TCP FIN 掃描攻擊與TCP SYN掃描攻擊實現(xiàn)的目的一致,都是為了獲得目標(biāo)主機(jī)開放的端口,從而獲取目標(biāo)主機(jī)的一些其他信息。

(1)攻擊實現(xiàn)

TCP FIN掃描攻擊與TCP SYN掃描攻擊不同的地方,是TCP FIN掃描攻擊是利用TCP協(xié)議斷開連接時的四次握手機(jī)制,即攻擊者向被攻擊對象發(fā)送TCP FIN包,如果被攻擊對象此時對應(yīng)的端口是開放的,被攻擊主機(jī)會及時相應(yīng)TCP SRT的數(shù)據(jù)包。相反,如果被攻擊主機(jī)此端口沒有開放,則攻擊主機(jī)不會收到TCP RST數(shù)據(jù)包。

具體實現(xiàn)如下圖所示:

圖4  TCP FIN掃描攻擊

由上圖可以看出,TCP FIN掃描攻擊是一種無痕跡掃描,攻擊掃描期間并不會與對方建立連接。因此也不會被對方記錄連接信息。

當(dāng)攻擊者獲取到某一個端口狀態(tài)時,可以繼續(xù)切換到下一端口,按照以上步驟再次發(fā)送TCP FIN掃描攻擊,直到所有端口掃描完畢。

(2)防御策略

針對TCP FIN掃描攻擊,也可以制定一些相應(yīng)的方法進(jìn)行防御。通用的防御方法如2.2章節(jié)的防御策略,針對TCP FIN掃描也是適用的。

另外實現(xiàn)TCP FIN掃描攻擊的防御,也可以通過以下方式:

● 安裝TCP Wrapper:TCP Wrapper也是網(wǎng)絡(luò)安全中常用的一種安全工具,其實現(xiàn)方式與iptables相似,可以根據(jù)IP地址、主機(jī)名、服務(wù)名等來控制網(wǎng)絡(luò)連接,從而提高系統(tǒng)的安全性。

2.4 TCP LAND攻擊

TCP Land攻擊,英文為“TCP local area network denial attack”,TCP Land攻擊是一種利用TCP協(xié)議中的漏洞進(jìn)行的攻擊。

它的主要原理是偽造一個TCP數(shù)據(jù)包,并在該數(shù)據(jù)包的源IP地址和目標(biāo)IP地址中都填寫相同的IP地址,從而使目標(biāo)主機(jī)陷入死循環(huán),無法與其他主機(jī)通信。

(1)攻擊實現(xiàn)

具體實現(xiàn)如下圖所示:


圖5  TCP LAND攻擊

由上圖可以看出,TCP LAND攻擊利用了TCP協(xié)議中的SYN標(biāo)志位。攻擊者發(fā)送一個偽造的TCP SYN數(shù)據(jù)包(SYN標(biāo)志位被設(shè)置為1)給目標(biāo)主機(jī),并且源IP地址和目標(biāo)IP地址都被設(shè)置為目標(biāo)主機(jī)的IP地址。當(dāng)目標(biāo)主機(jī)接收到這個數(shù)據(jù)包時,它會認(rèn)為這是一個新的TCP連接請求,并嘗試發(fā)送一個SYN ACK數(shù)據(jù)包作為響應(yīng)。但是,由于源IP地址和目標(biāo)IP地址都為目標(biāo)主機(jī)本身,目標(biāo)主機(jī)會一直向自己發(fā)送數(shù)據(jù),最終導(dǎo)致系統(tǒng)崩潰或網(wǎng)絡(luò)擁堵。

(2)防御策略

TCP LAND攻擊是一種常見的DoS攻擊手段,在以上其他章節(jié)介紹的入侵檢測防御系統(tǒng)、對操作系統(tǒng)升級等通用防御策略基礎(chǔ)上,還可以通過以下幾種方式進(jìn)行防御:

● 配置防火墻:防火墻可以進(jìn)行配置,限制TCP的源地址是本地地址的情況下,存在TCP SYN的數(shù)據(jù)流,從而避免惡意的TCP LAND攻擊。

● 配置網(wǎng)絡(luò)流量監(jiān)控系統(tǒng):實時檢測網(wǎng)絡(luò)中的流量信息,當(dāng)發(fā)現(xiàn)異常流量時及時上報提醒,防止TCP LAND攻擊等類型的拒絕服務(wù)攻擊。

2.5 TCP 中間人攻擊

TCP中間人攻擊,包括TCP會話劫持和TCP連接重置兩種實現(xiàn)方式,本文以TCP會話劫持為例進(jìn)行講解。

TCP會話劫持(TCP session hijacking),是指攻擊者通過監(jiān)聽或者篡改網(wǎng)絡(luò)流量,獲取到合法用戶的TCP會話信息,然后利用這些信息來冒充合法用戶與服務(wù)器或其他合法用戶進(jìn)行通信的一種攻擊行為。攻擊者利用TCP會話劫持可以實施多種攻擊,如竊取用戶信息、篡改用戶數(shù)據(jù)、劫持會話等。

(1)攻擊實現(xiàn)

以攻擊者冒充客戶端為例,其實現(xiàn)如下圖所示:


圖6  中間人攻擊

由上圖可以看出,TCP中間人攻擊是攻擊者在網(wǎng)絡(luò)中對傳輸?shù)臄?shù)據(jù)進(jìn)行監(jiān)聽和分析,當(dāng)攻擊者獲取到客戶端的TCP會話序列號及確認(rèn)號后,就可以偽造TCP數(shù)據(jù)包來冒充客戶端與服務(wù)器進(jìn)行通信。攻擊者通過這種方式可以繞過服務(wù)器的認(rèn)證和授權(quán)機(jī)制,進(jìn)而實現(xiàn)各種攻擊目的。

(2)防御策略

通過以上關(guān)于TCP 中間人攻擊實現(xiàn)原理,可以通過以下幾種方式進(jìn)行防范:

● 使用加密協(xié)議:可以使用TLS、SSH等,對數(shù)據(jù)傳輸過程中加密、對原始數(shù)據(jù)進(jìn)行加密,從而避免數(shù)據(jù)被攻擊者竊取。

● 對服務(wù)器和應(yīng)用程序進(jìn)行安全加固,如關(guān)閉不必要的服務(wù)和端口、限制訪問權(quán)限、采用安全認(rèn)證機(jī)制等,提高系統(tǒng)的安全性。


03

小 結(jié)


TCP攻擊不同的方式各具有不同的特點,但都會導(dǎo)致目標(biāo)主機(jī)或網(wǎng)絡(luò)的服務(wù)中斷或降級。為了防范TCP攻擊,主機(jī)必須有相應(yīng)的安全防御策略。尤其是在網(wǎng)絡(luò)信息化的今天,一些對數(shù)據(jù)保密性要求較高、又需要網(wǎng)絡(luò)傳輸?shù)牡臄?shù)據(jù),數(shù)據(jù)安全可以說是重于泰山,安全防御策略必不可少,更是需要防范TCP攻擊。


參考文獻(xiàn):

[1]  Cerf, V., and R. Kahn, "A Protocol for Packet Network Intercommunication", IEEE Transactions on Communications,Vol. COM-22, No. 5, pp 637-648, May 1974.

[2] A Profile Based Network Intrusion Detection and Prevention System for Securing Cloud Environment[J]. Sanchika Gupta;Padam Kumar;Ajith

Abraham.International Journal of Distributed Sensor Networks,2013(3).

[3] Application of anomaly detection algorithms for detecting SYN flooding attacks[J]. Vasilios A. Siris;Fotini Papagalou.Computer

Communications,2005(9).

[4]Oleg Kupreev,Ekaterina Badovskaya,Alexander Gutnikov,DDoS Attacks in Q4 2018,[J/OL]on February 7,2019,Kaspersky Lab report,2021-1-3.

[5] 基于Internet的TCP會話劫持欺騙攻擊與防御策略[J]. 趙景;王浉錕.現(xiàn)代電子技術(shù),2020(16).


閱讀原文

潢川县| 祁连县| 达拉特旗| 思茅市| 通江县| 汶川县| 临汾市| 渑池县| 乌拉特中旗| 仁布县| 高碑店市| 雷山县| 鄂温| 漳州市| 温州市| 瓮安县| 乌恰县| 临沧市| 阿坝县| 红安县| 东安县| 来宾市| 莱西市| 抚远县| 鄂伦春自治旗| 河西区| 隆德县| 广灵县| 靖远县| 贵定县| 四子王旗| 祁东县| 富阳市| 庆阳市| 永安市| 澳门| 兴和县| 且末县| 宝丰县| 赫章县| 隆德县|