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