潘家富
摘? 要:計(jì)算機(jī)網(wǎng)絡(luò)的迅猛發(fā)展和普及,改變了人們的工作與生活,但同時(shí)也給人們帶來(lái)了新的隱患,網(wǎng)絡(luò)安全事件層出不窮。在目前計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)行與使用中,ARP攻擊成為最為常見(jiàn)的問(wèn)題。本文結(jié)合自身實(shí)際工作經(jīng)驗(yàn),提出了一種新的ARP防御方案,在介紹IP地址和MAC地址的基礎(chǔ)上,闡述了ARP協(xié)議的工作過(guò)程,剖析了ARP協(xié)議存在的弊端,分析了ARP攻擊的原理。從網(wǎng)管中心端和用戶端兩個(gè)角度討論防范ARP攻擊的策略,并在網(wǎng)絡(luò)環(huán)境中演示了這些策略防范ARP攻擊的效果。
關(guān)鍵詞:地址解析協(xié)議;安全防范;網(wǎng)絡(luò)攻擊
中圖分類(lèi)號(hào):TP393? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:The rapid development and popularization of computer network have changed people's work and life,but also brought people new hidden troubles-endless network security events.In the current computer network operation and application,ARP attack constitutes the most common problem.The paper proposes a new ARP defense scheme based on practical experience.On the basis of introducing IP address and MAC address,this paper elaborates on the working process of ARP protocol,expounds the disadvantages of ARP,and analyzes the principle of ARP attack.This paper discusses the strategies of preventing ARP attack from both the network tube center and the user,and demonstrates these strategies in the network environment to prevent the effects of ARP attack.
Keywords:address resolution protocol;security;cyber attacks
1? ?引言(Introduction)
自2005年首例ARP(Address Resolution Protoco)病毒被發(fā)現(xiàn)起,到目前ARP病毒已經(jīng)排在危害病毒的前五位,ARP病毒極大地威脅著計(jì)算機(jī)網(wǎng)絡(luò)中用戶的安全。ARP攻擊的危害很大,較簡(jiǎn)單的ARP攻擊會(huì)使計(jì)算機(jī)網(wǎng)絡(luò)掉線,重要數(shù)據(jù)的丟失或密碼被盜竊,具體的表現(xiàn)狀況如下:主機(jī)網(wǎng)絡(luò)的網(wǎng)速時(shí)快時(shí)慢,非常不穩(wěn)定,會(huì)導(dǎo)致網(wǎng)絡(luò)的通訊質(zhì)量不穩(wěn)定;主機(jī)死機(jī),主機(jī)容易出現(xiàn)IP沖突;會(huì)導(dǎo)致被攻擊的主機(jī)通訊困難。較復(fù)雜的ARP攻擊會(huì)使核心資料被盜或出現(xiàn)嚴(yán)重的死機(jī)情況,ARP攻擊使得局域網(wǎng)中整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)上網(wǎng)的用戶賬戶信息被盜,可能會(huì)被用于進(jìn)行一些其他的非法活動(dòng),給計(jì)算機(jī)網(wǎng)絡(luò)用戶造成巨大的損失;破壞計(jì)算機(jī)的屏保。ARP攻擊會(huì)造成IP地址沖突,危害級(jí)別高于屏??杀Wo(hù)的級(jí)別,所以ARP攻擊導(dǎo)致很多不安全問(wèn)題[1]。
本論文從ARP協(xié)議和IP協(xié)議本身出發(fā),在分析IP地址和MAC地址,以及ARP攻擊原理的基礎(chǔ)上,指出ARP協(xié)議的不安全因素,并基于網(wǎng)管中心端和用戶端的防范策略,針對(duì)存在的安全問(wèn)題給出簡(jiǎn)單可行的防御方法,達(dá)到在一定范圍內(nèi)解決局域網(wǎng)內(nèi)ARP攻擊的目的。
2? 研究的背景和意義(Background and significanceof the study)
當(dāng)前,計(jì)算機(jī)網(wǎng)絡(luò)已成為人們?nèi)粘9ぷ魃畹闹匾A(chǔ)。計(jì)算機(jī)網(wǎng)絡(luò)通過(guò)互連和資源整合,給我們的日常工作生活帶來(lái)了便利的同時(shí),也給我們提供了豐富多彩的娛樂(lè)方式,從而極大地滿足了人們相互交換信息和相互尋求幫助的需要,不斷地提高人們的日常工作效率的同時(shí),也改變?nèi)藗兊娜粘I罘绞健km然計(jì)算機(jī)網(wǎng)絡(luò)已慢慢地成了人們?nèi)粘9ぷ魃钪斜夭豢缮俚摹叭粘S闷贰?,但是?jì)算機(jī)網(wǎng)絡(luò)同時(shí)也給人們帶來(lái)了許多麻煩。因?yàn)槭褂糜?jì)算機(jī)網(wǎng)絡(luò)應(yīng)用而造成的各種安全問(wèn)題數(shù)量逐年上升。
如今,在我們?cè)絹?lái)越忽視局域網(wǎng)內(nèi)的安全問(wèn)題的情況下,我們卻越來(lái)越依賴于互聯(lián)網(wǎng)通訊,特別是局域網(wǎng)內(nèi)安全的通訊。許多公司或者校園會(huì)十分重視防范局域網(wǎng)外的攻擊,但是似乎都認(rèn)為局域網(wǎng)內(nèi)的ARP攻擊扮演著一個(gè)不怎么重要的角色,因此一般對(duì)ARP攻擊關(guān)注的程度都不夠??傊?,如何更好地防御ARP攻擊顯得迫在眉睫。
3? ? 國(guó)內(nèi)外研究現(xiàn)狀(Studies at home and abroad)
目前,國(guó)內(nèi)外學(xué)者采取積極的態(tài)度來(lái)對(duì)待ARP攻擊,而不是被動(dòng)地等待問(wèn)題的出現(xiàn)。許多國(guó)內(nèi)外學(xué)者對(duì)ARP攻擊的原理進(jìn)行深入研究,并提出了相應(yīng)的防御措施。
在基于用戶端的防范策略方面。鄭文兵和李成忠提出了一種改進(jìn)的ARP協(xié)議算法,對(duì) ARP協(xié)議報(bào)文進(jìn)行控制 ,使其更加安全[2]。陳曙(山東大學(xué)信息科學(xué)與工程學(xué)院副教授)提出,通過(guò)修改TCP IP內(nèi)核源代碼,主要是修改廣播ARP請(qǐng)求函數(shù)arprequest和處理接收到的ARP報(bào)文的函數(shù)in_arpinput得以實(shí)現(xiàn)防范ARP攻擊[3]。
在基于網(wǎng)管中心端的防范策略方面。劉亞麗和鄧高峰提出,借助ARP服務(wù)器處理技術(shù),限制局域網(wǎng)內(nèi)部的其他主機(jī)只能接收來(lái)自ARP服務(wù)器發(fā)出的ARP響應(yīng)[4]。Seung Yeob Nam、Dongwon Kim、Jeongeun Kim提出了一種增強(qiáng)版的ARP協(xié)議來(lái)防止基于ARP病毒的中間人攻擊[5]。
在網(wǎng)管中心端和用戶端結(jié)合的防范策略方面,Han-Wei Hsiao、Cathy S.Lin、Ssu-Yang Chang提出了一種對(duì)SNMP流數(shù)據(jù)進(jìn)行挖掘的ARP攻擊檢測(cè)系統(tǒng)[6]。吳小平,周建中和方曉惠提出,基于SNMP協(xié)議主動(dòng)防御ARP欺騙的基本原理[7]。
這些防范對(duì)策都在一定程度上有效緩解了ARP攻擊的危害。
4? ?研究?jī)?nèi)容(Research contents)
本文主要研究以下內(nèi)容:
(1)ARP攻擊的原理分析。先講解ARP協(xié)議的工作過(guò)程,指出該過(guò)程中可能存在的漏洞,再詳細(xì)分析ARP攻擊的原理。
(2)闡述基于網(wǎng)管中心端的防范策略。先講解VLAN
(Virtual Local Area Network)劃分工作過(guò)程,再在局域網(wǎng)的網(wǎng)管中心端實(shí)施VLAN劃分以實(shí)現(xiàn)ARP的防御。
(3)闡述基于用戶端的防范策略。先講解360局域網(wǎng)防火墻,ARP緩存內(nèi)容和靜態(tài)ARP記錄的工作過(guò)程,再在局域網(wǎng)內(nèi)用戶端安裝360局域網(wǎng)防火墻,實(shí)現(xiàn)實(shí)時(shí)刪除ARP緩存內(nèi)容和添加靜態(tài)ARP記錄。
(4)演示ARP攻擊及防范實(shí)例。使用攻擊軟件“WinArpAttacker3.72”偽裝成其他主機(jī)的MAC地址進(jìn)行ARP攻擊。利用在局域網(wǎng)內(nèi)網(wǎng)管中心端實(shí)現(xiàn)VLAN劃分,或在局域網(wǎng)內(nèi)用戶端開(kāi)啟360局域網(wǎng)防火墻,實(shí)現(xiàn)實(shí)時(shí)刪除ARP緩存內(nèi)容,以及添加靜態(tài)ARP記錄的防范方法進(jìn)行防范ARP攻擊。
5? ?ARP攻擊原理分析(ARP attack principle analysis)
5.1? ?IP地址和MAC地址簡(jiǎn)介
(1)IP地址。為了確保網(wǎng)絡(luò)上每臺(tái)計(jì)算機(jī)間能夠方便地進(jìn)行相互間通信,TCP/IP協(xié)議(Transmission Control Protocol/Internet Protocol)規(guī)定用一串32位的二進(jìn)制地址來(lái)標(biāo)識(shí)相互通信的每臺(tái)主機(jī)[8],這串32位的數(shù)字就是我們俗稱(chēng)每臺(tái)計(jì)算機(jī)的IP地址。如圖1所示,IP數(shù)據(jù)包由32位源IP地址和32位目的IP地址等構(gòu)成,通過(guò)分析IP數(shù)據(jù)包可知發(fā)出該數(shù)據(jù)包的源主機(jī)和接收該數(shù)據(jù)包的目的主機(jī)。
(2)MAC地址。所有可以聯(lián)接到網(wǎng)絡(luò)的計(jì)算機(jī)都必須要配置一塊網(wǎng)卡,網(wǎng)卡上有一串地址,這串地址叫作物理地址(MAC地址)。如圖2所示,TCP/IP四層模型的第二層(數(shù)據(jù)鏈路層)中需要使用到MAC地址。網(wǎng)絡(luò)層需要通過(guò)使用ARP協(xié)議,把IP地址轉(zhuǎn)換成MAC地址,如此才能將數(shù)據(jù)包傳遞到數(shù)據(jù)鏈路層。如圖3所示,MAC地址采用一串48位的二進(jìn)制地址來(lái)標(biāo)識(shí)相互通信的每臺(tái)主機(jī),有時(shí)為方便書(shū)寫(xiě),會(huì)用六個(gè)字節(jié)的十六進(jìn)制表示MAC地址,每?jī)蓚€(gè)字節(jié)間用冒號(hào)隔開(kāi)。由生產(chǎn)商編號(hào)和設(shè)備編號(hào)這兩部分構(gòu)成MAC地址,生產(chǎn)商編號(hào)由前三個(gè)字節(jié)來(lái)表示, 設(shè)備編號(hào)由后三個(gè)字節(jié)來(lái)表示。
5.2? ?ARP工作過(guò)程簡(jiǎn)介
在局域網(wǎng)中,一臺(tái)主機(jī)要和另外一臺(tái)主機(jī)進(jìn)行直接通信前就需要先判斷與目的主機(jī)是否是同一個(gè)網(wǎng)段。例如圖4所示,源主機(jī)先把目標(biāo)主機(jī)的IP地址與自己的子網(wǎng)掩碼進(jìn)行“與”操作,以此判斷目標(biāo)主機(jī)與自己是否在同一網(wǎng)段(目標(biāo)主機(jī)的IP地址為172.16.2.160,源主機(jī)的IP地址為172.16.34.10,源主機(jī)的子網(wǎng)掩碼為255.255.0.0)。
如果是同一網(wǎng)段,那么要請(qǐng)求的是目的主機(jī)的MAC地址。并且在源主機(jī)的ARP緩沖區(qū)沒(méi)有與目標(biāo)IP地址相對(duì)應(yīng)的物理地址(MAC地址)信息,則啟用ARP協(xié)議工作。ARP基本功能就是通過(guò)目標(biāo)計(jì)算機(jī)的IP地址,查詢目標(biāo)計(jì)算機(jī)的MAC地址[9]。假設(shè)局域網(wǎng)內(nèi)有兩臺(tái)主機(jī)A和B,當(dāng)主機(jī)A需要與主機(jī)B進(jìn)行通信時(shí), 主機(jī)A首先利用ARP協(xié)議獲得主機(jī)B的MAC地址,為后續(xù)進(jìn)行通信做準(zhǔn)備。現(xiàn)主機(jī)A已經(jīng)知道主機(jī)B的IP地址且主機(jī)A需要與主機(jī)B進(jìn)行通信,此時(shí)需要查詢目標(biāo)主機(jī)的MAC地址。如圖5所示,主機(jī)請(qǐng)求的是同一網(wǎng)段的目的主機(jī)的MAC地址。
如果不同網(wǎng)段,那么要請(qǐng)求的是默認(rèn)網(wǎng)關(guān)的MAC地址,在源主機(jī)的ARP緩沖區(qū)沒(méi)有與默認(rèn)網(wǎng)關(guān)的IP地址相對(duì)應(yīng)的物理地址(MAC地址)信息,則啟用ARP協(xié)議工作。與源主機(jī)在同一網(wǎng)段中的其他所有主機(jī)都能收到ARP請(qǐng)求報(bào)文并能夠?qū)@個(gè)ARP請(qǐng)求報(bào)文進(jìn)行分析, 默認(rèn)網(wǎng)關(guān)發(fā)現(xiàn)報(bào)文中的目標(biāo)IP地址與自己的IP地址相同,則它向源主機(jī)發(fā)送ARP響應(yīng)報(bào)文[10]。如圖6所示,主機(jī)請(qǐng)求的是網(wǎng)關(guān)的MAC地址。
通過(guò)以上ARP協(xié)議的工作原理的分析可以發(fā)現(xiàn),ARP協(xié)議是建立在局域網(wǎng)中主機(jī)可以相互通信的基礎(chǔ)之上,因而,ARP具有廣播性、無(wú)連接性、無(wú)序性、無(wú)認(rèn)證字段、無(wú)關(guān)性和動(dòng)態(tài)性等一系列的安全漏洞[11]。因?yàn)檫@些安全問(wèn)題的存在,所以利用ARP協(xié)議漏洞進(jìn)行網(wǎng)絡(luò)攻擊是相對(duì)有效網(wǎng)絡(luò)攻擊方法,并且是比較難以預(yù)防的網(wǎng)絡(luò)攻擊方式。
5.3? ?ARP攻擊原理分析
由于ARP協(xié)議并不會(huì)對(duì)報(bào)文信息的真實(shí)性進(jìn)行校驗(yàn),而且某主機(jī)沒(méi)有發(fā)出ARP請(qǐng)求報(bào)文給其他任何主機(jī)的情況下,該主機(jī)同樣可以接受任意主機(jī)發(fā)出的請(qǐng)求ARP報(bào)文的響應(yīng)報(bào)文,并且該主機(jī)會(huì)更新自己的ARP緩存,把新的地址映射信息加入ARP高速緩存中。這種缺陷使得偽造別人的物理地址可以實(shí)現(xiàn)ARP攻擊,進(jìn)而使得破壞局域網(wǎng)安全通信成為一種可能。如圖7所示,下面通過(guò)具體的例子來(lái)觀察ARP攻擊實(shí)現(xiàn)的具體過(guò)程:三臺(tái)計(jì)算機(jī)連接到一臺(tái)交換機(jī)。二層交換機(jī)的工作機(jī)制:交換機(jī)經(jīng)過(guò)自動(dòng)學(xué)習(xí),將把它的端口號(hào)和主機(jī)的MAC地址建立對(duì)應(yīng)關(guān)系。在此假設(shè)主機(jī)PC1的IP地址為IP1,MAC地址為MAC1;主機(jī)PC2的IP地址為IP2,MAC地址為MAC2;主機(jī)PC3的IP地址為IP3,MAC地址為MAC3。
在該網(wǎng)絡(luò)中,假定主機(jī)PC1和主機(jī)PC2可以合法的進(jìn)行通信,此時(shí)不合法的主機(jī)PC3就可以利用ARP攻擊,竊聽(tīng)主機(jī)PC1和主機(jī)PC2的通信。過(guò)程如下:主機(jī)PC3偽裝成主機(jī)PC2,主動(dòng)給主機(jī)PC1發(fā)送ARP請(qǐng)求的響應(yīng)包;數(shù)據(jù)包源IP地址為主機(jī)PC2的IP,源MAC地址為主機(jī)PC3的物理地址。目標(biāo)MAC地址為主機(jī)PC1的物理地址。主機(jī)PC1接受主機(jī)PC3發(fā)出的請(qǐng)求ARP報(bào)文的響應(yīng)報(bào)文,并且主機(jī)PC1刷新ARP高速緩存,最終主機(jī)PC1的ARP表存在主機(jī)PC3的MAC地址與主機(jī)PC2的IP地址存在映射。同理,主機(jī)PC3偽裝成主機(jī)PC1,主動(dòng)給主機(jī)PC2發(fā)送ARP請(qǐng)求的響應(yīng)包;最終主機(jī)PC2的ARP表存在主機(jī)PC3的MAC地址與主機(jī)PC1的IP地址存在映射。此時(shí)不合法的主機(jī)PC3就可以利用ARP攻擊。竊聽(tīng)主機(jī)PC1和主機(jī)PC3的通信。
經(jīng)過(guò)對(duì)ARP攻擊原理的分析,我們能夠發(fā)現(xiàn)ARP攻擊比較容易實(shí)現(xiàn)。在這個(gè)例子中因?yàn)锳RP攻擊發(fā)生在局域網(wǎng)內(nèi),所以只有內(nèi)部的機(jī)器才能夠互相監(jiān)聽(tīng)。對(duì)于本來(lái)就存在嚴(yán)重的安全漏洞的網(wǎng)絡(luò)來(lái)說(shuō),ARP攻擊是一個(gè)較為嚴(yán)重的安全隱患。如果攻擊方入侵到局域網(wǎng)內(nèi)的某臺(tái)主機(jī)上,并行進(jìn)行ARP攻擊,如果ARP攻擊成功。那么所有數(shù)據(jù)都將流經(jīng)原本不應(yīng)該流經(jīng)的主機(jī),將給網(wǎng)絡(luò)造成更大的破壞。
6? ARP攻擊的防范對(duì)策(Countermeasures for ARPattack)
6.1? ?網(wǎng)管中心端的防范策略
局域網(wǎng)內(nèi)主機(jī)被惡意修改ARP表后就不會(huì)把數(shù)據(jù)包發(fā)送給正確的主機(jī),而是發(fā)送給一個(gè)錯(cuò)誤的MAC地址的主機(jī),造成網(wǎng)絡(luò)非正常通訊及網(wǎng)絡(luò)竊聽(tīng)。所以需要對(duì)網(wǎng)管中心端進(jìn)行ARP攻擊防范,因?yàn)榇蟛糠值木W(wǎng)管中心端由交換機(jī)構(gòu)成,所以我們可以在交換機(jī)上創(chuàng)建虛擬局域網(wǎng)進(jìn)行ARP攻擊防范。
虛擬局域網(wǎng)(Virtual Local Area Network,VLAN),建立在物理局域網(wǎng)基礎(chǔ)之上,通過(guò)支持VLAN功能的網(wǎng)絡(luò)設(shè)備及其管理軟件構(gòu)成的,可以跨越不同網(wǎng)段,不同網(wǎng)絡(luò)的邏輯網(wǎng)絡(luò)。因?yàn)閺V播信息只在本VLAN中傳播并且劃分VLAN技術(shù)可以增加廣播域的數(shù)量,減少?gòu)V播域的范圍,使得廣播信息只有在本VLAN內(nèi)傳播,所以增加了網(wǎng)絡(luò)的有效帶寬,提高了網(wǎng)絡(luò)性能??梢詫⒕钟蚓W(wǎng)劃分成為多個(gè)不同的較小范圍的VLAN,一個(gè)VLAN內(nèi)發(fā)生的ARP攻擊不會(huì)影響到其他VLAN內(nèi)的主機(jī)通信,這個(gè)方法可以縮小ARP欺騙攻擊受影響的范圍。即使在局域網(wǎng)中出現(xiàn)了ARP欺騙攻擊事件,判別攻擊源的范圍會(huì)比較容易。與此同時(shí),網(wǎng)絡(luò)管理員可以采用劃分VLAN技術(shù),簡(jiǎn)化管理的網(wǎng)絡(luò),在局域網(wǎng)中通過(guò)劃分多個(gè)VLAN,可以增加廣播域的數(shù)量,減少?gòu)V播域的范圍,這樣可以有效地抑制廣播風(fēng)暴的出現(xiàn),提高了網(wǎng)絡(luò)的安全性。
6.2? ?用戶端的防范策略
(1)實(shí)時(shí)刪除ARP緩存內(nèi)容
在局域網(wǎng)中,一臺(tái)主機(jī)要和另外一臺(tái)主機(jī)進(jìn)行直接通信時(shí)就必須要知道目標(biāo)主機(jī)的MAC地址,這個(gè)目標(biāo)主機(jī)的MAC地址需要通過(guò)ARP獲得的。由于ARP協(xié)議并不會(huì)對(duì)報(bào)文信息的真實(shí)性進(jìn)行校驗(yàn),可以接受ARP報(bào)文的響應(yīng)報(bào)文,并且更新自己的ARP緩存,把新的地址映射信息加入ARP高速緩存中,這種缺陷使得偽造別人的物理地址可以實(shí)現(xiàn)ARP攻擊。所以可以通過(guò)不斷的清除主機(jī)ARP緩存中的信息,這樣錯(cuò)誤的ARP緩存信息就被刪除了,以此達(dá)到防范ARP攻擊的目的。
(2)啟用360局域網(wǎng)防火墻
目前大多數(shù)網(wǎng)絡(luò)公司在防火墻這類(lèi)安全產(chǎn)品中加入對(duì)ARP攻擊的防范,通常是從底層驅(qū)動(dòng)對(duì)所有ARP攻擊數(shù)據(jù)包進(jìn)行識(shí)別和屏蔽,可以防御ARP攻擊。啟動(dòng)360局域網(wǎng)防火墻主要功能有攔截外部ARP攻擊,攔截IP沖突和主動(dòng)防御[12]。
(3)添加靜態(tài)ARP記錄
由于ARP協(xié)議并不會(huì)對(duì)報(bào)文信息的真實(shí)性進(jìn)行校驗(yàn)。主機(jī)可以接受其他任意主機(jī)發(fā)出的請(qǐng)求ARP報(bào)文的響應(yīng)報(bào)文,并且該主機(jī)會(huì)更新自己的ARP緩存,把新的地址映射信息加入ARP高速緩存中。這種缺陷使得偽造別人的物理地址可以實(shí)現(xiàn)ARP攻擊。如果在ARP表中添加靜態(tài)ARP記錄則可以避免ARP攻擊。添加靜態(tài)ARP記錄又被稱(chēng)為ARP綁定。它的主要特點(diǎn)是ARP紀(jì)錄永遠(yuǎn)不過(guò)期。ARP攻擊的漏洞是數(shù)據(jù)在傳輸過(guò)程中對(duì)應(yīng)的IP地址和MAC地址的關(guān)系被更改,只需要手工將局域網(wǎng)中其他主機(jī)的IP地址和與其對(duì)應(yīng)的物理地址進(jìn)行綁定,這種方法可以防止主機(jī)再受到ARP欺騙攻擊,但是采用添加靜態(tài)地址的方法防止ARP欺騙攻擊的前提條件,是網(wǎng)絡(luò)中所有主機(jī)的IP地址和物理地址是固定不變的。如果在網(wǎng)絡(luò)環(huán)境中增加新的主機(jī)或新的主機(jī)網(wǎng)卡的時(shí)候,需要相應(yīng)的改變IP地址和物理地址。ARP綁定是對(duì)局域網(wǎng)內(nèi)的主機(jī)IP地址和對(duì)應(yīng)的MAC地址進(jìn)行綁定,是防止ARP攻擊的有效方式之一。依據(jù)ARP攻擊的原理,若需要解決ARP攻擊事件,對(duì)用戶端主機(jī)都進(jìn)行ARP綁定是可以解決問(wèn)題的。
7? ARP攻擊及防范實(shí)例(Examples of ARP attack?and prevention)
7.1? ?網(wǎng)絡(luò)環(huán)境搭建
如圖8所示,是用來(lái)演示ARP攻擊及防范的網(wǎng)絡(luò)環(huán)境,其包括一臺(tái)交換機(jī)和三臺(tái)主機(jī)。交換機(jī)模擬網(wǎng)管中心端,三臺(tái)主機(jī)分別為用于模擬用戶端的主機(jī)A,模擬攻擊者的主機(jī)B和模擬用戶端的主機(jī)C。主機(jī)A的IP地址為192.168.1.102,MAC地址為a4-17-31-c0-75-2f;主機(jī)B的IP地址為192.168.1.108,MAC地址為24-0a-64-cd-f2-2f;主機(jī)C的IP地址為192.168.1.105,MAC地址為80-a5-89-51-49-6。
7.2? ?ARP攻擊過(guò)程演示
以下演示攻擊者主機(jī)B偽裝成用戶端主機(jī)C,并且告訴用戶端主機(jī)A自己是主機(jī)C,以此對(duì)用戶端主機(jī)A進(jìn)行ARP攻擊。
(1)主機(jī)B偽裝成主機(jī)C:主機(jī)B主動(dòng)給主機(jī)A發(fā)送ARP請(qǐng)求的響應(yīng)包。數(shù)據(jù)包源IP地址為主機(jī)C的IP,源MAC地址為主機(jī)B的MAC地址。目標(biāo)MAC地址為主機(jī)A的MAC地址。如圖9所示,在Dst Hardware Mac中寫(xiě)入主機(jī)A的MAC地址,Arp op中選擇Reverse reply,Src Protocol Mac中寫(xiě)入主機(jī)B的MAC地址,Src IP中寫(xiě)入主機(jī)C的IP地址。
(2)驗(yàn)證主機(jī)B成功發(fā)送出偽裝成主機(jī)C的ARP請(qǐng)求響應(yīng)數(shù)據(jù)包:在主機(jī)A上使用抓包工具,抓取ARP數(shù)據(jù)包。如圖10所示,有一個(gè)ARP請(qǐng)求響應(yīng)數(shù)據(jù)包發(fā)到主機(jī)A上,告訴主機(jī)A,IP地址為192.168.1.105的主機(jī)的MAC地址為24-0a-64-cd-f2-2f。
(3)主機(jī)B攻擊成功:如圖11所示,用命令arp-a顯示主機(jī)A的ARP表,主機(jī)B的MAC地址與主機(jī)C的IP地址存在映射。
(4)驗(yàn)證攻擊者主機(jī)B偽裝成用戶端主機(jī)C,如圖12所示,在主機(jī)A上訪問(wèn)主機(jī)C(ping主機(jī)C的IP地址)。如圖13所示,在主機(jī)A上使用抓包工具,抓取ICMP數(shù)據(jù)包,發(fā)現(xiàn)目的IP為主機(jī)B的IP地址,說(shuō)明此時(shí)主機(jī)A是與主機(jī)B通訊。
7.3? ?網(wǎng)管中心端防范結(jié)果
(1)在網(wǎng)管中心端交換機(jī)上劃分兩個(gè)VLAN,端口0/1與端口0/2劃分為VLAN 1,端口0/5劃分為VLAN 2,如圖14所示,因?yàn)閂LAN 1是所有端口默認(rèn)的VLAN模式,所以只需要用命令switchport access vlan 2把端口0/5劃分為VLAN 2。
(2)在網(wǎng)管中心端交換機(jī)上給VLAN 1和VLAN 2分配IP地址和網(wǎng)段,如圖15所示,VLAN 1的IP地址為172.16.1.1,所在網(wǎng)段為172.16.1.0;VLAN 2的IP地址為172.16.2.1,所在網(wǎng)段為172.16.2.0。
(3)驗(yàn)證主機(jī)B對(duì)主機(jī)C的ARP攻擊失效:在主機(jī)C上使用抓包工具,抓取ICMP數(shù)據(jù)包,并且在主機(jī)C上訪問(wèn)主機(jī)A(ping主機(jī)A的IP地址)。如圖16所示,發(fā)現(xiàn)目的IP為主機(jī)A的IP地址,說(shuō)明此時(shí)主機(jī)A是與主機(jī)C通訊。
7.4? ?用戶端防范結(jié)果
7.4.1? ?實(shí)時(shí)刪除ARP緩存內(nèi)容的防范結(jié)果
(1)刪除緩存在ARP表的動(dòng)態(tài)表項(xiàng):在主機(jī)A上使用命令 netsh i i show in查找連接網(wǎng)絡(luò)的端口;使用命令netsh-c“i i”
(2)驗(yàn)證主機(jī)B對(duì)主機(jī)A的ARP攻擊失效:在主機(jī)A上使用抓包工具,抓取ICMP數(shù)據(jù)包,并且在主機(jī)A上訪問(wèn)主機(jī)C(ping主機(jī)C的IP地址)。如圖18所示,發(fā)現(xiàn)目的IP為主機(jī)C的IP地址,說(shuō)明此時(shí)主機(jī)A是與主機(jī)C通訊。
(1)在主機(jī)A上啟用360局域網(wǎng)防火墻,如圖19所示。
(2)驗(yàn)證主機(jī)B對(duì)主機(jī)A的ARP攻擊失效:在主機(jī)A上使用抓包工具,抓取ICMP數(shù)據(jù)包,并且在主機(jī)A上訪問(wèn)主機(jī)C(ping主機(jī)C的IP地址)。如圖20所示,發(fā)現(xiàn)目的IP為主機(jī)C的IP地址,說(shuō)明此時(shí)主機(jī)A是與主機(jī)C通訊。
7.4.3? ?添加靜態(tài)ARP記錄防范結(jié)果
(1)在主機(jī)A上使用命令netsh-c i i add neighbors 11 192.168.1.105 80-a5-89-51-49-61添加靜態(tài)ARP記錄(主機(jī)C的IP地址與主機(jī)C的MAC地址進(jìn)行綁定)。如圖21所示,添加靜態(tài)ARP記錄,IP地址為192.168.1.105與MAC地址為80-a5-89-51-49-61。
(2)在主機(jī)C上使用命令netsh-c i i add neighbors 11 192.168.1.105 80-a5-89-51-49-61添加靜態(tài)ARP記錄(IP地址為192.168.1.105與物理地址為80-a5-89-51-49-61進(jìn)行綁定),如圖22所示。
(3)驗(yàn)證主機(jī)B對(duì)主機(jī)A的ARP攻擊失效:在主機(jī)A上使用抓包工具,抓取ICMP數(shù)據(jù)包,并且在主機(jī)A上訪問(wèn)主機(jī)C(ping主機(jī)C的IP地址)。如圖23所示,發(fā)現(xiàn)目的IP為主機(jī)C的IP地址,說(shuō)明此時(shí)主機(jī)A是與主機(jī)C通訊。
(4)驗(yàn)證主機(jī)B對(duì)主機(jī)C的ARP攻擊失效:在主機(jī)C上使用抓包工具,抓取ICMP數(shù)據(jù)包,并且在主機(jī)C上訪問(wèn)主機(jī)A(ping主機(jī)A的IP地址)。如圖24所示,發(fā)現(xiàn)目的IP為主機(jī)A的IP地址,說(shuō)明此時(shí)主機(jī)A是與主機(jī)C通訊。
8? ?結(jié)論(Conclusion)
當(dāng)前,計(jì)算機(jī)網(wǎng)絡(luò)已成為人們?nèi)粘9ぷ魃畹闹匾A(chǔ)。由于ARP協(xié)議并不會(huì)對(duì)報(bào)文信息的真實(shí)性進(jìn)行校驗(yàn),使得ARP協(xié)議存在嚴(yán)重的安全問(wèn)題。本論文基于網(wǎng)管中心端、用戶端的綜合防范策略,針對(duì)存在的安全問(wèn)題給出簡(jiǎn)單可行的防御方法,達(dá)到在一定范圍內(nèi)解決局域網(wǎng)內(nèi)ARP攻擊的目的。但是仍然存在許多的不足,例如本文中提供的防御方法實(shí)施過(guò)程較為煩瑣,對(duì)用戶的要求較高;其次本文中提供的防御方法很難防范復(fù)雜的ARP攻擊。在以后的學(xué)習(xí)生活中,我將繼續(xù)探索ARP攻擊的原理及防范對(duì)策,讓自己掌握更多關(guān)于ARP攻擊防范的技能。
參考文獻(xiàn)(References)
[1] 溫卓然.ARP防御系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].北京郵電大學(xué),2009,35.
[2] 曹洪武.ARP欺騙入侵的檢測(cè)與防范策略[J].塔里木大學(xué)學(xué)報(bào),2007(02):88-91.
[3] 徐功文,陳曙,時(shí)研會(huì).ARP協(xié)議攻擊原理及其防范措施[J].信息技術(shù)與信息化,2005(01):4-6.
[4] 孟曉明.基于ARP的網(wǎng)絡(luò)欺騙的檢測(cè)與防范[J].信息技術(shù),2005(05):41-44;75.
[5] Curriculum vitae Alissa Jan Arp[J].Romberg Tiburon Center for Environmental Studies San Francisco State University,2005(4):40-42.
[6] 王小玲,周剛.一種擴(kuò)展的ARP協(xié)議設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2011(02):178-181.
[7] 吳小平,周建中,方曉惠.基于SNMP的ARP欺騙主動(dòng)防御機(jī)制[J].華中師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(04):512-514.
[8] 何顯文.基于ARP協(xié)議的網(wǎng)絡(luò)欺騙與防范[J].通化師范學(xué)院學(xué)報(bào),2011(06):22-24.
[9] 潘曉君.基于緩存超時(shí)的ARP欺騙攻擊協(xié)議的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(10):167-169.
[10] 姚小兵.ARP協(xié)議簡(jiǎn)析及ARP病毒攻擊的防御[J].信息網(wǎng)絡(luò)安全,2009(09):49-50;55.
[11] 沈濤.基于入侵檢測(cè)的網(wǎng)絡(luò)安全研究[D].重慶大學(xué),2012:240-228.
[12] 樊景博,劉愛(ài)軍.ARP病毒的原理及防御方法[J].商洛學(xué)院學(xué)報(bào),2007(02):37-41.