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