摘要:該文介紹了ARP地址解析協(xié)議的含義和工作原理,并根據(jù)ARP協(xié)議所存在的安全漏洞,給出了網(wǎng)段內(nèi)和跨網(wǎng)段ARP欺騙的實現(xiàn)過程。最后,結(jié)合網(wǎng)絡(luò)管理的實際工作,重點介紹了IP地址和MAC地址綁定、交換機端口和MAC地址綁定、VLAN隔離技術(shù)等幾種能夠有效防御ARP欺騙攻擊的安全防范策略,并通過實驗驗證了該安全策略的有效性。
關(guān)鍵詞:ARP協(xié)議;ARP欺騙;MAC地址;IP地址;網(wǎng)絡(luò)安全
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)34-1883-02
The Safety Methods to Avoid the ARP-Cheating in Network
LIU Yi, ZHU Yan-jin, CHEN Zhen
(Department of Technology and Education, Zhanjiang Normal College, Zhanjiang 524048, China)
Abstract: In this article, the meaning and the principle of address resolution protocol (ARP) is introduced. The process of ARP-cheating in LANs and out LANs based on the bug of ARP is given. Some effective methods to avoid the attack from ARP-cheating according to the actual work are submitted. The binding between IP Address and MAC Address, the binding between switch ports and MAC Address, and the technique of VLAN isolation are explained strictly.The effectiveness of above- mentioned have been demonstrated in our work.
Key words: address resolution protocol (ARP); ARP-Cheating;MAC address;IP address; network security
1 引言
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡(luò)中實際傳輸?shù)氖恰皫保瑤锩媸前繕酥鳈C的MAC地址的。在以太網(wǎng)中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。所謂“地址解析”就是主機在發(fā)送幀前將目標IP地址轉(zhuǎn)換成目標MAC地址的過程。ARP協(xié)議的基本功能就是通過目標設(shè)備的IP地址,查詢目標設(shè)備的MAC地址,以保證通信的順利進行[1-2]。所以說從某種意義上講ARP協(xié)議是工作在更低于IP協(xié)議的協(xié)議層。這也是為什么ARP欺騙更能夠讓人在神不知鬼不覺的情況下出現(xiàn)網(wǎng)絡(luò)故障,他的危害更加隱蔽。
從影響網(wǎng)絡(luò)連接通暢的方式來看,ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內(nèi)網(wǎng)PC的網(wǎng)關(guān)欺騙。 第一種ARP欺騙的原理是——截獲網(wǎng)關(guān)數(shù)據(jù)。第二種ARP欺騙的原理是——偽造網(wǎng)關(guān)[3-5]。
該文就此提出了IP地址和MAC地址綁定、交換機端口和MAC地址綁定、VLAN隔離技術(shù)這幾種能有效防范ARP欺騙攻擊的方法,希望能給廣大網(wǎng)絡(luò)管理工作者一些啟示。
2 ARP協(xié)議簡介
ARP(Address Resolution Protocol)即地址解析協(xié)議,該協(xié)議將網(wǎng)絡(luò)層的IP地址轉(zhuǎn)換為數(shù)據(jù)鏈路層地址。TCP/IP協(xié)議中規(guī)定,IP地址為32位,由網(wǎng)絡(luò)號和網(wǎng)絡(luò)內(nèi)的主機號構(gòu)成,每一臺接入局域網(wǎng)或者Internet的主機都要配置一個IP地址。在以太網(wǎng)中,源主機和目的主機通信時,源主機不僅要知道目的主機的IP地址,還要知道目的主機的數(shù)據(jù)鏈路層地址,即網(wǎng)卡的MAC地址,同時規(guī)定MAC地址為48位。ARP協(xié)議所做的工作就是查詢目的主機的IP地址所對應(yīng)的MAC地址,并實現(xiàn)雙方通信。
3 ARP協(xié)議的工作原理
源主機在傳輸數(shù)據(jù)前,首先要對初始數(shù)據(jù)進行封裝,在該過程中會把目的主機的IP地址和MAC地址封裝進去。在通信的最初階段,我們能夠知道目的主機的IP地址,而MAC地址卻是未知的。這時如果目的主機和源主機在同一個網(wǎng)段內(nèi),源主機會以第二層廣播的方式發(fā)送ARP請求報文。ARP請求報文中含有源主機的IP地址和MAC地址,以及目的主機的IP地址。當該報文通過廣播方式到達目的 主機時,目的主機會響應(yīng)該請求,并返回ARP響應(yīng)報文,從而源主機可以獲取目的主機的MAC地址,同樣目的主機也能夠獲得源主機的MAC地址。如果目的主機和源主機地址不在同一個網(wǎng)段內(nèi),源主機發(fā)出的IP數(shù)據(jù)包會送到交換機的默認網(wǎng)關(guān),而默認網(wǎng)關(guān)的MAC地址同樣可以通過ARP協(xié)議獲取。經(jīng)過ARP協(xié)議解析IP地址之后,主機會在緩存中保存IP地址和MAC地址的映射條目,此后再進行數(shù)據(jù)交換時只要從緩存中讀取映射條目即可。
4 ARP欺騙攻擊的實現(xiàn)過程
4.1 網(wǎng)段內(nèi)的ARP欺騙攻擊
ARP欺騙攻擊的核心就是向目標主機發(fā)送偽造的ARP應(yīng)答,并使目標主機接收應(yīng)答中偽造的IP與MAC間的映射對,并以此更新目標主機緩存[6]。設(shè)在同一網(wǎng)段的三臺主機分別為A,B,C,詳見表1。
假設(shè)A與B是信任關(guān)系,A欲向B發(fā)送數(shù)據(jù)包。攻擊方C通過前期準備,可以發(fā)現(xiàn)B的漏洞,使B暫時無法工作,然后C發(fā)送包含自己MAC地址的ARP應(yīng)答給A。由于大多數(shù)的操作系統(tǒng)在接收到ARP應(yīng)答后會及時更新ARP緩存,而不考慮是否發(fā)出過真實的ARP請求,所以A接收到應(yīng)答后,就更新它的ARP緩存,建立新的IP和MAC地址映射對,即B的IP地址1.1.1.2對應(yīng)了C的MAC地址00-A0-4C-33-33-33。這樣,導(dǎo)致A就將發(fā)往B的數(shù)據(jù)包發(fā)向了C,但A和B卻對此全然不知,因此C就實現(xiàn)對A和B的監(jiān)聽。
4.2 跨網(wǎng)段的ARP欺騙攻擊
跨網(wǎng)段的ARP欺騙比同一網(wǎng)段的ARP欺騙要復(fù)雜得多,它需要把ARP欺騙與ICMP重定向攻擊結(jié)合在一起[7]。假設(shè)A和B在同一網(wǎng)段,C在另一網(wǎng)段,詳見表2。
首先攻擊方C修改IP包的生存時間,將其延長,以便做充足的廣播。然后和上面提到的一樣,尋找主機B的漏洞,攻擊此漏洞,使主機B暫時無法工作。此后,攻擊方C發(fā)送IP地址為B的IP地址1.1.1.2,MAC地址為C的MAC地址00-A0-4C-33-33-33的ARP應(yīng)答給A。A接收到應(yīng)答后,更新其 ARP緩存。這樣,在主機A上B的IP地址就對應(yīng)C的MAC地址。但是,A在發(fā)數(shù)據(jù)包給B時,仍然會在局域網(wǎng)內(nèi)尋找1.1.1.2的MAC地址,不會把包發(fā)給路由器,這時就需要進行ICMP重定向,告訴主機A到1.1.1.2的最短路徑不是局域網(wǎng),而是路由,請主機重定向路由路徑,把所有到1.1.1.2 的包發(fā)給路由器。主機A在接受到這個合理的ICMP重定向后,修改自己的路由路徑,把對1.1.1.2的數(shù)據(jù)包都發(fā)給路由器。這樣攻擊方C就能得到來自內(nèi)部網(wǎng)段的數(shù)據(jù)包。
5 ARP欺騙攻擊安全防范策略
5.1 用戶端綁定
在用戶端計算機上綁定交換機網(wǎng)關(guān)的IP和MAC地址。
1)首先,要求用戶獲得交換機網(wǎng)關(guān)的IP地址和MAC地址,用戶在DOS提示符下執(zhí)行arp
–a命令,具體如下: C:\\Documents and Settings\\user>arp -a Interface: 1.1.1.1 --- 0x2 Internet Address Physical Address Type 1.1.1.254 00-A0-66-77-88-99 dynamic 其中1.1.1.254和00-A0-66-77-88-99分別為網(wǎng)關(guān)的IP 地址和MAC地址,因用戶所在的區(qū)域、樓體和交換機不同,其對應(yīng)網(wǎng)關(guān)的IP地址和MAC地址也不相同。
2)編寫一個批處理文件arp.bat,實現(xiàn)將交換機網(wǎng)關(guān)的MAC地址和網(wǎng)關(guān)的IP地址的綁
定,內(nèi)容如下:@echo off arp –d arp -s 1.1.1.254 00-A0-66-77-88-99 用戶應(yīng)該按照第一步中查找到的交換機網(wǎng)關(guān)的IP地址和MAC地址,填入arp –s后面即可,同時需要將這個批處理軟件拖到“windows--開始--程序--啟動”中,以便用戶每次開機后計算機自動加載并執(zhí)行該批處理文件,對用戶起到一個很好的保護作用。
5.2 網(wǎng)管交換機端綁定
在核心交換機上綁定用戶主機的IP地址和網(wǎng)卡的MAC地址,同時在邊緣交換機上將用戶計算機網(wǎng)卡的MAC地址和交換機端口綁定的雙重安全綁定方式[8]。
1) IP和MAC地址的綁定。在核心交換機上將所有局域網(wǎng)絡(luò)用戶的IP地址與其網(wǎng)卡MAC地址一一對應(yīng)進行全部綁定。這樣可以極大程度上避免非法用戶使用ARP欺騙或盜用合法用戶的IP地址進行流量的盜取。具體實現(xiàn)方法如下(以AVAYA三層交換機為例): P580(Configure)# arp 1.1.1.1 00:A0:4C:11:11:11 P580(Configure)# arp 1.1.1.2 00:A0:4C:22:22:22 P580(Configure)# arp 1.1.2.3 00:A0:4C:33:33:33
2) MAC地址與交換機端口的綁定。根據(jù)局域網(wǎng)絡(luò)用戶所在的區(qū)域、樓體和用戶房間所對應(yīng)的交換機端口號,將用戶計算機網(wǎng)卡的MAC地址和交換機端口綁定。此方案可以防止非法用戶隨意接入網(wǎng)絡(luò)端口上網(wǎng)。網(wǎng)絡(luò)用戶如果擅自改動本機網(wǎng)卡的MAC地址,該機器的網(wǎng)絡(luò)訪問將因其MAC地址被交換機認定為非法而無法實現(xiàn)上網(wǎng),自然也就不會對局域網(wǎng)造成干擾了。
5.3 采用VLAN技術(shù)隔離端口
局域網(wǎng)的網(wǎng)絡(luò)管理員可根據(jù)本單位網(wǎng)絡(luò)的拓卜結(jié)構(gòu),具體規(guī)劃出若干個VLAN,當管理員發(fā)現(xiàn)有非法用戶在惡意利用ARP欺騙攻擊網(wǎng)絡(luò),或因合法用戶受病毒ARP病毒感染而影響網(wǎng)絡(luò)時,網(wǎng)絡(luò)管理員可利用技術(shù)手段首先查找到該用戶所在的交換機端口,然后將該端口劃一個單獨的VLAN將該用戶與其它用戶進行物理隔離,以避免對其它用戶的影響[9]。當然也可以利用將交換機端口Disable掉來屏蔽該用戶對網(wǎng)絡(luò)造成影響,從而達到安全防范的目的。
6 結(jié)論
網(wǎng)絡(luò)欺騙攻擊作為一種非常專業(yè)化的攻擊手段,給網(wǎng)絡(luò)安全管理者帶來了嚴峻的考驗。ARP欺騙是一種典型的欺騙攻擊類型,它利用了ARP協(xié)議存在的安全隱患,并使用一些專門的攻擊工具,使得這種攻擊變得普及并有較高的成功率。文中通過分析ARP協(xié)議的工作原理,探討了ARP協(xié)議從IP地址到MAC地址解析過程中的安全性,給出了網(wǎng)段內(nèi)和跨網(wǎng)段ARP欺騙的實現(xiàn)過程,提出了幾種常規(guī)可行的解決方案,如在用戶計算機上綁定交換機網(wǎng)關(guān)的IP地址和MAC地址、在交換機上綁定用戶主機的IP地址和網(wǎng)卡的MAC地址或綁定用戶計算機網(wǎng)卡的MAC地址和交換機端口、VLAN隔離等技術(shù)。如果多種方案配合使用,就可以最大限度的杜絕ARP欺騙攻擊的出現(xiàn)。總之,對于ARP欺騙的網(wǎng)絡(luò)攻擊,不僅需要用戶自身做好防范工作之外,更需要網(wǎng)絡(luò)管理員應(yīng)該時刻保持高度警惕,并不斷跟蹤防范欺騙類攻擊的最新技術(shù),做到防范于未然。
參考文獻:
[1] 王佳,李志蜀.基于ARP協(xié)議的攻擊原理分析[J].微電子學與計算機,2004,21(4):10-12.
[2] 徐功文,陳曙,時研會.ARP協(xié)議攻擊原理及其防范措施[J].網(wǎng)絡(luò)與信息安全,2005(1):4-6.
[3] 孟曉明.基于ARP的網(wǎng)絡(luò)欺騙的檢測與防范[J].信息技術(shù),2005(5):41-44.
[4] 蒲宏偉,唐光艷; 計算機網(wǎng)絡(luò)中的安全問題[J].遼寧師專學報:自然科學版,2006(1):30-31.
[5] 畢四軍; 淺析網(wǎng)絡(luò)協(xié)議對局域網(wǎng)性能和應(yīng)用的影響[J].甘肅科技,2006(2):61-63.
[6] 劉貴松,晏華,章毅.基于ARP協(xié)議的局域網(wǎng)訪問控制[J].電子科技大學學報,2005(2):25.
[7] 彭學軍,李春麗.基于ARP協(xié)議的攻擊和保護[J].荊門職業(yè)技術(shù)學院學報,2005,20(6):32-35
[8] 張海燕.ARP漏洞及其防范技術(shù)[J].網(wǎng)絡(luò)安全,2005(4):40-42.
[9] 鄧清華,陳松喬.ARP欺騙攻擊及其防范[J].微機發(fā)展,2004,14(8):126-128.