【摘要】本文首先介紹了APP協議的概念和工作原理,接著分析了當前ARP病毒的欺騙方式及其帶來的危害,最后提出了一些解決方法和防范策略,來應對AILP病毒的欺騙和攻擊。
【關鍵詞】APR病毒;APR協議;TCP/IP協議;MAC地址
隨著網絡技術在各個領域的廣泛應用,在提高工作效率、實現數據共享以及信息交換等方面提供了極大的便利。然而,由于網絡協議設計上的缺陷,給網絡病毒以可乘之機。ARP病毒的出現,使網絡的使用效率急劇下降,甚至對用戶的信息安全構成威脅,因此,ARP病毒的防范顯得尤為重要。
一、ARP協議及其工作原理
AR_P是Address Resolution Protocol的縮寫,是TCP/1P協議族中的一個協議,稱為地址解析協議,具體來說就是將網絡層地址解析為數據連接層的MAC地址。
IP數據包在以太網中傳送,但以太網設備并不能識別32位的IP地址,只能識別48位的MAC地址,ARP的解析過程就是將目的主機的IP地址轉換成MAC地址。每一臺主機都設有一個ARP緩存表用于存放IP地址與MAC地址的對應關系,這個緩存表會被定期的刷新,在一段時間內表中某一行未被使用,就會被刪除,這樣可以減少ARP緩存表的長度從而加快查詢速度。我們可以在Windows命令行窗口中,輸入命令arp-a,進行查看,輸入命令arp-d進行刷新。
當主機A欲向本網絡中的主機B發送數據包時,就會先查找自己的ARP緩存表中有無主機B的lP地址。如果有,就查出其對應的MAC地址,然后將該數據包發往此硬件地址對應的主機;如果不存在,主機A就要向網絡發送一個ARP請求的廣播包,網絡上的所有主機都能收到這個ARP請求,主機B收到廣播發現信息中的IP與自己的IP相同,便向主機A發送ARP響應,告知自己的MAC地址。這樣在得到了主機B的MAC地址后,主機A就可以向主機B發送數據了。
二、ARP病毒欺騙的實現方式。
ARP欺騙的目的就是為了實現全交換環境下的數據監聽,大部分的木馬或病毒使用ARP欺騙攻擊也是為了達到這個目的。
假設一個只有三臺電腦組成的局域網,該局域網用交換機(switch)連接起來。其中一個電腦名叫A,代表攻擊方;一臺電腦叫C,代表源主機,即發送數據的電腦;另一臺電腦名叫D,代表目的主機,即接收數據的電腦。這三臺電腦的IP地址分別為:192.168.0.2,192.168.0.3,192.168.0.4,MAC地址分別為:MAC-A,MAC-C,MAC-D。
現在,c電腦要給D電腦發送數據,則要先查詢自身的ARP緩存表,查看里面是否有192.168.0.4這臺電腦的MAC地址,如果有,就將MAC-D封裝在數據包的外面,直接發送出去即可。如果沒有。c電腦便向全網絡發送一個這樣的ARP請求的廣播包:c的1P是192.168.0.3,硬件地址是MAC-C,要求返回lP地址為192.168.0.4的主機的硬件地址。而D電腦接受到該廣播,經核實IP地址,則將自身的IP地址和MAC-D地址返回到c電腦。現在C電腦可以在要發送的數據包上貼上目的地址MAC-D發送出去,同時它還會動態更新自身的ARP緩存表,將192.168.0.4-MAC-D這一條記錄添加進去,這樣,等c電腦下次再給D電腦發送數據的時候,就不要再發送ARP請求的廣播包進行查詢了。這就是正常情況下的數據包發送過程。
但是,上述數據發送機制有一個致命的缺陷,即它是建立在對局域網中電腦全部信任的基礎上的,也就是說它的假設前提是:無論局域網中哪臺電腦,其發送的ARP數據包都是正確的。比如在上述數據發送中,當c電腦向全網詢問后,D電腦也回應了自己的正確MAC地址。但是當此時.A電腦卻返回了D電腦的IP地址和和自己的硬件地址。由于A電腦不停地發送這樣的應答數據包,則會導致C電腦又重新動態更新自身的ARP緩存表,這回記錄成:192.168.0.4與MAC-A對應,我們把這步叫做ARP緩存表中毒。這樣就會導致以后凡是C電腦要發送給D電腦的數據,都將會發送給A主機。也就是說,A電腦就劫持了由c電腦發送給D電腦的數據。這就是ARP病毒欺騙的過程。
如果A電腦不冒充D電腦,而是冒充網關,那后果會更加嚴重。一個局域網中的電腦要連接外網,都要經過局域網中的網關進行轉發。在局域網中,網關的IP地址假如為192.168.0.1。如果A電腦向全網不停的發送IP地址是192.168.0.1,硬件地址是MAC-A的ARP欺騙廣播,局域網中的其它電腦都會更新自身的ARP緩存表,將A電腦當成網關,這樣,當它們發送數據給網關,結果都會發送到MAC-A這臺電腦中。這樣,A電腦就將會監聽整個局域網發送給互聯網的數據包。
三、ARP病毒帶來的危害
1 網絡異常,使用局域網時會突然掉線,過一段時間后又會恢復正常。用戶頻繁斷網,嚴重時甚至可能帶來整個網絡的癱瘓。
2 數據竊取,具體表現為個人隱私泄漏,如MSN聊天記錄、郵件等。賬號被盜用,如QQ賬號、銀行賬號等,這是木馬的慣用伎倆,給用戶造成了很大的不便和經濟損失。
3 數據篡改,具體表現為訪問的網頁被添加了惡意內容,俗稱“掛馬”。
4 非法控制,具體表現為網絡速度、網絡訪問行為受第三者非法控制。
四、解決方法與防范策略
1 利用命令行的方式來檢測并綁定IP地址與MAC地址的映射。ARP病毒攻擊的首要目標是網關,因此,保留一份正確的網關的1P-MAC數據很重要。當局域網中發生ARP欺騙的時候,實施ARP欺騙的電腦會不停地發送ARP欺騙廣播,這時局域網中的其它電腦就會動態更新自身的ARP緩存表,將網關的MAC地址記錄成帶ARP病毒的電腦的MAC地址,我們只要打開一個命令提示符窗口,輸入“arp-a”來顯示ARP緩存表的內容,顯示為:192.168.0.100-21-27-87-b8-1a dynamic
如果顯示的內容與正確的數據不符,則說明ARP緩存表巾網關的MAC已被篡改。先刪除現有的1P-MAC對應表:arp-d 192.168.0.1,在緩存列表中增加一個正確的、靜態的1P→MAC的數據,如arp-s 192.168.0.1 00-21-5c-55-6a-ed,既綁定了網關IP與MAC地址的對應關系。
如果網絡管理員有局域網內所有主機的IP-MAC映射表,還可以根據MAC地址找到實施ARP欺騙的主機,再利用ARP專殺工具殺毒。
2 在交換機端口上應用IP-MAC綁定。在交換機端口上實施MAC地址與端口綁定和lP地址與端口的綁定相結合,從而達到在端口上應用lP與MAC地址綁定的功能。一旦綁定之后,交換機的ARP表就固定了,任何ARP欺騙都無法修改交換機的ARP表,同時也就保證了路由的準確性。
3 在交換機上設置虛擬局域網(VLAN)。由于廣播信息不能跨越虛擬局域網,因此通過劃分VLAN的方法,減小了ARP廣播的范圍,從而有效的減小了ARP欺騙帶來的影響。
4 安裝ARP防火墻軟件。隨著ARP欺騙的不斷升級,國內多款ARP防火墻軟件應運而生,如奇虎360ARP防火墻、金山ARP防火墻、瑞星防火墻等,都能有效的抑制ARP欺騙的發生。
網絡給人們帶來了很大的便利,但隨之而來的安全問題讓當初的設計者們始料未及。ARP的欺騙正是利用了ARP協議設計上的缺陷,給網絡安全、信息安全、甚至財產安全帶來極大隱患。但只要我們能從原理出發,找到問題的“癥結”所在,利用行之有效的解決方法和防范措施,就能減小或消滅ARP病毒帶來的危害,從而確保網絡的暢通和數據的安全。
(作者單位:河南省鄭州市中牟縣第一高級中學)