陳永剛
(黑龍江省邊防總隊司令部通信技術處,黑龍江 哈爾濱 150000)
隨著TCP/IP 在無線通信中的應用日益增加,將會有大量的主機連接到Internet 中,包括衛星鏈路在內的無線鏈路將會越來越多。這需要深入研究TCP/IP 在無線通信中存在的問題和TCP/IP的安全問題。為此本文對此協議進行了認真分析,指出存在的問題,并對這些問題給出了解決對策。
基于TCP/IP 協議的網絡存在的安全問題包含:運行協議的操作系統的網絡安全漏洞、防火墻自身也存在安全性問題、網絡內部的用戶的威脅、TCP/IP 協議族本身存在老多安全隱患。以下便是各層協議存在的一些漏洞。
無線鏈路的特點是易受干擾、多徑衰減的影響。信道通信行為會隨時間和地理位置而變化,鏈路層差錯控制對包一級的Qos(Quality of Service)的影響也會隨時間變化。因此為固定網絡開發的TCP 無法很好地應用于移動通信和衛星等無線鏈路中,這是因為TCP 缺乏網絡自適應性。
在有線網絡中,流量控制和資源分配策略均基于底層的物理媒質是高度可靠的這一假定,但這對無線網不成立。在無線網上進行TCP 傳輸,TCP 認為包的丟失是由擁塞引起的,而實際上包丟失可能是由于信道錯誤引起的包丟棄或網絡延時而引發的,這將導致TCP 超時并啟動擁賽控制算法,這顯然不必要,也減少了無線信道的吞吐率。
在無線通信中還有一個問題就是當主機不斷移動時,它可能離開其IP 地址標識的那個區域,從而無法連接到網絡中。解決主機移動性問題的基本難題是:主機的IP 地址有雙重意義,它既是對主機的唯一標識,又指示它所在位置。而移動主機的位置要經常變化,這意味著IP 地址也應該變,這是TCP/IP 無法解決的問題。
大家都知道,TCP 與UDP 不同,它是基于連接的,也就是說:為了在服務端和客戶端之間傳送TCP 數據,必須先建立一個虛擬鏈路,也就是TCP 連接,建立TCP 連接的標準過程(三次握手過程)是這樣的,如圖1 所示:

假設一個用戶向服務器發送了SYN 報文后突然死機或者掉線,那么服務器的發出SYN+ACK 應答報文后是無法收到客戶端的ACK 報文的 (第三次握手無法完成),這種情況下服務器端一半會重試 (再次發送SYN+ACK 給客戶端)并等待一段時間后丟棄這個未完成的連接,這段時間的長度我們稱為SYN Timeout,一般來說這個時間是分鐘的數量級 (大約為30秒-2 分鐘);一個用戶出現異常導致服務器的一個線程等待1 分鐘并不是什么很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,服務器端將為了維護一個非常大的半連接列表而消耗非常多的資源-數以萬計的半連接,即使是簡單的保存并遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP 進行SYN+ACK的重試。這種攻擊之所以成功是因為TCP 處理模塊有一個處理并行SYN 請求的最上限,它可以看作是存放多條連接的隊列長度。其中,連接數目包括了那些三次握手還沒有最終完成的連接,也包括了那些已經成功完成握手,但還沒有被應用程序所調用的連接。如果達到隊列的上限,TCP將拒絕所有連接請求,直至處理了部分連接鏈路。此時從正??蛻舻慕嵌瓤磥恚掌魇ハ鄳@種情況我們稱作:服務器端收到了SYN Flood 攻擊 (SYN 洪水攻擊)。如圖2 所示:
為了防治非法入侵,人們使用得最多的就是防火墻,但是防火墻自身就存在著一些缺陷。比如:配置錯誤;協議問題;自身BUG。而且與具體的防火墻產品有關。一旦被黑客利用,防火墻就有可能被旁路。
這些漏洞主要包括:
SOCKs:這是由錯誤配置防火墻的SOCKs proxy 所致。某些服務可以不經過正常檢查直接通過防火墻代理服務器。一種可能就是讓來自沒有使用PASV的遠端主機任何端口的traceroute 或FTP 順利通過。
Source Porting:大多數讓端口20 不經過檢測而通過的防火墻具有此類安全漏洞。Source Porting 是當一個進攻者指定來自本機的連接所用的端口號或該端口號是欺騙性的。具有此類漏洞的防火墻中的許多代理與過濾規則可能安全被旁路掉。
Source Routing:沒有將 Source Routing關閉的所有主機或防火墻均具有此類漏洞。源路由是IP 報頭中一個選項。它可讓人指定一條合適的路徑到達目的地,該IP 選項完全忽略路由器所選擇的路徑。
網絡安全漏洞還有許多,如Firewall Filter、Denial of Service、SYN Flood、Ping of Death 等漏洞,而且隨著新技術、新軟件的使用而增加,如Javascript、ActiveX 等等。

對于上面這些漏洞,TCP/IP 需要用管理的方法來實行,在有路由器的網絡中,配置好、管理好路由器就是一種好方法。因為在一個好的路由網中,TCP/IP的包是不會被無關或低權限的機器所接收到的,這就使得攻擊的難度大大增加。在非主流的非路由網或同一路由網中情況就比較復雜,因為所有信息是以廣播形式發送的,局域網中所有的計算機都能收到發送包。在這樣的情況下,我們要了解這樣的網絡是不會很大的 (不用路由器或同一路由網絡最大的機器數一般不能超過30 臺)。所以在如此范圍中想不被攻擊,除了不讓無關人員接觸到服務器,還要保證管理員盡可能有效的培訓,只知道不泄露用戶和口令是遠遠不夠的,還要讓他們了解什么在網絡中是不可泄密的:
用戶和口令;用戶和口令的配置使用情況。(比如服務器中有哪些用戶,他們有什么權限。因為用戶是沒有辦法保證他們不泄密的,所以只能讓他們使用他們可以使用的資源。甚至用戶是受到哪個協議限制都不允許透露給用戶的,這點非常重要); 機房中各機器(包括以上都路由器)的連接情況,尤其是各服務器之間的連接情況;機房中各服務器之間的信任情況;服務器,路由器的IP 地址(如IP 地址由DHCP 服務器得到,尤其要保護好DHCP 服務器的IP 地址),端口號,ISN的基值和增加規律;其他有關的情況。
通過上面對TCP/IP的分析,我們不難發現其在設計和實現上存在的種種缺陷,這是由于TCP/IP 協議在設計初期只是用于科學研究,而未考慮到當今會如此廣泛地被應用。黑客或黑客工具往往利用這些漏洞,對網絡進行破壞。了解這些漏洞并熟悉相應的對策,做到知己知彼,我們才能構建一個安全穩固的網絡。
[1]楚狂.網絡安全與防火墻技術 北京:人民郵電出版社 2000第5-8頁.
[2]DOUGLAS E.COMER TCP/IP 網絡互聯技術卷1 清華大學出版社 2004.9第2章.
[3]陸波波 802.11 無線局域網安全與應用研究 微計算機信息 2006年第4-2期,第2,4頁.