摘要:針對“ARP攻擊與防范”課程教學,分析了ARP協議及ARP攻擊的工作原理,提出了一種更好理解“ARP攻擊與防范”的課程實驗設計方案。
關鍵詞:ARP協議;ARP攻擊;ARP防范;實驗設計
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)03-611-02
Experimental Design of Courses Based on the ARP Attack and Prevention
SONG Xing-yue
(Department of Information Technology, Liaoning Finance Vocatinal College, Shenyang 110122, China)
Abstract: Based on ARP attack and prevention courses teaching, analyzed the principle of ARP protocol and ARP attacks. A advanced experiment method about the ARP attack and prevention is introduced, and it is helpful for students to study ARP attack and prevention.
Key words: ARP protocol; ARP attack; ARP prevention; experiment design
互聯網是一個面向大眾的開放系統,設計初衷是信息共享、開放、靈活和快速,對于信息的保密措施和系統的安全性考慮得并不完備,這些特性不可避免地引發一些網絡安全問題,而且,這些問題隨著信息技術的發展也就日益嚴重,如何有效地防范各種攻擊,增強網絡安全性,是一項重要的課題。
網絡協議安全是網絡安全中的重要領域,研究ARP協議及其在網絡攻防中的應用具有積極的意義。但ARP攻擊方式在不斷變換,就連一些資深的網絡管理員也為此感到十分頭疼。更何況學校里沒有實際工作經驗的學生?;诖耍疚脑O計了一套ARP攻擊與防范實驗方案,增強學生對ARP協議、ARP攻擊原理的理解,并提高對網絡實際操作和故障解決的能力。
1 ARP協議工作原理
ARP協議,全稱Address Resolution Protocol,中文名是地址解析協議,它工作在OSI模型的數據鏈路層,用于將IP地址轉化為網絡接口的硬件地址(MAC地址)。無論是任何高層協議的通信,最終都將轉換為數據鏈路層硬件地址的通訊。
當網絡中一臺主機要向另一臺主機或者路由器發送數據時,會首先檢查自己ARP列表中是否存在該IP地址對應的MAC地址,如有,就直接將數據包發送到該MAC地址;如無,就向本地網段發起一個ARP請求的廣播包,查詢此目的主機對應的MAC地址,此ARP請求數據包里包括源主機的IP地址、硬件地址、以及目的主機的IP地址。網絡中所有的主機收到該ARP請求后,會檢查數據包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此數據包;如果相同,該主機首先將發送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已經存在該IP的信息,則將其覆蓋,然后給源主機發送一個ARP響應數據包,告訴對方自己是它需要查找的MAC地址;源主機收到這個ARP響應數據包后,將得到的目的主機的IP地址和MAC地址添加到自己的ARP列表中,并以超時則刪除的策略加以維護。
ARP協議是建立在信任局域網內所有結點的基礎上的,它很高效,但卻不安全。它不會檢查自己是否發過請求包,也不管(其實也不知道)是否是合法的應答,只要收到目標MAC是自己的ARP Reply包或ARP廣播包都會接受并緩存,這就為欺騙提供了可能。
2 ARP攻擊原理
ARP欺騙的核心思想是向目標主機發送偽造的ARP應答,并使目標主機接收應答中偽造的IP地址與MAC地址之間的映射對,以此更新目標主機ARP緩存。
2.1 ARP攻擊過程
設在同一網段的三臺主機:A、B、C。其IP地址和MAC地址映射關系如表1所示。
假設A與B是信任關系,A欲向B發送數據包。攻擊方C通過前期準備,收集信息,發現B的漏洞,使B暫時無法工作。然后C發送一個源IP地址為192.168.0.3源MAC地址為BB:BB:BB;BB:BB:BB的包給A。由于大多數的操作系統在接收到ARP應答后會及時更新ARP緩存,而不考慮是否發出過真實的ARP請求,所以A接收到應答后,就更新它的ARP緩存,建立新的IP/MAC地址映射對,即192.168.0.2→CC:CC:CC:CC:CC:CC。這樣,A就將發往B的數據包發向了C,這就是典型的ARP欺騙過程。
2.2 ARP攻擊方式
根據影響網絡連接的方式,ARP欺騙技術主要有:對路由器ARP表的欺騙、對局域網內的主機網關欺騙以及IP地址欺騙等等。其中偽造網關是一種典型的ARP欺騙。就是建立假網關,讓被它欺騙的主機向假網關發數據,造成無法通過正常的路由器途徑上網。雖與其它主機可以連接,就是上不了網了,“網絡掉線了”。
3 ARP攻擊與防范實驗
利用WinArpAttacke的Send功能實現ARP攻擊,主機1對主機2發動ARP攻擊,導致主機2無法與外界通信,即主機2與主機3ping不同。實驗網絡拓撲結構如圖1所示。
1) 運行WinArpAttacke軟件,在Opitions中選擇IP地址192.168.10.0網段的網卡Adapter,確定。點擊“Scan”能夠掃描出這個網段中存活的主機及對應的MAC地址。也可以采用ipconfig/all和arp-a命令獲得被攻擊前各主機的Mac地址,各主機IP地址及Mac地址對應如表2所示。攻擊前各主機均能ping通。
2)主機1發動ARP禁止上網攻擊,告訴主機2網關的MAC地址是一個假的MAC地址(00-11-22- 33-44-55),則主機2要發往網關的數據都發不到真正的網關上,在主機1上設置Dst Hardware Mac: 00 -15-58-E8-C2-7B,Src Hardware Mac:00-15-58-E9- 0A-C0,Dst Protocol Mac:00-00-00-00-00-00,Scr Protocol Mac: 00-11-22-33-44-55,Dst IP: 192.168.10.20,Src IP: 192.168.10. 254。選中“Continuously”發送連續欺騙,點擊“Send”發送,則主機2會認為網關192.168.10.254的MAC地址為00-11-22-33-44-55,所以主機2 Ping不通主機3。
3) ARP禁止上網攻擊的防御:
我們可以在交換機上打開Port Security Arp Check開防止ARP欺騙,配置步驟如下:
Switch#con
Switch
Switch
Switch
Switch
Switch
Switch
配置完畢之后,主機1和主機2打開Ethereal軟件進行監聽,主機1再對主機2發動ARP禁止上網攻擊,通過監聽可以看出,主機1發送了ARP數據包但得不到應答,而主機2根本沒有收到主機發送過來的ARP數據包,主機2還是可以與主機3之間正常通信。原因在于交換機收到端口5的arp的數據包的地址不是設定的192.168.10.10,則將數據包丟棄,從而防止了ARP欺騙。
4 總結
ARP欺騙是一種典型的欺騙攻擊類型,它利用了ARP協議存在的安全隱患,以及通過使用一些專門的攻擊工具,使得這種攻擊變得普及并有較高的成功率。筆者承擔計算機網絡技術專業的“網絡信息安全”課程教學,在講到“ARP攻擊與防范”課題時采用了這個實驗,將抽象復雜的網絡協議與實際應用結合起來,極大提高了學生實驗積極性,學生反應良好,達到了較好的學習效果。
參考文獻:
[1] 任俠.ARP協議欺騙原理分析與抵御方法[J].計算機工程,2003,29(9):1272128.
[2] 傅軍.基于ARP協議的欺騙及其預防[J].中國科技論文在線,2007(1):55258.
[3] 馬宜興.網絡安全與病毒防范[M].上海:上海交通大學出版社,2007:32.
[4] 黃學林.ARP協議欺騙原理分析及防范措施[J].廣東科技,2007,169:172-173.