嗅探器
出自 MBA智库百科(https://wiki.mbalib.com/)
嗅探器(Sniffer)
目錄 |
嗅探器是指是一種監視網路數據運行的軟體設備,協議分析器既能用於合法網路管理也能用於竊取網路信息。網路運作和維護都可以採用協議分析器:如監視網路流量、分析數據包、監視網路資源利用、執行網路安全操作規則、鑒定分析網路數據以及診斷並修複網路問題等等。非法嗅探器嚴重威脅網路安全性,這是因為它實質上不能進行探測行為且容易隨處插入,所以網路黑客常將它作為攻擊武器。
分析網路信息流通量
探測企圖入侵網路的攻擊
探測由內部和外部的用戶濫用網路資源
探測網路入侵後的影響
監測鏈接互聯網寬頻流量
監測網路使用流量(包括內部用戶,外部用戶和系統)
監測互聯網和用戶電腦的安全狀態
獲取帳號一般為管理員帳號與密碼等機密信息
滲透與欺騙
嗅探器的工作原理[1]
簡單的一個回答是你發現不了。因為他們根本就沒有留下任何痕跡。
因為嗅探是如此囂張又安靜,如何知道有沒有嗅探存在,這也是一個很難說明的問題,比較有說服力的理由證明你的網路有嗅探目前有這麼兩條:
網路通訊掉包率反常的高
通過一些網路軟體,可以看到信息包傳送情況(不是嗅探),向ping這樣的命令會告訴你掉了百分幾的包。如果網路中有人在Listen,那麼信息包傳送將無法每次都順暢的流到目的地。(這是由於嗅探攔截每個包導致的)
網路帶寬出現反常
通過某些帶寬控制器(通常是防火牆所帶),可以實時看到目前網路帶寬的分佈情況,如果某台機器長時間的占用了較大的帶寬,這台機器就有可能在監聽。在非高速通道上,如56Kddn等,如果網路中存在嗅探,你應該也可以察覺出網路通訊速度的變化。
還有一個辦法是看看電腦上當前正在運行的所有程式。但這通常並不可靠,但你可以控制哪個程式可以在你的電腦上運行。
在Unix系統下使用下麵的命令: ps -aux 或: ps -augx。 這個命令列出當前的所有進程,啟動這些進程的用戶,它們占用CPU的時間,占用記憶體的多少等等。
Windows系統下,按下Ctrl+Alt+Del,看一下任務列表。不過,編程技巧高的嗅探即使正在運行,也不會出現在這裡的。
另一個方法就是在系統中搜索,查找可疑的文件。但可能入侵者用的是他們自己寫的程式,所以都會給發現嗅探造成相當大的困難。
還有許多工具,能用來看看你的系統會不會在雜收模式。從而發現是否有一個嗅探正在運行。
對於嗅探器如此強大的“靈敏度”,我們力求作到:
檢測和消滅嗅探器
會話加密
將數據隱藏,使嗅探器無法發現
加密
你最關心的可能是傳輸一些比較敏感的數據,如用戶ID或口令等等。有些數據是沒有經過處理的,一旦被嗅探,就能獲得這些信息。解決這些問題的辦法是加密。
我們介紹以下SSH,它又叫Secure Shell。SSH是一個在應用程式中提供安全通信的協議。它是建立在客戶機/伺服器模型上的。SSH伺服器的分配的埠是22。連接是通過使用一種來自RSA的演算法建立的。在授權完成後,接下來的通信數據是用IDEA技術來加密的。這通常是較強的,適合與任何非秘密和非經典的通訊。
SSH後來發展成為F-SSH,提供了高層次的,軍方級別的對通信過程的加密。它為通過TCP/IP網路通信提供了通用的最強的加密。如果某個站點使用F-SSH,用戶名和口令成為不是很重要的一點。目前,還沒有人突破過這種加密方法。即使是嗅探,收集到的信息將不再有價值。當然最關鍵的是怎樣使用它。
SSH和F-SSH都有商業或自由軟體版本存在。
其他的方法
另一個比較容易接受的是使用安全拓撲結構。這聽上去很簡單,但實現起來花銷是很大的。
在我們小的時候也許都玩過一種智力游戲,它通常由一系列數字組成。游戲的目的是要安排好數字,用最少的步驟,把它們按遞減順序排好。當處理網路拓撲時,就和玩這個游戲一樣。
這樣的拓撲結構需要有這樣的規則:一個網路段必須有足夠的理由才能信任另一網路段。網路段應該考慮你的數據之間的信任關係上來設計,而不是硬體需要。
讓我們開始處理這個網路拓撲,來看看:
第一點:一個網路段是僅由能互相信任的電腦組成的。通常它們在同一個房間里,或在同一個辦公室里。比如你的財務信息,應該固定在某一節點,就象你的財務部門被安排在辦公區域的的一個不常變動的地方。
註意每台機器是通過硬連接線接到Hub的。Hub再接到交換機上。由於網路分段了,數據包只能在這個網段上被嗅探。其餘的網段將不可能被嗅探。
所有的問題都歸結到信任上面。電腦為了和其他電腦進行通信,它就必須信任那台電腦。作為系統管理員,你的工作是決定一個方法,使得電腦之間的信任關係很小。這樣,就建立了一種框架,可以告訴你什麼時候放置了一個嗅探,它放在那裡了,是誰放的等等。
如果你的區域網要和INTERNET相連,僅僅使用防火牆是不夠的。入侵者已經能從一個防火牆後面掃描,並探測正在運行的服務。你要關心的是一旦入侵者進入系統,他能得到些什麼。你必須考慮一條這樣的路徑,即信任關係有多長。舉個例子,假設你的WEB伺服器對某一電腦A是信任的。那麼有多少電腦是A信任的呢。又有多少電腦是受這些電腦信任的呢?在信任關係中,這台電腦之前的任何一臺電腦都可能對你的電腦進行攻擊,併成功。你的任務就是保證一旦出現的嗅探,它只對最小範圍有效。
嗅探往往是攻擊者在侵入系統後使用的,用來收集有用的信息。因此,防止系統被突破是關鍵。系統安全管理員要定期的對所管理的網路進行安全測試,防止安全隱患。同時要控制擁有相當許可權的用戶的數量。請記住,許多攻擊往往來自網路內部。