徐標 淮安清江石油化工有限責任公司
ARP病毒自問世以來,已成為局域網安全的主要威脅,通過ARP攻擊盜取或篡改信息,導致網絡異常現(xiàn)象頻發(fā)。隨著網絡應用范圍不斷擴大,ARP攻擊危害快速升級,所以理解ARP協(xié)議,分析ARP協(xié)議漏洞、了解ARP攻擊方式并提出檢測和防范措施具有實踐指導作用。
ARP協(xié)議工作在OSI模型的數據鏈路層,在局域網中每個主機都有IP地址,數據在網絡中是通過“幀”傳輸的,而“幀”必須封裝源、目的主機的MAC地址,即局域網中通信需要通過MAC地址來實現(xiàn),因此一個主機要和另一個主機直接通信,必須借助ARP協(xié)議將數據幀中的目的IP地址解析為目的MAC地址。ARP協(xié)議的基本功能就是通過目的主機IP地址,查詢其MAC地址,從而保證通信順利進行。
安裝TCP/IP協(xié)議的計算機都有一個ARP緩存表,表中IP地址與MAC地址一一對應,以主機A(192.168.1.1)向主機B(192.168.1.2)發(fā)送數據為例。當發(fā)送數據時,主機A會查找本地的ARP緩存表,如果匹配主機B的IP地址,也就得到了目的MAC地址,將目的MAC地址直接寫入數據幀發(fā)送即可;如果在ARP緩存表中沒有找到相對應的目的IP地址,主機A就在網絡上發(fā)送一個目的MAC地址是“FF-FF-FF-FF-FF-FF”廣播,向同一網段內的所有主機發(fā)出詢問:“192.168.1.2的MAC地址是什么?”網絡上其它主機并不響應這個ARP詢問,只有IP地址是192.168.1.2的主機B接收到這個數據幀時,才向主機A做出回應:“192.168.1.2的MAC地址是C8-9C-DC-F0-04-BA”,至此,主機A在ARP緩存表增加了主機B的IP地址與MAC映射關系,向主機B發(fā)送信息時就直接通過本地ARP緩存表查找目的MAC地址。
ARP是一個高效的數據鏈路層傳輸協(xié)議,設計初衷是方便網絡數據傳輸,工作環(huán)境是絕對安全和信任的網絡,因此在設計時并沒有考慮網絡安全因素,導致ARP本身存在諸多固有的缺陷,主要有如下三個方面:
(1)動態(tài)性,基于高速緩存的ARP地址映射表根據接收到的ARP報文在一段時間內動態(tài)更新;
(2)無認證性,只要主機接收到的ARP報文是有效的,該主機就會無條件地刷新ARP地址映射表,無需認證;
(3)無連接性,任一主機可以隨時接受ARP報文,更新ARP地址映射表,即使該主機沒有發(fā)出ARP請求。
ARP攻擊在局域網中經常出現(xiàn),通過偽造IP-MAC地址映射關系實施ARP攻擊,輕則導致網內主機通信異常,重則導致網絡癱瘓,達到攻擊者竊取信息、阻礙網絡正常運行的目的。以下是幾種常見的ARP攻擊方式:
2.2.1 ARP洪泛攻擊
網絡中含病毒的PC發(fā)送大量ARP報文,這些ARP報文無論內容或者對網絡中其它主機ARP表項影響都是合規(guī)的,但是這些報文發(fā)送速率非常快,以至被攻擊對象沒有足夠的資源(如CPU)來響應網絡內其它主機的ARP請求,并且消耗網絡資源,影響網絡正常運行。
2.2.2 冒充網關攻擊
攻擊者偽造ARP報文,報文中源IP地址是網關IP地址,但源MAC地址則是偽造的,被攻擊主機接收報文后更新ARP地址映射表,獲得錯誤的網關IP-MAC地址映射關系,造成被攻擊主機的所有數據都流向偽造的網關,使其不能正常上網。冒充網關攻擊通常表現(xiàn)為網絡內一臺或多臺主機斷網,重啟后恢復正常,但是一段時間后問題依舊。
2.2.3 欺騙網關攻擊
攻擊者偽造ARP響應報文發(fā)送給網關,該報文中源IP地址是合法的,但是源MAC地址則是偽造的,網關根據接收的偽ARP報文刷新ARP地址映射表,獲得錯誤的網內主機IP-MAC地址映射關系,使網關發(fā)送到該主機的所有數據都流向偽造的主機,導致該被攻擊主機無法上網。
2.2.4 克隆攻擊
攻擊者將目的主機ARP地址映射表中所有MAC篡改,使其與外界斷絕聯(lián)系,然后攻擊者使用目的主機的IP地址、MAC地址,從而成為目的主機副本;當克隆攻擊的對象是服務器時,可以在終端用戶不察覺的情況下獲取攻擊者所需信息。
ARP攻擊易造成信息竊取及篡改、網絡運行異常、非法控制等,具體表現(xiàn)為斷線、IP沖突、隱私信息泄露、網絡速度受第三方控制等危害,根本原因是ARP病毒可以對網絡通信參數進行強行修改。越早判斷出ARP攻擊對于網絡安全越有益,為此給出以下幾種檢測方法:
Sniffer等工具軟件對網絡通信數據抓包檢測,查找發(fā)布大量廣播類報文的源主機及其他無請求響應類ARP報文的發(fā)送源,或將檢測的報文與本網段MAC地址庫匹配,查看是否存在等方式來判斷網絡是否遭受ARP攻擊。
通過系統(tǒng)自身命令來分析定位ARP攻擊源主機。首先Ping網關IP地址,完成后,再用命令“arp -a”查看本機及網關IP地址所對應的MAC地址,若此時有相對應重復的,那么有可能遭受了ARP攻擊。
ARP攻擊本質是利用ARP漏洞進行攻擊,即利用主機對ARP報文的無條件信任,強行修改主機ARP緩存表,實現(xiàn)各種攻擊目的,因此防范ARP攻擊就要確保緩存表中IP-MAC地址映射關系正確,盡最大可能避免非法篡改緩存表。這里簡述一些攻擊防范措施:
由于ARP緩存表對ARP報文是無條件信任而實時更新的,且ARP緩存表中的類型默認是“動態(tài)”的,所以在網關和每個主機上同時做IP-MAC地址雙向靜態(tài)綁定,使ARP緩存表不能動態(tài)更新,可以有效避免ARP攻擊。
在網絡中使交換機端口與主機一一對應,強制將主機IP地址、MAC地址與交換機端口實施靜態(tài)綁定;在攻擊者發(fā)送偽造的ARP報文時交換機主動檢測出IP地址、MAC地址不一致,從而阻斷偽造報文,避免網絡被攻擊。
由于ARP請求是廣播報文,其只能在主機所在的廣播域內傳播,ARP攻擊不能夠跨網段,因此在網絡組建時,通過VLAN技術劃分廣播域,限制ARP攻擊的影響范圍,避免整個網絡運行異常, 也方便定位出現(xiàn)攻擊時的網段和主機。
目前關于ARP的安全軟件較多。比如360等,這些軟件不僅能檢測出ARP攻擊,還以一定的頻率向網絡廣播正確的ARP信息;它們采用系統(tǒng)內核層攔截技術和主動防御技術,可解決大部分欺騙、ARP攻擊帶來的問題,有效防范來自主機內外的ARP攻擊。
通過分析ARP協(xié)議的工作原理,理解它在數據傳輸過程中的作用,掌握ARP攻擊方式及檢測、防范措施,使網絡管理人員和計算機使用者能夠有效地避免和防范ARP攻擊。總之,面對不斷滋生的木馬病毒,不僅需要計算機使用者做好防范工作,還需要網絡管理人員盡職盡責,不斷學習防范各類攻擊的技術,防患于未然,全員防御,協(xié)力保障網絡正常運行。