摘 要:本文主要了sniffer工作的基本原理和sniffer的工作環境,然后根據其工作特點提出三點何防御Sniffer攻擊,分別是合理的規劃網絡,使用檢測工具和注意網絡異常情況,最后得出結論,據網絡環境和實際條件的不同,可以靈活采取各種檢測防范措施,最大限度地減小sniffer的威脅
關鍵詞:嗅探器;基本原理;防御攻擊
中圖分類號:TP393.08 文獻標識碼:A 文章編號:1674-7712 (2014) 06-0000-01
sniffer(嗅探器)就是指能夠在網絡上捕獲網絡信息的設備,網絡技術人員往往要借助它找出網絡中的問題,這時sniffer又被稱為網絡協議分析儀。然而黑客也可以利用它截獲網絡上的通信信息,例如,獲取其他用戶的帳號及密碼等重要信息。
一、sniffer的基本工作原理
sniffer用英文翻譯的意思為“嗅探器”,而sniffer也可以這樣比喻臥底。它就象進入敵人內部的臥底一樣。不斷地將敵方的情報送出來。
sniffer一般運行在路由器或有路由器功能的主機上。這樣就可以達到監控大量數據的目的。它的運行平臺也比較多。如Linux、Lanpatrol、Lanwatch、netmon等。sniffer屬于第二層次(即數據鏈路層)的攻擊。一般是攻擊者進入目標系統。然后利用sniffer來得到更多的信息。(如用戶名、口令、銀行帳戶、密碼等等),它幾乎能得到以太網上傳送的任何數據包。通常sniffer程序只需要看到一個數據包的前200到350個字節的數據。就可以得到用戶名和密碼等信息。由此可見這種攻擊手段是非常危險的。
通常在同一個網段的所有網絡接口都有訪問在物理媒體上傳輸的所有數據的能力,而每個網絡接口都還應該有一個硬件地址,該硬件地址不同于網絡中存在的其他網絡接口的硬件地址,同時,每個網絡至少還要一個廣播地址。(代表所有的接口地址),在正常情況下,一個合法的網絡接口應該只響應這樣的兩種數據幀:(1)幀的目標區域具有和本地網絡接口相匹配的硬件地址。(2)幀的目標區域具有“廣播地址”。
在接受到上面兩種情況的數據包時,nc通過cpu產生一個硬件中斷,該中斷能引起操作系統注意,然后將幀中所包含的數據傳送給系統進一步處理。
而sniffer就是一種能將本地nc狀態設成(promiscuous)狀態的軟件,當nc處于這種\"混雜\"方式時,該nc具備\"廣播地址\",它對所有遭遇到的每一個幀都產生一個硬件中斷以便提醒操作系統處理流經該物理媒體上的每一個報文包。(絕大多數的nc具備置成promiscuous方式的能力)
可見,sniffer工作在網絡環境中的底層,它會攔截所有的正在網絡上傳送的數據,并且通過相應的軟件處理,可以實時分析這些數據的內容,進而分析所處的網絡狀態和整體布局。值得注意的是:sniffer是極其安靜的,它是一種消極的安全攻擊。
二、sniffer的工作環境
snifffer就是能夠捕獲網絡報文的設備。嗅探器的正當用處在于分析網絡的流量,以便找出所關心的網絡中潛在的問題。例如,假設網絡的某一段運行得不是很好,報文的發送比較慢,而我們又不知道問題出在什么地方,此時就可以用嗅探器來作出精確的問題判斷。
嗅探器在功能和設計方面有很多不同。有些只能分析一種協議,而另一些可能能夠分析幾百種協議。一般情況下,大多數的嗅探器至少能夠分析下面的協議:
TCP/IP和IPX,嗅探器與一般的鍵盤捕獲程序不同。鍵盤捕獲程序捕獲在終端上輸入的鍵值,而嗅探器則捕獲真實的網絡報文。嗅探器通過將其置身于網絡接口來達到這個目的。
數據在網絡上是以很小的稱為幀(Ftame)的單位傳輸的幀由好幾部分組成,不同的部分執行不同的功能。幀通過特定的稱為網絡驅動程序的軟件進行成型,然后通過網卡發送到網線上。通過網線到達它們的目的機器,在目的機器的一端執行相反的過程。接收端機器的以太網卡捕獲到這些幀,并告訴操作系統幀的到達,然后對其進行存儲。就是在這個傳輸和接收的過程中,嗅探器會造成安全方面的問題。每一個在LAN上的工作站都有其硬件地址。這些地址唯一地表示著網絡上的機器。當用戶發送一個報文時,這些報文就會發送到LAN上所有可用的機器。在一般情況下,網絡上所有的機器都可以“聽”到通過的流量,但對不屬于自己的報文則不予響應如果某在工作站的網絡接口處于雜收模式,那么它就可以捕獲網絡上所有的報文和幀,如果一個工作站被配置成這樣的方式,它就是一個嗅探器。
嗅探器可能造成的危害:(1)嗅探器能夠捕獲口令;(2)能夠捕獲專用的或者機密的信息;(3)可以用來危害網絡鄰居的安全,或者用來獲取更高級別的訪問權限。
事實上,如果你在網絡上存在非授權的嗅探器就以為著你的系統已經暴露在別人面前了。
三、何防御Sniffer攻擊
(一)合理的規劃網絡
從工作原理可以知道,Sniffer只能在當前網段進行數據捕獲。因此,網絡分段工作進行得越細,嗅探器能夠收集到的信息就越少。合理的利用交換機、路由器、網橋等設備對網絡進行分段,可以減少嗅探器的危害。
(二)使用檢測工具
使用檢測工具可以檢測系統是否被入侵。Tripwire是Unix下文件系統完整性檢查的軟件工具。它會根據管理員設置的配置文件對指定要監控的文件進行讀取,對每個文件生成對應的數字簽名,并把結果保存到自己的數據庫中,當文件現在的數字簽名與數據庫中保留的數字簽名不一致時說明系統被入侵了。另外,Antisniff可以檢測本地網絡中是否有網卡處于混雜模式,從而發現被安裝了嗅探器的計算機。
(三)多注意網絡異常情況
因為Sniffer是一種被動監聽的程序,一般不會留下什么核查線索,所以很不容易被發現。但是Sniffer在工作時要占用大量的網絡資源,特別是當嗅探器對很多網絡流量同時進行嗅探時。雖然很多嗅探器都做了改進,只對數據幀的前面若干字節進行嗅探,不過仍會消耗大量的網絡資源。監控網絡經常出現的異常情況,也可以發現網絡中存在的嗅探器。
Sniffer對信息安全的威脅來自其被動性和非干擾性,這使得它具有很強的隱蔽性,往往使信息泄密不易被發現。黑客正是利用這一點來進行網絡信息竊取的,因此采取一定的防范措施保障網絡中的信息安全是很有必要的。sniffer使得黑客成功入侵網絡內某臺安全防護相對薄弱的計算機后,可進一步獲取其他計算機上用戶的帳號和口令等關鍵信息,擴大攻擊范圍。因而,一個網絡上存在sniffer對該網絡將構成極大的威脅。根據網絡環境和實際條件的不同,可以靈活采取各種檢測防范措施,最大限度地減小sniffer的威脅。
參考文獻:
[1]中國IT認證實驗室.sniffer安全技術專題[OL].www.chinaitlab.com/www/special/sniffer.asp.
[作者簡介]段昌盛(1975.07-),男,湖北巴東人,講師,碩士,研究方向:計算機網絡技術,計算機軟件技術。