【摘 要】在局域網(wǎng)中,通過(guò)ARP協(xié)議能完成IP地址轉(zhuǎn)換為第二層物理地址(即MAC地址)。通過(guò)偽造IP地址和MAC地址實(shí)現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞??梢?jiàn)ARP協(xié)議對(duì)網(wǎng)絡(luò)安全具有重要的意義。
【關(guān)鍵詞】ARP協(xié)議;ARP欺騙;ARP防范
一、ARP協(xié)議概述
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫(xiě)。所謂“地址解析”就是主機(jī)在發(fā)送數(shù)據(jù)包前將目標(biāo)主機(jī)IP地址轉(zhuǎn)換成目標(biāo)主機(jī)MAC地址的過(guò)程。在局域網(wǎng)中,一臺(tái)主機(jī)要和另一臺(tái)主機(jī)進(jìn)行通信,必須要知道目標(biāo)主機(jī)的IP地址,但是最終負(fù)責(zé)在局域網(wǎng)中傳送數(shù)據(jù)的網(wǎng)卡等物理設(shè)備是不識(shí)別IP地址的,只能識(shí)別其硬件地址即MAC地址。MAC地址是48位的,通常表示為12個(gè)16進(jìn)制數(shù),每2個(gè)16進(jìn)制數(shù)之間用“——”或者冒號(hào)隔開(kāi),如:00-0C-76-2F-E5-EA就是一個(gè)MAC地址。每一塊網(wǎng)卡都有其全球唯一的MAC地址,網(wǎng)卡之間發(fā)送數(shù)據(jù),只能根據(jù)對(duì)方網(wǎng)卡的MAC地址進(jìn)行發(fā)送,這時(shí)就需要一個(gè)將高層數(shù)據(jù)包中的IP地址轉(zhuǎn)換成低層MAC地址的協(xié)議,而這個(gè)重要的任務(wù)將由ARP協(xié)議完成。
二、ARP工作原理
首先,每臺(tái)主機(jī)都會(huì)在自己的ARP緩沖區(qū)(ARP Cache)中建立一個(gè)ARP列表,以表示IP地址和MAC地址的對(duì)應(yīng)關(guān)系。當(dāng)源主機(jī)需要將一個(gè)數(shù)據(jù)包要發(fā)送到目的主機(jī)時(shí),會(huì)首先檢查自己ARP列表中是否存在該IP地址對(duì)應(yīng)的MAC地址,如果有﹐就直接將數(shù)據(jù)包發(fā)送到這個(gè)MAC地址;如果沒(méi)有,就向本地網(wǎng)段發(fā)起一個(gè)ARP請(qǐng)求的廣播包,查詢此目的主機(jī)對(duì)應(yīng)的MAC地址。此ARP請(qǐng)求數(shù)據(jù)包里包括源主機(jī)的IP地址、硬件地址、以及目的主機(jī)的IP地址。網(wǎng)絡(luò)中所有的主機(jī)收到這個(gè)ARP請(qǐng)求后,會(huì)檢查數(shù)據(jù)包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此數(shù)據(jù)包;如果相同,該主機(jī)首先將發(fā)送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已經(jīng)存在該IP的信息,則將其覆蓋,然后給源主機(jī)發(fā)送一個(gè)ARP響應(yīng)數(shù)據(jù)包,告訴對(duì)方自己是它需要查找的MAC地址;源主機(jī)收到這個(gè)ARP響應(yīng)數(shù)據(jù)包后,將得到的目的主機(jī)的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息開(kāi)始數(shù)據(jù)的傳輸。如果源主機(jī)一直沒(méi)有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。
三、ARP欺騙概述
(1)ARP欺騙原理的分類(lèi)。從影響網(wǎng)絡(luò)連接通暢的方式來(lái)看,ARP欺騙分為二種,一種是對(duì)路由器ARP表的欺騙;另一種是對(duì)內(nèi)網(wǎng)PC的網(wǎng)關(guān)欺騙。第一種ARP欺騙的原理是——截獲網(wǎng)關(guān)數(shù)據(jù)。它通知路由器一系列錯(cuò)誤的內(nèi)網(wǎng)MAC地址,并按照一定的頻率不斷進(jìn)行,使真實(shí)的地址信息無(wú)法通過(guò)更新保存在路由器中,結(jié)果路由器的所有數(shù)據(jù)只能發(fā)送給錯(cuò)誤的MAC地址,造成正常PC無(wú)法收到信息。第二種ARP欺騙的原理是——偽造網(wǎng)關(guān)。它的原理是建立假網(wǎng)關(guān),讓被它欺騙的PC向假網(wǎng)關(guān)發(fā)數(shù)據(jù),而不是通過(guò)正常的路由器途徑上網(wǎng)。在PC看來(lái),就是上不了網(wǎng)了——網(wǎng)絡(luò)掉線了。(2)ARP欺騙新的表現(xiàn)形式?,F(xiàn)在又新出現(xiàn)了一種ARP病毒,與以前的一樣的是,該類(lèi)ARP病毒也是向全網(wǎng)發(fā)送偽造的ARP欺騙廣播,自身偽裝成網(wǎng)關(guān)。但區(qū)別是,它著重的不是對(duì)網(wǎng)絡(luò)游戲數(shù)據(jù)包的解密,而是對(duì)于HTTP請(qǐng)求訪問(wèn)的修改。還是以上面的局域網(wǎng)環(huán)境舉例,如果局域網(wǎng)中一臺(tái)電腦B要請(qǐng)求某個(gè)網(wǎng)站頁(yè)面,如想請(qǐng)求www.sina.com.cn這個(gè)網(wǎng)頁(yè),這臺(tái)電腦會(huì)先向網(wǎng)關(guān)發(fā)送HTTP請(qǐng)求,說(shuō):“我想登陸www.sina.com.cn網(wǎng)頁(yè),請(qǐng)你將這個(gè)網(wǎng)頁(yè)下載下來(lái),并發(fā)送給我?!边@樣,網(wǎng)關(guān)就會(huì)將www.sina.com.cn頁(yè)面下載下來(lái),并發(fā)送給B電腦。這時(shí),如果A這臺(tái)電腦通過(guò)向全網(wǎng)發(fā)送偽造的ARP欺騙廣播,自身偽裝成網(wǎng)關(guān),成為一臺(tái)ARP中毒電腦的話,這樣當(dāng)B電腦請(qǐng)求WEB網(wǎng)頁(yè)時(shí),A電腦先是“好心好意”地將這個(gè)頁(yè)面下載下來(lái),然后發(fā)送給B電腦,但是它在返回給B電腦時(shí),會(huì)向其中插入惡意網(wǎng)址連接!該惡意網(wǎng)址連接會(huì)利用MS06-014和MS07-017等多種系統(tǒng)漏洞,向B電腦種植木馬病毒!同樣,如果C電腦也是請(qǐng)求WEB頁(yè)面訪問(wèn),A電腦同樣也會(huì)給C電腦返回帶毒的網(wǎng)頁(yè),這樣,如果一個(gè)局域網(wǎng)中存在這樣的ARP病毒電腦的話,頃刻間,整個(gè)網(wǎng)段的電腦將會(huì)全部中毒!
四、關(guān)于ARP欺騙的防范對(duì)策與建議
(1)找到感染ARP病毒的機(jī)器。在電腦上ping一下網(wǎng)關(guān)的IP 地址,然后使用ARP-a 的命令看得到的網(wǎng)關(guān)對(duì)應(yīng)的MAC 地址是否與實(shí)際情況相符,如不符,可去查找與該MAC 地址對(duì)應(yīng)的電腦。(2)IP地址和MAC地址綁定。ARP-S 可在MS-DOS窗口下運(yùn)行以下命令:ARP -S手工綁定網(wǎng)關(guān)IP和網(wǎng)關(guān)MAC。靜態(tài)綁定,就可以盡可能的減少攻擊了。(3)給系統(tǒng)打上安全補(bǔ)丁。在全網(wǎng)的電腦都打上MS06-014和MS07-017這兩個(gè)補(bǔ)丁,包括所有的客戶端和服務(wù)器,以免感染網(wǎng)頁(yè)木馬。(4)利用殺毒軟件。部署網(wǎng)絡(luò)版的殺毒軟件,定期升級(jí)病毒庫(kù),定期全網(wǎng)殺毒;使用防火墻連續(xù)監(jiān)控網(wǎng)絡(luò)。注意有使用SNMP的情況下,ARP的欺騙有可能導(dǎo)致陷阱包丟失。