鞏海波 張琰
摘要:本文首先對ARP協議進行了簡單介紹。由于ARP協議本身固有的缺陷和應用的廣泛性,使得利用ARP協議在局域網中進行網絡攻擊具有廣泛的應用性。本文詳細討論了ARP欺騙技術。文章最后以現網中的一個用戶為例描述了網絡遭受到ARP攻擊之后的表現,并給出了兩種安全解決方案。
關鍵詞:ARP協議; ARP攻擊; MAC地址; IP地址 ;安全
概述
在網絡世界中,MAC地址的獲取過程是一個動態的解析的過程。在這個過程之中通過ARP地址解析協議將IP地址與網卡MAC地址進行映射。但是由于ARP協議的解析過程中的漏洞和應用的廣泛,黑客們往往在局域網中肆意對用戶進行網絡攻擊,導致用戶的局域網受阻甚至癱瘓,因此ARP攻擊對網絡安全產生了極大的隱患,需采取必要的手段對攻擊進行安全防護。
ARP協議
ARP協議基本原理
ARP地址解析協議,英文全稱是Address Resolution Protocol,位于TCP/IP四層參考模型的數據鏈路層,是一個底層協議,與本層的物理接口相連,同時對上層網絡層提供服務。在TCP/IP網絡環境下,每個主機都被分配了一個32位的IP地址。為了讓報文在物理網路上傳送,必須知道對方目的主機的物理地址。這就需要在將IP地址轉換為相應MAC地址,這就是ARP協議需實現的基本功能。
查看和管理ARP緩存
在Windows計算機中可以對ARP緩存進行查看和管理,如顯示或者刪除ARP緩存中的IP地址和物理地址的映射關系,也可以手工添加靜態表項。
arp-a IP地址:可以顯示地址映射表項。
arp -d IP地址可以刪除特定IP指定的對應表項;
arp -s IP地址 MAC地址,可以手工添加的靜態映射表項。
需要注意的一點是,以上三種命令都只能管理本機上的ARP緩存表項,而不能管理對端機器上的ARP映射表項。
ARP攻擊
ARP攻擊就是通過偽造IP地址和MAC地址及其對應關系實現ARP欺騙,能夠在網絡中產生大量的ARP報文使網絡阻塞,攻擊者只要持續不斷的發出偽造的ARP響應包就能更改目標主機ARP緩存中的IP-MAC對應條目,造成網絡中斷或中間人攻擊。
ARP攻擊主要包括ARP掃描技術、ARP欺騙技術和其他ARP攻擊技術,ARP攻擊的主要對象是同一個局域網的其他網元。由于其他兩種攻擊對局域網造成的影響比較小,故本文不做詳細介紹,僅對ARP欺騙技術進行詳細介紹。
ARP欺騙技術
ARP欺騙,又稱ARP緩存欺騙。一臺主機如果需要和另外一臺主機通信,需要IP-MAC地址的對應關系。ARP協議提供這兩種地址間的轉換功能。當主機收到ARP請求包時,主機將保存下請求包內的地址對應關系到本機緩存表中。一般而言,由于ARP提供的是IP-MAC之間的動態映射關系,用戶往往不必對其關心。但黑客們運用ARP的漏洞,通過構造偽IP-MAC對應關系報文來對主機進行ARP欺騙。
ARP欺騙的類型
常見的ARP欺騙分為以下兩種類型。
第一種類型:對網關ARP表的欺騙。對網關ARP表的欺騙的原理如下:當網關A發出ARP查詢廣播報文后,攻擊網元B可以截獲網關發出的ARP查詢報文,同時回復網關A一系列錯誤的MAC地址,并按照一定的頻率使網關不停地學習和更新ARP緩存表,從而導致真實有用的表項無法保存在網關的ARP緩存地址映射表中。
第二種類型:對局域網中的PC進行欺騙。其原理與第一種類型正好相反,黑客通過網元B偽造自己是網關,向局域網中正常工作網元X、Y、Z發送ARP查詢廣播報文,導致網元X、Y、Z誤以為B就是網關,向假的網關B發送自己的MAC地址,這樣就會導致由于局域網中正常工作的網元都無法學習到正確的網關而無法向外訪問。
綜合以上兩種ARP欺騙而言,第二種在現網中發生的頻率更高一些,黑客只要修改自己的IP地址就可以輕松實現欺騙,且局域網受到攻擊的范圍更大,下面一個小結就以現網中的一個真實的用戶為例講解第二種類型的ARP欺騙。
同城互聯VPN用戶的ARP欺騙
某金融客戶有96個支行網點的視頻監控采用的是運營商的同城互聯VPN搭建的,即全部的分支點以及中心點在運營商的城域網側均采用同一個vlan透傳將96個分支點加中心點互聯在一起,在運營商城域網側相當于僅對用戶進行了二層透傳,并未進行三層的隔離。用戶在自己的設備將全部97個網點設置在同一個網段中192.0.0.x/24中,其中心點的IP地址為192.0.0.1/24,因此所有的97個網點在同一個局域網中,這樣的設置也成為發生ARP欺騙的潛在危險源。
某天運營商維護人員突然接到用戶電話,稱中心點的大屏幕上的97個視頻監控LED屏上僅能顯示7-8塊,其余均為黑屏狀態。運營商側維護人員查看連接用戶中心點的三層交換機的CPU利用率、上聯帶寬占用率和設備日志并未發現異常。觀察該端口下的MAC地址始終是正常狀態。
此時用戶再次打電話,聲稱中心點的監控圖像時有時無,且原來7-8塊顯示圖像的分支點,經過幾分鐘后又不能顯示,又有其他幾塊圖像可以顯示,此時運營商維護人員考慮可能是有ARP欺騙的現象存在。遂在該三層交換機上配置192.0.0.234作為測試地址并對分支點和中心點分別進行ping測試,測試后發現原本應在三層交換機下聯口學習上來的網關IP-MAC對應關系然是從設備上聯口學習上來的。后經我方網絡維護人員在城域網設備上一級一級尋找,終于找到了用戶在歷下區的某分支點上,存在偽造網關的設備。
ARP攻擊的防范
對于ARP攻擊的防范,我們可以分為主動防范和被動防范,下面我們就分別就兩種防范進行講解。
主動防范
主動防范我們可以通過綁定IP-MAC映射表項、安裝殺毒軟件和使用ARP防火墻等方式來實現。
綁定IP-MAC映射關系表項是防范ARP欺騙的最好的方法,需注意的是IP-MAC映射關系需要雙向綁定方能起到最好的效果,在網關上面綁定其他所有的局域網的主機的IP-MAC映射關系,同時在局域網的所有主機上綁定與網關的IP-MAC映射關系,這樣就可以很有效的對上述兩種類型的ARP欺騙進行防范,但這種方式對ARP掃描和ARP報文攻擊不起作用,且該方法只能保證網絡正常運行,不能定位及清除ARP攻擊源。
被動防范
手工查找攻擊源的方式就是使用我們2.2小結講過的arp –a的命令,如果ARP緩存中網關的IP地址對應的MAC地址不是真是的MAC地址,則可判斷該MAC地址為ARP攻擊的源MAC地址。無論手動還是通過軟件,找到攻擊源并不是最終目的,必須通過手工修改或者是通過軟件查殺找到ARP病毒病清理干凈才能達到我們最終需要的結果。
參考文獻
林成浴,《TCP/IP協議及其應用》,人民郵電出版社
(美)Joe Cased,《TCP/IP入門經典》,人民郵電出版社
(美)W.Richard Steven,《TCP/IP Illustrated Volume 1:The Protocols》,機械工業出版社
周賀,彭婧,馮光焰,《ARP協議的安全問題及其解決方案》,計算機與網絡
謝正均,《IP欺騙原理及其對策》,電信快報
林敏,《網絡互聯安全技術及解決方案》,中國金融電腦