摘要:本文分析了ARP協議工作原理、攻擊原理,并提出了ARP攻擊的防御方法。
關鍵詞:ARP協議;網絡攻擊;防御方法
中圖分類號:TP393.08文獻標識碼:A
Abstract: This paperanalysisthe working principle and,the attacking principle ofthe ARP.Put forword the defense methodsof the ARP attacking.
Keywords:ARP protocol;network attack;defense methods
引言
高校校園網的建立給高校師生提供了一個良好的上網環境,但校園網內部網絡的安全問題也日漸突出。現在機房中頻繁發生的攻擊行為中,利用ARP攻擊是其中主要的攻擊手段之一。在局域網內某臺主機運行ARP欺騙的木馬程序時,中木馬的計算機會發出大量的數據包導致局域網通訊擁塞,以及其自身處理能力的限制,局域網內的所有用戶會感覺上網速度越來越慢,最后甚至會使整個局域網不能進行正常訪問互聯網。本文闡述了ARP攻擊的原理,并提出了一些ARP攻擊的檢測/防御方法。
1 ARP協議和網卡工作模式
1.1 ARP(地址解析協議)
在局域網內計算機通信時,在鏈路上傳送的是數據幀,是采用MAC(硬件地址)來尋址,ARP解決了從IP地址到MAC地址的映射問題。當源主機欲向本網內的主機發送數據包時,先在源主機的ARP高速緩存中查看有無目的主機的硬件地址,如果存在,就將目的主機的硬件地址寫入MAC幀并發送,如不存在,源主機自動在網內廣播一個ARP請求報文(其包含的物理地址(MAC)是 0Xffffff ,即為廣播幀。)來獲得目的主機的硬件地址。這時,網內的所有主機都會收到此ARP請求,只有目的主機才會發回一個ARP響應報文,并寫入自己的硬件地址。當源主機收到目的主機的ARP響應后,就在其ARP高速緩存中寫入目的主機的IP地址到硬件地址的映射,這時源主機就可以給目的主機發送數據包了。
1.2 網卡接收模式1
在正常的情況下,網卡只響應兩種數據幀:一是與自己物理地址相匹配的數據幀;二是給所有計算機的廣播數據幀。網卡有四種接收模式:廣播方式:該模式下的網卡能夠接收網絡中的廣播信息;組播方式:該模式下的網卡能夠接收組播數據;直接方式:該模式下,只有目的網卡才能接收數據;混雜模式:該模式下的網卡能夠接收一切通過它的數據,而不管數據是否是傳給它的。而在混雜模式下工作的網卡能夠收到一切通過它的數據,而不管實際上數據的目的地址是不是它。
2 共享局域網和交換局域網
2.1 傳統的共享式以太網是由集線器進行網絡互聯,它采用廣播技術將一個端口接收到的數據廣播到本網內的所有機器上,正常情況下,目的主機會接收此數據,而非目的主機則丟棄該數據。但是,如果將網卡設為混雜模式,則非目的主機也可以接收此數據。
2.2 交換式以太網絡是采用屬于數據鏈路層設備的二層交換機進行網絡互聯,通過讀取數據包中的目的MAC地址并查找相應的端口進行轉發,如果找不到相應的端口,則把數據包廣播到所有端口上,當目的機器回應時,交換機就可以學習到目的MAC 地址與哪個端口對應,并把它記錄到交換機的緩存中,這樣,當再次轉發數據時就可以在緩存中找到應該向哪個端口發送。基于二層交換機的特點,即使將網卡設為混雜模式,也只能捕獲目的MAC地址為本機地址的數據包,共享式以太網中的監聽手段失效。但是,由于ARP協議的無連接、無認證,局域網中的任何主機可隨意發送ARP請求包,也可以接收ARP應答包,并且無條件地根據應答包內的內容刷新本機的ARP緩存,因此,ARP攻擊也可應用于交換式以太網絡中。
3 ARP攻擊原理
ARP在設計之初,為了獲得較高的傳輸效率,在數據鏈路層沒有做安全上的防范,在使用ARP協議時無需認證,使用ARP協議的局域網是建立在假設通信雙方是相互信任和相互獨立的。由于ARP協議是無狀態的,任何主機即使在沒有請求的時候也可以做出應答。ARP協議并未規定,主機在未受到查詢時不能發送ARP應答包。這樣,在任何時候,只要接收到ARP應答包,主機就會自動更新ARP緩存。
ARP欺騙攻擊的核心思想就是向目標主機發送偽造ARP應答,并使目標主機接收應答中偽造的IP地址與MAC地址之間的映射對,以此來更新目標主機的ARP緩存。
(1)攻擊者可在兩臺正在通信的主機A、B之間充當中間人,假冒主機B的IP地址,而MAC地址為攻擊者的MAC地址來欺騙主機A將數據發往攻擊者的機器,并且攻擊者可開啟IP路由功能,將數據包再轉發至主機B。同樣,對主機B可實施類似的欺騙,因此,主機A、B之間的所有通信內容都被攻擊者竊聽。
(2)對主機A發送偽造的ARP應答報文,假冒主機B的IP地址,但MAC地址設為不存在的一個硬件地址,主機A接收此報文后錯誤地刷新ARP高速緩存中主機B的IP地址與MAC地址的映射關系,導致主機A與主機B的網絡通信中斷。
4 ARP攻擊的檢測及防御方法
4.1 建立DHCP服務器
給每個網卡綁定固定唯一IP地址。一定要保持網內的機器IP地址與MAC地址一一對應的關系。這樣客戶機雖然是DHCP取地址,但每次開機的IP地址都是一樣的。
4.2第三層交換方式
第三層交換技術采用的是IP路由交換協議,使用可防御ARP攻擊的三層交換機并合理劃分VLAN。
4.3 定位ARP攻擊源頭
(1)主動定位方式:因為所有的ARP攻擊源都會將網卡設置為混雜模式,可以通過工具ARPKiller來掃描網內哪臺機器的網卡處于混雜模式,定位好機器后,再做進一步的處理。
(2)被動定位方式:在局域網發生ARP攻擊時,查看交換機的動態ARP表中的內容,確定攻擊源的MAC地址;或通過在局域網中利用Sniffer工具,定位ARP攻擊源的MAC。
4.4 使用NBTSCAN工具2可以取到主機的真實IP地址和MAC地址,如果有ARP攻擊,可以找到裝有ARP攻擊的主機的IP地址和MAC地址。
4.5 為局域網內的每臺用戶主機安裝ARP防火墻。
4.6 用戶主機捆綁IP/MAC (其中網關的IP地址和物理地址可以按實際情況來定。)
(1)在命令行狀態下,輸入ping 網關地址命令,本文中的網關(內網)是192.168.26.251。
C:\\Documents and Settings\t>ping192.168.36.251
(2)在命令行狀態下,輸入arp-a可以獲得網關的物理地址為00-04-4d-0d-0c-
07。
(3)編寫自動批處理文件autoexec.bat,讓計算機在每次啟動時運行,其內容如下:
@echo off
Arp -d
arp -s 192.168.36.25100-04-4d-0d-0c-
07
5 結束語
ARP協議的安全缺陷來源于協議自身設計上的不足。本文對ARP協議的工作原理、安全缺陷進行了分析。分析了幾種針對ARP協議安全缺陷的攻擊,并提出了相應的防御方法。
參考文獻
[1]丁展,劉海英.Visual C++網絡通信編程實用案例精選[M].北京:人民郵電出版社,2005:168-169.
[2]苗愷,周軻.ARP 協議簡介及ARP木馬防治[J].河南機電高等專科學校學報[J],2006, 14(6):32-33.