- 相關(guān)推薦
ARP病毒的攻擊原理分析
摘要:最近校局域網(wǎng)中ARP病毒頻繁發(fā)作,給校內(nèi)用戶造成不便。本文從ARP協(xié)議入手,深入分析了ARP安全漏洞及病毒攻擊原理,并對ARP欺騙的原理與攻擊方式做了深入的研究,闡明了ARP病毒欺騙的過程,給用戶提出解決這個(gè)問題的方法。
關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議 IP地址 ARP病毒
1. 引言
從上半年開始在學(xué)校的局域網(wǎng)爆發(fā)了“ARP欺騙”木馬病毒,病毒發(fā)作時(shí)其癥狀表現(xiàn)為計(jì)算機(jī)網(wǎng)絡(luò)連接正常,能登陸成功卻無法打開網(wǎng)頁,極大地影響了局域網(wǎng)用戶的正常使用。
2. ARP協(xié)議的工作原理
在以太網(wǎng)中傳輸?shù)臄?shù)據(jù)包是以太包,而以太包的尋址是依據(jù)其首部的MAC地址。僅僅知道某主機(jī)的IP地址并不能讓內(nèi)核發(fā)送一幀數(shù)據(jù)給此主機(jī),內(nèi)核必須知道目的主機(jī)的MAC地址才能發(fā)送數(shù)據(jù)。ARP協(xié)議的作用就是在于把32位的IP地址變換成48位的以太地址。
在以太局域網(wǎng)內(nèi)數(shù)據(jù)包傳輸依靠的是MAC地址,IP地址與MAC對應(yīng)的關(guān)系依靠ARP緩存表,每臺主機(jī)(包括網(wǎng)關(guān))都有一個(gè)ARP緩存表。在正常情況下這個(gè)緩存表能夠有效保證數(shù)據(jù)傳輸?shù)囊粚σ恍。我們可以在命令行窗口?輸入命令A(yù)RP -A,進(jìn)行查看,輸入命令A(yù)RP -D進(jìn)行刷新。
當(dāng)數(shù)據(jù)源主機(jī)需要將一個(gè)數(shù)據(jù)包要發(fā)送到目的主機(jī)時(shí),會首先檢查自己ARP列表中是否存在該IP地址對應(yīng)的MAC地址,如果存在,就直接將數(shù)據(jù)包發(fā)送到這個(gè)MAC地址;如果不存在,就向本地網(wǎng)段發(fā)起一個(gè)ARP請求的廣播包,詢問目的主機(jī)的IP所對應(yīng)的MAC地址。網(wǎng)絡(luò)中所有的主機(jī)收到這個(gè)ARP請求后,會檢查數(shù)據(jù)包中的目的IP是否和自己的IP地址一致。如果不一致就不作回應(yīng);如果一致,該主機(jī)首先將發(fā)送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已經(jīng)存在該IP的信息,則將其覆蓋,后給數(shù)據(jù)源主機(jī)發(fā)送一個(gè)ARP響應(yīng)數(shù)據(jù)包,告訴對方自己是它需要查找的MAC地址;源主機(jī)收到這個(gè)ARP響應(yīng)數(shù)據(jù)包后,將得到的目的主機(jī)的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息開始數(shù)據(jù)的傳輸。若數(shù)據(jù)源主機(jī)一直沒有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。
3. ARP病毒的欺騙原理和欺騙過程
ARP欺騙的目的就是為了實(shí)現(xiàn)全交換環(huán)境下的數(shù)據(jù)監(jiān)聽,大部分的木馬或病毒使用ARP欺騙攻擊也是為了達(dá)到這個(gè)目的。
假設(shè)一個(gè)只有三臺電腦組成的局域網(wǎng),該局域網(wǎng)由交換機(jī)(Switch)連接。其中一個(gè)電腦名叫A,代表攻擊方;一臺電腦叫S,代表源主機(jī),即發(fā)送數(shù)據(jù)的電腦;令一臺電腦名叫D,代表目的主機(jī),即接收數(shù)據(jù)的電腦。這三臺電腦的IP地址分別為:192.168.0.2,192.168.0.3,192.168.0.4,MAC地址分別為:MAC-A,MAC-S,MAC-D。
現(xiàn)在,S電腦要給D電腦發(fā)送數(shù)據(jù),則要先查詢自身的ARP緩存表,查看里面是否有192.168.0.4這臺電腦的MAC地址,如果有,就將MAC-D封裝在數(shù)據(jù)包的外面,直接發(fā)送出去即可。如果沒有,S電腦便向全網(wǎng)絡(luò)發(fā)送一個(gè)這樣的ARP廣播包:S的IP是192.168.0.3,硬件地址是MAC-S,要求返回IP地址為192.168.0.4的主機(jī)的硬件地址。而D電腦接受到該廣播,經(jīng)核實(shí)IP地址,則將自身的IP地址和MAC-D地址返回到S電腦,F(xiàn)在S電腦可以在要發(fā)送的數(shù)據(jù)包上貼上目的地址MAC-D發(fā)送出去,同時(shí)它還會動態(tài)更新自身的ARP緩存表,將192.168.0.4-MAC-D這一條記錄添加進(jìn)去,這樣,等S電腦下次再給D電腦發(fā)送數(shù)據(jù)的時(shí)候,發(fā)送ARP廣播包進(jìn)行查詢了。這就是正常情況下的數(shù)據(jù)包發(fā)送過程。
但是,上述數(shù)據(jù)發(fā)送機(jī)制有一個(gè)致命的缺陷,即它是建立在對局域網(wǎng)中電腦全部信任的基礎(chǔ)上的,也就是說它的假設(shè)前提是:無論局域網(wǎng)中哪臺電腦,其發(fā)送的ARP數(shù)據(jù)包都是正確的。比如在上述數(shù)據(jù)發(fā)送中,當(dāng)S電腦向全網(wǎng)詢問后,D電腦也回應(yīng)了自己的正確MAC地址。但是當(dāng)此時(shí),A電腦卻返回了D電腦的IP地址和和自己的硬件地址。由于A電腦不停地發(fā)送這樣的應(yīng)答數(shù)據(jù)包,則會導(dǎo)致S電腦又重新動態(tài)更新自身的ARP緩存表,這回記錄成:192.168.0.4與MAC-A對應(yīng),我們把這步叫做ARP緩存表中毒。這樣,就導(dǎo)致以后凡是S電腦要發(fā)送給D電腦,都將會發(fā)送給A主機(jī)。也就是說,A電腦就劫持了由S電腦發(fā)送給D電腦的數(shù)據(jù)。這就是ARP欺騙的過程。
如果A電腦不冒充D電腦,而是冒充網(wǎng)關(guān),那后果會更加嚴(yán)重。一個(gè)局域網(wǎng)中的電腦要連接外網(wǎng),都要經(jīng)過局域網(wǎng)中的網(wǎng)關(guān)進(jìn)行轉(zhuǎn)發(fā)。在局域網(wǎng)中,網(wǎng)關(guān)的IP地址假如為192.168.0.1。如果A電腦向全網(wǎng)不停的發(fā)送IP地址是192.168.0.1,硬件地址是MAC-A的ARP欺騙廣播,局域網(wǎng)中的其它電腦都會更新自身的ARP緩存表,將A電腦當(dāng)成網(wǎng)關(guān),這樣,當(dāng)它們發(fā)送數(shù)據(jù)給網(wǎng)關(guān),結(jié)果都會發(fā)送到MAC-A這臺電腦中。這樣,A電腦就將會監(jiān)聽整個(gè)局域網(wǎng)發(fā)送給互聯(lián)網(wǎng)的數(shù)據(jù)包。
4. 結(jié)論
ARP欺騙是目前網(wǎng)絡(luò)管理,特別是校園網(wǎng)管理中最讓人頭疼的攻擊,它的攻擊技術(shù)含量低,隨便一個(gè)人都可以通過攻擊軟件來完成ARP欺騙攻擊。同時(shí)防范ARP欺騙也沒有什么特別有效的方法,目前只能通過被動的亡羊補(bǔ)牢形式的措施了。無論是攻和防,首要的就是找出每種攻擊的“癥結(jié)”之所在。只有這樣才能找到行之有效的解決方案。當(dāng)然最根本的辦法在客戶端自身的防范上,如及時(shí)下載安裝系統(tǒng)補(bǔ)丁、所裝殺毒軟件及時(shí)升級,安裝ARP專殺與防范軟件等。
參考文獻(xiàn):
[1].張?jiān)?計(jì)算機(jī)網(wǎng)絡(luò).清華大學(xué)出版社.2004.
[2].邱雪松,ARP病毒原理與防御.柳鋼科技出版社.2006.
[3].黃玉春、王自南,淺談局域網(wǎng)中的嗅探原理和ARP欺騙.大眾科技出版社.2006.
【ARP病毒的攻擊原理分析】相關(guān)文章:
深入分析ARP協(xié)議的理論與實(shí)踐01-04
緩沖區(qū)溢出攻擊的分析及防范策略03-18
分析行政復(fù)議證明標(biāo)準(zhǔn)的原理12-06
色散補(bǔ)償技術(shù)原理及現(xiàn)有解決方案分析03-07
生物醫(yī)學(xué)微機(jī)原理及接口技術(shù)教改分析03-26
小兒柯薩奇病毒性腦炎117例臨床分析12-06