摘 要: 隨著校園網(wǎng)規(guī)模的不斷擴大,ARP攻擊問題在校園網(wǎng)管理中越來越突出。本文介紹了ARP攻擊的原理,以及由此引發(fā)的網(wǎng)絡(luò)安全問題,并針對校園網(wǎng)中不同的實際應(yīng)用情況,提出不同的ARP攻擊防御解決方案,以解決校園網(wǎng)中因ARP攻擊而引發(fā)的網(wǎng)絡(luò)安全問題。
關(guān)鍵詞: ARP攻擊 校園網(wǎng)安全 防御解決方案
1.引言
校園網(wǎng)是CERNET/Internet的基本組成單位,是為學(xué)校師生員工的教學(xué)、科研、管理、服務(wù)、文化娛樂等提供服務(wù)的信息支撐平臺,是學(xué)校必不可少的基礎(chǔ)設(shè)施。校園網(wǎng)有用戶數(shù)量大、用戶類型復(fù)雜、管理策略復(fù)雜、流量大、網(wǎng)絡(luò)安全威脅性大等特點。如何保證校園網(wǎng)安全順暢地運行是迫切需要解決的問題。
在校園網(wǎng)的管理中,ARP攻擊幾乎成為每個網(wǎng)絡(luò)管理人員必須面對的難題。校園網(wǎng)中的ARP欺騙病毒傳播迅速,容易泛濫;某些局域網(wǎng)工具軟件也具備擾亂ARP表的功能;ARP網(wǎng)關(guān)欺騙往往會造成整個網(wǎng)段用戶的無法正常上網(wǎng),故障的面積大,給學(xué)校網(wǎng)絡(luò)管理員造成的壓力也很大,同時故障的定位較難,需要到用戶端排查故障,管理員要耗費大量精力,等等。在校園網(wǎng)的管理中,如何阻止ARP攻擊的發(fā)生,成為保障校園安全一項刻不容緩的重要課題。
2.ARP概述
2.1ARP概念
ARP(Address Resolution Protocol),其中文意思為:地址解析協(xié)議。ARP的主要功能是將目的主機的IP地址解析成MAC地址。ARP與反向地址解析協(xié)議RARP結(jié)合使用,便可實現(xiàn)主機IP地址與MAC地址的相互映射[1]。
2.2ARP工作原理和以太網(wǎng)通信機制
計算機間進行通信,必須知道目標(biāo)主機的IP地址,即將目的主機的IP地址封裝到網(wǎng)絡(luò)層的IP協(xié)議中。這些IP數(shù)據(jù)包常是通過以太網(wǎng)發(fā)送的,但負(fù)責(zé)傳送數(shù)據(jù)的網(wǎng)卡及二層的以太網(wǎng)交換機等物理設(shè)備卻不能識別IP地址,它們是以以太網(wǎng)地址即MAC地址傳輸以太網(wǎng)數(shù)據(jù)幀的。也就是說,兩臺計算機相互通信時,其實質(zhì)是以對方主機的MAC地址作為目的地址傳輸數(shù)據(jù)幀的,在這種多點連接的網(wǎng)絡(luò)通信中,只有以MAC地址作為目的地址才能保證每一個數(shù)據(jù)幀都能地送到正確的目的地址,因為每個網(wǎng)卡所對應(yīng)的MAC地址都是唯一的。因此,將IP地址轉(zhuǎn)化成MAC地址是計算機相互通信的前提,ARP主要的功能就是實現(xiàn)這樣的轉(zhuǎn)換。ARP工作在位于網(wǎng)絡(luò)層和物理層的數(shù)據(jù)鏈路層,數(shù)據(jù)鏈路層即與硬件的網(wǎng)卡接口直接聯(lián)系,同時又為上層網(wǎng)絡(luò)層提供服務(wù)。
ARP是怎樣實現(xiàn)這個轉(zhuǎn)換的呢?在IP地址和MAC地址之間存在著某種靜態(tài)的或算法的映射,以這些映射為依據(jù)即可形成一張ARP表,以太網(wǎng)中的每臺計算機都會有這樣一張ARP表,其中所記錄的就是其它計算機IP地址與其MAC地址的對應(yīng)關(guān)系,計算機就是通過在ARP高速緩存中維持ARP表實現(xiàn)IP地址到MAC地址的轉(zhuǎn)換。當(dāng)計算機向目的主機發(fā)送數(shù)據(jù)包時,首先在自己的ARP緩存表中查詢,如果ARP緩存表中存有目的主機IP地址所對應(yīng)的MAC地址,那么源主機就將數(shù)據(jù)包向該MAC地址所對應(yīng)的主機直接發(fā)送。如果ARP緩存表中沒有目的主機IP地址對應(yīng)的MAC地址,源主機就在網(wǎng)絡(luò)中發(fā)送一個包含所期望MAC地址的ARP請求廣播包,以獲取目的主機的IP地址和對應(yīng)的MAC地址;網(wǎng)絡(luò)中的主機接收到ARP廣播請求后,就會查詢自己的ARP緩存表,如果表中存有對應(yīng)的IP地址和MAC地址,就對源主機作出應(yīng)答,向源主機發(fā)送ARP響應(yīng)數(shù)據(jù)包;源主機在接收到ARP響應(yīng)數(shù)據(jù)包后,就會更新自己的ARP緩存表,將目的主機的IP地址與MAC地址記錄其中,在ARP緩存項的生存周期內(nèi),源主機以此為依據(jù)向目的主機發(fā)送數(shù)據(jù)包。
3.ARP攻擊概述
3.1ARP攻擊的源頭——ARP本身的缺陷
ARP本身的天然缺陷和不完善是ARP攻擊的源頭。ARP是通過發(fā)送ARP請求包獲取目的主機的MAC地址,這種請求機制缺陷在于它假設(shè)計算機發(fā)送的或響應(yīng)的ARP數(shù)據(jù)包都是正確的,而攻擊者利用這一特點發(fā)送或響應(yīng)虛假的ARP數(shù)據(jù)包實行ARP攻擊。
ARP的漏洞和缺陷可歸納為兩個方面:首先,ARP沒有認(rèn)證機制,當(dāng)主機收到其它計算機響應(yīng)的ARP包,便會直接更新自己的ARP表,而不管發(fā)送方是誰,發(fā)送的ARP包正確與否,這樣攻擊者就可輕易地將虛假的ARP包傳播出去。其次,ARP并未將正確的IP地址與MAC地址的映射關(guān)系靜態(tài)綁定,而是定時動態(tài)更新,即使攻擊者不主動發(fā)送虛假的ARP包也可以待緩存表項生存周期結(jié)束后響應(yīng)虛假的ARP包。在默認(rèn)情況下,Windows操作系統(tǒng)如Windows Server 2003和Windows XP,ARP緩存中的表項僅存儲2分鐘。如果一個ARP緩存表項在2分鐘內(nèi)被用到,那么其期限再延長2分鐘,直到最大生命期限10分鐘為止。超過10分鐘的最大期限后,ARP緩存表項將被移出,然后通過ARP請求與ARP回應(yīng)將IP地址與MAC地址的映射關(guān)系重新添加上去。也就是說一條IP地址與MAC地址的映射關(guān)系最多10分鐘,最少2分鐘就會更新一次,那么攻擊者就可利用主機發(fā)送ARP請求包更新ARP緩存表時將響應(yīng)虛假的ARP包實行欺騙。
3.2ARP攻擊原理
ARP攻擊就是通過偽造IP地址和MAC地址的映射關(guān)系實現(xiàn)ARP欺騙,攻擊者只要持續(xù)不斷地發(fā)出偽造的ARP響應(yīng)包就能更改目標(biāo)主機ARP緩存中的IP地址與MAC地址的映射關(guān)系,根據(jù)攻擊者對所截獲的數(shù)據(jù)包的處理情形而異造成網(wǎng)絡(luò)中斷或中間人攻擊,這些地址可以是普通的主機,也可以是網(wǎng)關(guān),因此,攻擊者既可以冒充網(wǎng)關(guān)欺騙主機,又可以冒充主機欺騙網(wǎng)關(guān),或者冒充主機欺騙其它主機實現(xiàn)中間人攻擊,或者填寫根本不存在的地址造成拒絕服務(wù)攻擊,等等。
ARP攻擊的實質(zhì)通過各種手段使主機修改ARP緩存表中IP地址與MAC地址映射表項。下面本文就以同一個網(wǎng)段內(nèi)的ARP攻擊來分析其原理[2]。

如圖1所示,在同一個網(wǎng)段內(nèi)有三臺計算機,其中進行ARP攻擊的計算機A、源主機S及目的主機D,它們的IP地址與MAC地址分別如下所示:
攻擊者A:IP為IP_A,MAC地址為MAC_A;
源主機S:IP為IP_S,MAC地址為MAC_S;
目的主機D:IP為IP_D,MAC地址為MAC_D;
源主機S向目的主機D發(fā)送數(shù)據(jù)包之前必須要知道目的主機D的MAC地址,因此,源主機S發(fā)送一個包含本機IP_S、MAC_S及IP_D的ARP請求廣播包,希望得到目的主機的MAC地址,當(dāng)目的主機D發(fā)現(xiàn)查詢的正是本機的MAC地址,就回復(fù)一個包含IP_D—MAC_D對應(yīng)關(guān)系的正確的響應(yīng)包,因為整個網(wǎng)段都將收到該ARP請求包,攻擊者A就可以偽造包含IP_D—MAC_A對應(yīng)關(guān)系的虛假響應(yīng)包不停回復(fù)S。因此源主機S就會收到來自A和D的響應(yīng)包,因為沒有驗證機制,并且攻擊者A不停地發(fā)送虛假包,源主機S將會動態(tài)更新本機的ARP緩存項,即錯誤地將IP_D—MAC_A形成映射關(guān)系。這樣源主機S本來發(fā)給目的主機D數(shù)據(jù)包發(fā)送給攻擊者A,攻擊者A在竊取到數(shù)據(jù)包之后再轉(zhuǎn)發(fā)或進行其它處理。
4.校園網(wǎng)中ARP攻擊防御解決方案
ARP攻擊防御解決方案可以通過對客戶端、接入交換機和網(wǎng)關(guān)三個控制點實施自上而下的“全面防御”,并且能夠根據(jù)不同的網(wǎng)絡(luò)環(huán)境和需求進行“模塊定制”,提供多樣、靈活的ARP攻擊防御解決方案。
在此提供兩類ARP攻擊防御解決方案:監(jiān)控方式和認(rèn)證方式。監(jiān)控方式主要適用于動態(tài)接入用戶居多的網(wǎng)絡(luò)環(huán)境,認(rèn)證方式主要適用于認(rèn)證方式接入的網(wǎng)絡(luò)環(huán)境。在實際部署時,我們建議分析網(wǎng)絡(luò)的實際場景,選擇合適的攻擊防御解決方案。另外,結(jié)合相應(yīng)的IMC智能管理中心,我們可以非常方便、直觀地配置網(wǎng)關(guān)綁定信息,查看網(wǎng)絡(luò)用戶和設(shè)備的安全狀況,不僅有效地保障網(wǎng)絡(luò)的整體安全,更能快速發(fā)現(xiàn)網(wǎng)絡(luò)中不安全的主機和ARP攻擊源,并迅速作出反應(yīng)[3]。
4.1監(jiān)控方式
監(jiān)控方式也即DHCP Snooping方式,適合大部分主機為動態(tài)分配IP地址的網(wǎng)絡(luò)場景,接入交換機需要采用支持DHCP Snooping的產(chǎn)品。實現(xiàn)原理:接入層交換機監(jiān)控用戶動態(tài)申請IP地址的全過程,記錄用戶的IP、MAC和端口信息,并且在接入交換機上做多元素綁定,從而在根本上阻斷非法ARP報文的傳播。
另外,ARP泛洪攻擊會產(chǎn)生大量的ARP報文,消耗網(wǎng)絡(luò)帶寬資源和交換機CPU資源,造成網(wǎng)絡(luò)速度急劇降低。因此,我們可以在接入交換機部署ARP報文限速,對每個端口單位時間內(nèi)接收到的ARP報文數(shù)量進行限制,避免ARP泛洪攻擊,保護網(wǎng)絡(luò)資源。

4.2認(rèn)證方式
認(rèn)證方式適合網(wǎng)絡(luò)中采用認(rèn)證登陸的場景,通過CAMS服務(wù)器、INode智能客戶端與接入交換機和網(wǎng)關(guān)的聯(lián)動,全方面地防御ARP攻擊。實現(xiàn)原理:認(rèn)證方式是客戶端通過認(rèn)證協(xié)議登陸網(wǎng)絡(luò),認(rèn)證服務(wù)器識別客戶端,并且將事先配置好的用戶和網(wǎng)關(guān)IP/MAC綁定信息下發(fā)給客戶端、接入交換機或者網(wǎng)關(guān),實現(xiàn)了ARP報文在客戶端、接入交換機和網(wǎng)關(guān)的綁定,使得虛假的ARP報文在網(wǎng)絡(luò)里無立足之地,從根本上防止ARP病毒泛濫。

認(rèn)證方式包括IEEE802.1x和Portal兩種方案,充分考慮了新建和舊網(wǎng)絡(luò)的不同網(wǎng)絡(luò)場景,方案全面有效。
4.2.1IEEE802.1x方案
IEEE802.1x方案通過客戶端發(fā)起認(rèn)證,CAMS把事先配置好的網(wǎng)關(guān)的IP和MAC綁定信息下發(fā)給客戶端做綁定,防止客戶端遭遇網(wǎng)關(guān)仿冒類型的攻擊。
客戶端發(fā)起認(rèn)證的報文需要經(jīng)過接入交換機,接入交換機記錄客戶端的IP和MAC信息,并且做綁定,可以防止網(wǎng)關(guān)仿冒、網(wǎng)關(guān)欺騙、欺騙終端用戶和ARP泛洪攻擊;客戶端發(fā)起認(rèn)證的信息同樣會經(jīng)過網(wǎng)關(guān),網(wǎng)關(guān)通過CAMS做相應(yīng)的綁定,防止欺騙網(wǎng)關(guān)。
客戶端、接入交換機和網(wǎng)關(guān)綁定可以選擇實現(xiàn),方案可裁剪。
4.2.2Portal方案
Portal方案是通過客戶端發(fā)起Portal認(rèn)證,CAMS把事先配置好的網(wǎng)關(guān)IP和MAC綁定信息下發(fā)給客戶端做綁定,網(wǎng)關(guān)記錄用戶的IP和MAC做綁定,防止網(wǎng)關(guān)欺騙。
認(rèn)證方式適合網(wǎng)絡(luò)中采用認(rèn)證登陸的場景,通過CAMS服務(wù)器、INode智能客戶端(Portal方案無需客戶端,采用PC自帶的瀏覽器即可)與接入交換機和網(wǎng)關(guān)的聯(lián)動(Portal方案和接入交換機無關(guān)),全方面地防御ARP攻擊。
5.結(jié)語
ARP攻擊主要是存在于局域網(wǎng)網(wǎng)絡(luò)中,局域網(wǎng)中若有一個系統(tǒng)感染ARP木馬,則感染該ARP木馬的系統(tǒng)將會試圖通過“ARP欺騙”手段截獲所在網(wǎng)絡(luò)內(nèi)其它計算機的通信信息,因此在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞,造成網(wǎng)內(nèi)其它計算機的通信故障。本文針對校園網(wǎng)中的ARP攻擊提供的解決方案具有如下幾個特點:
5.1靈活多樣
提供了監(jiān)控模式和認(rèn)證模式兩大方案,認(rèn)證方案支持IEEE 802.1x和Portal兩種認(rèn)證模式,組網(wǎng)方式靈活多樣。
5.2更徹底
多種方式組合能夠全面防御新建網(wǎng)絡(luò)ARP攻擊,切實保障網(wǎng)絡(luò)穩(wěn)定和安全。
5.3保護投資
對接入交換機的依賴較小,可以較好地支持現(xiàn)有網(wǎng)絡(luò)的利舊,兼容大部分現(xiàn)有網(wǎng)絡(luò)場景,有效保護投資。
5.4適用性強
解決方案適應(yīng)動態(tài)和靜態(tài)兩種地址分配方式,通過終端、接入交換機、網(wǎng)關(guān)多種模塊的組合,適用于各種復(fù)雜的組網(wǎng)環(huán)境。
參考文獻:
[1]硅谷動力ARP攻擊的防范專題[OL],http://www.enet.com.cn/security/zhuanti/arp/.2006,7.
[2]趙曉鋒,汪精明,王平水.園區(qū)網(wǎng)ARP欺騙攻擊防御模式設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2007,(7):152-155.
[3]李海鷹,程灝,呂志強,莊鎮(zhèn)泉.針對ARP攻擊的網(wǎng)絡(luò)防御模式設(shè)計與實現(xiàn)[J].計算機工程,VOL.31,(5):170-172.