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