北大青鳥北京校區(qū):Sniffer-黑客們最常用的入侵手段四


北大青鳥北京學(xué)術(shù)部提供:

相關(guān)文章:

Sniffer-黑客們最常用的入侵手段一

Sniffer-黑客們最常用的入侵手段二

Sniffer-黑客們最常用的入侵手段四

六、如何阻止sniffer

  <1>交換
  隨著交換機的成本和價格的大幅度降低,交換機已成為非常有效的使sniffer失效的設(shè)備。目前最常見的交換機在第三層(網(wǎng)絡(luò)層)根據(jù)數(shù)據(jù)包目標(biāo)地址進行轉(zhuǎn)發(fā),而不太采取集線器的廣播方式,從理論上講,通過交換設(shè)備對網(wǎng)絡(luò)進行分段后,sniffer將無法透過邊界而窺探另一邊的數(shù)據(jù)包。但是,請注意:這是在邊界設(shè)備不轉(zhuǎn)發(fā)廣播包的情況下(這也是通常的網(wǎng)絡(luò)情況)。一旦入侵者使用spoofer誘騙某個邊界設(shè)備而將自己的廣播包流入不該進入的網(wǎng)段后,原理上還是在一個共享設(shè)備端使用sniffer,而實際上將是聽到了邊界的另一邊).當(dāng)然,這樣會牽涉到ip欺詐和Mac欺詐的問題,然而,你別忘了,sniffer和spoofer是很少分開來的。北大青鳥北京通州校區(qū)

  <2>加密
  目前有許多軟件包可用于加密連接,從而使入侵者即使捕獲到數(shù)據(jù),但無法將數(shù)據(jù)解密而失去竊聽的意義。北大青鳥北京通州校區(qū)

  <3>入侵檢測
  使用諸如Tripwire之類的工具,生成文件系統(tǒng)的MD5"數(shù)據(jù)指紋",及時發(fā)現(xiàn)被修改的系統(tǒng)文件;北大青鳥北京通州校區(qū)

  <4)使用antisniffer軟件
  一些流行的檢測SNIFFER的程序:
  http://www.attrition.org/security/newbie/security/sniffer/promisc.c --是一個很小的C程序,當(dāng)編譯好后,會查找本地機器上任何處于雜亂模式的NIC網(wǎng)絡(luò)適配卡。
  http://www.attrition.org/security/newbie/security/sniffer/neped.c --是一個用來遠程檢查任何嗅探活動的程序,可惜它只在LINUX下編譯,當(dāng)然你也可以簡單的使用'ifconfig-a'來檢查你的UNIX機器是否有PROMISC標(biāo)志。北大青鳥北京通州校區(qū)

  http://www.l0pht.com/antisniff/這是L0pht寫的很好的反SNIFFER程序,L0PHT還打算公開LINUX版本上的源碼版本。北京北大青鳥通州校區(qū)

  下面介紹一下sentinel的用法
  Sentinel主要是設(shè)計思想是portable,arrcurate implementation,就是說小巧點,精確實現(xiàn)幾個熟知的雜亂方式探測技術(shù)。其中Sentinel支持三種方法的遠程雜亂探測模式:DNS測試,Etherping測試,和ARP測試,其中還有一種ICMP ping Latency(ICMP PING反應(yīng)時間)正在開發(fā)中。北大青鳥北京通州校區(qū)

  此程序需要Libnet和libpcap庫來支持,大家可以到下面的地址去下載:
  LIbnet 1.0: http://www.packetfactory.net/Projects/libnet
  libpcap 0.4: ftp://ftp.ee.lbl.gov/libpcap-0.4.tar.Z
  首先說下它其中使用的三種模式:
  --ARP測試模式:北大青鳥北京通州校區(qū)
  這種方法是采用發(fā)送一個ARP請求,其中包含所有正確信息除了偽造的目標(biāo)主機MAC硬件地址給我們的目標(biāo)主機,這樣如果目標(biāo)主機沒有處于雜亂模式,它將不會理睬這些信息包,因為這些信息包其認為不是指定給它們的,所以不會進行響應(yīng)和回復(fù),但如果此目標(biāo)機器處于雜亂模式,ARP請求就會發(fā)生并進行內(nèi)核處理,通過機器的回應(yīng)信息我們就可以知道其處于雜亂模式。這種方法結(jié)合內(nèi)核的特性來查看機器的運作狀態(tài),請看下面的Etherping 測試模式。

  -- DNS測試模式:
  DNS測試主要是針對網(wǎng)絡(luò)數(shù)據(jù)收集工具能執(zhí)行IP到名字反轉(zhuǎn)解析來提供DNS名字來代替IP地址(The DNS tests operate on the premise that many attacker network data gathering tools perform IP to name inverse resolution to provide DNS names in place of IP addresses)。在執(zhí)行反轉(zhuǎn)查詢中,工具會從被動網(wǎng)絡(luò)工具
模式轉(zhuǎn)變?yōu)橹鲃泳W(wǎng)絡(luò)工具,而那些沒有監(jiān)視網(wǎng)絡(luò)書記的工具就不會去解析信息包中的IP地址。利用這種信息,ANTI SNIFFER工具可以自身在本地主機中變?yōu)殡s亂模式并在我們網(wǎng)絡(luò)中發(fā)送無數(shù)個偽造的主機,這樣,ANTI SNIFFER工具就可以嗅探DNS請求來查看目標(biāo)是否在請求解析那些不存在主機。

  --Etherping 測試模式:
  Etherping 測試模式依賴于目標(biāo)主機的內(nèi)核,也就所謂的內(nèi)核測試。在通常情況下,硬件網(wǎng)絡(luò)接口卡過濾和丟棄那些MAC地址不同于自己機器上的MAC地址的信息包或者不是廣播Ethernet 地址的地址。就是說信息包是正確和實際的Ethernet地址或者是廣播Ethernet地址,接口就會把這些地址COPY和傳遞給內(nèi)核進行進一步處理。

  但某些系統(tǒng)假定包含在以太幀中的數(shù)據(jù)包含某個目標(biāo)主機中正確的IP地址或者廣播地址,但具有不同于本地主機的MAC地址,當(dāng)NIC設(shè)置為雜亂模式,發(fā)送給目標(biāo)主機的每個數(shù)據(jù)包它還是傻傻的傳遞給操作系統(tǒng)進行分析。這樣通過發(fā)送包含正確IP地址和不正確MAC地址的ICMP ECHO包給要檢測的主機,如果目標(biāo)主機回應(yīng)了我們的請求,我們就知道其處于雜亂模式了。

  多種LINUX內(nèi)核存在這種問題,其中NETBSD也可以利用這個問題來檢測雜亂模式,但需要使用廣播地址的信息包,這種信息包使用帶偽造ether幀的IP地址,如66:66:66:66:66:66. 北大青鳥北京通州校區(qū)

  關(guān)于WINDOWS95,98,NT的操作系統(tǒng)在雜亂模式中確實是檢查信息包ETHER地址的,如果信息包的NIC ETHER地址符合本地主機就讓堆棧來處理。但WINDOWS對廣播的ether信息包存在問題,在普通環(huán)境下,如機器不在雜亂模式下,NIC只把含有起本身MAC地址的信息包或者ether地址是ff:ff:ff:ff:ff:ff傳遞給內(nèi)核。但當(dāng)在雜亂模式中驅(qū)動程序是檢查ETHER地址,但它只檢查ETHER地址的第一個八未組是否為Oxff就來判斷信息包是否為廣播或者其他,因此如果我們建立一個包含EHTER地址為ff:00:00:00:00:00的IP正確的信息包并發(fā)送給目標(biāo)機器,如果其進行了響應(yīng)的回應(yīng),就表示起處于雜亂模式。

   但對WINDOWS的這種方法是依賴于所用的驅(qū)動程序的,默認的微軟驅(qū)動程序有此特性并且大多數(shù)供應(yīng)商的驅(qū)動程序也有此特性,但某些NIC過濾廣播只是依靠第一個八為組,所以這些卡不適合此方法。北大青鳥北京通州校區(qū)
  --網(wǎng)絡(luò)和機器的反應(yīng)時間測試(也可以說ICMP PING反應(yīng)時間):

  這種模式是比較有效的測試方法,依據(jù)是靠對操作系統(tǒng)的影響來測試。但其中的壞處就是這些測試會在短期內(nèi)產(chǎn)生一些多數(shù)量的網(wǎng)絡(luò)通信。

  這些測試假定當(dāng)網(wǎng)絡(luò)卡不處于雜亂模式時提供硬件過濾,這樣的話,信息包不是指定給本身機器的將被網(wǎng)絡(luò)卡丟棄。當(dāng)在這中情況下,在網(wǎng)絡(luò)通信信息量將動態(tài)增長對操作系統(tǒng)的影響很小,相反的處于雜亂狀態(tài)的機器由于不對這層進行過濾,就把這些信息傳遞給系統(tǒng)或者用戶模式進行過濾,會對操作系統(tǒng)產(chǎn)生比較大的影響。簡單的說,我們先正常情況下PING一機器,再我們構(gòu)建很多偽造的TCP連接來ping程序來ping目標(biāo),并且注意RTT(round
trip time),這樣處于雜亂模式的機器由于會處理這些垃圾信息包,并影響系統(tǒng)并導(dǎo)致網(wǎng)絡(luò)反映時間增加,然后來比較各個RTT,經(jīng)過多次測試和人工判斷就能決定目標(biāo)機器上是否存在SNIFFER。北大青鳥北京通州校區(qū)

  Sentinel是根據(jù)這些方法來進行測試的程序,是有源代碼形式發(fā)放的。使用于OPENBSD 2.6 ;FREEBSD 3.X;NETBSD 1.4.1;LINUX2.2.X平臺。
  編譯后使用方法為:
  #./sentinel -t 192.168.0.1 -a 是ARP測試。
  #./sentinel -t 192.168.0.1 -e 是etherping test;
  #./sentinel -t 192.168.0.1 -f 1.1.1.1 -d 是DNS測試;
#./sentinel -t 192.168.0.1 -f 1.1.1.1 -d -a -e 是允許所有模式進行測試。

北大青鳥北京通州校區(qū)


 

北大青鳥網(wǎng)上報名
北大青鳥招生簡章