怎樣發現 Sniffer Sniffer最大的危險性就是它很難被發現,在單機情況下發現一個Sniffer還是比較容易的,可以通過查看計算機上當前正在運行的所有程序來實現,當然這不一定可靠。 在UNIX系統下可以使用下面的命令:ps-aux。這個命令列出當前的所有進程、啟動這些進程的用戶、它們占用CPU的時間以及占用多少內存等等。 在Windoos系統下,可以按下Ctrl+Alt+Del鍵,查看任務列表。不過,編程技巧高的Sniffer即使正在運行,也不會出現在這里。 另一個方法就是在系統中搜索,查找可懷疑的文件。但人侵者用的可能是他們自己寫的程序,所以這給發現Sniffer造成相當大的困難。還有許多工具能用來查看你的系統會不會處于混雜模式,從而發現是否有一個Sniffer正在運行。 但在網絡情況下要檢測出哪一臺主機正在運行Sniffer是非常困難的,因為Sniffer是一種被動攻擊軟件,它并不對任何主機發出數據包,而只是靜靜地運行著,等待著要捕獲的數據包經過。
抵御 Sniffer 雖然發現一個Sniffer是非常困難的,但是我們仍然有辦法抵御Sniffer的嗅探攻擊。既然Sniffer要捕獲我們的機密信息,那我們干脆就讓它捕獲,但事先要對這些信息進行加密,黑客即使捕捉到了我們的機密信息,也無法解密,這樣,Sniffer就失去了作用。 黑客主要用Sniffer來捕獲Telnet、FTP、POP3等數據包,因為這些協議以明文在網上傳輸,我們可以使用一種叫做SSH的安全協議來替代Telnet等容易被Sniffer攻擊的協議。 SSH又叫Secure Shell,它是一個在應用程序中提供安全通信的協議,建立在客戶/服務器模型上。SSH服務器分配的端口是22,連接是通過使用一種來自RSA的算法建立的。在授權完成后,接下來的通信數據用IDEA技術來加密。這種加密方法通常是比較強的,適合于任何非秘密和非經典的通信。 SSH后來發展成為F-SSH,提供了高層次的、軍方級別的對通信過程的加密。它為通過TCP/IP的網絡通信提供了通用的最強的加密。如果某個站點使用F—SSH,用戶名和口令就不再重要了。目前,還沒有人突破過這種加密方法。即使是Sniffer,收集到的信息將不再有價值。有興趣的讀者可以參看與SSH相關的書籍。 另一種抵御Sniffer攻擊的方法是使用安全的拓撲結構。因為Sniffer只對以太網、令牌環網等網絡起作用,所以盡量使用交換設備的網絡可以從最大程度上防止被Sniffer竊聽到不屬于自己的數據包。還有一個原則用于防止Snther的被動攻擊 一個網絡段必須有足夠的理由才能信任另一網絡段。網絡段應該從考慮具體的數據之間的信任關系上來設計,而不是從硬件需要上設計。一個網絡段僅由能互相信任的計算機組成。通常它們在同一個房間里,或在同一個辦公室里,應該固定在建筑的某一部分。注意每臺機器是通過硬連接線接到集線器(Hub)的,集線器再接到交換機上。由于網絡分段了,數據包只能在這個網段上被捕獲,其余的網段將不可能被監聽。 所有的問題都歸結到信任上面。計算機為了和其他計算機進行通信,它就必須信任那臺計算機。系統管理員的工作就是決定一個方法,使得計算機之間的信任關系很小。這樣,就建立了一種框架,告訴你什么時候放置了一個Sniffer,它放在哪里,是誰放的等等。 如果局域網要和Internet相連,僅僅使用防火墻是不夠的。人侵者已經能從一個防火墻后面掃描,并探測正在運行的服務。應該關心的是一旦人侵者進人系統,他能得到些什么。你必須考慮一條這樣的路徑,即信任關系有多長。舉個例子,假設你的Web服務器對計算機A是信任的,那么有多少計算機是A信任的呢?又有多少計算機是受這些計算機信任的呢?一句話,就是確定最小信任關系的那臺計算機。在信任關系中,這臺計算機之前的任何一臺計算機都可能對你的計算機進行攻擊并成功。你的任務就是保證一旦出現Sniffer,它只對最小范圍有效。 Sniffr往往是在攻擊者侵人系統后使用的,用來收集有用的信息。因此,防止系統被突破很關鍵。系統安全管理員要定期的對所管理的網絡進行安全測試,防止安全隱患。同時要控制擁有相當權限的用戶的數量,因為許多攻擊往往來自網絡內部。
防止 Sniffer的工具 Antisnff Antisniff是由著名黑客組織(現在是安全公司了)L0pht開發的工具,用于檢測本地網絡是否有機器處于混雜模式(即監聽模式)。 一臺處于混雜模式的機器意味著它很可能已被入侵并被安裝了Sniffer。對于網絡管理員來說,了解哪臺機器正處于混雜模式以作進一步的調查研究是非常重要的。 Antisniff 1.X版運行在以太網的WindOWS NT系統中,并提供了簡單易用的用戶圖形界面。該工具以多種方式測試遠程系統是否正在捕捉和分析那些并不是發送給它的數據包。這些測試方法與其操作系統本身無關。 Antisniff運行在本地以太網的一個網段上。如果在非交換式的C類網絡中運行,Antisniff能監聽整個網絡;如果網絡交換機按照工作組來隔離,則每個工作組中都需要運行一個Antisniff。原因是某些特殊的測試使用了無效的以太網地址,另外某些測試需要進行混雜模式下的統計(如響應時間、包丟失率等)。 Antisniff的用法非常簡便,在工具的圖形界面中選擇需要進行檢查的機器,并且指定檢查頻率。對于除網絡響應時間檢查外的測試,每一臺機器會返回一個確定的正值或負值。返回的正值表示該機器正處于混雜模式,這就有可能已經被安裝了Sniffer。 對于網絡響應時間測試的返回值,建議根據第一次返回的數值計算標準值,然后再對在flood和非flood兩次測試時返回的結果有較大變化的機器進行檢查。一旦這些機器退出混雜模式返回到正常操作模式下,Antisniff的下一次測試將會記錄到混雜模式和非混雜模式的差值(正值)。 應該周期性地運行Antisniff,具體周期值根據不同的站點、不同的網絡負荷、測試的機器數量和網站策略等而有所不同。
通過本文是否對Sniffer攻擊有了大概的了解,希望對大家學習Sniffer攻擊有所幫助。 |