TCP IP協議面臨嚴峻的安全考驗
在IPv4網絡中存在著不少安全漏洞,其中對于網絡基本架構層中的TCP IP協議也同樣有著嚴峻的安全問題。所以,對于安全方面的分析就是我們接下來要探討的內容了。目前在Internet上使用的是TCP IP協議。TCP IP協議叫做傳輸控制/網際協議,它是Internet國際互聯網絡的基礎。TCP IP是網絡中使用的基本的通信協議。其中IP(Internet Protocol)全名為"網際互連協議",它是為計算機網絡相互連接進行通信而設計的協議。TCP(Transfer Control Protocol)是傳輸控制協議。TCP IP協議是能夠使連接到網上的所有計算機網絡實現相互通信的一套規則,正是因為有了TCP IP協議,因特網才得以迅速發展成為世界上最大的、開放的計算機通信網絡。
從表面名字上看TCP IP包括兩個協議,傳輸控制協議(TCP)和互聯網際協議(IP),其實TCP IP實際上是1組協議的集合,它包括了上百個各種功能的協議。如:遠程登錄、文件傳輸和電子郵件等等,而TCP協議和IP協議是保證數據完整傳輸的兩個基本的重要協議。IP協議之所以能使各種網絡互聯起來是由于它把各種不同的“幀”統一轉換成“IP數據報”格式,這種轉換是因特網的一個最重要的特點。所以IP協議使各種計算機網絡都能在因特網上實現互通,即具有“開放性”的特點。
TCP IP協議的基本傳輸單位是數據包(datagram)。TCP協議負責把數據分成若干個數據包,并給每個數據包加上包頭,包頭上有相應的編號,以保證在數據接收端能將數據還原為原來的格式,IP協議在每個包頭上還要加上接收端主機地址,這樣數據通過路由器中的MAC地址來確定數據的流向,如果傳輸過程中出現數據丟失,數據失真等情況,TCP協議會自動要求數據重新傳輸,并重新組。總之,IP協議保證數據的傳輸,而TCP協議保證數據傳輸的質量。TCP IP協議數據的傳輸基于TCP IP協議的4層結構:應用層、傳輸層、網絡層、接口層。
各TCP IP協議層存在的安全漏洞
鏈路層存在的安全漏洞
我們知道,在以太網中,信道是共享的,任何主機發送的每一個以太網幀都會到達別的與該主機處于同一網段的所有主機的以太網接口,一般地,CSMA/CD協議使以太網接口在檢測到數據幀不屬于自己時,就把它忽略,不會把它發送到上層協議(如ARP、RARP層或IP層)。如果我們對其稍做設置或修改,就可以使一個以太網接口接收不屬于它的數據幀。例如有的實現可以使用雜錯接點,即能接收所有數據幀的機器節點。解決該漏洞的對策是:網絡分段、利用交換器,動態集線器和橋等設備對數據流進行限制、加密(采用一次性口令技術)和禁用雜錯接點。
網絡層安全漏洞
幾乎所有的基于TCP IP的機器都會對ICMP echo請求進行響應。所以如果一個敵意主機同時運行很多個ping命令向一個服務器發送超過其處理能力的ICMP echo請求時,就可以淹沒該服務器使其拒絕其他的服務。另外,ping命令可以在得到允許的網絡中建立秘密通道從而可以在被攻擊系統中開后門進行方便的攻擊,如收集目標上的信息并進行秘密通信等。解決該漏洞的措施是拒絕網絡上的所有ICMP echo響應。
IP安全漏洞
TCP IP協議中的IP包一旦從網絡中發送出去,源IP地址就幾乎不用,僅在中間路由器因某種原因丟棄它或到達目標端后,才被使用。這使得一個主機可以使用別的主機的IP地址發送IP包,只要它能把這類IP包放到網絡上就可以。因而如果攻擊者把自己的主機偽裝成被目標主機信任的友好主機,即把發送的IP包中的源IP地址改成被信任的友好主機的IP地址,利用主機間的信任關系(Unix網絡軟件的開發者發明的術語)和這種信任關系的實際認證中存在的脆弱性(只通過IP確認),就可以對信任主機進行攻擊。注意,其中所說的信任關系是指一個被授權的主機可以對信任主機進行方便的訪問。所有的r*命令都采用信任主機方案,所以一個攻擊主機把自己的IP改為被信任主機的IP,就可以連接到信任主機并能利用r*命令開后門達到攻擊的目的。解決這個問題的一個辦法是,讓路由器拒絕接收來自網絡外部的IP地址與本地某一主機的IP地址相同的IP包的進入。