此文章討論了有關對網絡底層協議的攻擊和防止攻擊的方法,特別是關于路由和路由協議的漏洞,如Routing Information Protocol (RIP,路由信息協議), Border Gateway Protocol (邊緣網關協議), Open Shortest Path First (OSPF,開放最短路徑優先協議)等。
路由器在每個網絡中起到關鍵
的作用,如果一路由器被破壞或者一路由被成功的欺騙,網絡的完整性將受到嚴重的破壞,如果使用路由的主機沒有使用加密通信那就更為嚴重,因為這樣的主機被控制的話,將存在著中間人(man-in-the-middle)攻擊,拒絕服務攻擊,數據丟失,網絡整體性破壞,和信息被嗅探等攻擊。
路由是一個巨大又復雜的話題,所以本人只是在此提到一部分知識,而且水平的關系,請大家多多指教。
關于一些很普遍的路由器安全問題
多種路由器存在各種眾所周知的安全問題,一些網絡底層設備提供商如Cisco, Livingston, Bay等的普通安全問題大家可以參考下面地址,其中收集了不少安全漏洞:
http://www.antionline.com/cgi-bin/anticode/anticode.pl?dir=router-exploits
上面地址所收集的漏洞大部分無關于路由協議級的攻擊,而是一些由于錯誤配置,IP信息包錯誤處理,SNMP存在默認的communit name string,薄弱密碼或者加密算法不夠強壯而造成。上面的一些攻擊一般一個標準的NIDS都能夠探測出來。這些類型的攻擊對網絡底層有一定的削弱性并可以組合一些高極別的協議進行攻擊。
正確的配置管理可以處理不少普通的漏洞,如你必須處理一些標準的規程:不使用SNMP(或者選擇強壯的密碼),保持補丁程序是最新的,正確處理訪問控制列表,出入過濾,防火墻,加密管理通道和密碼,路由過濾和使用MD5認證。當然在采用這些規程之前你必須知道這些安全規則的相關的含義和所影響到的服務。
近來有關的一些低部構造防衛檢測系統的開發
近來的在網絡防護開發項目中比較不錯的是一個IDS叫JiNao,你可以在下面的地址找到相關的內容:http://www.anr.mcnc.org/projects/JiNao/JiNao.html. JiNao是由DARPA發起的,并現在成為一個合作研究項目由MCNC和北卡羅萊納州大學共同開發。JiNao在FreeBSD和Linux上運行的是在線模式(使用divert sockets),在Solaris運行在離線模式,并在3個網絡上測試-MCNC,NCSU和由PC(操作系統做路由)和商業路由器組合的AF/Rome 實驗室。測試結果顯示了可以成功的防止多種類型的網絡底層攻擊并能很好的高精度的探測這些攻擊。
當前,JiNao看起來在研究關于Open Shortest Path First (OSPF,開放最短路徑優先)協議,并且最終JiNao會延伸到各種協議。JiNao指出,防衛攻擊和入侵探測將會集成在網絡管理內容中,所以JINao現在正趨向于網絡防火墻,入侵探測系統和網絡管理系統組合一體。
還有一個工具可以很好的分析高級的協議,如Agilent Advisor
(http://onenetworks.comms.agilent.com/)的網絡分析工具,它能很好的支持多種路由協議并能定制過濾器來探測各種不正常的行為。
一些工作于路由協議的工具
Linux divert sockets描述到:\"Divert socket能夠在末端主機也能在路由器上進行IP信息包捕獲和注入,信息包的捕獲和插入發生在IP層上,捕獲的信息包在用戶空間轉向到套接口中,因此這些信息包將不會達到它們的最終目的地,除非用戶空間套接口重插入它們。這樣在信息包捕獲和重新插入之間可以在系統系統內核之外允許各種不同的操作(如路由和防火墻).\"(http://www.anr.mcnc.org/~divert/).簡單的說divert socket就是由user space(用戶空間)的程序來處理kernel(內核)中的IP packet(IP信息包),這個divert socket最早應用與FreeBSD系統中,如NAT就是應用了divert socket。這樣使開發程序很容易,因為在用戶層,而處理IP packet(IP信息包)的效率也比較高,因為是直接處理kernel(內核)中的IP packet(IP信息包)。
大家可以在下面的地址中找到相關的Divert socket:http://www.anr.mcnc.org/~divert/. Divert socket就象上面說最早實現于FreeBSD中,現在已經移植到Linux中并作為JiNao IDS項目的一部分采用。
另一個叫Nemesis Packet Injection suite,是一個比較強大的網絡和安全工具,由Obecian開發,你可以在下面的地址獲得:http://www.packetninja.net.最新的nemesis-1.1發行在2000年6月24號。Nemesis是一個\"命令行式的UNIX網絡信息包插入套件\",并是一個很好的測試防火墻,入侵探測系統,路由器和其他網絡環境的工具。它可以被攻擊者使用和授權滲透探測者在主機和網絡級的網絡安全環境檢測。其中這個站點還有一個演化的Nemesis叫Intravenous,發行于11/30/00. Intravenous看起來承載了Nemesis所有基本功能,其中不同的是增加了人工智能引擎的內容。更多有關Intravenous的信息你可以在packetninja.net站點里找到.
IRPAS,Internetwork Routing Protocol Attack Suite,由FX所寫,可以在下面的站點找到http://www.phenoelit.de/irpas/.IRPAS包含了各種可工作于Cisco路由設備的協議層的命令行工具,包括如下這些命令: cdp--可發送Cisco router Discovery Protocol (CDP CISCO路由發現協議)消息;
igrp是能插入Interior Gateway Routing Protocol (IGRP 內部網關路由協議)消息;irdp用來發送ICMP Router Discovery Protocol (ICMP路由發現協議)消息;
irdresponder--可使用精心制作的信息包來響應IRDP請求;
ass--Autonomous System Scanner(自主系統掃描器,現在可下載的版本只支持IGRP),這里解釋下Autonomous system,即一般所說的AS,簡單的說是一組內部路由器,使用共同協議交流內部網絡的信息,更直接的說法就是這些路由器自己自主,交流信息。與之相反的是我們經常知道的外部路由器如一般的電信節點處的路由器。典型的AS使用單一的路由協議在它的邊界產生和傳播路由信息。ass就類似于TCP端口掃描器一樣,只不過其是針對自主系統的。使用ass掃描的話,如果自主系統應答,將返回路由進程中的所有路由信息。IRPAS 的網站也包含一條關于Generic Routing Encapsulation(GRE 一般路由封裝) 漏洞的文檔,其中這個Generic Routing Encapsulation (GRE 一般路由封裝)漏洞允許外部攻擊者繞過NAT和破壞一通過VPN的內部RFC1918網絡。這份文檔大家可以在下面的地址獲得:http://www.phenoelit.de/irpas/gre.html,其中在其他章節還包含了更多的信息和通過irpas的可能攻擊策略.
irpas的開發者FX,發送了由ass新版本2.14(還沒有發布)掃描的AS樣本和igrp怎樣利用ass的信息(AS #10和其他數據)來插入一欺騙的路由給222.222.222.0/24。雖然IGRP協議目前不是很多使用,但這個例子卻是相當的不錯。下面是FX測試的結果:
test# ./ass -mA -i eth0 -D 192.168.1.10 -b15 -v(這里的-i是接口,-D是目的地址,-b15指的是自主系統0-15之間
ASS [Autonomous System Scanner] $Revision: 2.14 $ |