趙曉典 鄭向娣 張建麗
(1.石家莊鐵道大學(xué)四方學(xué)院,河北 石家莊 050000;2.石家莊工商職業(yè)學(xué)院,河北 石家莊 050000)
網(wǎng)絡(luò)通信的安全隱患主要由網(wǎng)絡(luò)通信協(xié)議的不安全性、計算機病毒的入侵、黑客的攻擊、操作系統(tǒng)和應(yīng)用軟件的安全漏洞、防火墻自身帶來的安全漏洞等造成。TCP/IP協(xié)議是使接入Internet的異種網(wǎng)絡(luò)、不同設(shè)備之間能夠進行正常的數(shù)據(jù)通信,而預(yù)先制定的一整套共同遵守的格式和規(guī)定。TCP/IP協(xié)議在網(wǎng)絡(luò)互聯(lián)中發(fā)揮了核心的作用,但由于TCP/IP協(xié)議遵循開放性原則使得它本身存在許多安全隱患[1,2],讓黑客們有機可乘,利用其缺陷來對網(wǎng)絡(luò)通信進行攻擊。這些攻擊包括IP地址欺騙、ARP欺騙、ICMP攻擊、TCPSYNFlood、DNS攻擊等。本文深入分析了TCP/IP協(xié)議中存在的安全隱患,并針對這些漏洞給出了相應(yīng)的防范和改進措施。
隨著計算機技術(shù)和通信技術(shù)的不斷發(fā)展,計算機網(wǎng)絡(luò)日益成為工業(yè)、農(nóng)業(yè)和國防等方面的重要信息交換手段,它的應(yīng)用非常廣泛,已經(jīng)滲透到社會生活的各個領(lǐng)域。但是,無論是局域網(wǎng)還是廣域網(wǎng),其中都存在著自然和人為等諸多因素的潛在威脅[3]。人為攻擊可分為主動攻擊和被動攻擊。常見的被動攻擊手段有:中斷、篡改、偽造、冒充、抵賴;常見的被動攻擊手段有:偷竊、分析。
網(wǎng)絡(luò)安全業(yè)務(wù)是指在網(wǎng)絡(luò)安全通信中主要采用的安全措施。針對目前存在和潛在的各類網(wǎng)絡(luò)安全威脅,主要有以下幾種通用的安全業(yè)務(wù):保密業(yè)務(wù)、數(shù)據(jù)完整性業(yè)務(wù)、認證業(yè)務(wù)、不可抵賴性業(yè)務(wù)和訪問控制業(yè)務(wù)[4]。針對網(wǎng)絡(luò)安全問題,幾種常見的網(wǎng)絡(luò)安全技術(shù)有信息加密、信息確認和網(wǎng)絡(luò)控制技術(shù)。
TCP/IP協(xié)議通常劃分為四個層次,從上到下依次為應(yīng)用層、傳輸層和網(wǎng)絡(luò)接口層,其體系結(jié)構(gòu)及各層包含的主要協(xié)議如表1所示。
表1 TCP/IP協(xié)議族的層次結(jié)構(gòu)
在TCP/IP協(xié)議族中存在安全問題的主要協(xié)議有ARP協(xié)議、IP協(xié)議、ICMP協(xié)議、TCP協(xié)議、DNS協(xié)議。下面逐個分析其存在的安全缺陷及防范措施。
基于IP協(xié)議的安全問題主要是IP地址欺騙。IP地址欺騙是指行動產(chǎn)生IP包的假冒源IP地址,以冒充其他系統(tǒng)或保護發(fā)送人的身分。IP是無連接的,不可靠的協(xié)議。它的32bit的頭中,包含了自己要去的目的主機的IP地址,幾乎所有的TCP/IP協(xié)議的傳輸都是被包含在IP包中發(fā)送的,它的所有的可靠性都是由它的上層協(xié)議來保證的。如果不可達,ICMP的不可達報文就會發(fā)送回主機。它的無狀態(tài)特性,說明它不保存上一個包的任何狀態(tài)。因此,我們就可以通過修改IP協(xié)議棧的方法,把所需要的IP地址填寫到我們所發(fā)送出去的IP包中,來達到冒充其他主機的目的。
防止IP欺騙的方法有:
(1)拋棄基于地址的信任策略
阻止這類攻擊的一種非常容易的方法是放棄以地址為基礎(chǔ)的驗證。不允許r*類遠程調(diào)用命令的使用。
(2)進行包過濾
如果你的網(wǎng)絡(luò)是通過路由器接入的,那么可以利用路由器來進行包過濾。確信只有你的內(nèi)部網(wǎng)絡(luò)可以使用信任關(guān)系。你的路由器能過濾掉所有來自于外部而希望與內(nèi)部建立連接的請求。
(3)使用加密方法
阻止IP欺騙的另一種有效的方法是在通信時要求加密傳輸和驗證。
(4)關(guān)閉所有的RPC命令
刪除所有的 /etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/inetd.conf文件,使得RPC機制無法運作,還可以殺掉portmapper等。
當(dāng)計算機接收到ARP應(yīng)答數(shù)據(jù)包的時候,就會對本地的ARP緩存進行更新,將應(yīng)答中的IP和MAC地址存儲在ARP緩存中。比如在局域網(wǎng)內(nèi),一個中了ARP病毒的電腦,把自己偽裝成路由器,他就可以隨意的把改裝過的網(wǎng)絡(luò)數(shù)據(jù)送給所有電腦,在這個數(shù)據(jù)里可以插入病毒的程序。
ARP欺騙的種類:ARP欺騙是黑客常用的攻擊手段之一。ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內(nèi)網(wǎng)PC的網(wǎng)關(guān)欺騙。第一種ARP欺騙的原理是截獲網(wǎng)關(guān)數(shù)據(jù)。它通知路由器一系列錯誤的內(nèi)網(wǎng)MAC地址,并按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結(jié)果路由器的所有數(shù)據(jù)只能發(fā)送給錯誤的MAC地址,造成正常PC無法收到信息。第二種ARP欺騙的原理是偽造網(wǎng)關(guān)。它的原理是建立假網(wǎng)關(guān),讓被它欺騙的PC向假網(wǎng)關(guān)發(fā)數(shù)據(jù),而不是通過正常的路由器途徑上網(wǎng)。
預(yù)防ARP欺騙的手段有:
(1)ARP防火墻
防火墻技術(shù)是一種允許接入外部網(wǎng)絡(luò),但同時又能夠識別和抵抗非授權(quán)訪問的網(wǎng)絡(luò)安全技術(shù)[5]。下載專業(yè)的ARP防火墻,如果有條件,購買具有ARP欺騙防范能力的網(wǎng)絡(luò)設(shè)備。
(2)創(chuàng)建靜態(tài)的ARP列表
在所有終端中,創(chuàng)建靜態(tài)的ARP列表。
(3)劃分VLAN
劃分VLAN,縮小廣域網(wǎng)的規(guī)模,極端情況是隔離每個終端,這種方法的弊端是影響同一子網(wǎng)下的各終端通信。
ICMP的漏洞可以在不需要嗅探網(wǎng)絡(luò)數(shù)據(jù)流的情況下直接被利用,而且這些基于ICMP的攻擊不需要攻擊者猜測正確的TCP序列號,使得摧毀網(wǎng)絡(luò)流量變得更加簡單。可以對目標(biāo)主機經(jīng)行性能衰竭攻擊:攻擊者可以發(fā)送大量的ICMP包給目標(biāo)主機使得它不能夠?qū)戏ǖ姆?wù)請求做出響應(yīng)。
對于ICMP攻擊,可以采取兩種方法進行防范:
第一種方法是在路由器上對ICMP數(shù)據(jù)包進行帶寬限制,將ICMP占用的帶寬控制在一定的范圍內(nèi),這樣即使有ICMP攻擊,它所占用的帶寬也是非常有限的,對整個網(wǎng)絡(luò)的影響非常少;
第二種方法就是在主機上設(shè)置ICMP數(shù)據(jù)包的處理規(guī)則,最好是設(shè)定拒絕所有的ICMP數(shù)據(jù)包。設(shè)置ICMP數(shù)據(jù)包處理規(guī)則的方法也有兩種,一種是在操作系統(tǒng)上設(shè)置包過濾,另一種是在主機上安裝防火墻。
TCP協(xié)議受到的主要威脅是同步洪流TCPSYN Flood。SYN Flood是當(dāng)前最流行的DoS(拒絕服務(wù)攻擊)與DDoS(分布式拒絕服務(wù)攻擊)的方式之一,這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡(CPU滿負荷或內(nèi)存不足)的攻擊方式。TCPSYN Flood攻擊的機制:客戶端通過發(fā)送在TCP報頭中SYN標(biāo)志置位的數(shù)據(jù)分段到服務(wù)端來請求建立連接。通常情況下,服務(wù)端會按照IP報頭中的來源地址來返回SYN/ACK置位的數(shù)據(jù)包給客戶端,客戶端再返回ACK到服務(wù)端來完成一個完整的連接。在攻擊發(fā)生時,客戶端的來源IP地址是經(jīng)過偽造的(spoofed),現(xiàn)行的IP路由機制僅檢查目的IP地址并進行轉(zhuǎn)發(fā),該IP包到達目的主機后返回路徑無法通過路由達到的,于是目的主機無法通過TCP三次握手建立連接。在此期間因為TCP緩存隊列已經(jīng)填滿,而拒絕新的連接請求。目的主機一直嘗試直至超時(大約75秒)。這就是該攻擊類型的基本機制。SYN Flood攻擊過程示意圖見圖1。
圖1 TCPSYN Flood攻擊過程
如何才能做到有效的防范呢?
(1)TCPWrapper
使用TCPWrapper可能在某些有限的場合下有用,比如服務(wù)端只處理有限來源IP的TCP連接請求,其它未指定來源的連接請求一概拒絕。這在一個需要面向公眾提供服務(wù)的場合下是不適合的。而且攻擊者可以通過IP偽裝(IP Spoof)來直接攻擊受TCPWrapper保護的TCP服務(wù),更甚者可以攻擊者可以偽裝成服務(wù)器本身的地址進行攻擊。
(2)增加TCPBacklog容量
增加TCPBacklog容量是一種治標(biāo)不治本的做法。它一方面要占用更多的系統(tǒng)內(nèi)存,另一方面延長了TCP處理緩存隊列的時間。攻擊者只要不停地的進行SYN Flood一樣可以達到拒絕服務(wù)的目的。
(3)ISP接入
所有的ISP在邊界處理進入的主干網(wǎng)絡(luò)的IP數(shù)據(jù)包時檢測其來源地址是否合法,如果非指定來源IP地址范圍,可以認為是IPSpoofing行為并將之丟棄。
(4)縮短SYN超時時間
由于SYN Flood攻擊的效果取決于服務(wù)器上保持的SYN半連接數(shù),這個值等于SYN攻擊的頻度乘以SYN超時時間,所以通過縮短從接收到SYN報文到確定這個報文無效并丟棄改連接的時間,例如設(shè)置為20秒以下 (過低的SYN超時時間設(shè)置可能會影響客戶的正常訪問),可以成倍的降低服務(wù)器的負荷。
(5)設(shè)置SYN Cookie
給每一個請求連接的IP地址分配一個Cookie,如果短時間內(nèi)連續(xù)受到某個IP的重復(fù)SYN報文,就認定是受到了攻擊,以后從這個IP地址來的包會被一概丟棄。
當(dāng)客戶向一臺服務(wù)器請求服務(wù)時,服務(wù)器方一般會根據(jù)客戶的IP反向解析出該IP對應(yīng)的域名。這種反向域名解析就是一個查DNS的過程。如果客戶的IP對應(yīng)有域名,那么DNS查詢會返回其域名。服務(wù)器端得到這一機器名后會將其記錄下來并傳遞給應(yīng)用程序。你必須有一臺Internet上的授權(quán)的DNS服務(wù)器,并且你能控制這臺服務(wù)器,至少要能修改這臺服務(wù)器的DNS記錄。DNS可能受到的服務(wù)攻擊有拒絕服務(wù)、緩沖區(qū)中毒、區(qū)域信息泄露、域名劫持。
DNS的安全防范措施有:
(1)包過濾防護
限制使用DNS服務(wù)器的網(wǎng)絡(luò)數(shù)據(jù)包的類型,實施包過濾的依據(jù)主要是端口、IP、流量。
(2)網(wǎng)絡(luò)拓撲限制
為了減少單點故障的威脅,從網(wǎng)絡(luò)拓撲結(jié)構(gòu)角度應(yīng)避免將DNS服務(wù)器置于無旁路的環(huán)境下,不應(yīng)將所有的DNS服務(wù)器置于同一子網(wǎng)、同一租用鏈路、同一路由器、同一物理位置。
由于Internet的安全性問題日益突出,TCP/IP協(xié)議族也在不斷地改善和發(fā)展之中。
(1)IP協(xié)議的改進
IPv6的實用化研究開發(fā)工作正在進行。兩種為IPv6設(shè)計的安全機制加進了Ipv4。一為AH機制,提供認證和完整性服務(wù),但不提供保密服務(wù)。二為ESP機制,提供完整性服務(wù)、認證服務(wù)及保密服務(wù)。
(2)路由技術(shù)的改進
為保護RIP和OSPF報文安全,采用著名的MD5認證算法對發(fā)送路由報文的結(jié)點進行認證。路由器內(nèi)含認證TCP會話過程的機制能減少多個自治域之間通過BGP所傳路由信息遭受攻擊的危險性。由于IPv6提供AH和ESP機制,與IPv6一起使用的內(nèi)部網(wǎng)關(guān)協(xié)議也可獲得安全保護。
(3)DNS安全擴充
DNS安全擴充提供了DNS信息認證機制,并允許用戶的公開密鑰存儲于DNS中,由請求方對其進行認證。DNS安全擴充允許用戶簽名的公開密鑰與地址記錄、姓名記錄、郵箱一起進行認證分配,從而使動態(tài)密鑰管理較易實現(xiàn)。
(4)密鑰管理協(xié)議
密鑰管理方面,IETF正在研究密鑰交換協(xié)議Oakley并推出了ISAKMP(Internet Security Association And Key Management Protocol)協(xié)議。使用該協(xié)議產(chǎn)生的密鑰與以往產(chǎn)生的任何密鑰都無關(guān),因此攻擊者無法通過破獲幾個主密鑰來導(dǎo)出會話密鑰。ITEF還允許就密鑰生存期、敏感級等問題進行協(xié)商。
本文首先分析了網(wǎng)絡(luò)通信中存在的安全問題,然后深入分析了TCP/IP協(xié)議中存在的安全隱患,并針對這些漏洞給出了相應(yīng)的防范措施,最后展望了TCP/IP協(xié)議族的改進和發(fā)展。但是網(wǎng)絡(luò)通信的安全不僅僅取決于通信協(xié)議的完善,同時應(yīng)關(guān)注操作系統(tǒng)、防火墻的安全,并提高自身網(wǎng)絡(luò)安全意識,才能有效防范病毒入侵和黑客攻擊。
[1]B.C.SSoh,S.Young.Network system and world wideweb security[J].Computer Communication,1997 20(2):1431-1436.
[2]Phil Janson,Harry Rudin.Computer Network Security[J].Computer Network.1999,31(1):785-786.
[3]李海泉,李健.計算機系統(tǒng)安全技術(shù)[M].北京:人民郵電出版社,2001.
[4]Wiiliamstallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全:原理與實踐[M].楊明,青光輝譯.北京:電子工業(yè)出版社,2001.
[5]隋紅建,吳漩.計算機網(wǎng)絡(luò)與通信[M].北京:北京大學(xué)出版社,2001.