摘要:ARP欺騙是利用地址解析協(xié)議的漏洞擾亂局域網(wǎng)正常運(yùn)行,有較大危害的一種黑客行為.ARP欺騙在校園網(wǎng)中的傳播,既影響了正常的教學(xué)工作,也給網(wǎng)絡(luò)管理帶來極大的不便。該文通過對(duì)ARP欺騙工作原理的分析,試圖尋找較好的防范方法。
關(guān)鍵詞:ARP欺騙;網(wǎng)絡(luò)安全;防范
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)27-7655-02
Analyze and Guard the Damage of ARP Spoofing to Campus Network
CHEN Yi-kuang
(Dept. of Phys. and Elec. Tech. Hanshan Teachers College, Chaozhou 521041, China)
Abstract: ARP spoofing can bring the great damage to campus network because of the limitation of Address Resolution Protocol. It can cause inconvenience in study. And it is also the great disturbance of campus network management. This paper analyses the principle of ARP attacking. And try to find out the best defense to ARP spoofing.
Key words: ARP spoofing; network safety; guard
校園網(wǎng)是局域網(wǎng)的一種特例,它既有局域網(wǎng)通信速率高、共享資源方便等優(yōu)點(diǎn),也存在病毒易傳播而難清除等缺點(diǎn).負(fù)責(zé)將網(wǎng)絡(luò)層IP地址轉(zhuǎn)變成數(shù)據(jù)鏈路層MAC地址的地址解析協(xié)議(ARP)自身存在一些缺陷,從而在應(yīng)用中存在一些安全隱患.ARP欺騙正是利用這些缺陷發(fā)動(dòng)攻擊,給網(wǎng)絡(luò)管理帶來嚴(yán)峻的考驗(yàn)。由于ARP攻擊發(fā)生在局域網(wǎng)內(nèi)部,很容易被系統(tǒng)管理人員或用戶誤判為網(wǎng)絡(luò)主干設(shè)備工作不穩(wěn)定。因此準(zhǔn)確判斷和有效防范ARP欺騙的方法在校園網(wǎng)管理中顯得非常的重要。
本文首先簡(jiǎn)要介紹ARP協(xié)議并淺析ARP欺騙的工作原理,以及ARP欺騙的分類.在此基礎(chǔ)上,對(duì)防御ARP攻擊提出一些建議。
1 ARP協(xié)議的工作原理
以太網(wǎng)上的每臺(tái)主機(jī)都有兩個(gè)地址,一個(gè)是48位的物理地址,也叫MAC地址,它儲(chǔ)存在網(wǎng)卡中且不能更改;另一個(gè)是32位的IP地址,用于在網(wǎng)絡(luò)中區(qū)別不同的主機(jī),如圖1所示.地址解析協(xié)議(ARP)負(fù)責(zé)將IP地址轉(zhuǎn)換為MAC地址.每臺(tái)主機(jī)上都有一張ARP緩存表,記錄著IP地址與MAC地址的對(duì)應(yīng)關(guān)系.當(dāng)其中一臺(tái)主機(jī)需要將一個(gè)數(shù)據(jù)包發(fā)送到另外一臺(tái)主機(jī)時(shí),因?yàn)橹恢滥康闹鳈C(jī)的IP地址,并不知道目的主機(jī)的MAC地址.所以發(fā)出數(shù)據(jù)包的主機(jī)會(huì)首先檢查自己的ARP緩存表,看是否存在該IP地址對(duì)應(yīng)的MAC地址.如果有,就直接將數(shù)據(jù)包發(fā)送到這個(gè)MAC地址;如果沒有,就會(huì)向本地網(wǎng)絡(luò)發(fā)出一個(gè)ARP請(qǐng)求的廣播包.廣播包中包含了發(fā)出廣播包的主機(jī)的IP地址、MAC地址和目的主機(jī)的IP地址.本地網(wǎng)絡(luò)中的主機(jī)在收到這個(gè)ARP廣播包后會(huì)檢查廣播包中目的主機(jī)的IP地址,看是否跟自己的IP地址相同.如果不同,丟棄這個(gè)廣播包;如果相同,回復(fù)一個(gè)包含自身MAC地址的ARP應(yīng)答。
2 ARP欺騙的工作原理
ARP協(xié)議的基礎(chǔ)是信任局域網(wǎng)內(nèi)所有的人,而ARP欺騙恰恰是利用了這種信任.欺騙者的主機(jī)首先發(fā)出一個(gè)ARP回復(fù),注意,這是一個(gè)并非對(duì)應(yīng)ARP請(qǐng)求廣播包的回復(fù),而是欺騙者偽造的一個(gè)ARP回復(fù).在以太網(wǎng)中,沒辦法對(duì)數(shù)據(jù)包進(jìn)行真實(shí)性檢查,因此沒法發(fā)現(xiàn)這是一個(gè)偽造的ARP回復(fù).而且在ARP協(xié)議中并沒有規(guī)定要提出請(qǐng)求然后才能有回復(fù),這是為了在某臺(tái)主機(jī)的IP地址發(fā)生改變時(shí)可以第一時(shí)間通知其它主機(jī).因此該回復(fù)會(huì)被該回復(fù)數(shù)據(jù)包中的目的主機(jī)所接受,這個(gè)目的主機(jī)又稱為被欺騙的主機(jī),它會(huì)根據(jù)數(shù)據(jù)包內(nèi)的錯(cuò)誤內(nèi)容刷新自己的ARP緩存表.當(dāng)被欺騙的主機(jī)要發(fā)送數(shù)據(jù)包給另一個(gè)主機(jī)的時(shí)候會(huì)先查詢ARP緩存表中目的主機(jī)的IP地址所對(duì)應(yīng)的MAC地址.如果這個(gè)MAC地址恰好根據(jù)之前欺騙者偽造的ARP回復(fù)而做了錯(cuò)誤的修改,那么被欺騙主機(jī)所發(fā)出的數(shù)據(jù)包就沒辦法到達(dá)目的主機(jī)。
3 ARP欺騙的分類
ARP欺騙可以大致分成兩類,一類是對(duì)網(wǎng)關(guān)的欺騙,即篡改網(wǎng)關(guān)的ARP緩存表.首先偽造IP地址及其對(duì)應(yīng)的MAC地址,通知網(wǎng)關(guān)做修改,其中IP地址是正確的但其對(duì)應(yīng)的MAC地址是錯(cuò)誤的.然后按照一定頻率不斷刷新網(wǎng)關(guān)的ARP緩存表,使得真實(shí)的MAC地址無法保存在網(wǎng)關(guān)的ARP緩存表中.結(jié)果通過網(wǎng)關(guān)的所有數(shù)據(jù)都被送到錯(cuò)誤的地址,該網(wǎng)段的網(wǎng)絡(luò)癱瘓。
大多數(shù)學(xué)校機(jī)房的計(jì)算機(jī)都安裝有還原精靈,每次開機(jī)就將硬盤還原成初始狀態(tài),用于保證病毒不會(huì)存留在計(jì)算機(jī)硬盤上.但是這樣的設(shè)置卻使得防毒軟件的病毒庫(kù)沒法及時(shí)更新,因此無法阻攔新的病毒.一些同學(xué)將攜帶ARP病毒的U盤連接到機(jī)房的計(jì)算機(jī)上,在使用計(jì)算機(jī)的過程中,這些ARP病毒會(huì)攻擊所在機(jī)房的網(wǎng)關(guān),從而造成該網(wǎng)段所有用戶都上不了網(wǎng).網(wǎng)關(guān)欺騙的危害是巨大的,會(huì)嚴(yán)重影響教學(xué)的正常進(jìn)行,也為網(wǎng)絡(luò)管理帶來很大的麻煩。
另一類ARP欺騙專門針對(duì)局域網(wǎng)內(nèi)的主機(jī).欺騙者首先將自己的主機(jī)偽造成網(wǎng)關(guān),然后刷新其他主機(jī)的ARP緩存表.這樣該網(wǎng)段內(nèi)所有主機(jī)發(fā)出的數(shù)據(jù)都會(huì)通過欺騙者的主機(jī),欺騙者可以通過一些嗅探軟件竊取被欺騙者的密碼和訪問信息.欺騙者在接收被欺騙者發(fā)出的數(shù)據(jù)后將其轉(zhuǎn)發(fā)給真正的網(wǎng)關(guān),得到的反饋數(shù)據(jù)則通過網(wǎng)關(guān)先傳給欺騙者的主機(jī),然后再由欺騙者的主機(jī)轉(zhuǎn)發(fā)給被欺騙者的主機(jī).如果欺騙者選擇不轉(zhuǎn)發(fā)被欺騙者的數(shù)據(jù),則被欺騙者無法上網(wǎng),從而欺騙者的主機(jī)獨(dú)享了整條線路的帶寬。
4 防范ARP攻擊的一些建議
基于校園網(wǎng)的特點(diǎn),對(duì)ARP攻擊的防范提出如下建議:
第一,要及時(shí)更新計(jì)算機(jī)的病毒庫(kù)以及升級(jí)操作系統(tǒng)。對(duì)于在宿舍或辦公室上網(wǎng)的用戶,建議啟動(dòng)操作系統(tǒng)和殺毒軟件的自動(dòng)更新,或者定期下載學(xué)校FTP服務(wù)器上最新的病毒庫(kù)以及操作系統(tǒng)的升級(jí)包來更新殺毒軟件和操作系統(tǒng);對(duì)于機(jī)房中的計(jì)算機(jī),由于安裝了還原精靈,每次開機(jī),病毒庫(kù)和操作系統(tǒng)將還原至初始狀態(tài),解決的方法可以在開機(jī)設(shè)置中添加相應(yīng)的提示文本并讓用戶一進(jìn)入操作系統(tǒng)就自動(dòng)登錄FTP服務(wù)器下載病毒庫(kù)和升級(jí)包來更新殺毒軟件和操作系統(tǒng).對(duì)于安裝后需要重新啟動(dòng)計(jì)算機(jī)的升級(jí)包,則由系統(tǒng)管理員負(fù)責(zé)更新.在局域網(wǎng)內(nèi)下載病毒庫(kù)和升級(jí)包這種小容量的文件并進(jìn)行安裝不會(huì)花費(fèi)用戶太多的時(shí)間,一旦用戶養(yǎng)成習(xí)慣,不僅可以保證機(jī)房的計(jì)算機(jī)抵御ARP攻擊,還可以查殺其它的病毒,可以說是一舉兩得。
第二,使用ARP防火墻。國(guó)內(nèi)目前比較流行的有AntiARP防火墻、金山ARP防火墻、奇虎360ARP防火墻等。其中AntiARP因其功能強(qiáng)大且安裝簡(jiǎn)單而深受好評(píng),以單機(jī)個(gè)人版V5.01在Windows2000/XP/2003上安裝為例。雙擊安裝程序,然后一直點(diǎn)擊下一步,安裝完成之后在操作系統(tǒng)的任務(wù)欄中將添加一個(gè)紅色的盾牌。對(duì)于普通用戶,無需對(duì)軟件做進(jìn)一步設(shè)置。
第三,將IP地址和MAC地址進(jìn)行靜態(tài)綁定。從前面ARP欺騙的工作原理可以得知欺騙者通過修改ARP緩存表中IP地址所對(duì)應(yīng)的MAC地址來達(dá)到欺騙的目的。如果將IP地址與MAC地址進(jìn)行靜態(tài)綁定,使之不能修改,則欺騙者的伎倆無法得逞.但是這樣做的缺點(diǎn)是一旦網(wǎng)絡(luò)硬件發(fā)生改變,比如對(duì)調(diào)了兩臺(tái)計(jì)算機(jī)的位置從而改變了各自連接的網(wǎng)絡(luò)端口,就必須對(duì)所有計(jì)算機(jī)的ARP緩存表進(jìn)行更新,因此該方法比較適合于網(wǎng)絡(luò)環(huán)境較少發(fā)生變化的機(jī)房。
第四,利用各種監(jiān)測(cè)網(wǎng)絡(luò)的軟件,比如Sniffer這款軟件,可以檢測(cè)局域網(wǎng)中每臺(tái)計(jì)算機(jī)發(fā)出的ARP數(shù)據(jù)包,能夠發(fā)現(xiàn)是否存在ARP欺騙,以及哪臺(tái)計(jì)算機(jī)正在進(jìn)行ARP欺騙。不過采用這個(gè)方法比較被動(dòng),同時(shí)也會(huì)加大網(wǎng)絡(luò)管理員的工作量。
參考文獻(xiàn):
[1] 呂曉陽(yáng).計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用[M].廣州:廣東科技出版社, 2001:19-24.
[2] 張鴻波,任志剛,肖靜.MAC地址與交換機(jī)端口綁定方法的實(shí)踐[J].中國(guó)數(shù)字醫(yī)學(xué),2007,(7):53-55.
[3] 王奇.以太網(wǎng)中ARP欺騙原理與解決方法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2007,(2):42-44.
[4] 崔北亮,楊小健.針對(duì)校園網(wǎng)中ARP攻擊的防御[J].南京工業(yè)大學(xué)學(xué)報(bào),2007,(5):78-81.