郝 偉
【摘要】本文首先介紹了ARP協(xié)議的概念和工作原理,接著分析了當(dāng)前ARP病毒的主要類型和特點,最后提出了一些具體的防范措施,來應(yīng)對ARP的欺騙和攻擊。本文筆者結(jié)合自己的一些網(wǎng)絡(luò)管理經(jīng)驗,對ARP病毒進行了分析和總結(jié),并提出了相應(yīng)的防范措施。
【關(guān)鍵詞】APR 病毒攻擊 防范措施
一、ARP協(xié)議及工作原理
1. ARP協(xié)議簡介
ARP協(xié)議是Address Resolution Protocol地址解析協(xié)議的縮寫,在局域網(wǎng)中以幀的方式進行傳輸數(shù)據(jù),并且根據(jù)幀中目標(biāo)主機的MAC地址來進行尋址。在以太網(wǎng)中,一臺主機要和另一臺主機進行直接通信,就必須要知道目的主機的MAC地址,這個目的MAC地址就是通過ARP協(xié)議獲取的,地址解析就是主機在發(fā)送幀前將目的主機的IP地址轉(zhuǎn)換成目的主機MAC地址的過程,這樣才能保證局域網(wǎng)內(nèi)各主機間可靠快速的通信。
2.ARP協(xié)議的工作原理
a.在同一個網(wǎng)段內(nèi)
假設(shè)主機A和B在同一個網(wǎng)段,主機A要向主機B發(fā)送信息。具體的地址解析過程如下。
(1)主機A首先查看自己的ARP緩存表,確定其中是否包含有主機B對應(yīng)的ARP表項。如果找到了主機B對應(yīng)的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數(shù)據(jù)包進行幀封裝,并將數(shù)據(jù)包發(fā)送給主機B。
(2)如果主機A在ARP緩存表中找不到對應(yīng)的MAC地址,則將緩存該數(shù)據(jù)報文,然后以廣播方式發(fā)送一個ARP請求報文。由于ARP請求報文以廣播方式發(fā)送,該網(wǎng)段上的所有主機都可以接收到該請求,但只有被請求的主機B會對該請求進行處理。
(3)主機B比較自己的IP地址和ARP請求報文中的目標(biāo)IP地址,如果相同則將ARP請求報文中的發(fā)送端主機A的IP地址和MAC地址存入自己的ARP表中。之后以單播方式發(fā)送ARP響應(yīng)報文給主機A。
(4)主機A收到ARP響應(yīng)報文后,將主機B的MAC地址加入到自己的ARP緩存表中以用于后續(xù)報文的轉(zhuǎn)發(fā),同時將IP數(shù)據(jù)包進行封裝后發(fā)送出去。
b.在不同網(wǎng)段間
當(dāng)主機A和主機B不在同一網(wǎng)段時,主機A就會先向網(wǎng)關(guān)發(fā)出ARP請求報文。當(dāng)主機A從收到的響應(yīng)報文中獲得網(wǎng)關(guān)的MAC地址后,將報文封裝并發(fā)給網(wǎng)關(guān)。如果網(wǎng)關(guān)沒有主機B的ARP表項,網(wǎng)關(guān)會廣播ARP請求,目標(biāo)IP地址為主機B的IP地址,當(dāng)網(wǎng)關(guān)從收到的響應(yīng)報文中獲得主機B的MAC地址后,就可以將報文發(fā)給主機B;如果網(wǎng)關(guān)已經(jīng)有主機B的ARP表項,網(wǎng)關(guān)直接把報文發(fā)給主機B。
二、ARP的主要欺騙及攻擊方式
1.ARP欺騙
網(wǎng)絡(luò)欺騙是黑客常用的攻擊手段之一,網(wǎng)絡(luò)ARP欺騙分為兩種,一種是對路由器ARP表的欺騙,另一種是對內(nèi)網(wǎng)主機的網(wǎng)關(guān)欺騙。前一種欺騙的原理是攻擊者通過截獲分析網(wǎng)關(guān)數(shù)據(jù),并通知路由器一系列錯誤的內(nèi)網(wǎng)IP地址和MAC地址的映射,按照一定的頻率不斷進行使真實的地址信息映射無法通過更新保存在路由器中,結(jié)果路由器轉(zhuǎn)發(fā)數(shù)據(jù)到錯誤的MAC地址的主機,造成正常主機無法收到信息;后一種ARP欺騙的原理是偽造網(wǎng)關(guān),它的原理是把真實網(wǎng)關(guān)的的IP地址映射到錯誤的MAC地址,這樣主機在向網(wǎng)關(guān)發(fā)送數(shù)據(jù)時,不能夠到達真正的網(wǎng)關(guān),如果假網(wǎng)關(guān)不能上網(wǎng),那么真實的主機通過假網(wǎng)關(guān)也不能上網(wǎng)。
2.中間人攻擊
按照ARP協(xié)議的設(shè)計,一個主機即使收到的ARP應(yīng)答并非自身請求得到的,也會將其IP地址和MAC地址的對應(yīng)關(guān)系添加到自身的ARP映射表中。這樣可以減少網(wǎng)絡(luò)上過多的ARP數(shù)據(jù)通信,但也為ARP欺騙創(chuàng)造了條件。如圖1所示,PC-X為X主機,MAC-X為X主機的物理地址,IP-X為X主機的IP地址。PC-A和PC-C通過交換機S進行通信。此時,如果有攻擊者(PC-B)想探聽PC-A和PC-C之間的通信,它可以分別給這兩臺主機發(fā)送偽造的ARP應(yīng)答報文,使PC-A中的ARP緩存表中IP-C和MAC-B所對應(yīng),PC-C中的ARP緩存表中IP-A和MAC-B所對應(yīng)。此后,PC-A和PC-C之間看似直接的通信,實際上都是通過攻擊者所在的主機間接進行的,如圖1虛箭頭所示,即PC-B擔(dān)當(dāng)了中間人的角色,可以對信息進行竊取和篡改。這種攻擊方式就稱作中間人攻擊。
3.ARP泛洪攻擊
攻擊主機持續(xù)把偽造的IP地址和MAC地址的映射對發(fā)給受害主機,對于局域網(wǎng)內(nèi)的所有主機和網(wǎng)關(guān)進行廣播,搶占網(wǎng)絡(luò)帶寬并干擾正常通信。導(dǎo)致網(wǎng)絡(luò)中的主機和交換機不停地來更新自己的IP地址和MAC地址的映射表,浪費網(wǎng)絡(luò)帶寬和主機的CPU,使主機間都不能正常通信。
除了中間人攻擊、ARP泛洪攻擊外,還有Dos攻擊等。
三、ARP攻擊的主要防范措施
1. IP地址和MAC地址的靜態(tài)綁定
(1)在用戶端進行綁定
ARP欺騙是通過ARP的動態(tài)刷新,并不進行驗證的漏洞,來欺騙內(nèi)網(wǎng)主機的,所以我們把ARP表全部設(shè)置為靜態(tài)可以解決對內(nèi)網(wǎng)的欺騙,也就是在用戶端實施IP和MAC地址綁定,可以再用戶主機上建立一個批處理文件,此文件內(nèi)容是綁定內(nèi)網(wǎng)主機IP地址和MAC地址,并包括網(wǎng)關(guān)主機的IP地址和MAC地址的綁定,并把此批處理文件放到系統(tǒng)的啟動目錄下,使系統(tǒng)每次重啟后,自動運行此文件,自動生成內(nèi)網(wǎng)主機IP地址到MAC地址的映射表。這種方法使用于小型的網(wǎng)絡(luò)中。
(2)在交換機上綁定
在核心交換機上綁定用戶主機IP地址和網(wǎng)卡的MAC地址,同時在邊緣交換機上將用戶計算機網(wǎng)卡的IP地址和交換機端口綁定的雙重安全綁定方式。這樣可以極大程度上避免非法用戶使用ARP欺騙或盜用合法用戶的IP地址進行流量的盜取,可以防止非法用戶隨意接入網(wǎng)絡(luò),網(wǎng)絡(luò)用戶如果擅自改動本機網(wǎng)卡的IP或MAC地址,該機器的網(wǎng)絡(luò)訪問將被拒絕,從而降低了ARP攻擊的概率。
2.采用VLAN技術(shù)隔離端口
局域網(wǎng)的網(wǎng)絡(luò)管理員可根據(jù)需要,將本單位網(wǎng)絡(luò)規(guī)劃出若干個VLAN,當(dāng)發(fā)現(xiàn)有非法用戶在惡意利用ARP欺騙攻擊網(wǎng)絡(luò),或因合法用戶受病毒ARP病毒感染而影響網(wǎng)絡(luò)時,網(wǎng)絡(luò)管理員可先找到該用戶所在的交換機端口,然后將該端口劃一個單獨的VLAN,將該用戶與其它用戶進行隔離,以避免對其它用戶的影響,當(dāng)然也可以利用將交換機的該端口關(guān)掉來屏蔽該用戶對網(wǎng)絡(luò)造成影響。
3.采取802.1X認證
802.1X認證可以將使未通過認證的主機隔離,當(dāng)發(fā)現(xiàn)某臺主機中毒時,將禁止其認證從而達到將中毒主機隔離網(wǎng)絡(luò)的目的。
例如,在本人所在學(xué)校就是需要上網(wǎng)的用戶要提前到網(wǎng)絡(luò)管理中心登記,也就是在網(wǎng)關(guān)中心申請一個用戶名,并創(chuàng)建密碼,并且把自己的MAC地址和用戶名進行綁定,如果自己的換網(wǎng)卡后,還需要去網(wǎng)絡(luò)管理中心進行重新綁定。用戶上網(wǎng)前首先運行一個客戶端軟件,輸入用戶名密碼后,通過認證服務(wù)器認證成功后才能上網(wǎng)。
4.防火墻和殺毒軟件
可以安裝ARP防火墻或者開啟局域網(wǎng)ARP防護,比如360安全衛(wèi)士等ARP病毒專殺工具,并且實時下載安裝系統(tǒng)漏洞補丁,關(guān)閉不必要的服務(wù)等來減少病毒的攻擊。