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