摘要:TCP/IP協(xié)議是當(dāng)前計(jì)算機(jī)局域網(wǎng)和Internet普遍使用的組網(wǎng)協(xié)議,該文結(jié)合TCP/IP的一個(gè)通信實(shí)例,使用Sniffer軟件,截取并分析其通信數(shù)據(jù),得出TCP/IP協(xié)議缺乏相應(yīng)的安全機(jī)制的結(jié)論,并在此基礎(chǔ)上,討論了基于TCP/IP協(xié)議的有關(guān)安全的常用做法。
關(guān)鍵詞:TCP/IP;通信協(xié)議;信息安全;Sniffer
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)29-6842-04
Abstract: TCP/IP is the protocol that commonly used to build the Ethernet or Internet. Based on an instance of TCP/IP communication, the thesis uses the sniffer software to capture and analyze the data of TCP/IP communications and draws the conclusion that TCP/IP protocol has no measures to ensure the security of the communications. At last the thesis introduces some ways to ensure the security of TCP/IP communications.
Key words: TCP/IP; communication protocol; security of information; sniffer
1 基于TCP/IP協(xié)議網(wǎng)絡(luò)安全問題
TCP/IP協(xié)議是當(dāng)前Internet(廣域網(wǎng))和以太網(wǎng)(局域網(wǎng))普遍使用的基本的通信協(xié)議簇,TCP/IP協(xié)議不是一個(gè)協(xié)議,而是由一系列協(xié)議(包括TCP和IP協(xié)議)組成的協(xié)議簇,正是因?yàn)橛辛薚CP/IP協(xié)議,Internet才得以迅速發(fā)展成為世界上最大的、開放的計(jì)算機(jī)通信網(wǎng)絡(luò)。
在使用Windows操作系統(tǒng)的主機(jī)中,系統(tǒng)會自動為主機(jī)中的網(wǎng)卡綁定TCP/IP協(xié)議,簡單配置一下該協(xié)議,主機(jī)就可以使用該網(wǎng)卡與其它主機(jī)進(jìn)行通信了。
TCP/IP協(xié)議是美國國防部(DoD)基于戰(zhàn)爭的需要,在尋求把分散的計(jì)算機(jī)互聯(lián)成網(wǎng)絡(luò)的過程,隨著第一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)ARPA網(wǎng)的出現(xiàn)而出現(xiàn)的。由于TCP/IP協(xié)議最初只是在一個(gè)小范圍內(nèi)應(yīng)用,缺少安全性方面的考慮,隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及,TCP/IP逐漸成為一種開放的網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議,其安全性缺陷也逐漸顯現(xiàn),主要表現(xiàn)在以下幾個(gè)方面:
1) TCP/IP協(xié)議使用明文傳輸數(shù)據(jù),不對數(shù)據(jù)進(jìn)行加密處理。如果傳輸?shù)臄?shù)據(jù)被截獲,就會有泄密的風(fēng)險(xiǎn)。
2) TCP/IP協(xié)議沒有認(rèn)證機(jī)制。發(fā)送者無法確認(rèn)接受方是不是合法的接收者,同樣,接收者也無法確認(rèn)數(shù)據(jù)的發(fā)送方是不是合法的發(fā)送者。
3) TCP/IP協(xié)議沒有數(shù)據(jù)完整性檢測機(jī)制。即使要傳輸?shù)臄?shù)據(jù)在傳輸?shù)倪^程中被第三方篡改過,接收者也無從知曉。
2 Sniffer軟件的數(shù)據(jù)捕獲與解碼
Sniffer是一款可以對計(jì)算機(jī)網(wǎng)絡(luò)上發(fā)生的不同的數(shù)據(jù)傳送進(jìn)行跟蹤、分析從而對網(wǎng)絡(luò)行為進(jìn)行統(tǒng)計(jì)、管理的軟件。Sniffer提供了豐富的圖形工具,可以非常直觀地呈現(xiàn)當(dāng)前網(wǎng)絡(luò)的連接情況。
Sniffer軟件還可以對發(fā)生在本網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)傳送進(jìn)行捕獲,并進(jìn)而在網(wǎng)絡(luò)模型的數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層等各層進(jìn)行解碼分析,從而找出數(shù)據(jù)傳送的規(guī)律或問題。從這一點(diǎn)上看,Sniffer就像是一個(gè)外科醫(yī)生,它可以深入到網(wǎng)絡(luò)通信的內(nèi)部,獲取網(wǎng)絡(luò)通信的數(shù)據(jù)。
當(dāng)前所廣泛使用的以太網(wǎng)(局域網(wǎng))或者是Internet(廣域網(wǎng))都是使用TCP/IP協(xié)議進(jìn)行工作的,TCP/IP協(xié)議是明文傳輸?shù)?,沒有采取加密措施,這種明文傳輸?shù)臄?shù)據(jù)一旦被攔截、捕獲,就會發(fā)生信息泄露,給正常的數(shù)據(jù)通信造成威脅。該文就是利用Sniffer軟件可以對網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)傳送進(jìn)行捕獲這一功能,獲取網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)通信的一些樣本,再對這些樣本進(jìn)行分析,從而更加清楚地看出TCP/IP協(xié)議缺乏安全機(jī)制這一特點(diǎn)。
3 TCP/IP數(shù)據(jù)通信實(shí)例的Sniffer分析
在使用TCP/IP協(xié)議的網(wǎng)絡(luò)中,可以進(jìn)行多種類型的數(shù)據(jù)通信服務(wù),其中Telnet是一種應(yīng)用較廣泛的服務(wù),它是一個(gè)通過創(chuàng)建虛擬終端提供連接到遠(yuǎn)程主機(jī)從而可以實(shí)現(xiàn)終端仿真的TCP/IP應(yīng)用。Telnet遠(yuǎn)程登錄服務(wù)通常需要通過用戶名和口令進(jìn)行認(rèn)證,其實(shí)現(xiàn)過程一般分為以下幾個(gè)步驟:
1) 本地與遠(yuǎn)程主機(jī)建立連接。該過程實(shí)際上是建立一個(gè)TCP連接,用戶必須知道遠(yuǎn)程主機(jī)的IP地址或域名。
2) 將本地終端上輸入的用戶名和口令及以后輸入的任何命令或字符以NVT(Net Virtual Terminal)格式傳送到遠(yuǎn)程主機(jī)。該過程實(shí)際上是從本地主機(jī)向遠(yuǎn)程主機(jī)發(fā)送一個(gè)IP數(shù)據(jù)包。
3) 將遠(yuǎn)程主機(jī)輸出的NVT格式的數(shù)據(jù)轉(zhuǎn)化為本地所接受的格式送回本地終端,包括輸入命令回顯和命令執(zhí)行結(jié)果。
4) 最后,本地終端撤消與遠(yuǎn)程主機(jī)之間的連接。
本文就以Telnet服務(wù)為實(shí)例,使用SnifferPro 4.70,抓取其通信過程中的數(shù)據(jù),獲取其用以建立TCP連接的用戶和密碼以及在連接建立完成后所發(fā)送的通信數(shù)據(jù)。
首先,確定好用以進(jìn)行Telnet遠(yuǎn)程連接的主機(jī)其Telnet服務(wù)已經(jīng)開啟。在本實(shí)例中,遠(yuǎn)程主機(jī)IP地址為192.168.0.106,本地主機(jī)IP地址為192.168.0.100,在捕獲數(shù)據(jù)前,可以先進(jìn)行Telnet遠(yuǎn)程登錄測試,以確保實(shí)驗(yàn)可以正常進(jìn)行。endprint
在確定遠(yuǎn)程主機(jī)可以正常Telnet登錄后,打開Sniffer Pro軟件,點(diǎn)擊工具欄上的開始捕獲按鈕,Sniffer就開始對網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)通信進(jìn)行捕獲數(shù)據(jù)了。此時(shí),打開本地主機(jī)的命令提示符窗口,在命令提示符下輸入telnet 192.168.0.106,回車后輸入遠(yuǎn)程登錄的用戶名和administrator,密碼345678,就可以Telnet到遠(yuǎn)程主機(jī)。
Telnet登錄成功后,就可以操作遠(yuǎn)程主機(jī)了,比如,要查看遠(yuǎn)程主機(jī)當(dāng)前的文件目錄,可以在命令提示符下輸入dir命令,該命令返回遠(yuǎn)程主機(jī)當(dāng)前目錄的文件列表。
從以上捕獲結(jié)果可以看出,使用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)通信的Telnet服務(wù),從初始TCP連接的建立到用戶認(rèn)證,以及通過用戶認(rèn)證后在遠(yuǎn)程主機(jī)上所執(zhí)行的命令,都可以被Sniffer捕獲并分析出來。這種數(shù)據(jù)通信過程如果被截獲,用戶名和密碼就會被第三方所掌握,遠(yuǎn)程主機(jī)上的資料也會泄露,由此會帶來很大的安全問題。
4 基于TCP/IP協(xié)議的數(shù)據(jù)通信安全
通過對網(wǎng)絡(luò)內(nèi)數(shù)據(jù)通信的Sniffer捕獲并解碼,可以清楚地看出,TCP/IP協(xié)議并沒有提供數(shù)據(jù)通信的安全機(jī)制,從這一點(diǎn)上說,TCP/IP協(xié)議是存在安全缺陷的。但這并不能否認(rèn)TCP/IP在網(wǎng)絡(luò)通信中的作用,正是有了TCP/IP協(xié)議,才有了今天Internet的蓬勃發(fā)展,其在網(wǎng)絡(luò)通信中基礎(chǔ)性作用和地位至今無法憾動,更沒有哪一種協(xié)議能夠取代TCP/IP協(xié)議。
人們要做的是在TCP/IP協(xié)議的基礎(chǔ)上,增加安全性的措施,對TCP/IP加以彌補(bǔ)和完善。從TCP/IP網(wǎng)絡(luò)模型上看,可以從應(yīng)用層、傳輸層或者網(wǎng)際層入手,增加安全性的措施和機(jī)制,提高TCP/IP網(wǎng)絡(luò)的通信安全。
從應(yīng)用層來看,可以對要傳輸?shù)臄?shù)據(jù)加密,這樣加密后的數(shù)據(jù),即使被第三方所捕獲,也無從獲知其內(nèi)容,避免數(shù)據(jù)泄露。在應(yīng)用層上還可以對要傳數(shù)據(jù)進(jìn)行哈希運(yùn)算,以防止要傳輸?shù)臄?shù)據(jù)被篡改。
SSL(Secure Sockets Layer安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。
參考文獻(xiàn):
[1] Tanen baum A.S,潘愛民譯.計(jì)算機(jī)網(wǎng)絡(luò)第4版[M].北京:清華大學(xué)出版社,2005.
[2] 張保江.組網(wǎng)技術(shù)與配置[M].北京:清華大學(xué)出版社,2013.endprint
在確定遠(yuǎn)程主機(jī)可以正常Telnet登錄后,打開Sniffer Pro軟件,點(diǎn)擊工具欄上的開始捕獲按鈕,Sniffer就開始對網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)通信進(jìn)行捕獲數(shù)據(jù)了。此時(shí),打開本地主機(jī)的命令提示符窗口,在命令提示符下輸入telnet 192.168.0.106,回車后輸入遠(yuǎn)程登錄的用戶名和administrator,密碼345678,就可以Telnet到遠(yuǎn)程主機(jī)。
Telnet登錄成功后,就可以操作遠(yuǎn)程主機(jī)了,比如,要查看遠(yuǎn)程主機(jī)當(dāng)前的文件目錄,可以在命令提示符下輸入dir命令,該命令返回遠(yuǎn)程主機(jī)當(dāng)前目錄的文件列表。
從以上捕獲結(jié)果可以看出,使用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)通信的Telnet服務(wù),從初始TCP連接的建立到用戶認(rèn)證,以及通過用戶認(rèn)證后在遠(yuǎn)程主機(jī)上所執(zhí)行的命令,都可以被Sniffer捕獲并分析出來。這種數(shù)據(jù)通信過程如果被截獲,用戶名和密碼就會被第三方所掌握,遠(yuǎn)程主機(jī)上的資料也會泄露,由此會帶來很大的安全問題。
4 基于TCP/IP協(xié)議的數(shù)據(jù)通信安全
通過對網(wǎng)絡(luò)內(nèi)數(shù)據(jù)通信的Sniffer捕獲并解碼,可以清楚地看出,TCP/IP協(xié)議并沒有提供數(shù)據(jù)通信的安全機(jī)制,從這一點(diǎn)上說,TCP/IP協(xié)議是存在安全缺陷的。但這并不能否認(rèn)TCP/IP在網(wǎng)絡(luò)通信中的作用,正是有了TCP/IP協(xié)議,才有了今天Internet的蓬勃發(fā)展,其在網(wǎng)絡(luò)通信中基礎(chǔ)性作用和地位至今無法憾動,更沒有哪一種協(xié)議能夠取代TCP/IP協(xié)議。
人們要做的是在TCP/IP協(xié)議的基礎(chǔ)上,增加安全性的措施,對TCP/IP加以彌補(bǔ)和完善。從TCP/IP網(wǎng)絡(luò)模型上看,可以從應(yīng)用層、傳輸層或者網(wǎng)際層入手,增加安全性的措施和機(jī)制,提高TCP/IP網(wǎng)絡(luò)的通信安全。
從應(yīng)用層來看,可以對要傳輸?shù)臄?shù)據(jù)加密,這樣加密后的數(shù)據(jù),即使被第三方所捕獲,也無從獲知其內(nèi)容,避免數(shù)據(jù)泄露。在應(yīng)用層上還可以對要傳數(shù)據(jù)進(jìn)行哈希運(yùn)算,以防止要傳輸?shù)臄?shù)據(jù)被篡改。
SSL(Secure Sockets Layer安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。
參考文獻(xiàn):
[1] Tanen baum A.S,潘愛民譯.計(jì)算機(jī)網(wǎng)絡(luò)第4版[M].北京:清華大學(xué)出版社,2005.
[2] 張保江.組網(wǎng)技術(shù)與配置[M].北京:清華大學(xué)出版社,2013.endprint
在確定遠(yuǎn)程主機(jī)可以正常Telnet登錄后,打開Sniffer Pro軟件,點(diǎn)擊工具欄上的開始捕獲按鈕,Sniffer就開始對網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)通信進(jìn)行捕獲數(shù)據(jù)了。此時(shí),打開本地主機(jī)的命令提示符窗口,在命令提示符下輸入telnet 192.168.0.106,回車后輸入遠(yuǎn)程登錄的用戶名和administrator,密碼345678,就可以Telnet到遠(yuǎn)程主機(jī)。
Telnet登錄成功后,就可以操作遠(yuǎn)程主機(jī)了,比如,要查看遠(yuǎn)程主機(jī)當(dāng)前的文件目錄,可以在命令提示符下輸入dir命令,該命令返回遠(yuǎn)程主機(jī)當(dāng)前目錄的文件列表。
從以上捕獲結(jié)果可以看出,使用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)通信的Telnet服務(wù),從初始TCP連接的建立到用戶認(rèn)證,以及通過用戶認(rèn)證后在遠(yuǎn)程主機(jī)上所執(zhí)行的命令,都可以被Sniffer捕獲并分析出來。這種數(shù)據(jù)通信過程如果被截獲,用戶名和密碼就會被第三方所掌握,遠(yuǎn)程主機(jī)上的資料也會泄露,由此會帶來很大的安全問題。
4 基于TCP/IP協(xié)議的數(shù)據(jù)通信安全
通過對網(wǎng)絡(luò)內(nèi)數(shù)據(jù)通信的Sniffer捕獲并解碼,可以清楚地看出,TCP/IP協(xié)議并沒有提供數(shù)據(jù)通信的安全機(jī)制,從這一點(diǎn)上說,TCP/IP協(xié)議是存在安全缺陷的。但這并不能否認(rèn)TCP/IP在網(wǎng)絡(luò)通信中的作用,正是有了TCP/IP協(xié)議,才有了今天Internet的蓬勃發(fā)展,其在網(wǎng)絡(luò)通信中基礎(chǔ)性作用和地位至今無法憾動,更沒有哪一種協(xié)議能夠取代TCP/IP協(xié)議。
人們要做的是在TCP/IP協(xié)議的基礎(chǔ)上,增加安全性的措施,對TCP/IP加以彌補(bǔ)和完善。從TCP/IP網(wǎng)絡(luò)模型上看,可以從應(yīng)用層、傳輸層或者網(wǎng)際層入手,增加安全性的措施和機(jī)制,提高TCP/IP網(wǎng)絡(luò)的通信安全。
從應(yīng)用層來看,可以對要傳輸?shù)臄?shù)據(jù)加密,這樣加密后的數(shù)據(jù),即使被第三方所捕獲,也無從獲知其內(nèi)容,避免數(shù)據(jù)泄露。在應(yīng)用層上還可以對要傳數(shù)據(jù)進(jìn)行哈希運(yùn)算,以防止要傳輸?shù)臄?shù)據(jù)被篡改。
SSL(Secure Sockets Layer安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。
參考文獻(xiàn):
[1] Tanen baum A.S,潘愛民譯.計(jì)算機(jī)網(wǎng)絡(luò)第4版[M].北京:清華大學(xué)出版社,2005.
[2] 張保江.組網(wǎng)技術(shù)與配置[M].北京:清華大學(xué)出版社,2013.endprint