劉婷+孫陸鵬+孟慶偉
摘要:互聯(lián)網(wǎng)時(shí)刻面臨著各種各樣的攻擊和威脅,校園網(wǎng)也面臨著嚴(yán)重的挑戰(zhàn)和威脅. ARP協(xié)議欺騙是網(wǎng)絡(luò)欺騙的行為之一,利用 ARP 協(xié)議自身的安全缺陷, 攻擊者可以重新偽造一個(gè)以太網(wǎng)上的 IP 數(shù)據(jù)報(bào)以取得目標(biāo)主機(jī)的信任,在校園網(wǎng)上可以進(jìn)行各類的攻擊。文中在分析 ARP 協(xié)議工作原理、ARP協(xié)議的設(shè)計(jì)缺陷、攻擊方式的基礎(chǔ)上,詳細(xì)論述了幾種基于ARP協(xié)議的校園網(wǎng)防御策略,為校園網(wǎng)的安全建設(shè)提供參考。
關(guān)鍵詞:ARP欺騙;網(wǎng)絡(luò)攻擊;校園網(wǎng)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)22-0021-03
Internet的發(fā)展極大地提高了人們的生活和工作效率,計(jì)算機(jī)已經(jīng)進(jìn)入千千萬(wàn)萬(wàn)的家庭當(dāng)中。2016年1月的第37次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告顯示:截至2015年12月,中國(guó)網(wǎng)民規(guī)模達(dá)6.88億,互聯(lián)網(wǎng)普及率為50.3%。因特網(wǎng)的開(kāi)放性造成的網(wǎng)絡(luò)和信息安全等問(wèn)題也越來(lái)越受到人們的重視,校園網(wǎng)是為學(xué)校師生提供教學(xué)、科研和綜合信息服務(wù)的寬帶多媒體網(wǎng)絡(luò),校園網(wǎng)的安全狀況直接影響到教學(xué)、科研、管理等活動(dòng)的進(jìn)行。目前針對(duì)網(wǎng)絡(luò)的攻擊方式有很多種類:嗅探掃描攻擊,網(wǎng)絡(luò)系統(tǒng)缺陷攻擊、Email攻擊、堆溢出攻擊、ARP攻擊等,其中基于ARP的攻擊是危害較大的、比較典型一種攻擊方式,本文重點(diǎn)研究基于ARP欺騙的校園網(wǎng)攻擊防御方法,希望給校園網(wǎng)的安全建設(shè)提供一些借鑒。
1 ARP協(xié)議的工作原理和典型應(yīng)用
ARP(Address Resolution Protocol)地址解析協(xié)議)是 TCP/IP協(xié)議族中的一個(gè)重要協(xié)議, ARP 是解決同一個(gè)局域網(wǎng)上的主機(jī)或路由器的 IP 地址和硬件地址的映射問(wèn)題,在 IPV4 版本下, ARP協(xié)議的功能是完成從32位的IP地址到48位的MAC地址的轉(zhuǎn)換。
1.1 ARP 協(xié)議工作原理
在局域網(wǎng)中的每臺(tái)計(jì)算機(jī)都同時(shí)擁有兩個(gè)地址,一個(gè)是 MAC 地址, 另一個(gè)是 IP 地址。MAC地址就是以太網(wǎng)卡硬件地址(Physical Address), 它在生產(chǎn)時(shí)就已經(jīng)固化在網(wǎng)卡上的ROM中, 是全球唯一的。IP地址是網(wǎng)絡(luò)層和以上各層使用的地址,是一種邏輯地址,它是由軟件分配的, 根據(jù)使用情況需要是可以更改的。不管網(wǎng)絡(luò)層使用的是什么協(xié)議,在實(shí)際網(wǎng)絡(luò)的鏈路上傳送數(shù)據(jù)幀時(shí),最終還是必須使用硬件地址。 每一個(gè)主機(jī)都設(shè)有一個(gè) ARP 高速緩存(ARP cache),里面有所在的局域網(wǎng)上的各主機(jī)和路由器的 IP 地址到硬件地址的映射表。當(dāng)主機(jī)A欲向本局域網(wǎng)上的某個(gè)主機(jī)B發(fā)送 IP 數(shù)據(jù)報(bào)時(shí),就先在其 ARP 高速緩存中查看有無(wú)主機(jī)B的 IP 地址。如有,就可查出其對(duì)應(yīng)的硬件地址,再將此硬件地址寫(xiě)入 MAC 幀,然后通過(guò)局域網(wǎng)將該 MAC 幀發(fā)往此硬件地址。為了減少網(wǎng)絡(luò)上的通信量,主機(jī)A在發(fā)送其 ARP 請(qǐng)求分組時(shí),就將自己的 IP 地址到硬件地址的映射寫(xiě)入 ARP 請(qǐng)求分組。主機(jī)B收到A的 ARP 請(qǐng)求分組時(shí),就將主機(jī)A的這一地址映射寫(xiě)入主機(jī)B自己的 ARP 高速緩存中。這對(duì)主機(jī)B以后向A發(fā)送數(shù)據(jù)報(bào)時(shí)就更方便了。
1.2使用 ARP 的四種典型情況
如果所要找的主機(jī)和源主機(jī)不在同一個(gè)局域網(wǎng)上,那么就要通過(guò)ARP找到一個(gè)位于本局域網(wǎng)上的某個(gè)路由器的硬件地址,然后把分組發(fā)送給這個(gè)路由器,讓這個(gè)路由器把分組轉(zhuǎn)發(fā)給下一個(gè)網(wǎng)絡(luò)。剩下的工作就由下一個(gè)網(wǎng)絡(luò)來(lái)做。從IP地址到硬件地址的解析是自動(dòng)進(jìn)行的,主機(jī)的用戶對(duì)這種地址解析過(guò)程是不知道的。只要主機(jī)或路由器要和本網(wǎng)絡(luò)上的另一個(gè)已知 IP 地址的主機(jī)或路由器進(jìn)行通信,ARP 協(xié)議就會(huì)自動(dòng)地將該 IP 地址解析為鏈路層所需要的硬件地址。使用 ARP有以下四種情況如圖1所示:
發(fā)送方是主機(jī),要把IP數(shù)據(jù)報(bào)發(fā)送到本網(wǎng)絡(luò)上的另一個(gè)主機(jī)。這時(shí)用 ARP 找到目的主機(jī)的硬件地址,如圖1:主機(jī)B與主機(jī)C之間發(fā)送信息。
發(fā)送方是主機(jī),要把 IP 數(shù)據(jù)報(bào)發(fā)送到另一個(gè)網(wǎng)絡(luò)上的一個(gè)主機(jī)。這時(shí)用 ARP 找到本網(wǎng)絡(luò)上的一個(gè)路由器的硬件地址。剩下的工作由這個(gè)路由器來(lái)完成,如圖1:主機(jī)A與主機(jī)B或主機(jī)C之間發(fā)送信息。
發(fā)送方是路由器,要把 IP 數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到本網(wǎng)絡(luò)上的一個(gè)主機(jī)。這時(shí)用 ARP 找到目的主機(jī)的硬件地址。如圖1:路由器R1與主機(jī)A之間發(fā)送信息或路由器R2與主機(jī)B或主機(jī)C之間發(fā)送信息。
發(fā)送方是路由器,要把 IP 數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)上的一個(gè)主機(jī)。這時(shí)用 ARP 找到本網(wǎng)絡(luò)上另一個(gè)路由器的硬件地址。剩下的工作由這個(gè)路由器來(lái)完成,如圖1:路由器R1與路由器R2之間發(fā)送信息。
2 ARP 協(xié)議的漏洞
TCP/IP 協(xié)議棧中的的ARP 協(xié)議,其最初設(shè)計(jì)是建立在同一個(gè)局域網(wǎng)內(nèi)各站點(diǎn)之間互相信任的基礎(chǔ)之上,僅考慮其傳輸效率,而缺乏必要的認(rèn)證和鑒別機(jī)制,導(dǎo)致ARP協(xié)議的安全性能相當(dāng)脆弱,主要體現(xiàn)在以下幾個(gè)方面:
① ARP協(xié)議的請(qǐng)求包與應(yīng)答包通過(guò)廣播形式進(jìn)行傳送
當(dāng)一臺(tái)計(jì)算機(jī)發(fā)送的 ARP請(qǐng)求包是以廣播的形式進(jìn)行傳送,在整個(gè)局域網(wǎng)內(nèi)全部的計(jì)算機(jī)都能接到這些請(qǐng)求如圖2所示:
網(wǎng)絡(luò)中一些圖謀不歸站機(jī)就有發(fā)送應(yīng)答包的機(jī)會(huì),目標(biāo)計(jì)算機(jī)里 ARP緩存的內(nèi)容就有可能被改變。當(dāng)一臺(tái)計(jì)算機(jī)發(fā)送的 ARP應(yīng)答包是以廣播的形式進(jìn)行傳送,局域網(wǎng)計(jì)算機(jī)里面的 ARP 緩沖區(qū)的 IP 與 MAC 聯(lián)系就會(huì)發(fā)生改變,網(wǎng)絡(luò)就會(huì)出現(xiàn)異常情況。
②ARP協(xié)議的回復(fù)與請(qǐng)求不需要相互關(guān)聯(lián)。
不管局域網(wǎng)內(nèi)的某站點(diǎn)有沒(méi)有發(fā)出請(qǐng)求數(shù)據(jù),在同一個(gè)局域網(wǎng)內(nèi)的任何站點(diǎn)都可以向目標(biāo)站點(diǎn)發(fā)送ARP的應(yīng)答數(shù)據(jù),收到來(lái)一個(gè)局域網(wǎng)站點(diǎn)的 ARP 回復(fù)包,就會(huì)修改ARP 緩存區(qū)保存的 IP 與MAC的關(guān)系,并不會(huì)考慮這個(gè)ARP 回復(fù)包是否是對(duì)應(yīng)的請(qǐng)求包引起的,目標(biāo)計(jì)算機(jī)里 ARP緩存的內(nèi)容隨時(shí)都有可能被改變。
③ARP 緩沖區(qū)當(dāng)中的IP與MAC對(duì)應(yīng)關(guān)系是動(dòng)態(tài)變化的。這即是優(yōu)點(diǎn)也是缺陷。在 ARP 緩沖區(qū)當(dāng)中的IP與MAC對(duì)應(yīng)關(guān)系是不斷地進(jìn)行動(dòng)態(tài)的更新,如果有數(shù)據(jù)在更新之前被篡改了,那么在局域網(wǎng)計(jì)算機(jī)的通信就不能完成正常通信。
3 基于ARP的攻擊方式
校園網(wǎng)是一種局域網(wǎng),校園網(wǎng)的數(shù)據(jù)通訊使用ARP協(xié)議。由于ARP協(xié)議自身的設(shè)計(jì)缺陷,利用這些 ARP漏洞,可以實(shí)現(xiàn)多種ARP攻擊校園網(wǎng),達(dá)到截獲校園網(wǎng)數(shù)據(jù)的目的。常見(jiàn)的基于 ARP 的攻擊有如下幾種方式:
3.1 ARP 洪泛攻擊
局域網(wǎng)中的惡意用戶和向校園網(wǎng)發(fā)出大量的ARP報(bào)文,導(dǎo)致整個(gè)校園網(wǎng)絡(luò)通信被阻斷,學(xué)校服務(wù)器癱瘓,最后使得整個(gè)學(xué)校的用戶不能登陸互聯(lián)網(wǎng)。
3.2 偽造網(wǎng)關(guān)
通過(guò)偽造虛假的網(wǎng)關(guān)或主機(jī),向校園網(wǎng)里的所有計(jì)算機(jī)或者終端發(fā)送 ARP 偽造的網(wǎng)關(guān),使校園網(wǎng)用戶發(fā)送數(shù)據(jù)到了假的網(wǎng)關(guān),造成用戶無(wú)法上網(wǎng)。
3.3 ARP 病毒攻擊
ARP 病毒是利用ARP協(xié)議的漏洞進(jìn)行傳播的一類病毒。局域網(wǎng)中有人使用ARP欺騙的木馬程序,ARP 攻擊和木馬病毒組合,對(duì)校園網(wǎng)造成更大的危害。
3.4 IP 地址沖突
校園網(wǎng)中的一臺(tái)主機(jī)發(fā)送更改的 ARP 報(bào)文, 將另一個(gè)偽裝的MAC地址和目的主機(jī)的IP地址做映射, 這樣系統(tǒng)就會(huì)檢測(cè)到同一個(gè) IP 地址對(duì)應(yīng)兩個(gè)不同的 MAC 地址,造成IP地址沖突。如果機(jī)器使用的是Windows 操作系統(tǒng),則在系統(tǒng)中彈出警告對(duì)話框,如果是Linux/Unix 操作系統(tǒng),則會(huì)給用戶發(fā)送mail 進(jìn)行警告用戶, 并且出現(xiàn)整個(gè)網(wǎng)絡(luò)的暫時(shí)中斷。
3.5 拒絕服務(wù)攻擊
拒絕服務(wù)攻擊就是讓網(wǎng)絡(luò)中的計(jì)算機(jī)不能夠正?;貞?yīng)其他計(jì)算機(jī)提出的要求,從而不能提供服務(wù)。如果校園網(wǎng)中的攻擊者將目標(biāo)主機(jī)ARP緩存中的MAC地址全部改為根本就不存在的MAC地址,那么目標(biāo)主機(jī)會(huì)因?yàn)殄e(cuò)誤的MAC地址造成向外發(fā)送的數(shù)據(jù)全部丟失,從而導(dǎo)致目標(biāo)主機(jī)產(chǎn)生拒絕服務(wù)。
4 ARP攻擊的防御策略
根據(jù)ARP攻擊方式的多樣性,我們?yōu)榱吮M可能提高校園網(wǎng)的安全性,提出多種防御策略,而且其中某些方案在特定的條件下的防御效果十分顯著。
4.1劃分虛擬局域網(wǎng)(VLAN)和端口綁定
虛擬局域網(wǎng) VLAN 是由一些局域網(wǎng)網(wǎng)段構(gòu)成的與物理位置無(wú)關(guān)的邏輯組,采用劃分VLAN和把計(jì)算機(jī)和交換機(jī)一對(duì)一的方式進(jìn)行綁定,在靜態(tài)VLAN 中,由網(wǎng)絡(luò)管理員根據(jù)交換機(jī)端口進(jìn)行靜態(tài)的VALN 分配。把校園網(wǎng)劃分成多個(gè)VLAN,縮小了網(wǎng)絡(luò)的廣播范圍,即使網(wǎng)絡(luò)中發(fā)生了ARP欺騙攻擊,也只能在很小的一個(gè)虛擬范圍,不會(huì)對(duì)整個(gè)校園網(wǎng)造成嚴(yán)重的破壞?;诙丝诘腣LAN 配置簡(jiǎn)單,網(wǎng)絡(luò)的可監(jiān)控性強(qiáng)。但缺乏足夠的靈活性,不適用于便攜式電腦,而且這種方法并不能使網(wǎng)關(guān)免受ARP病毒的攻擊,如果網(wǎng)關(guān)受到ARP病毒的攻擊,同樣會(huì)導(dǎo)致校園網(wǎng)的癱瘓。
4.2設(shè)置靜態(tài) ARP 緩存表
基于ARP協(xié)議攻擊最根本的原理就是改變IP地址與 MAC 地址的正確對(duì)應(yīng)關(guān)系,可以設(shè)置目標(biāo)主機(jī)的 ARP 緩存中設(shè)置靜態(tài)地址映射記錄來(lái)防止IP地址與 MAC 地址的正確對(duì)應(yīng)關(guān)系的改變。在校園網(wǎng)中兩個(gè)站點(diǎn)發(fā)送數(shù)據(jù)前就不需要通過(guò)向所在的局域網(wǎng)廣播ARP請(qǐng)求來(lái)尋找MAC地址。但這種方法手工工作量很大,維護(hù)十分繁瑣。
4.3 個(gè)人ARP防火墻
現(xiàn)在很多殺毒軟件都設(shè)計(jì)出了ARP防火墻的模塊,可以交效的避免遭受攻擊者所冒充的假網(wǎng)關(guān)的攻擊,個(gè)人ARP防火墻的局限性:個(gè)人防火墻只關(guān)注了本機(jī)的安全性,并沒(méi)有考慮網(wǎng)關(guān)的安全,防火墻本身也有可能綁定一個(gè)假冒的網(wǎng)關(guān),防火墻比較適用于個(gè)人用戶使用,對(duì)整個(gè)校園網(wǎng)網(wǎng)絡(luò)來(lái)說(shuō)不能起到防御的作用。
4.4 PV6 的應(yīng)用
在 IPV6 版本下, 定義了鄰居發(fā)現(xiàn)協(xié)議(NDP)。IPv6地址解析技術(shù)工作在OSI參考模型的網(wǎng)絡(luò)層,與鏈路層協(xié)議無(wú)關(guān),加強(qiáng)了地址解析協(xié)議與底層鏈路的獨(dú)立性,在第三層實(shí)現(xiàn)地址解析可以利用三層標(biāo)準(zhǔn)的安全認(rèn)證機(jī)制來(lái)防止ARP攻擊和ARP欺騙。但I(xiàn)Pv4和IPv6是兩種相互不兼容的協(xié)議,兩者在本質(zhì)上就不能互通,這對(duì)IPv6的普及造成了很大的困難。
5 結(jié)束語(yǔ)
總之,校園網(wǎng)的安全是十分重要的,校園網(wǎng)作為一個(gè)大型局域網(wǎng)非常容易受到ARP攻擊,文中所采用的ARP欺騙的偵測(cè)及防御方法,對(duì)校園網(wǎng)的建設(shè)有具有一定的應(yīng)用價(jià)值,在用戶、硬件設(shè)備、網(wǎng)關(guān)等之間建立不同的ARP防御體系,盡最大限度保障校園網(wǎng)的安全暢通,盡可能降低ARP攻擊。
參考文獻(xiàn):
[1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò) [M]. 6版.北京.電子工業(yè)出版社,2013,6.
[2] 邊浩江. ARP欺騙的偵測(cè)及防御方法的研究與實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2015.
[3] 鄭森森. 基于ARP欺騙的數(shù)據(jù)截獲與高速轉(zhuǎn)發(fā)技術(shù)研究[D].四川師范大學(xué),2015.
[4] 單國(guó)杰. 基于ARP欺騙攻擊的防御策略研究[D].山東師范大學(xué),2011.
[5] 王燕,張新剛. 基于ARP協(xié)議的攻擊及其防御方法分析[J].微計(jì)算機(jī)信息,2007(23):72-74.