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