局域網(wǎng)ARP分析論文
時間:2022-03-12 08:58:00
導語:局域網(wǎng)ARP分析論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
【摘要】本文將對近期校園局域網(wǎng)種頻繁發(fā)生的arp欺騙基本原理進行介紹,并且通過網(wǎng)關(guān)等實際生活中的例子加以解釋,同時介紹幾種常見的ARP欺騙和攻擊方式,并且從客戶端、網(wǎng)關(guān)等多個方面提出關(guān)于如何防御ARP攻擊的多種方法,以達到全面防御維護局域網(wǎng)絡(luò)安全的目的。
關(guān)鍵詞:地址解析協(xié)議,介質(zhì)訪問控制,網(wǎng)絡(luò)安全
Abstract
Inthispaper,afraudulentactionwhichwascalledARPCheatinghappensfrequentlyintheLANofcampus.Thebasisontheelementswillbeintroducedandexplainedthroughtheexampleofgatewayandsoon.Atthesametime,afewfamiliarmannersofARPcheatingwillbeintroduced.Finally,itwillbringforwardsomemethodsindifferentanglebywhichwewillbuiltamoresecureenvironmentoftheLAN.
Keywords:AddressResolutionProtocol,MACAddress,ARPCheating,securityofnetwork
1.引言
ARP欺騙是一種利用計算機病毒是計算機網(wǎng)絡(luò)無法正常運行的計算機攻擊手段。近期,一種叫“ARP欺騙”的木馬病毒在校園網(wǎng)中擴散,嚴重影響了校園網(wǎng)的正常運行。
感染此木馬的計算機試圖通過“ARP欺騙”手段截獲所在網(wǎng)絡(luò)內(nèi)其它計算機的通信信息,并因此造成網(wǎng)內(nèi)其它計算機的通信故障。ARP欺騙木馬的中毒現(xiàn)象表現(xiàn)為:使用校園網(wǎng)時會突然掉線,過一段時間后又會恢復正常。比如出現(xiàn)用戶頻繁斷網(wǎng),IE瀏覽器頻繁出錯等現(xiàn)象。如果校園網(wǎng)需要通過身份認證的,會突然出現(xiàn)認證信息(無法ping通網(wǎng)關(guān))。重啟機器或在
MS-DOS窗口下運行命令arp-d后,又可恢復上網(wǎng)。這種木馬危害也很大。各大學校園網(wǎng)、公司網(wǎng)和網(wǎng)吧等局域網(wǎng)都出現(xiàn)了不同程度的災情。ARP欺騙木馬只需成功感染一臺電腦,就可能導致整個局域網(wǎng)無法上網(wǎng),嚴重的可能帶來整個網(wǎng)絡(luò)的癱瘓。此外,此木馬還會竊取用戶密碼,如盜取QQ密碼、網(wǎng)絡(luò)游戲密碼和賬號去做金錢交易,盜竊網(wǎng)上銀行賬號來做非法交易活動等,這是木馬的慣用伎倆,給用戶造成了很大的不便和巨大的經(jīng)濟損失。
2.ARP與MAC
ARP(AddressResolutionProtocol)[1]是地址解析協(xié)議的簡稱,是一種將IP地址轉(zhuǎn)化為物理地址的協(xié)議。在OSI網(wǎng)絡(luò)參考模型的第二層(數(shù)據(jù)鏈路層)中,存在著兩個子層:介質(zhì)訪問控制(MAC)和邏輯鏈路控制(LLC)。由MAC子層提供的最廣為認知的服務或許就是它的地址了,就像以太網(wǎng)的地址一樣。在以太網(wǎng)中,數(shù)據(jù)傳輸?shù)哪康牡刂泛驮吹刂返恼矫Q是MAC地址。此地址大多數(shù)情況下是獨一無二的固化到硬件設(shè)備上的,而IP地址所要轉(zhuǎn)化的物理地址就是MAC地址。[2]
在網(wǎng)絡(luò)數(shù)據(jù)傳輸中實際傳輸?shù)氖恰皫?Frame),它以比特流的方式通過傳輸介質(zhì)傳輸出去,其中幀里面就包含有所要傳送的主機的MAC地址。在以太網(wǎng)中一臺主機要同另一臺主機進行通信就必須要知道對方的MAC地址(就如同我們要給對方郵信一定要知道對方的地址一樣)。但是我們?nèi)绾沃肋@個MAC地址呢?這時就用到了地址解析協(xié)議,所謂“地址解析”就是主機在發(fā)送幀前將目標IP地址轉(zhuǎn)換成目標MAC地址的過程。ARP協(xié)議的基本功能就是通過目標設(shè)備的IP地址,查詢目標設(shè)備的MAC地址,以保證通信的順利進行。
每臺安裝有TCP/IP協(xié)議的計算機主機里都有一個ARP緩存表,表中的IP地址與MAC
地址是一一對應的,如表1所示:
表1地址解析協(xié)議緩存地址表
值得注意的一點是:ARP緩存表采用了一種老化機制,在一定的時間內(nèi)如果某一條記
錄沒有被使用過就會被刪除。這樣可以大大減少ARP緩存表的長度,加快查詢速度。首先根據(jù)上表用兩個主機通過一個網(wǎng)關(guān)進行通信的例子說明一下:假設(shè)當主機A
(192.168.10.1)向主機B(192.168.10.2)發(fā)送數(shù)據(jù)時,主機A首先會在自己的ARP緩存表中查找是否存在“IP=192.168.10.2”的記錄。若找到就會根據(jù)ARP緩存表中IPMAC的對應關(guān)系找到主機B的“MAC地址=bb-bb-bb-bb-bb-bb”。但是如果主機A沒有在表中找到主機B的IP地址,那么主機A機就會向網(wǎng)絡(luò)發(fā)送一個ARP協(xié)議廣播包,這個廣播包里面就有待查詢的主機B的IP地址,而直接收到這份廣播包的所有主機都會查詢自己的IP地址是否與之匹配。如果收到廣播包的某一個主機發(fā)現(xiàn)自己符合條件,那么就準備好一個包含自
己MAC地址的ARP包傳送給發(fā)送ARP廣播的主機。廣播主機接收到ARP包后會更新自己的ARP緩存表。發(fā)送廣播的主機就會用新的ARP緩存數(shù)據(jù)準備好數(shù)據(jù)鏈路層的數(shù)據(jù)包發(fā)送工作。這樣主機A就得到了主機B的MAC地址,它就可以向主機B發(fā)送信息了。
3.ARP欺騙和攻擊方式
3.1簡單的欺騙攻擊
這種欺騙方式是指:欺騙主機通過發(fā)送偽造的ARP包來欺騙網(wǎng)關(guān)和目標主機,讓目標主機認為這是一個合法的主機。其中包括兩種情況:
①局域網(wǎng)主機冒充網(wǎng)關(guān)進行欺騙
欺騙過程如圖1所示:當PC_A要與網(wǎng)關(guān)GW_C通訊時,首先要知道GW_C的MAC地址,如果局域網(wǎng)中另有一臺主機PC_B冒充GW_C告訴PC_A:GW_C的MAC地址是MACB,那么PC_A就受騙了;或者直接告訴PC_A:GW_C的MAC地址是PC_X,那么
就會如同我們郵寄信件時寫錯了地址,信件或者是發(fā)錯了地方,或者是根本就發(fā)送不出去。
這樣一來就會造成斷線。
圖1簡單的主機對主機通過網(wǎng)關(guān)連接圖
網(wǎng)絡(luò)中通訊有一個前提條件,也就是必須滿足通訊雙方都能向?qū)Ψ絺魉蛿?shù)據(jù)才會確保正
常通訊,即:確保PC_AGW_C和GW_CPC_A的通訊都沒有問題時,才能確保通訊正常。假如PC_B冒充PC_A,告訴GW_C,PC_A的MAC是MACB,那么就會出現(xiàn):當PC_AGW_C時沒有問題,可是當GW_CPC_A時就回出錯,造成網(wǎng)絡(luò)斷線的現(xiàn)象。
3.2基于ARP的“中間人攻擊”
MITM(Man-In-The-Middle)稱為“中間人攻擊”,是一種“間接”的入侵攻擊方式。這種攻擊是利用一定手段在兩臺或多臺主機之間人為的加入一臺透明主機,(這對其他用戶是透明的)這臺主機就稱為“中間人”。“中間人”能夠與原始主機建立連接、截獲并篡改它們的通信數(shù)據(jù)。由于“中間人”對于原通信雙方是透明的,使得“中間人”很難被發(fā)現(xiàn),也就使得這種攻擊更加具有隱蔽性。而其中“中間人”常用的一種手段就是通過ARP欺騙的方式來實現(xiàn)的。基本欺騙過程如圖2所示:
圖2MITM“中間人攻擊”示意圖
假設(shè)有同一網(wǎng)段內(nèi)的三臺主機A,B,C。主機A,B為合法主機,C為“中間人”攻擊者。
如果主機C分別向主機A和C發(fā)送假消息,即:告訴主機A,主機C的MAC地址是MACB,同時告訴主機B,主機C的MAC地址是MACA。這樣主機C就成功地成為了A與B的“中間人”。那么A,B間正常的直接通信也會隨之中斷。取而代之的是A,B間每次進行信息交互時都要經(jīng)過主機C。這樣,主機C就可以有辦法監(jiān)聽A與B之間的通信,達到監(jiān)聽的目的了。如果C不轉(zhuǎn)發(fā)A與B之間的通信,就會造成主機A,B之間的網(wǎng)絡(luò)連接中斷。3.3MAC洪泛現(xiàn)象
MACFlooding可以稱之為MAC洪泛現(xiàn)象。其中flooding是一種快速散布網(wǎng)絡(luò)連接設(shè)備
(如交換機)更新信息到整個大型網(wǎng)絡(luò)打每一個節(jié)點的一種方法。交換機中也存放著一個ARP緩存表。同主機中的ARP緩存表相同,它也起到記錄網(wǎng)絡(luò)設(shè)備MAC地址與IP地址的對應關(guān)系的功能。但是交換機中的ARP緩存表的大小是固定的,這就導致了ARP欺騙的另一種隱患:由于交換機可以主動學習客戶端的MAC地址,并建立和維護這個ARP緩存表,當某人利用欺騙攻擊連續(xù)大量的制造欺騙MAC地址,ARP緩存表就會被迅速填滿,同時更新信息以洪泛方式發(fā)送到所有的接口,也就代表TRUNKING(所謂TRUNKING是用來在不同的交換機之間進行連接,以保證在跨越多個交換機上建立的同一個VLAN的成員能夠相互通訊。[3])的流量也會發(fā)給所有的接口和鄰近的交換機,會導致其他交換機的ARP表溢出,造成交換機負載過大,網(wǎng)絡(luò)緩慢和丟包甚至癱瘓。所以說MACFlooding是一種比較
危險的攻擊,嚴重會使整個網(wǎng)絡(luò)不能正常通信。3.4基于ARP的DoS攻擊
DoS(DenialofService)中文為,拒絕服務攻擊。DoS攻擊的目的就是讓被攻擊主機拒絕用戶的服務訪問,破環(huán)系統(tǒng)的正常運行。最終使用戶的部分Internet連接和網(wǎng)絡(luò)系統(tǒng)失效。
[4]基于ARP的DoS攻擊是新出現(xiàn)的一種攻擊方式。它的基本原理是:攻擊者利用ARP欺騙工具,不斷向被攻擊主機發(fā)送大量的連接請求,由于遭到ARP欺騙的主機不能夠根據(jù)ARP緩存表找到對方主機,加之主機的處理能力有限,使得它不能為正常用戶提供服務,便出現(xiàn)拒絕服務。在這個過程中,攻擊者可以使用ARP欺騙方式來隱藏自己,這樣在被攻擊主機的日志上就不會出現(xiàn)攻擊者真實的IP地址。被攻擊主機不能根據(jù)日志上提供的IP地址找到正真的攻擊者。所以在攻擊的同時,不會影響到本機,具有很強的隱密性。
以上幾種欺騙方式中,第一種最為常見,攻擊者通常利用ARP木馬病毒進行攻擊。但是從本質(zhì)上看,所有的欺騙方式都是一樣的,都是利用ARP緩存表的老化機制使得ARP欺騙有機可乘。
4.ARP欺騙解決方案
4.1DHCP結(jié)合靜態(tài)捆綁法
DHCP是DynamicHostConfigurationProtocol(動態(tài)主機分配協(xié)議)縮寫。要想徹底避
免ARP欺騙的發(fā)生,我們需要讓每臺計算機的MAC地址與IP地址唯一且對應。雖然我們可以通過為每臺計算機設(shè)置IP地址的方法來管理網(wǎng)絡(luò),但是對于那些通過ARP欺騙非法攻擊的用戶來說,他可以事先自己手動更改IP地址,這樣檢查起來就更加復雜了。
這就需要進行IP與MAC的雙向綁定,也就是說在網(wǎng)關(guān)的交換機處靜態(tài)綁定用戶的MAC
地址和IP地址的同時,在客戶端靜態(tài)綁定網(wǎng)關(guān)MAC地址和IP地址以及同一網(wǎng)段的IP地址
和MAC地址,使之不再動態(tài)學習。但這只是一個理想的解決方案,因為這樣會大大加重網(wǎng)絡(luò)管理的負擔。網(wǎng)絡(luò)管理員要非常熟悉交換機設(shè)備,因為管理員要在交換機和客戶端加入一臺計算機并且添加一條記錄,否則將無法通信。這就需要提出一種更加全面立體的防御對策。
4.2幾種主要的防御方案
4.2.1使用交換機進行設(shè)置
從交換機的角度,以Cisco解決方案為例。思科DynamicARPInspection(DAI)在交換機上提供IP地址和MAC地址的綁定,并動態(tài)建立綁定關(guān)系。DAI以DHCPSnooping綁定表為基礎(chǔ),對于沒有使用DHCP的服務器個別機器可以采用靜態(tài)添加ARPaccess-list實現(xiàn)。DAI配置針對VLAN,對于同一VLAN內(nèi)的接口可以開啟DAI也可以關(guān)閉。通過DAI可以控制某個端口的ARP請求報文數(shù)量。這樣可以有效地提高網(wǎng)絡(luò)安全性和穩(wěn)定性。
配置示例:網(wǎng)際操作系統(tǒng)(IOS)全局命令:
ipdhcpsnoopingvlan100,200/*交換機可以通過dhcpsnooping功能監(jiān)聽dhcp廣播報文,記錄用戶的ip地址信息。
noipdhcpsnoopinginformationoptionipdhcpsnooping
iparpinspectionvlan100,200/*定義對哪些VLAN(虛擬局域網(wǎng))進行ARP報文檢測。
iparpinspectionlog-bufferentries1024
iparpinspectionlog-bufferlogs1024interval10
網(wǎng)際操作系統(tǒng)接口命令:
ipdhcpsnoopingtrust
iparpinspectiontrust/*定義哪些接口是信任接口,通常是網(wǎng)絡(luò)設(shè)備接口,TRUNK接口等。
iparpinspectionlimitrate15(pps)/*檢查限制接口每秒ARP報文數(shù)量(15脈沖/秒)。對于沒有使用DHCP設(shè)備可以采用下面辦法:
arpaccess-liststatic-arp/*設(shè)置靜態(tài)ARP訪問表
permitiphost192.*.*.*machosta-a-a-a-a-a/*將ip地址192.*.*.*與maca-a-a-a-a-a靜態(tài)綁定
iparpinspectionfilterstatic-arpvlan201
配置DAI后的效果:
由于DAI檢查對DHCPsnooping綁定表中的IP和MAC對應關(guān)系,所以無法實施中間人攻擊,攻擊工具失效。圖3為實施中間人攻擊時交換機的警告:
圖3中間人攻擊時交換機的警告
由于對ARP請求報文做了速度限制,客戶端無法進行認為或者病毒進行的IP掃描、探
測等行為,如果發(fā)生這些行為,交換機馬上報警或直接切斷掃描機器。如圖4所示:
圖4交換機警報并切斷端口過程
用戶獲取IP地址后,不能修改IP或MAC。如果用戶同時修改IP和MAC必須是網(wǎng)絡(luò)
內(nèi)部合法的IP和MAC才可,對于這種修改可以使用IPSourceGuard技術(shù)來防范。圖5為手動指定IP地址的報警:
圖5手動指定IP地址的報警
為了防止局域網(wǎng)外部對局域網(wǎng)進行ARP攻擊,下面以阿爾法寬帶路由器為例介紹基本
的路由器ARP表綁定設(shè)置。在進行ARP綁定前首先要確定網(wǎng)絡(luò)是正常運行的,然后再進行
ARP綁定設(shè)置。具體設(shè)置如下:
⑴啟用ARP綁定功能。默認下該定功能是關(guān)閉的,首先打開路由器的管理界面,選擇
“MAC地址綁定”。打開如圖6所示的界面,勾中“啟用ARP綁定”,點擊“保存”。
可以看到當前路由器自動獲取的局域網(wǎng)內(nèi)電腦的IP地址與MAC地址的映射表。如果
確認這個表是正確的(即所有的電腦都可以正常上網(wǎng)、MAC地址沒有重復,這個表一般就沒有錯誤了。),可以選擇某個條目后面的“綁定”操作進行單獨的MAC地址綁定,也可通過點擊“全部綁定”把ARP表中的所有條目綁定。如果綁定成功就會看到“狀態(tài)”項從“未綁定”變?yōu)椤耙呀壎ā薄榱嗽诼酚善髦貑⒑笫惯@些綁定條目仍然有效,可以選擇“全部導入”把這些條目存入靜態(tài)ARP表,打開“ARP靜態(tài)綁定設(shè)置”(如圖8所示)可以看到一個靜態(tài)的ARP映射表已經(jīng)建立。圖8對ARP映射表綁定
對于這個靜態(tài)ARP映射表,可以進行修改、刪除、取消綁定等操作。點擊條目右邊的“修
改”就可以修改該條目的IP地址、MAC地址和綁定狀態(tài)。點擊“刪除”可刪掉該條目。可以點擊“取消所有綁定”可把ARP表中的所有綁定條目暫時取消,當需要的時候點擊“綁定所有條目”就可以重新綁定這些條目。當不再需要這個靜態(tài)ARP表時,點擊“刪除所有條目”則可以刪除整個ARP表。。如果已經(jīng)知道局域網(wǎng)內(nèi)主機的MAC地址,也可以在這里手工輸入MAC地址、IP地址來添加靜態(tài)ARP映射條目。如圖9所示:
圖9手工設(shè)置IP地址注意事項:
①進行綁定置前要確認ARP緩存表是正確的。
②盡量手工設(shè)置電腦的IP地址,(如圖9)如果是采用DHCP動態(tài)獲取IP地址,以后可能會出現(xiàn)獲取到的地址與當前綁定的地址不一致而導致某些電腦不能上網(wǎng)。
③當更換電腦網(wǎng)卡時要更新靜態(tài)ARP映射表。否則由于更換了網(wǎng)卡的主機的MAC地址于ARP表中的不一致,也會導致無法上網(wǎng)。
4.2.3客戶端主機進行ARP綁定設(shè)置
至于個人電腦的綁定設(shè)置,可以通過一些軟件如:AntiARP-DNS,或者一些自己編寫的批處理文件使之能夠靜態(tài)綁定ARP緩存表,此外WindowsVista也提供了這樣的供能。下面僅針對大多數(shù)用戶介紹一種在命令提示符下綁定ARP緩存表的方法。
在本地主機上可以使用arp–a命令,顯示如圖10:
圖10命令提示符中運行arp-a
這就是主機中的ARP緩存表。其中“dynamic”代表動態(tài)緩存,即這項在收到一個ARP
包時會被動態(tài)修改。如果更改的ARP緩存表中的“PhysicalAddress”是被欺騙的虛假的信息,當主機通過ARP緩存表按照提供的MAC地址進行通信時卻不能找到正確的通信對象,因此就不能和其他主機正常通信了。所以,我們要手動建立起可信任的ARP緩存表。靜態(tài)表的建立用arp-sIPMAC命令。
執(zhí)行“arp–s222.26.12.12900-e0-fc-49-a9-fb”再次查看ARP緩存表:(如圖11)
此時“Type”項變成了“static”靜態(tài)類型。在這種狀態(tài)下,在接受到ARP包時也不會改變
本地緩存表,從而有效的防止ARP攻擊。由于靜態(tài)的ARP緩存表在每次重啟后都會自動恢復原來設(shè)置,所以每次開機都需要重新設(shè)置。
這就為我們提供了一個新的思路:其一,可以將利用ARP靜態(tài)綁定的軟件來提前設(shè)置綁定表,并將其加入系統(tǒng)啟動項目里。這樣,我們每次啟動電腦時都會自動運行ARP靜態(tài)綁定程序,以達到保護客戶端的目的。其二,可以編寫一個簡單實用的dat文件,添入啟動項中。這樣,運行之后程序會自動結(jié)束,不占用內(nèi)存資源。不失為一種簡單實用的方法。除此之外,會話加密也很重要。[5]我們不應該把網(wǎng)絡(luò)安全的信任關(guān)系完全建立在IP地址或硬件MAC地址的基礎(chǔ)上,而是應該對所有要傳輸?shù)闹匾獢?shù)據(jù)進行加密,然后再進行傳
輸。這樣,即使我們傳輸?shù)臄?shù)據(jù)被其他主機惡意監(jiān)聽,也無法獲得切實有用的信息。
綜上所述,ARP協(xié)議自身的缺陷雖然給網(wǎng)絡(luò)安全,尤其是局域網(wǎng)絡(luò)的安全帶來很大的隱
患,所以我們要高度引起重視。但是只要掌握了它的基本原理,就可以從多方面下手,杜絕隱患。普通的一種方法也許不能夠完全杜絕這種網(wǎng)絡(luò)傳輸中所帶來的隱患,只有在客戶端、各個網(wǎng)關(guān)和服務器端同時建立起有效的立體防御機制,才能有保證網(wǎng)絡(luò)安全。
參考文獻
[1]免費論文網(wǎng)
[2][美]賴利(Riley,C.)等著.ISCO網(wǎng)絡(luò)核心技術(shù)解析[M].江魁等譯.北京:水利水電出版社,2005.
[3]Trunking[EB/OL]./question/37275192.html,2007-10-21.
[4]王群.非常網(wǎng)管.網(wǎng)絡(luò)安全[M].北京:人民郵電出版社,2007.4.
[5]譚敏楊衛(wèi)平.ARP病毒攻擊與防范[J].網(wǎng)絡(luò)安全技術(shù)與應用,2008.4
⑵綁定ARP表。選擇“ARP映射表”,會打開如下界面(如圖7):