摘 要:通過介紹ARP協(xié)議的概念和工作原理,分析了當前ARP攻擊的主要類型和特點,提出了一些具體的防范措施,來解決網(wǎng)絡管理中出現(xiàn)的ARP的欺騙和攻擊。
關鍵詞:APR;病毒攻擊;防范措施
中圖分類號:TP
文獻標識碼:A
文章編號:1672-3198(2010)09-0284-02
1 ARP協(xié)議及欺騙原理
1.1 ARP協(xié)議
ARP欺騙,一個讓我們耳熟能詳?shù)木W(wǎng)絡安全事件,普遍的存在于校園網(wǎng)、企業(yè)網(wǎng)等網(wǎng)絡環(huán)境中,給我們的工作、學習和生活帶來了很大的不變,輕則網(wǎng)絡變慢、時斷時續(xù),重則直接無法上網(wǎng)、重要信息被竊取,可以說,ARP欺騙是網(wǎng)絡的一塊頑疾。分析ARP欺騙,就不得不研究一下ARP協(xié)議,因為這種攻擊行為正是利用了ARP協(xié)議本身的漏洞來實現(xiàn)的。
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫,它的作用,就是將IP地址轉換為MAC地址。在局域網(wǎng)中,網(wǎng)絡中實際傳輸?shù)氖恰皵?shù)據(jù)幀”,數(shù)據(jù)幀如果要到達目的地,就必須知道對方的MAC地址,它不認IP的。但這個目標MAC地址是如何獲得的呢?它就是通過ARP協(xié)議獲得的。所謂“地址解析”就是主機在發(fā)送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協(xié)議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
每臺安裝有TCP/IP協(xié)議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應的。
我們以主機A向主機B發(fā)送數(shù)據(jù)為例。當發(fā)送數(shù)據(jù)時,主機A會在自己的ARP緩存表中尋找是否有目標IP地址。如果找到了,也就知道了目標MAC地址,直接把目標MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址,主機A就會在網(wǎng)絡上發(fā)送一個廣播,目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網(wǎng)段內(nèi)的所有主機發(fā)出這樣的詢問。網(wǎng)絡上其他主機并不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的回應。這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發(fā)送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發(fā)送信息時,直接從ARP緩存表里查找就可以了。
ARP緩存表采用了老化機制,在一段時間內(nèi)如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。
以上就是ARP協(xié)議的作用以及其工作過程,看來是很簡單的,也正因為其簡單的原理,沒有其他措施的保障,也就使得ARP欺騙產(chǎn)生了。下面我們來看看ARP欺騙到底是怎么回事。1.2 ARP欺騙原理
為什么會有ARP欺騙,這還要從ARP協(xié)議說起,前面我們介紹了,當源主機不知道目標主機的MAC地址的話,就會發(fā)起廣播詢問所有主機,然后目標主機回復它,告知其正確的MAC地址,漏洞就在這里,如果一個有不軌圖謀的主機想收到源主機發(fā)來的信息(可能是用戶名、密碼、銀行賬號之類的信息),那么它只需也向源主機回復一下,響應的IP地址沒錯,但MAC地址卻變成了發(fā)起欺騙的主機的,這樣,信息就發(fā)到它那里去了(前面說了,數(shù)據(jù)幀只認MAC地址)。這是一種欺騙的方式,還有一種方式,是利用了“免費ARP”的機制。所謂免費ARP就是不需要別人問,一上來就先告訴別人,我的IP地址是多少,我的MAC地址是多少,別的主機無需廣播,就已經(jīng)知道了該主機的IP和MAC,下次需要發(fā)到這個IP的時候,直接發(fā)就行了。既然是主動發(fā)起的,就可以被別有用心的人利用了,用一個假冒的IP地址(可能是網(wǎng)關的或者重要服務器的地址)加上自己的MAC出去騙別人,就把重要的信息都騙到這里來了。下面我們來看看ARP欺騙的具體操作過程。
1.2.1 局域網(wǎng)主機冒充網(wǎng)關進行ARP欺騙
欺騙過程:如下圖所示,PC A跟網(wǎng)關GW C通訊時,要知道GW的MAC地址,如果PC B假冒GW告訴PC A,GW的Mac地址是MACB;或者干脆告訴PC A,GW的Mac地址是MACX,那么,PC A就受騙了,PC A的數(shù)據(jù)就到不了網(wǎng)關,造成斷線。
1.2.2 局域網(wǎng)主機冒充其他主機欺騙網(wǎng)關
欺騙過程:網(wǎng)絡通訊是一個雙向的過程,也就是說,只有保證PC A-> GW C以及GW C->PC A 都沒問題,才能確保正常通訊。假如,PC B冒充主機PC A,告訴GW C:PC A的MAC是MAC B, 網(wǎng)關就受騙了,那么,PC A到GW C沒有問題,可是,GW C到不了PC A,因而造成網(wǎng)絡斷線。
以上兩種欺騙,尤其是第二種類型的欺騙,現(xiàn)在更為常見。從本質(zhì)上說,同一局域網(wǎng)內(nèi)(這里指在同一網(wǎng)段)的任何兩個點的通訊都可能被欺騙,無論是主機到網(wǎng)關,網(wǎng)關到主機,主機到服務器,服務器到主機,還有主機之間都是一樣,都可能產(chǎn)生進行ARP欺騙,欺騙本質(zhì)都是一樣。
1.2.3 其他欺騙類型
主機冒用其它主機,欺騙其它主機的方式:如主機A冒用主機B的MAC,欺騙主機C,以達到監(jiān)聽主機B和主機C的目的.并且導致主機B到主機C之間的網(wǎng)絡連接中斷。
外網(wǎng)欺騙:外網(wǎng)冒用路由器A的MAC,欺騙更上一級的路由器B,導致更上一級的路由器被騙,將內(nèi)網(wǎng)信息全部轉發(fā)給外網(wǎng)惡意主機。
2 ARP的主要欺騙及攻擊方式
2.1 ARP欺騙
網(wǎng)絡欺騙是黑客常用的攻擊手段之一,網(wǎng)絡ARP欺騙分為兩種,一種是對路由器ARP表的欺騙,另一種是對內(nèi)網(wǎng)主機的網(wǎng)關欺騙。前一種欺騙的原理是攻擊者通過截獲分析網(wǎng)關數(shù)據(jù),并通知路由器一系列錯誤的內(nèi)網(wǎng)IP地址和MAC地址的映射,按照一定的頻率不斷進行使真實的地址信息映射無法通過更新保存在路由器中,結果路由器轉發(fā)數(shù)據(jù)到錯誤的MAC地址的主機,造成正常主機無法收到信息;后一種ARP欺騙的原理是偽造網(wǎng)關,它的原理是把真實網(wǎng)關的的IP地址映射到錯誤的MAC地址,這樣主機在向網(wǎng)關發(fā)送數(shù)據(jù)時,不能夠到達真正的網(wǎng)關,如果假網(wǎng)關不能上網(wǎng),那么真實的主機通過假網(wǎng)關也不能上網(wǎng)。
2.2 中間人攻擊
按照ARP協(xié)議的設計,一個主機即使收到的ARP應答并非自身請求得到的,也會將其IP地址和MAC地址的對應關系添加到自身的ARP映射表中。這樣可以減少網(wǎng)絡上過多的ARP數(shù)據(jù)通信,但也為ARP欺騙創(chuàng)造了條件。如圖1所示,PC-X為X主機,MAC-X為X主機的物理地址,IP-X為X主機的IP地址。PC-A和PC-C通過交換機S進行通信。此時,如果有攻擊者(PC-B)想探聽PC-A和PC-C之間的通信,它可以分別給這兩臺主機發(fā)送偽造的ARP應答報文,使PC-A中的ARP緩存表中IP-C和MAC-B所對應,PC-C中的ARP緩存表中IP-A和MAC-B所對應。此后,PC-A和PC-C之間看似直接的通信,實際上都是通過攻擊者所在的主機間接進行的,如圖1虛箭頭所示,即PC-B擔當了中間人的角色,可以對信息進行竊取和篡改。這種攻擊方式就稱作中間人攻擊。
2.3 ARP泛洪攻擊
攻擊主機持續(xù)把偽造的IP地址和MAC地址的映射對發(fā)給受害主機,對于局域網(wǎng)內(nèi)的所有主機和網(wǎng)關進行廣播,搶占網(wǎng)絡帶寬并干擾正常通信。導致網(wǎng)絡中的主機和交換機不停地來更新自己的IP地址和MAC地址的映射表,浪費網(wǎng)絡帶寬和主機的CPU,使主機間都不能正常通信。除了中間人攻擊、ARP泛洪攻擊外,還有Dos攻擊等。
目前知道的帶有ARP欺騙功能的軟件有“QQ第六感”、“網(wǎng)絡執(zhí)法官”、“P2P終結者”、“網(wǎng)吧傳奇殺手”等,這些軟件中,有些是人為手工操作來破壞網(wǎng)絡的,有些是做為病毒或者木馬出現(xiàn),使用者可能根本不知道它的存在,所以更加擴大了ARP攻擊的殺傷力
3 ARP攻擊的主要防范措施
3.1 IP地址和MAC地址的靜態(tài)綁定
3.1.1 在用戶端進行綁定
ARP欺騙是通過ARP的動態(tài)刷新,并不進行驗證的漏洞,來欺騙內(nèi)網(wǎng)主機的,所以我們把ARP表全部設置為靜態(tài)可以解決對內(nèi)網(wǎng)的欺騙,也就是在用戶端實施IP和MAC地址綁定,可以再用戶主機上建立一個批處理文件,此文件內(nèi)容是綁定內(nèi)網(wǎng)主機IP地址和MAC地址,并包括網(wǎng)關主機的IP地址和MAC地址的綁定,并把此批處理文件放到系統(tǒng)的啟動目錄下,使系統(tǒng)每次重啟后,自動運行此文件,自動生成內(nèi)網(wǎng)主機IP地址到MAC地址的映射表。這種方法使用于小型的網(wǎng)絡中。
3.1.2 在交換機上綁定
在核心交換機上綁定用戶主機IP地址和網(wǎng)卡的MAC地址,同時在邊緣交換機上將用戶計算機網(wǎng)卡的IP地址和交換機端口綁定的雙重安全綁定方式。這樣可以極大程度上避免非法用戶使用ARP欺騙或盜用合法用戶的IP地址進行流量的盜取,可以防止非法用戶隨意接入網(wǎng)絡,網(wǎng)絡用戶如果擅自改動本機網(wǎng)卡的IP或MAC地址,該機器的網(wǎng)絡訪問將被拒絕,從而降低了ARP攻擊的概率。
3.2 采用VLAN技術隔離端口
局域網(wǎng)的網(wǎng)絡管理員可根據(jù)需要,將本單位網(wǎng)絡規(guī)劃出若干個VLAN,當發(fā)現(xiàn)有非法用戶在惡意利用ARP欺騙攻擊網(wǎng)絡,或因合法用戶受病毒ARP病毒感染而影響網(wǎng)絡時,網(wǎng)絡管理員可先找到該用戶所在的交換機端口,然后將該端口劃一個單獨的VLAN,將該用戶與其它用戶進行隔離,以避免對其它用戶的影響,當然也可以利用將交換機的該端口關掉來屏蔽該用戶對網(wǎng)絡造成影響。
3.3 采取802.1X認證
802.1X認證可以將使未通過認證的主機隔離,當發(fā)現(xiàn)某臺主機中毒時,將禁止其認證從而達到將中毒主機隔離網(wǎng)絡的目的。
例如,在本人所在學校就是需要上網(wǎng)的用戶要提前到網(wǎng)絡管理中心登記,也就是在網(wǎng)關中心申請一個用戶名,并創(chuàng)建密碼,并且把自己的MAC地址和用戶名進行綁定,如果自己的換網(wǎng)卡后,還需要去網(wǎng)絡管理中心進行重新綁定。用戶上網(wǎng)前首先運行一個客戶端軟件,輸入用戶名密碼后,通過認證服務器認證成功后才能上網(wǎng)。
3.4 防火墻和殺毒軟件
可以安裝ARP防火墻或者開啟局域網(wǎng)ARP防護,比如360安全衛(wèi)士等ARP病毒專殺工具,并且實時下載安裝系統(tǒng)漏洞補丁,關閉不必要的服務等來減少病毒的攻擊。