時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
在局域網(wǎng)中,Sniffer是一個很大的威脅。惡意用戶可以籍此看到一些機密文件和及一些個人的隱私。Sniffer對安全有如此的威脅,但它可以方便的在因特網(wǎng)上下免費下栽并安裝在PC上。但是,目前為止,還沒有很好的方法來檢測誰的PC安裝了Sniffer軟件。這篇文檔將討論利用ARP包來檢測那些在公司和學(xué)校局域網(wǎng)內(nèi)Sniffing的惡意用戶。
網(wǎng)卡混雜模式:為Sniffer竊取信息開后門
局域網(wǎng)通常是以太網(wǎng)組成的。在以太網(wǎng)上用的是IPV4協(xié)議,數(shù)據(jù)是明文傳輸?shù),除非用了加密軟件。當用戶發(fā)信息到網(wǎng)絡(luò)上時,他只希望網(wǎng)絡(luò)另一端的用戶能接收到。不幸的是,以太網(wǎng)的機制給未被授權(quán)的用戶提供了竊聽信息的機會。
我們知道,在以太網(wǎng)中,信息會發(fā)送到網(wǎng)絡(luò)中所有的節(jié)點,有些節(jié)點會接收這些信息,同時有些節(jié)點會簡單的丟棄這些信息。接收或丟棄信息由網(wǎng)卡來控制。網(wǎng)卡不會接收所有發(fā)到局域網(wǎng)的數(shù)據(jù)包,即使它連在以太網(wǎng)上;相反它會過濾掉一些特定的數(shù)據(jù)包。在這篇文檔里,我們將稱這種過濾為網(wǎng)卡的硬件過濾。Sniffer會被網(wǎng)卡設(shè)置成特定的模式,這樣網(wǎng)卡就可以接收所有到達的數(shù)據(jù)包了,而不管它是不是這些包指定的目的地址。這種網(wǎng)卡的模式稱為混雜模式。
Sniffer接收所有的數(shù)據(jù)包,而不是發(fā)送一些非法包。所以它不會干擾網(wǎng)絡(luò)的正常運行,因此很難檢測到這種惡意行為。雖然如此,網(wǎng)卡的混雜模式顯然是不同于正常模式的。一個本來應(yīng)該被過濾的包在這種模式下會被允許到達系統(tǒng)內(nèi)核。是不是做出響應(yīng)取決于系統(tǒng)內(nèi)核。
尋找Sniffer竊取者的致命弱點
我們把檢測混雜模式的方法用一個現(xiàn)實世界的例子來模擬。假設(shè)會議室里正在開會。一個竊聽者用他的一只耳朵靠著會議室的墻壁。當他正在竊聽的時候,他會屏住呼吸,靜靜的聽著會議室的所有對話。但是如果有人在會議里喊他的名字,"MR. **?"竊聽者有時候會應(yīng)聲"YES!"這種類比看起來有些荒謬,但確實是應(yīng)用在檢測網(wǎng)絡(luò)的SNIFFING上了。因為SINFFER接收所有的數(shù)據(jù)包,包括那些本來不是發(fā)給它的,所以它可能會對那些本來應(yīng)該被網(wǎng)卡過濾的包錯誤地做出響應(yīng)。所以,我們對混雜模式的檢測建立在以下的基礎(chǔ)上:向網(wǎng)絡(luò)上所有的節(jié)點發(fā)送ARP請求包,檢查是不是有ARP響應(yīng)包。
為了解釋這個原理,首先,我們從網(wǎng)卡的混雜模式和普通模式的區(qū)別開始。所有以太網(wǎng)卡都有6字節(jié)的硬件地址。廠商分配這些地址,而且每個地址都是唯一的。從理論上說,不存在兩塊硬件地址一樣的網(wǎng)卡。以太網(wǎng)上信息的交流是建立在硬件地址的基礎(chǔ)上的。但是網(wǎng)卡為了接收不同類型的數(shù)據(jù)包,可以建立不同的過濾機制,F(xiàn)對網(wǎng)卡的各種過濾機制說明如下:
單播(UNICAST)
接收所有目標地址和網(wǎng)卡的硬件地址一樣的包。
廣播(Broadcast)
接收所有的廣播包。廣播包的目的地址是FFFFFFFFFFFF。這種模式是為了能收到那些希望能到達網(wǎng)絡(luò)所有節(jié)點的包。
組播(Multicast)
接收所有預(yù)先注冊好的特定組的包。只有那些預(yù)先注冊的組才會被網(wǎng)卡接收。
所有的組播(All Multicast)
接收所有的組播。這種模式和上層的協(xié)議有關(guān)聯(lián),這種模式會接收所有組播位設(shè)為1的包。
混雜(Promiscuous)
接收所有的數(shù)據(jù)包而不管它的目的地址是什么。
上圖示意了在正常模式和混雜模式下硬件過濾的操作方式。通常情況下,網(wǎng)卡的硬件過濾會設(shè)置成單播,廣播和組播1模式。網(wǎng)卡只接收目的地址和它的硬件地址一樣,廣播地址(FF:FF:FF:FF:FF:FF)和組播地址1(01:00:5E:00:00:01)。
ARP檢測包找出混雜模式節(jié)點
正如前面所陳述的,網(wǎng)卡設(shè)置成普通模式和混雜模式對包的過濾是不同的。當網(wǎng)卡被設(shè)成混雜模式后,本來被過濾的包會允許到達系統(tǒng)內(nèi)核。利用這種機制,我們建立一種新的機制來檢測混雜模式節(jié)點:如果構(gòu)造一個目的地址不是廣播地址的ARP包,把它發(fā)送到網(wǎng)絡(luò)的每個節(jié)點,如果發(fā)現(xiàn)有些節(jié)點有響應(yīng),那么這些節(jié)點工作在混雜模式。
我們簡單地看一下正常的ARP請求和響應(yīng)的操作方式。首先,為解析192.168.1.10產(chǎn)生一個ARP請求包。它的目的地址為廣播地址,使網(wǎng)絡(luò)上所有的節(jié)點能夠收到。理論上,只有IP地址符合的節(jié)點才會響應(yīng)。
但是,如果把ARP包的目的地址設(shè)成非廣播地址呢?比如,如果把目標地址設(shè)成00-00-00-00-00-01?當網(wǎng)卡處于正常模式,這個包將被認為"TO OTHERHOST"包,因此將被網(wǎng)卡的硬件過濾拒絕。但是,如果網(wǎng)卡處于混雜模式,那么網(wǎng)卡不會執(zhí)行過濾操作。所以包將被允許到達系統(tǒng)內(nèi)核。系統(tǒng)內(nèi)核會認為ARP請求包到達了,因為它包含了與PC相同的IP地址,這樣,它應(yīng)該會對請求包作出響應(yīng)。但讓人奇怪的是,內(nèi)核事實上沒有對包做出響應(yīng)(如下圖)。這令人意外的結(jié)果說明系統(tǒng)內(nèi)核存在著其它的過濾機制,因為事實上包被系統(tǒng)內(nèi)核過濾了。我們把這種過濾稱之為軟件過濾。
進一步說,對混雜模式的檢測可以從對比硬件過濾和軟件過濾的區(qū)別來達到。硬件過濾通常會屏蔽一些非法的包。如果一個包能夠通過硬件過濾,它通常也能通過軟件過濾。我們設(shè)想構(gòu)建被硬件過濾拒絕而同時能夠通過軟件過濾的包。通過發(fā)送這樣的包,正常模式的網(wǎng)卡不會作出響應(yīng),而混雜模式的網(wǎng)卡會作出響應(yīng)。
軟件過濾破獲Sniffer竊取者
軟件過濾建立在操作系統(tǒng)內(nèi)核的基礎(chǔ)上,所以要了解軟件過濾必須明白操作系統(tǒng)內(nèi)核是如何工作的。LINUX開放源代碼,因此可以獲取它的軟件過濾機制。但是微軟的WINDOWS源代碼是非公開的,其軟件過濾機制只能從實驗上去猜測推理。
1)LINUX
在LINUX的以太網(wǎng)模塊,根據(jù)地址的不同包可以分為以下幾類:
BROADCAST PACKETS:
FF:FF:FF:FF:FF:FF
MULTICAST PACKETS:
除了廣播包外,組標識位置1的包。
TO_US PACKETS:
所有目的地址和網(wǎng)卡硬件地址一樣的包。
#p#副標題#e#
OTHERHOST PACKETS:
所有目的地址和網(wǎng)卡硬件地址不一樣的包。
在這里,我們假設(shè)組標識位置1的包就是MULTICAST PACKETS。以太網(wǎng)MULTICAST PACKET對應(yīng)IP網(wǎng)絡(luò)的地址是01-00-5E-**-**-**,所以MULTICAST PACKETS應(yīng)該不能只用組標識位來區(qū)別。但,實際上這個假設(shè)是正確的,因為01-00-5E-**-**-**是IP網(wǎng)絡(luò)基礎(chǔ)上的,而網(wǎng)卡的硬件地址可以用在其它的上層協(xié)議。
其次,我們看一下LINUX的ARP模塊。ARP模塊會拒絕所有的OTHERHOST PACKETS。同時,它會對BROADCAST,MULTICAST,和TO_US PACKETS作出響應(yīng)。下表示意了硬件過濾和軟件過濾的響應(yīng)。我們給出了六種不同類型地址的包發(fā)到網(wǎng)卡后,硬件過濾和軟件過濾是如何操作的
TO_US PACKETS:
當網(wǎng)卡處正常模式,所有TO_US PACKETS能通過硬件過濾,也能通過軟件過濾,所以ARP模塊將對這種包做出響應(yīng)而不管網(wǎng)卡是否處于混雜模式。
OTHERHOST PACKETS:
當網(wǎng)卡處于正常模式,將拒絕OTHERHOST PACKETS。即使當網(wǎng)卡處于混雜模式,軟件過濾也將拒絕這種類型的包。所以對ARP REQUESTS將不會做出響應(yīng)。
BROADCAST PACKET:
在正常模式,BROADCAST PACKETS將通過硬件過濾和軟件過濾。所以無論網(wǎng)卡處于什么模式都會有響應(yīng)包。
MULTICAST PACKETS:
在正常模式,未在預(yù)先注冊過的組列表中的地址的包將被拒絕。但是,如果網(wǎng)卡處在混雜模式,這種類型的包將會通過硬件過濾,而且,因為軟件過濾也不會拒絕這種類型的包,所以將會產(chǎn)生一個響應(yīng)。在這種情況下,網(wǎng)卡處于不同的模式會有不同的結(jié)果產(chǎn)生。
GROUP BIT PACKETS:
不是BROADCAST或MULTICAST包,但其組標識位置1。在正常模式下,會拒絕這種包,而在混雜模式下,這種包將會通過。而且因為這種包會被軟件過濾認為是組播包,所以這種包能通過軟件過濾。組標識位置1的包能夠用來檢測混雜模式。
2)WINDOWS
WINDOWS非源代碼開放的操作系統(tǒng),我們不能通過查看它的源碼來分析它的軟件過濾。相反,我們只能通過實驗的方式來測試它的軟件過濾。以下7種地址會被WINDOWS利用:
FF-FF-FF-FF-FF-FF BROADCAST ADDRESS:
所有接點將會收到這種類型的包,并作出響應(yīng)。正常的ARP請求包用的就是這種地址。
FF-FF-FF-FF-FF-FE FAKE BROADCAST ADDRESS:
這是最后一位置0假冒的廣播地址。用來檢測軟件過濾是否會檢查所有的地址位,進而是否會對這種包作出響應(yīng)。
FF-FF-00-00-00-00 FAKE BROADCAST 16 BITS:
這是只有前16位置1的假冒的廣播地址。它可能會被認為是廣播地址,而且在過濾機制只檢查前16位的情況下會得到響應(yīng)。
FF-00-00-00-00-00 FAKE BROADCAST 16 BITS:
這是只有前8位置1的假冒的廣播地址。它可能會被認為是廣播地址,而且在過濾機制只檢查前8位的情況下會得到響應(yīng)。
01-00-00-00-00-00GROUP BIT ADDRESS:
組標識位置1的地址,用來檢查是否會被認為是組播地址。
 
關(guān)鍵詞標簽:Sniffer,ARP
相關(guān)閱讀
熱門文章 網(wǎng)絡(luò)安全管理軟件-PCHunter使用教程虛擬主機中ASPX一些安全設(shè)置“和諧”內(nèi)網(wǎng)保護神——ProVisa內(nèi)網(wǎng)安全管理Discuz!配置文件中的安全設(shè)置
人氣排行 xp系統(tǒng)關(guān)閉445端口方法_ 教你如何關(guān)閉xp系統(tǒng)445端口網(wǎng)絡(luò)安全管理軟件-PCHunter使用教程企業(yè)網(wǎng)絡(luò)安全事件應(yīng)急響應(yīng)方案什么是IPS(入侵防御系統(tǒng))linux iptables如何封IP段騰訊QQ密碼防盜十大建議隱藏ip地址增加網(wǎng)絡(luò)信息的安全性Windows Server 2008利用組策略的安全設(shè)置