摘 要:網絡安全的關鍵問題是對受保護網絡的全面了解。網絡管理員可以通過使用嗅探器被動地監聽網絡通信而得到主動掃描網絡所獲得的大部分信息。介紹了如何在不影響網絡帶寬和網絡服務的前提下使用被動信息收集技術獲得有關網絡信息的方法,給出了數據包的分析過程,討論了被動信息收集技術的優點和不足。
關鍵詞:網絡安全;被動信息收集;嗅探;數據包;數據包分析
中圖法分類號:TP393.08文獻標識碼:A
文章編號:1001—3695(2007)02—0308—02
為了有效地保證網絡安全,網絡管理人員必須了解網絡的狀態,掌握網絡中發生的各種事件,達到監控的目的。傳統的網絡安全設備已能做到對網絡進行實時監控,但這些設備不足之處比較明顯,如入侵監測系統關心網絡行為的特征,而對網絡設備的情況幾乎一無所知。安全掃描器可以對網絡安全狀態作出很好的描述,但這種主動探測會在網絡中產生大量的通信,可能會加重網絡的載荷。
被動網絡信息收集與分析技術通過嗅探獲取數據包,分析封裝在數據包中的信息,發現網絡中非正常活動以及設備狀態等安全特性。該技術克服了入侵檢測和安全掃描器的不足,不影響網絡帶寬和網絡服務,隱蔽性好。本文介紹了被動探測技術獲得有關網絡信息的方法,給出了數據包的分析過程。
1 被動信息收集與分析的基本方法
被動探測技術收集的信息可以大致分為兩類,即配置信息和狀態信息。表1列出了被動探測技術可以收集到的信息。使用被動探測技術可以發現活動主機、識別操作系統[1,2]、探測IP主機配置、探測交換機和路由器等。
1.1 活動主機探測
通過監聽局域網中ARP廣播請求,可以獲得活動主機IP地址的列表以及它們相應的硬件地址,從而識別直接連接在局域網上活動的IPv4主機,發現某臺主機重新啟動的行為。如果在一個很短的時間間隔內監聽到大量源于同一臺主機的毫無必要的 ARP數據包,則網絡中可能存在某些安全問題[3]。
1.2 IP主機配置探測
可以通過被動探測技術推斷IP地址的子網掩碼從而判斷出網絡中的指定網關,這些信息有助于識別網絡中配置錯誤的系統。可以通過監聽ARP通信來確定一臺IPv4主機的子網掩碼:記錄某臺主機的ARP通信中出現過的所有IP地址(即主機試圖解析的IP地址),找出其中最大的地址和最小的地址,對這兩個地址按位比較,尋找相同的前綴。舉個例子來說明這種方法。假設將一個B類地址的IPv4網絡劃分為多個子網,其中一個子網的IP地址范圍是128.1.64.0—128.1.127.255。這個子網中IP地址的網絡掩碼為255.255.192.0(或以二進制形式記為11111111.11111111.11000000.00000000)。假設我們監聽到某臺主機ARP通信中出現的最大和最小IP地址分別為128.1.65.3和128.1.95.66。這兩個IP地址的二進制記法為10000000.00000001.01000001.00000011和10000000.00000001.01011111.01000010。下劃線標明了兩個地址前綴中相同的位。由此可以推斷該網絡的網絡掩碼為11111111.11111111.11100000.00000000,也就是255.255.224.0。這個值超過了實際的子網掩碼值。當監聽記錄的最大和最小IP地址接近于子網掩碼劃定的網絡實際地址界限時,可以獲得較準確的估計值。
在基于微軟系統的網絡中,主機會有規律地向子網廣播發送NetBIOS名字服務數據包。就上面的例子來說,IP地址為128.1.65.3的主機會有規律地向廣播地址128.1.127.255發送基于NetBIOS-NS的數據包。這樣使得確定子網掩碼的任務變得簡單,因為我們可以準確地得到子網地址的上限,即最大的IP地址。因此,可以提高推斷結果的精確度。
1.3 交換機和路由器探測
在動態環境中被動地探測交換機和路由器等設備,可以有效地識別新加入網絡的未授權設備。一種方法是監聽這些設備產生的通信。路由器之間與交換機之間的通信有專用的協議,如監聽生成樹算法(STP)[4]的通信可以確定交換機的物理地址。監聽路由器之間專用協議的通信,如在IP協議中實現的最短路徑優先協議OSPF,或一些只能來自路由器(或提供路由服務的主機)的ICMP消息,如ICMP主機或網絡不可達錯誤消息,ICMP重定向消息等可以獲得有關路由器的信息。另一種方法是記錄物理地址與IP地址的綁定。在數據鏈路層上,非本地源IP地址的數據包,其源物理地址可以被認為是路由器的物理地址。在已知本地所有主機IP地址范圍的情況下,路由器的IP地址可以從監聽ARP請求而建立的查詢表中得到。如果不知道IP地址的范圍,可以通過識別有多IP地址的硬件地址來識別路由器。即使在知道IP地址范圍的情況下,仍然需要關注有多IP地址的硬件地址,此時可能一臺有IP轉發能力的主機在網絡中充當了路由器的角色。
2 被動信息收集與分析過程設計
將上述信息收集與分析技術有機地結合起來,可以完成網絡安全中信息的自動收集和分析。
2.1 監聽模式
被動網絡信息收集和分析過程可設計成三種監聽模式來監聽數據包。
(1)單一模式。監聽某臺主機發送的一個單獨的數據包。主要尋找數據包首部的默認值來獲得關于發送者的相關信息。算法概括如下:
①監聽通信,尋找滿足指定過濾規則的數據包。
②一旦發現滿足條件的數據包,從中取得信息。
(2)取樣模式。監聽指定主機發送的一組數據包的取樣。主要分析發送的數據包中某些字段值的變化情況。算法概括如下:
①監聽通信,尋找滿足指定過濾規則的數據包。
②記錄滿足條件的指定源地址數據包,直到取樣結束。
③從取樣中獲取信息。
(3)請求/響應模式。監聽兩臺主機間傳送的成對數據包(請求數據包和響應數據包)。將這兩種相對獨立的數據包結合在一起分析,可以提高信息的準確度。響應數據包中的某些信息只有在其相應的請求數據包的上下文中才能被理解。一個沒有響應的請求數據包也可以獲得很多信息,如可以指出對于某些請求,目標是不會響應的。算法概括如下:
①監聽通信,尋找滿足請求數據包過濾規則或響應數據包過濾規則的數據包。
②如果數據包是請求數據包,將其記錄在存儲器中的目的地址類中。如果是響應數據包,則在記錄中尋找相應的請求數據包,執行③。
③通過請求—響應對來推斷信息。
可以將三種模式結合起來進行信息收集。
2.2 數據包分析過程
分析算法分別對每種模式下收集到的數據包進行分析。分析算法描述如下:
U1為收集到的數據包集合;U2為一個鏈表,鏈表每個節點U2i表示從發送到某個目的IP地址數據包中收集到的信息集合。
對所有數據包分析完后,根據U2中記錄的ARP通信的IP地址推斷IP配置。
3 結論
被動網絡信息收集技術有助于維護網絡安全,無論是實時狀態監控還是對信息泄露的檢查,被動技術可以提高網絡安全的監控水平。被動技術需要時間來收集網絡信息,因而不適合于對網絡的安全狀態進行快速的描述,因為它依賴于分析網絡本身的行為。將主動技術與被動技術結合在一起,可以解決這個問題,達到減小通信量、獲得實時監控的目的。被動技術可以持續使用,而主動技術可以周期性地使用。今后會研究兩者結合的最佳手段。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。