有關TCP/IP協(xié)議族存在的脆弱性剖析

字號:

基于TCP/IP協(xié)議的服務很多,人們比較熟悉的有WWW服務、FTP服務、電子郵件服務,不太熟悉的有TFTP服務、NFS服務、Finger服務等等。這些服務都存在不同程度上的安全缺陷,當用戶構建安全可信網(wǎng)絡時,就需要考慮,應該提供哪些服務,應該禁止哪些服務。同時,在使用這些服務的時候,你可能沒有想到,TCP/IP從一開始設計的時候就沒有考慮到安全設計。
    TCP/IP存在脆弱性
    IP層的主要曲線是缺乏有效的安全認證和保密機制,其中最主要的因素就是IP地址問題。TCP/IP協(xié)議用IP地址來作為網(wǎng)絡節(jié)點的惟一標識,許多TCP/IP服務,包括Berkeley中的R命令、NFS、X Window等都是基于IP地址對用戶進行認證和授權。當前TCP/IP網(wǎng)絡的安全機制主要是基于IP地址的濾(Packet Filtering)和認證(Authentication)技術,它的有效性體現(xiàn)在可以根據(jù)IP包中的源IP地址判斷數(shù)據(jù)的真實性和安全性。然而IP地址存在許多問題,協(xié)議的缺點就是缺乏對IP地址的保護,缺乏對IP包中源IP地址真實性的認證機制與保密措施。這也就是引起整個TCP/IP協(xié)議不安全的根本所在。
    由于UDP是基于IP協(xié)議之上的,TCP分段和UDP協(xié)議數(shù)據(jù)包是封裝在IP包中在網(wǎng)絡上傳輸?shù)?,因此同樣面臨IP層所遇到的安全威脅。現(xiàn)在人們一直在想辦法解決,卻仍然無法避免的就是根據(jù)TCP連接建立時“三次握手”機制的攻擊(如圖1)。這些攻擊總結起來包括:
    源地址欺騙(Source Address Spoofing)或IP欺騙(IP Spoofing);
    源路由選擇欺騙(Source Routing Spoofing);
    路由選擇信息協(xié)議攻擊(RIP Attacks);
    鑒別攻擊(Authentication Attacks);
    TCP序列號欺騙(TCP Sequence number spoofing);
    TCP/IP協(xié)議數(shù)據(jù)流采用明文傳輸;
    TCP序列號轟炸攻擊(TCP SYN Flooding Attack),簡稱SYN攻擊;
    易欺騙性(Ease of spoofing)。
    
    圖1
    比如網(wǎng)管員都熟悉的因特網(wǎng)控制信息協(xié)議(ICMP),它是TCP/IP協(xié)議組的一個基本網(wǎng)絡管理工具,在幫助網(wǎng)絡管理人員排除網(wǎng)絡故障中立下了汗馬功勞,同時ICMP攻擊卻十分猖狂。最明顯的是ICMP重定向報文,它被網(wǎng)關用來為主機提供好的路由,卻不能被用來給主機的路由表進行主動的變化。如果入侵者已經攻破一個對目標主機來說可利用的次要網(wǎng)關,而不是基本網(wǎng)關,入侵者就可以通過有危險的次要網(wǎng)關給信任主機設置一個錯誤的路由。多數(shù)的服務主機在TCP重定向報文上不實行有效檢查,這種攻擊的影響和基于RIP的攻擊相似。
    另外,ICMP也可以被用來進行拒絕服務攻擊(如圖2)。個別的報文如目標不可達或者超時,就可以用來重置目前的連接,如果入侵者知道TCP 連接的本地及遠端的端口號,將生成該連接的ICMP 報文。有時這樣的信息可以通過NETSTAT服務來實現(xiàn)。一個更普遍的拒絕服務攻擊是發(fā)送偽造的子網(wǎng)掩碼回應報文。無論主機是否查詢,它們都將接受該報文,一個錯誤的報文就可能阻塞目標主機的所有連接。
    
    圖2