顧雅楓
(甘肅省產品質量監督檢驗研究院,甘肅 蘭州 730000)
信息化時代,隨著計算機網絡的迅速發展,網絡為人們帶來便捷的同時,也存在日益嚴重的網絡安全問題,網絡中的各類網絡設備、存儲傳輸的數據都存在被攻擊的風險。在局域網中,ARP 攻擊是常見的一種攻擊方式。由于ARP 協議缺乏對數據包真實性、合法性及有效性的驗證手段,攻擊者可以利用這一缺陷對局域網發起攻擊,從而引發網絡掉線、不穩定、網速時快時慢、用戶賬號密碼等隱私數據被竊取等問題,嚴重時甚至會導致整個局域網的癱瘓。本文將從ARP 協議的機制和ARP 攻擊的原理入手,結合筆者日常局域網運維工作遇到的有關ARP 攻擊的實際問題,探討局域網內ARP 攻擊的防御措施,進而維護局域網安全。
根據網絡連接的地理范圍,可將計算機網絡分為局域網、城域網和廣域網。局域網(Local Area Network,LAN)在地理上局限在較小的范圍,通常是幾百到幾千米,網絡速率一般在10Mbit/s,常常用于組建企業網和校園網,是最常見、應用最廣的一種網絡。局域網最主要的特點是網絡為一個單位所擁有,且地理范圍和站點數目均有限。局域網具有較高的數據率、較低的時延和較小的誤碼率[1]。ARP 攻擊是局域網中極易出現的一種網絡安全問題。
ARP 協議(Address Resolution Protocol),地址解析協議,位于TCP/IP 協議棧中的網絡層,其作用是根據網絡地址(IP 地址)獲取物理地址(MAC 地址)[2-3]。在網絡中,所有的網絡設備都有一個IP 地址和MAC 地址,而實際的網絡通信是通過MAC 地址實現的。因此,在局域網中,ARP 協議是網絡通信的基礎。
在局域網中,當兩臺主機PC1 和PC2 需要進行通信時,PC1 首先在自己的ARP 緩存表中查找PC2的MAC 地址,如果找到了,就可以直接進行通信,如果找不到,PC1 就會將ARP 消息廣播到網絡上的所有主機,詢問PC2 的MAC 的地址,這個消息包含目的主機PC2 的IP 地址。網絡中的所有主機都會收到這條數據包,但只有PC2 會給PC1 發送一個ARP 應答數據,這個消息包含PC2 的IP 地址和MAC 地址。待PC1 收到返回消息后,即可確定PC2的MAC 地址進行通信。同時為了節約資源,提高網絡利用率,PC1 會將目的主機PC2 的IP 地址和MAC 地址存入本地ARP 緩存表,以便下次通信時直接查詢使用。為了提升ARP 緩存表的查詢效率,ARP 緩存表采用的是老化機制,在一定的時間里,如果一條地址信息一直不被使用,就會被刪除。ARP 協議工作流程圖如圖1 所示。

圖1 ARP 協議工作流程圖
ARP 協議在最初設計時,為了提升傳輸效率,放棄了安全驗證。從ARP 協議的工作機制不難發現,ARP 協議是建立在網絡中各個主機相互信任的基礎上實現的,因此該協議存在一些安全方面的問題:
1)網絡上的主機設備可以自主發送ARP 應答消息,這就導致只要接收到ARP 應答消息的主機設備就會更新ARP 緩存表,而不驗證自己是否發出了ARP 請求。
2)網絡上的主機設備無法對發送數據包的網絡實體進行身份驗證,不知道發送數據包的網絡實體是不是真正的物理地址的所有者。
3)網絡上的主機設備無法對數據包的真實性進行鑒別,而是直接將其存入本機的ARP 緩存。
攻擊者可以利用上述ARP 協議的一些安全漏洞,偽造ARP 應答消息并進行廣播,讓局域網上所有主機和網關的ARP 表記錄偽造的地址信息,導致網絡中的消息無法到達真正的主機,進而達到網絡控制的目的。
ARP 攻擊簡單來說就是一種地址欺騙,根據ARP 欺騙的對象,可以將ARP 欺騙攻擊分為3 種:
1)主機型欺騙:欺騙者主機冒充網關設備對局域網內的所有主機進行欺騙。如圖2 所示,欺騙者主機PC2 發送偽造的數據包,網絡中所有被欺騙主機的ARP 緩存表中記錄的網關IP 地址對應的是欺騙主機的MAC 地址,這樣就導致各主機將本來要發送給網關的數據全部發送給欺騙者主機PC2,進而引發被攻擊主機頻繁掉線的問題。

圖2 主機型欺騙示意圖
2)網關型欺騙:欺騙者主機冒充局域網內的主機對網關設備進行欺騙。如圖3 所示,欺騙者主機PC2 將包含IP1/MAC2 的數據包發送到網關,網關ARP 緩存表中記錄了錯誤的信息IP1/MAC2,這樣網關就會把本來發送給PC1 的消息全部發送到欺騙主機PC2。

圖3 網關型欺騙示意圖
3)雙向欺騙:欺騙者主機即冒充網關設備又冒充局域網中的主機設備,導致網關和被攻擊主機的數據都發到了欺騙者主機。如圖4 所示,欺騙者主機PC2 給被欺騙主機PC1 發送錯誤的網關數據包(網關IP/MAC2),同時也給網關發送偽造數據包(IP1/MAC2),網關設備和PC1 的ARP 緩存表都記錄了錯誤的地址信息,PC1 本應發送給網關的信息和網關要發送給PC1 的信息就全都發給了欺騙主機PC2,這樣PC2 實現了雙向欺騙的目的。

圖4 雙向欺騙示意圖
當局域網中出現網絡緩慢、時斷時續、ping 命令丟包等現象時,需要考慮網絡內部是否出現了ARP攻擊,此時可以通過ARP 命令、XARP 工具等方式進行檢測。
1)ARP 命令查看,如圖5 所示:從開始-運行-輸入cmd,在cmd 命令提示符界面輸入arp-a 并回車,即可查看本機上ARP 協議的所有ARP 解析信息,通過比對網關MAC 地址、查看多條IP 地址是否對應同一MAC 地址的方法可以排除是否存在ARP欺騙。

圖5 ARP 命令查看截圖
2)XARP 工具查看:該方式更加簡潔明了,打開XARP 工具界面,如果存在ARP 攻擊,則會彈出警報信息,如圖6 所示。

圖6 XARP 工具檢測到的ARP 攻擊截圖
ARP 攻擊嚴重威脅著局域網的正常運行和局域網用戶的信息安全,主要危害表現為:(1)局域網通信異常,例如網絡時斷時續、不穩定,提示IP 地址沖突等;(2)惡意竊聽,例如賬號盜用、個人隱私泄露等。
結合ARP 攻擊的原理和日常網絡維護工作中發現的各類問題,對出現ARP 攻擊的主要原因進行分析,具體如下:
1)局域網用戶私接路由器。當前主流的路由器默認網關地址均為192.168.1.1 或者192.168.0.1,如果局域網內網關地址也配置為192.168.1.1 或者192.168.0.1,那么當局域網用戶私接路由器并且沒有重新設置網關時,就極易出現私接路由器地址跟網關地址相同的現象,從而導致網絡無法正常使用。
2)ARP 病毒。局域網用戶使用了一些包含木馬程序的游戲外掛或者打開了一些含有惡意代碼的網頁,從而引發了局域網內的ARP 病毒攻擊。
3)人為破壞。局域網用戶安裝了P2P 監控軟件,如P2P 終結者,網絡執法官等,惡意監控其他機器,限制流量。在企事業單位局域網中,此種情況較為少見,更多的ARP 攻擊來自使用者的無心之舉。
針對企事業單位局域網中出現的ARP 攻擊,建議采用以下方法進行防御:
1)提高局域網用戶網絡安全意識,養成良好的網絡使用習慣,具體包括:
(1)安裝殺毒軟件并及時升級殺毒軟件病毒庫,在平時使用中,定期全盤掃描,使用U 盤、移動硬盤等移動介質時先殺毒再使用,如發現可疑情況及時處理;(2)不隨意點擊來路不明的郵件、網址、文件等,尤其對于自行在網絡上下載的后綴名為.exe、.com.、.bat 等的可執行文件要格外警惕,用殺毒軟件掃描檢查確認沒有問題后再使用;(3)不安裝游戲外掛、P2P 類監控軟件等;(4)重要的文件不保存在桌面或者C 盤,利用云端、存儲設備定期做好資料文件的備份工作。
2)對局域網內的各類網絡設備進行MAC 地址和IP 地址的雙向靜態綁定,具體步驟如下:
(1)梳理局域網內現有的所有網絡設備(包括服務器、主機、路由器、網絡打印機等),建立MAC地址/IP 地址臺賬;(2)在網關設備進行所有網絡設備的MAC 地址和IP 地址靜態綁定,關閉DHCP(Dynamic Host Configuration Protocol,動態主機配置協議),使網絡環境中的主機不再動態獲得IP 地址、網關地址、DNS 服務器地址等信息;(3)在網絡設備側進行MAC 地址和IP 地址的靜態綁定;(4)后續所有新增網絡設備均需申請MAC 地址和IP 地址綁定后方可入網。
3)劃分VLAN。VLAN(Virtual Local Area Network)的中文名為“虛擬局域網”[4]。通過VLAN 技術可以在局域網中創建多個子網,這樣就可以在局域網中隔離ARP 廣播包,縮小感染范圍,提高網絡性能和安全性,也便于后期進行各類網絡故障問題的排查。
4)安裝ARP 防火墻,例如360 安全衛士ARP防火墻,可有效攔截ARP 攻擊,并可以對ARP 攻擊源進行追蹤。打開360 安全衛士,打開功能大全-流量防火墻-局域網防護功能,即可開啟ARP防護功能,保護主機抵御ARP 攻擊,并且在遭受到ARP 攻擊時,還可以對攻擊主機進行追蹤,如圖7 所示。

圖7 360 ARP 防火墻界面截圖
ARP 攻擊具有很大的危害性,在實際網絡環境中它的產生又是錯綜復雜的,也很難定位。本文結合企事業單位局域網管理的實際經驗,對ARP 攻擊的原理及防御措施予以探討,以期通過多種方法的結合來防御ARP 攻擊,提高網絡安全性。