摘要:闡述了ARP欺騙技術的基本原理,對ARP欺騙造成局域網(wǎng)無法正常通訊的實例進行分析,提出了針對ARP欺騙的多種防范辦法。實際應用效果較好。
關鍵詞:ARP;局域網(wǎng);MAC地址;IP地址;TCP/IP
0 引言
在大型局域網(wǎng)的維護工作中,最近常常發(fā)現(xiàn)網(wǎng)絡時斷時續(xù)的現(xiàn)象,而且斷網(wǎng)的計算機也不固定。經(jīng)過多方面的監(jiān)控和測試,最終確定是時下比較流行的ARP欺騙病毒導致斷網(wǎng)。由于這個病毒相當普遍而且易發(fā),所以對ARP欺騙的原理做一些分析是很有必要的。
1 ARP欺騙的基本原理
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫,是一個位于TCP/IP協(xié)議棧中的低層協(xié)議,負責將某個IP)地址解析成對應的MAC地址。ARP協(xié)議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
首先以總線型以太網(wǎng)上三臺主機通信(如圖1所示)了解一下ARP協(xié)議的通信過程。以太網(wǎng)中的主機A發(fā)送數(shù)據(jù)給主機B時,主機A會先檢查自己的ARP緩存表中是否有主機B的MAC地址。如果沒有,則主機A就會在網(wǎng)絡上發(fā)送一個廣播,向同一網(wǎng)段內的所有主機發(fā)出這樣的詢問:“IP地址為主機B(即IP地址為192.168.12)的MAC地址是什么?”網(wǎng)絡上其他IP地址不匹配主機并不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的回應:“IP地址為主機B的MAC地址是BB-BB-BB-BB-BB-BB”。這樣,主機A就獲得了主機B的MAC地址,并對ARP緩存表進行更新,隨后就可以向主機B發(fā)送信息了。
ARP欺騙過程如下:
假定主機A是進行監(jiān)聽的主機(ARP欺騙發(fā)起的主機),B和C為以太網(wǎng)內任意兩臺臺主機,處于被監(jiān)聽狀態(tài)。
①首先主機A主動向主機B發(fā)送ARP應答報文,告訴主機B,192.168.1.3地址的MAC地址改為AA-AA-AA-AA-AA-AA(原先ARP表中的MAC地址是CC-CC-CC-CC-CC-CC)。
②主機A主動向主機c發(fā)送ARP應答報文,告訴主機c,192.168.1.2地址的MAC地址改為AA-AA-AA-AA-AA-AA(原先ARP表中的MAC地址是BB-BB-BB-BB-BB-BB)。
③這樣,當主機c需要發(fā)數(shù)據(jù)給主機B的時候,因為主機B的IP地址192.168.1.2在c的ARP表中對應MAC地址是AA-AA-AA-AA-AA-AA,所以實際數(shù)據(jù)就轉發(fā)到主機A上。同理,當主機B發(fā)送數(shù)據(jù)到主機c的時候,數(shù)據(jù)也同樣發(fā)到了主機A上。
還有一些ARP欺騙采用存儲轉發(fā)方式:將C給B發(fā)送消息,改為c先發(fā)消息給A,A再發(fā)給B;將B給C發(fā)送消息,改為B把消息發(fā)給A,A再發(fā)給C。
2 ARP欺騙在局域網(wǎng)中的危害實例
下面以最基礎的通過VLAN通信的局域網(wǎng)為例,剖析ARP欺騙在局域網(wǎng)中的危害。
如圖2所示,假設局域網(wǎng)中的主機A、B、c、D等等處于VLAN2(192.168.2.0/24),Web代理服務器E處于VLANl(192.168.1.0/24),其IP地址是192.168.1.8。主機A想要連接Intemet,必須通過Web代理服務器E,A想發(fā)數(shù)據(jù)給E,就會發(fā)現(xiàn)服務器E的IP地址并不在自己所屬網(wǎng)段內,因此必須通過網(wǎng)關s2來轉發(fā),因此,需要檢查自己的ARP緩存表里是否有網(wǎng)關s2的IP地址(192.168.2.254)所對應的MAC地址,如果沒有就通過ARP請求獲得,如果有就直接與網(wǎng)關通信,然后再由網(wǎng)關S2通過路由將數(shù)據(jù)包送到網(wǎng)關S1,網(wǎng)關S1收到這個數(shù)據(jù)包后發(fā)現(xiàn)是送給服務器E的,就會檢查自己的ARP緩存,看看里面是否有192.168.1.8對應的MAC地址,如果沒有就使用ARP協(xié)議獲得,如果有就用該MAC地址與Web服務器E通信。
當主機D被植入了ARP欺騙的木馬程序,D就主動向VLAN2中的所有主機發(fā)送ARP應答報文,告訴它們,網(wǎng)關S2的JP地址192.168.2254所對應的MAC地址是DD-DD-DD-DD-DD-DD(原先MAC地址是22-22-22-22-22-22)。所有接受到報文的主機都將更新自己的ARP緩存表。于是,當主機A想連接Internet的時候,會尋找IP地址為192.168.2.254的網(wǎng)關,因為對應的ARP緩存表已被修改,主機A最終找到的網(wǎng)關其實是主機D,于是把數(shù)據(jù)發(fā)送給了D,所以,主機無法連接Web服務器E,接入Internet失敗。同樣,其他的主機也無法接入Internet。
ARP欺騙最典型的應用就是一些盜號木馬。以傳奇盜號軟件為例,當軟件開始運行的時候,ARP欺騙也同時運行。在主機A中輸入賬號密碼想登錄傳奇服務器,由于A一直連不上Internet,而把它的相關數(shù)據(jù)一直發(fā)給監(jiān)聽的主機D,所以D就能通過這個手段獲取A主機上的賬號和密碼。
當然,這只是針對代理服務器連接Internet的攻擊,同樣,ARP欺騙也會影響局域網(wǎng)中的Ftp、Telnet、Email等服務,并導致無法使用。
3 針對ARP欺騙的幾種防范方案
ARP欺騙實質上是利用主機對ARP應答的無條件信任,篡改主機的ARP緩存表,從而實現(xiàn)各種攻擊。因此,為了防御ARP攻擊,就需要保證主機的ARP緩存表的IP地址與MAC地址映射關系正確,盡可能地阻止非法篡改ARP緩存表。主要措施有以下幾點:
(1)主機上靜態(tài)地解析ARP緩存表
主機的IP和MAC地址對應表用手工維護,不作動態(tài)更新,可以避免ARP協(xié)議攻擊。大多數(shù)三層交換機都支持這種方法。但是,這種方法的缺陷也很明顯,移動或經(jīng)常變化的網(wǎng)絡環(huán)境中,這種靜態(tài)手工維護MAC表的方式不適用。
(2)使用ARP服務器
使用ARP服務器查找自己的ARP轉換表來響應其他機器的ARP廣播,但必須確保這臺ARP服務器不被黑客攻擊。
(3)使用DHCP服務器
建立DHCP服務器(建議建在網(wǎng)關上),所有主機的IP地址及相關主機信息,只能從網(wǎng)關取得,網(wǎng)關開通DHCP服務,但是要給每個網(wǎng)卡綁定固定惟一的IP地址。一定要保持網(wǎng)內的機器IP/MAC一一對應的關系。
(4)使用三層交換方式
現(xiàn)在,更多的三層以至于四層交換機應用于局域網(wǎng)之中,第三層交換技術用的是IP路由交換協(xié)議,因而ARP欺騙攻擊在這種交換環(huán)境下不起作用。但相對來講第三(四)層交換機價格普遍比較昂貴。
上面所講的各種方法都是切實可行的,實際工作中,可以根據(jù)不同的網(wǎng)絡環(huán)境采取不同的方法。
舉個例子,一個有將近1000臺計算機的局域網(wǎng),如果都采取第四鐘方法使用三層交換機連接,顯然費用過大,所以適當?shù)卦趨R聚層采用幾臺三層交換機,可以有效地減少ARP欺騙的影響范圍。此外,由于前面三種方法都必須把ARP表或者DHCP對應表一一輸入,未免工作量太大(每臺機器都要輸入將近1000條記錄),所以可以采用一種折衷的方式。如果網(wǎng)絡更新不是太多的話,可以在第一種方法的基礎上作部分修改,編寫一個針對網(wǎng)關地址靜態(tài)ARP解析的批處理文件,內容如下:
@echo off
arp d
arp-s 1 92.1 68.2.254 22-22-22-22-22-22將這個批處理軟件拖到每臺主機“Windows—開始一程序一啟動”中。于是主機每次啟動的時候都會對網(wǎng)關進行靜態(tài)ARP綁定。雖然,這樣做也有缺陷:無法防范針對個別機器進行的ARP攻擊,比如說圖2中,D篡改的是主機B的地址,而非網(wǎng)關s2的地址時,就會發(fā)生斷網(wǎng)現(xiàn)象,但這樣的可能性很小,而且只有當任意主機和主機B通信的時候才會出現(xiàn)無法連接的情況。所以,對于如此大型的一個網(wǎng)絡,這種小范圍的、暫時的攻擊是可以接受的。
4 結束語
ARP協(xié)議在設計上是有一定缺陷的,而且為了節(jié)省ARP緩存表內存,被解析過的ARP條目的壽命都是有限的:如果一段時間內該條目沒有被引用過,則條目被自動刪除。在工作站PC的Windows環(huán)境中,ARP條目的壽命是2分鐘,在大部分Cisco交換機中,該值是5分鐘。這就注定了ARP表是在不斷更新的,因此給網(wǎng)絡黑客們提供了可利用的漏洞。本文提出的幾種解決辦法,通過實踐驗證,可以有效地避免ARP欺騙發(fā)生。ARP病毒版本不斷更新、不斷升級,給各地的網(wǎng)絡不斷帶來新的沖擊與危害,但是如果網(wǎng)絡管理員們能夠不斷學習新的防范欺騙類技術,提前做好防治工作,相信ARP的危害會減少到最小的程度。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。