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