陳昱琦
摘?要:隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展,21世紀(jì)已經(jīng)進(jìn)入了信息化時代。但隨之網(wǎng)絡(luò)安全問題也越來越突出,攻擊者的破壞手段伴隨著網(wǎng)絡(luò)技術(shù)的發(fā)展更加高端,TCP/IP協(xié)議是計(jì)算機(jī)計(jì)算和網(wǎng)絡(luò)技術(shù)中最基本的協(xié)議。因此,研究TCP/IP協(xié)議,有效的解決協(xié)議威脅的問題,對計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展非常重要。通過對TCP/IP協(xié)議進(jìn)行概述,并分析當(dāng)前TCP/IP協(xié)議存在的安全隱患和安全問題。比較分析后得出IPv6在安全性能上更由于上一代的IPv4,極大地提高了網(wǎng)絡(luò)的安全性。
關(guān)鍵詞:計(jì)算機(jī)網(wǎng)絡(luò);網(wǎng)絡(luò)安全;TCP/IP協(xié)議
TCP/IP協(xié)議作為計(jì)算機(jī)系統(tǒng)之間通信的技術(shù)規(guī)范,是當(dāng)下網(wǎng)絡(luò)技術(shù)所運(yùn)用的主流協(xié)議。本文將詳細(xì)介紹計(jì)算機(jī)網(wǎng)絡(luò)以及TCP/IP協(xié)議族,使這些生活中常見的應(yīng)用技術(shù)被更多了解,詳見第一章、第二章。TCP/IP協(xié)議的便利性使得在設(shè)計(jì)初期可以很好地被開發(fā)以及使用,但隨著更加頻繁的網(wǎng)絡(luò)通信,各種網(wǎng)絡(luò)協(xié)議所存在的安全漏洞也隨之暴露。本文將簡介TCP/IP協(xié)議族的基本原理與發(fā)展歷史,并分析該協(xié)議族當(dāng)前面臨的安全問題,詳見第三章、第四章。
1?計(jì)算機(jī)網(wǎng)絡(luò)概述
計(jì)算機(jī)網(wǎng)絡(luò)是指,由交換機(jī)、路由器等二三層網(wǎng)絡(luò)設(shè)備通過物理線路相連所構(gòu)建而成的基礎(chǔ)網(wǎng)絡(luò)設(shè)施,并向服務(wù)器、個人電腦等終端提供連接服務(wù),使之通過網(wǎng)絡(luò)設(shè)施實(shí)現(xiàn)相互通信。計(jì)算機(jī)網(wǎng)絡(luò)的層次性是指,將網(wǎng)絡(luò)的功能劃分成若干個層次,每個層次負(fù)責(zé)獨(dú)立的功能,低層次的網(wǎng)絡(luò)功能為高層次的網(wǎng)絡(luò)功能服務(wù),高層次的網(wǎng)絡(luò)功能依賴于低層次的網(wǎng)絡(luò)功能。正是由于網(wǎng)絡(luò)的分層,使得復(fù)雜的網(wǎng)絡(luò)變得運(yùn)行高效且利于維護(hù)。計(jì)算機(jī)互聯(lián)的一個標(biāo)準(zhǔn)框架就是OSI(Open?System?Interconnect)參考模型,它是一個共計(jì)七層的標(biāo)準(zhǔn)框架,自下而上分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、會話層、表示層、應(yīng)用層。
2?TCP/IP協(xié)議
TCP/IP協(xié)議并不完全符合OSI的七層參考模型,TCP/IP協(xié)議將OSI的七層參考模型簡化為四層,自下而上依次為網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。每一層都需要它的下一層所提供的服務(wù)來完成自己的需求。
TCP/IP協(xié)議族并不是單純的TCP與IP這兩個協(xié)議合并而產(chǎn)生的合稱,而是指網(wǎng)絡(luò)技術(shù)的整個TCP/IP協(xié)議族,又由于保障數(shù)據(jù)可靠傳輸?shù)膬蓚€最基本的協(xié)議是TCP協(xié)議和IP協(xié)議,故稱為“TCP/IP協(xié)議”。IP協(xié)議的功能是將數(shù)據(jù)鏈路層所封裝出的“幀”同一轉(zhuǎn)換為“IP數(shù)據(jù)報”,使得數(shù)據(jù)可以在網(wǎng)絡(luò)上進(jìn)行三層路由轉(zhuǎn)發(fā),所以IP協(xié)議使各種計(jì)算機(jī)網(wǎng)絡(luò)都能在因特網(wǎng)上實(shí)現(xiàn)互通。TCP協(xié)議的功能是把數(shù)據(jù)切割為若干個數(shù)據(jù)包,并給每個數(shù)據(jù)包加上TCP包頭,每一個包頭都有源端口、目的端口以及各自的編號,數(shù)據(jù)的接收端可以根據(jù)包頭中的編號來確定自己是否接收到所有的數(shù)據(jù)包,然后IP協(xié)議在TCP數(shù)據(jù)包封裝IP報文頭部,頭部信息包含了數(shù)據(jù)的發(fā)送端和接收端的IP地址,有了接收端的IP地址,網(wǎng)絡(luò)就知道了這個數(shù)據(jù)包想要去的目的地。如果在數(shù)據(jù)的傳輸過程中發(fā)生了數(shù)據(jù)丟失或失真等情況,TCP協(xié)議會根據(jù)包頭中的編號去請求數(shù)據(jù)重新傳輸,接收到重傳的報文后重組數(shù)據(jù)??傊?,IP協(xié)議保證數(shù)據(jù)能傳送到正確的目的地,TCP協(xié)議保證數(shù)據(jù)傳輸過程中不出現(xiàn)丟失或破損。
2.1?TCP協(xié)議
TCP協(xié)議是面向連接的協(xié)議,一個完整的TCP連接建立過程如圖2所示。為了在連接方和響應(yīng)方之間可靠地傳輸數(shù)據(jù),必須先在連接方和響應(yīng)方之間通過三次握手的方式建立一條TCP連接。TCP連接的建立過程大致為:首先,連接方發(fā)送一個SYN標(biāo)志位置位的TCP報文給響應(yīng)方,SYN報文中的信息包括連接方所使用的源端口號和響應(yīng)方的目的端口號,以及該TCP連接的初始序列號X;然后,響應(yīng)方在接收到該SYN報文后,返回一個SYN標(biāo)志位和ACK標(biāo)志位置位的報文,該報文的序列號為X。最后,連接方也返回一個用于確認(rèn)的ACK置位的報文給響應(yīng)方,該報文的序列號為X+1。至此,一個TCP連接成功。
2.2?IP協(xié)議
IP協(xié)議是TCP/IP協(xié)議族中的核心協(xié)議之一,它提供無連接的數(shù)據(jù)傳輸服務(wù),它的主要功能有路由選擇、尋址、分段以及組裝。傳輸層將報文分成了若干個數(shù)據(jù)包,每一個數(shù)據(jù)包首先在源頭的網(wǎng)關(guān)上進(jìn)行路由匹配,然后一跳一跳地穿越若干個三層轉(zhuǎn)發(fā)設(shè)備,最終送到目標(biāo)主機(jī)。數(shù)據(jù)包在傳輸?shù)倪^程中,由于物理層最大傳輸單元長度的要求,可能會被切割成若干小段,每一個小段都包含有完整的IP報文頭部,但其中只有第一個小段包含了TCP頭部。在穿越包過濾防火墻時,由于后續(xù)小段不包含TCP頭部,將無法通過檢測,在穿越狀態(tài)檢測防火墻時,則可以被檢測通過。
IP協(xié)議接收來自更底層發(fā)來的數(shù)據(jù)包,然后把數(shù)據(jù)包傳遞給更高的一層TCP層(傳輸層)。同樣,IP層也會接收來自TCP層的數(shù)據(jù)包,并傳遞給更底層。由于IP協(xié)議是無連接的,其無法確認(rèn)數(shù)據(jù)是否有丟失或破損,所以IP數(shù)據(jù)包是不可靠的。
3?TCP/IP協(xié)議的安全隱患
網(wǎng)絡(luò)協(xié)議是計(jì)算機(jī)系統(tǒng)之間為了相互通信而共同遵守的技術(shù)規(guī)范。目前應(yīng)用于互聯(lián)網(wǎng)的主流協(xié)議TCP/IP協(xié)議族,由于在設(shè)計(jì)的早期過分注重其便利性和開發(fā)性,并沒有足夠考慮其安全性,因此安全問題普遍存在于很多的網(wǎng)絡(luò)協(xié)議中。
3.1?TCP協(xié)議的安全問題
第一是報文攻擊:TCP連接的建立是通過三次握手的機(jī)制來實(shí)現(xiàn)的,其中的第一條數(shù)據(jù)包為SYN數(shù)據(jù)包,第二條數(shù)據(jù)包是SYN/ACK數(shù)據(jù)包,第三條數(shù)據(jù)包是ACK數(shù)據(jù)包。在TCP連接關(guān)系里,一方為連接方,另一方為響應(yīng)方,由于缺乏身份驗(yàn)證機(jī)制,可能會存在攻擊方竊聽響應(yīng)方發(fā)送的SYN包的威脅;如果攻擊方冒充連接方向響應(yīng)方發(fā)出RST報文,然后發(fā)出SYN報文向響應(yīng)方建立連接,攻擊方則得到了制造破壞的機(jī)會,如果攻擊方利用這個TCP連接持續(xù)發(fā)送危險數(shù)據(jù),則會產(chǎn)生嚴(yán)重的后果。另外,攻擊方還可以進(jìn)行純粹的破壞性攻擊,比如攻擊方可以同時冒充連接方和響應(yīng)方,同時向連接方和響應(yīng)方發(fā)送RST報文,連接方和響應(yīng)方都以為RST報文是對方發(fā)來的,所以他們之間的TCP連接因此而斷開,數(shù)據(jù)的傳輸也就必然中斷。攻擊方使用這樣的方式持續(xù)阻斷連接方和響應(yīng)方之間的TCP連接,使得連接方和響應(yīng)方之間的通信完全中斷。第二是序列號攻擊:TCP連接最初的序列號是在發(fā)送SYN數(shù)據(jù)包時確認(rèn)的,攻擊方向響應(yīng)方發(fā)送SYN報文獲取上次的ISN數(shù)據(jù),若攻擊方獲取了上次連接的數(shù)據(jù),可以預(yù)測到后續(xù)的數(shù)據(jù),那么攻擊方就可以偽造有害數(shù)據(jù)并發(fā)給響應(yīng)方,從而進(jìn)行破壞。
3.2?IP協(xié)議的安全問題
IP協(xié)議在網(wǎng)絡(luò)中提供了無連接的數(shù)據(jù)傳輸服務(wù)。IP協(xié)議僅根據(jù)報文頭部的目的地址信息進(jìn)行轉(zhuǎn)發(fā),對IP報頭中的源地址并不做任何檢查。這就意味著,IP協(xié)議默認(rèn)認(rèn)為,報頭中的源地址是可以相信的、可以依靠的。因此,某些對訪問請求來源敏感的服務(wù)可能會遭受非法入侵。即使網(wǎng)絡(luò)中的防火墻限制了某些源地址去訪問某些目的地址,但仍然無法避免攻擊者冒用合法IP地址作為源地址,對服務(wù)器進(jìn)行攻擊。實(shí)際中,任何攻擊者都能夠利用IP協(xié)議不驗(yàn)證源地址真實(shí)性、合法性的缺點(diǎn),自定義源IP地址來實(shí)現(xiàn)網(wǎng)絡(luò)攻擊,并且不會被發(fā)現(xiàn)。另外攻擊者可以使用IP碎片攻擊,由于IP協(xié)議無法檢測源IP的合法性與真實(shí)性,攻擊者可以向被攻擊者發(fā)送大量的IP分片,被攻擊者在收到這些大量的IP分片后,會對IP分片進(jìn)行重組,重組大量的IP分片將大量占用被攻擊者的計(jì)算資源,攻擊嚴(yán)重的情況下,很可能會使得被攻擊者陷入系統(tǒng)癱瘓。
4?基于TCP/IPv4,v6的安全分析
TCP/IP協(xié)議族在設(shè)計(jì)上的先天不足使得其難以避免某些安全隱患,即使通過應(yīng)用層的安全手段可以有效地避免一些底層的安全問題,但仍然無法徹底彌補(bǔ)其底層的先天不足。TCP/IPv6的設(shè)計(jì),充分總結(jié)了TCP/IPv4的安全問題并加以修復(fù),使得IPv6的安全性更能滿足當(dāng)前網(wǎng)絡(luò)安全防范的需求。除此之外,IPv6寬廣的地址空間、網(wǎng)絡(luò)層的加密與校驗(yàn)等功能,使得其相較于IPv4的優(yōu)勢也更為明顯。
5?結(jié)論
計(jì)算機(jī)網(wǎng)絡(luò)的層次劃分框架使得復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)易于實(shí)現(xiàn)以及維護(hù)。而網(wǎng)絡(luò)協(xié)議,特別是TCP/IP協(xié)議簇保證了在通信過程中數(shù)據(jù)正確傳輸?shù)闹匾獏f(xié)議。IP協(xié)議使各種計(jì)算機(jī)網(wǎng)絡(luò)都能在因特網(wǎng)上實(shí)現(xiàn)互通,TCP協(xié)議保證了數(shù)據(jù)傳輸?shù)恼_性。但傳統(tǒng)的TCP/IP協(xié)議由于過分強(qiáng)調(diào)其開發(fā)性和便利性,缺少安全性以及傳輸效率的考慮。新一代的IPv6在這兩個方面的性能都顯著提升。隨著通信網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)協(xié)議也許還存在一些其他的問題,但技術(shù)的發(fā)展就是不斷地解決問題,在未來通信的效率會越來越高。
參考文獻(xiàn):
[1]王雪晴.計(jì)算機(jī)網(wǎng)絡(luò)概述及與SDN的對比分析.重慶郵電大學(xué),2017.
[2]劉宇峰.新時期TCP/IP網(wǎng)絡(luò)安全防范的應(yīng)對措施探析.中國聯(lián)通,2016.