黃學(xué)毛
摘要:ARP攻擊是計算機網(wǎng)絡(luò)面臨的重要威脅之一,如何防御ARP攻擊已經(jīng)成為了計算機網(wǎng)絡(luò)領(lǐng)域中一個熱點問題。該文首先分析了ARP的工作原理,然后研究了ARP攻擊的原理和危害,最后提出了防御ARP攻擊的措施和手段。
關(guān)鍵詞:局域網(wǎng);ARP攻擊;防范措施
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)02-0031-02
1 概述
ARP攻擊是局域網(wǎng)中極為常見的網(wǎng)絡(luò)攻擊手段。ARP攻擊之所以會出現(xiàn),是因為互聯(lián)網(wǎng)協(xié)議IPV4存在一些不完善之處,IPV4并沒有考慮到ARP協(xié)議的不安全問題,因此,也造成了很多ARP攻擊的出現(xiàn)。雖然后續(xù)的IPV6協(xié)議已經(jīng)得到完善,但是目前IPV4仍然是主流,并沒有完全過渡到IPV6協(xié)議,因此,對于ARP攻擊的防御仍然具有十分重要的作用。
而隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,ARP攻擊的手段和方式層出不窮,其破壞性也越來越大,如何防御ARP攻擊,降低攻擊帶來了危害,已經(jīng)成為網(wǎng)絡(luò)安全領(lǐng)域的重要問題。
2 ARP工作原理
ARP協(xié)議就是地址解析協(xié)議,其英文全稱是Address Resolution Protocol,ARP協(xié)議的主要功能是根據(jù)IP地址來獲取物理地址。在局域網(wǎng)中,主機之間通信時,傳送數(shù)據(jù)的網(wǎng)卡等硬件設(shè)備只能識別對方的物理地址,但是主機在通信時只會知道目標(biāo)主機的IP地址,因此,需要通過目標(biāo)主機的IP地址解析出目標(biāo)主機的物理地址,這就要使用到地址解析協(xié)議。
ARP的具體工作原理如下:
在局域網(wǎng)內(nèi),當(dāng)主機A(IP地址是192.168.1.10,物理地址是50-E5-49-B9-41-D4)需要與主機B(IP地址是192.168.1.20,物理地址是40-C4-29-E3-16-F5)通信時,其工作步驟如下所示。
1)主機A會檢查本機的路由表內(nèi)容,確定主機B的IP地址,然后會檢查本機的ARP緩存表,查看緩存表中是否有主機B的IP地址與物理地址的映射,如果有映射,則直接與主機B通信。
2)如果主機A沒有找到主機B的IP地址與物理地址的映射,那么會在局域網(wǎng)中廣播一個ARP請求幀,這個請求幀包含主機B的IP地址以及主機A的IP地址和物理地址。局域網(wǎng)中的其他所有主機都會接收到主機A發(fā)出來的ARP請求,收到之后則會立刻檢查是否與本機的IP地址匹配,如果不匹配則會丟棄ARP請求。
3)當(dāng)主機B確定ARP請求中的IP地址與自身IP地址相同時,則會把ARP請求中主機A的IP地址和物理地址存入自身的ARP緩存表中。
4)主機B會對主機A發(fā)出的ARP請求進(jìn)行應(yīng)答,應(yīng)答信息中包含有自身的物理地址。
5)當(dāng)主機A收到主機B的ARP回復(fù)信息之后,就會把主機B的IP地址與物理地址的映射存到本機ARP緩存表中。這樣,主機A就可以和主機B進(jìn)行通信了。
3 ARP攻擊
3.1 ARP攻擊原理
1)ARP欺騙
由于ARP協(xié)議的設(shè)計存在漏洞,因此,很多攻擊者會利用ARP協(xié)議的漏洞來發(fā)動ARP攻擊,其中,ARP欺騙是最為常見的ARP攻擊方式。ARP協(xié)議并不是只有發(fā)送了ARP請求之后才會接收ARP應(yīng)答,因此,很多攻擊者會直接向局域網(wǎng)內(nèi)主機發(fā)送ARP應(yīng)答,讓受害主機更新其ARP緩存表,這就是ARP欺騙。
ARP欺騙的具體原理是這樣的,假設(shè)局域網(wǎng)中有三臺主機,分別是主機A(IP地址是192.168.1.10,物理地址是50-E5-49-B9-41-D4)、主機B(IP地址是192.168.1.20,物理地址是40-C4-29-E3-16-F5)和主機C(IP地址是192.168.1.30,物理地址是20-D4-21-F2-56-00),假設(shè)主機C是攻擊者,其可以向主機A發(fā)送一個ARP應(yīng)答,欺騙主機A自己的IP地址是192.168.1.20,物理地址是20-D4-21-F2-56-00,主機A在接收到ARP應(yīng)答之后就會更新自己的ARP緩存表,把主機C偽造的IP地址和物理地址的映射記錄到ARP緩存表中。主機C會用同樣的方式發(fā)送ARP應(yīng)答給主機B,欺騙主機B自己的IP地址是192.168.1.10,物理地址是20-D4-21-F2-56-00。這樣主機A和主機B之間的所有通信數(shù)據(jù)都會經(jīng)過主機C,主機C可以竊取主機A和主機B的通信信息。這就是典型的ARP欺騙。
ARP欺騙最常用的方式并不是通過偽造局域網(wǎng)內(nèi)部主機的IP地址和物理地址映射的手段,而是偽造網(wǎng)關(guān)。攻擊者根據(jù)上述原理來偽造局域網(wǎng)網(wǎng)關(guān),局域網(wǎng)內(nèi)所有主機都要通過網(wǎng)關(guān)來訪問Internet網(wǎng)絡(luò),這樣,攻擊者就可以獲取局域網(wǎng)內(nèi)主機與外部網(wǎng)絡(luò)通信的數(shù)據(jù)了。
2)ARP請求風(fēng)暴
ARP請求風(fēng)暴就是在局域網(wǎng)內(nèi)不斷廣播ARP請求/應(yīng)答,攻擊者對局域網(wǎng)內(nèi)所有主機進(jìn)行掃描,不斷廣播ARP請求/應(yīng)答,這樣就會占用大量的網(wǎng)絡(luò)帶寬,導(dǎo)致網(wǎng)絡(luò)擁堵,使得網(wǎng)速下降。
3.2ARP攻擊的危害
ARP攻擊是網(wǎng)絡(luò)攻擊的主要方式之一,攻擊者采用的攻擊策略的不同也會導(dǎo)致不同的影響。如果攻擊者是對通信的雙方都發(fā)起了ARP欺騙,那么雙方的通信數(shù)據(jù)都會經(jīng)過攻擊者這個中轉(zhuǎn)站,通信數(shù)據(jù)會被攻擊者竊取,導(dǎo)致雙方通信數(shù)據(jù)的泄露。
如果攻擊者只是欺騙一方的主機,那么只會導(dǎo)致受欺騙主機與攻擊者的通信。如果攻擊者偽造的是網(wǎng)關(guān),那么局域網(wǎng)中所有主機要訪問外網(wǎng)只會與攻擊者通信,而不會連入外部網(wǎng)絡(luò),這就導(dǎo)致局域網(wǎng)內(nèi)主機處于斷線狀態(tài)。
如果攻擊者發(fā)動了ARP請求風(fēng)暴,則會導(dǎo)致網(wǎng)絡(luò)帶寬資源被占用,導(dǎo)致網(wǎng)絡(luò)的延時或斷線。
4 防范措施
4.1基本防范措施
為了預(yù)防和應(yīng)對ARP攻擊,有一些基本的防范措施,這些防范措施操作簡單,也不需要有很強的計算機操作能力,但是這些措施能夠暫時的消除故障,不能永久性的消除隱患,具體來說有以下幾種:
1)重啟計算機。因為計算機每一次重新啟動都會把原有ARP緩存表清空,而ARP攻擊都是偽造IP地址和物理地址的映射關(guān)系,重啟計算機相當(dāng)于把偽造的IP地址和物理地址的映射關(guān)系都刪除了,這樣就可以暫時阻止ARP攻擊。
2)對路由器等網(wǎng)絡(luò)設(shè)備復(fù)位。對網(wǎng)絡(luò)設(shè)備復(fù)位的原理與重啟計算機是一樣的,把網(wǎng)絡(luò)設(shè)備恢復(fù)到出廠設(shè)置,可以暫時阻止ARP攻擊。
3)禁用網(wǎng)卡。為了防止外來人員利用ARP進(jìn)入局域網(wǎng)中盜竊IP地址,可以采用禁用網(wǎng)卡的方式,這樣就切斷了外來人員進(jìn)入局域網(wǎng)的可能性,ARP攻擊也無法獲取目標(biāo)IP地址,從而失去了威脅。
4)安裝殺毒軟件。目前,絕大部分的殺毒軟件都會有防止ARP攻擊的功能,殺毒軟件會對網(wǎng)絡(luò)中的通信量進(jìn)行檢查,同時也會診斷訪問信息,這樣就可以有效判斷是否會存在ARP攻擊,如果出現(xiàn)ARP攻擊,殺毒軟件會采取相應(yīng)的措施進(jìn)行防御。
這些方法是防御ARP攻擊的基本措施,對于計算機技術(shù)較為薄弱的用戶來說,可以采用以上方式來初步防御ARP攻擊。
4.2 IP地址和物理地址的靜態(tài)綁定
ARP欺騙攻擊是偽造IP地址與物理地址的映射關(guān)系來欺騙目標(biāo)主機,為了防御ARP欺騙攻擊,可以采用IP地址和物理地址靜態(tài)綁定的方式,固定IP地址與物理地址的映射關(guān)系。靜態(tài)綁定IP地址和物理地址的方法就是在命令提示符界面輸入“ARP –s 目標(biāo)IP地址 目標(biāo)物理地址”。
由于ARP攻擊者一般都是選擇偽造局域網(wǎng)網(wǎng)關(guān)的IP地址與物理地址的映射關(guān)系,因此,以局域網(wǎng)網(wǎng)關(guān)IP地址和物理地址的靜態(tài)綁定為例,介紹一下靜態(tài)綁定的方法。
假設(shè)局域網(wǎng)中網(wǎng)關(guān)的IP地址是192.168.1.6,物理地址是00-16-78-cb-80-b4。要在局域網(wǎng)內(nèi)主機上靜態(tài)綁定網(wǎng)關(guān)的IP地址和物理地址,其具體操作方法如下:
1)點擊“開始”按鈕,在搜索框中輸入“cmd”。
2)在彈出的命令提示符界面中輸入“arp -d”,這樣就清除了ARP緩存記錄表中的信息,如下圖1所示。
完成之后可以輸入“arp -a”來查看ARP緩存表中沒有任何的信息。
3)輸入“arp –s 192.168.1.6 00-16-78-cb-80-b4”,就可以完成網(wǎng)關(guān)IP地址和物理地址的綁定,如下圖2所示。
完成上述步驟之后就正式完成了局域網(wǎng)網(wǎng)關(guān)IP地址和物理地址的綁定,可以通過輸入“arp -a”來查看綁定情況,如下圖3所示。
從圖3中可以看出,主機上已經(jīng)實現(xiàn)了網(wǎng)關(guān)IP地址和物理地址的靜態(tài)綁定,這樣即使ARP緩存表刷新也不會刪除這一對應(yīng)關(guān)系。當(dāng)電腦重新啟動時,網(wǎng)關(guān)IP地址和物理地址的靜態(tài)綁定就會消失,為了防止這種情況,可以把上述步驟編輯成一個批處理文件,并且把這個批處理文件設(shè)置成“啟動”項,這樣,當(dāng)電腦每次開機時都會完成網(wǎng)關(guān)IP地址和物理地址的靜態(tài)綁定。
4.3 ARP防火墻
ARP防火墻的目的就是為了防御ARP攻擊,其主要有兩個功能,第一是保證計算機能夠準(zhǔn)確獲取網(wǎng)關(guān)的物理地址,第二是保證網(wǎng)關(guān)能夠準(zhǔn)確獲取計算機的物理地址。ARP防火墻不但能夠保護局域網(wǎng)不受到外來的ARP攻擊,也能夠阻止局域網(wǎng)內(nèi)部ARP攻擊威脅外部。
參考文獻(xiàn):
[1] 史雋彬,秦科. ARP攻擊現(xiàn)狀分析及一種應(yīng)對ARP攻擊的方法[J].陜西理工學(xué)院學(xué)報:自然科學(xué)版,2013,29 (2):48-52.
[2] 王鎮(zhèn)洪,王育琳,藍(lán)景立,等.校園網(wǎng)內(nèi)ARP攻擊分析和防御解決方法[J].福建電腦,2013,29(10):45-47
[3] 郭會茹,楊斌,牛立全. ARP攻擊原理分析及其安全防范措施[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015,15(6):5-6.