摘 要:隨著互聯(lián)網(wǎng)的廣泛應(yīng)用,內(nèi)部網(wǎng)絡(luò)的安全問題逐漸成為人們關(guān)注的焦點。在頻繁發(fā)生的攻擊行為中,利用ARP協(xié)議的漏洞進行攻擊是主要的手段之一。本文探討了基于ARP的攻擊分析及防范策略。
關(guān)鍵詞:ARP 防范 攻擊
一、ARP的工作原理
ARP(地址解析協(xié)議Address Resolution Protocol)解決了從IP地址到硬件地址的映射問題。比如,源主機欲向本網(wǎng)內(nèi)的其它主機發(fā)送數(shù)據(jù)包時,先在源主機的ARP高速緩存中查看有無目的主機的硬件地址,如存在,就將目的主機的硬件地址寫入MAC幀并發(fā)送;如不存在,源主機自動在網(wǎng)內(nèi)廣播一個ARP請求報文來獲得目的主機的硬件地址,網(wǎng)內(nèi)的所有主機都收到此ARP請求,只有目的主機才會發(fā)回一個ARP響應(yīng)報文,并寫入自己的硬件地址,當源主機收到目的主機的ARP響應(yīng)后,就在其ARP高速緩存中寫入目的主機的IP地址到硬件地址的映射。
傳統(tǒng)的共享式以太網(wǎng)是由集線器進行網(wǎng)絡(luò)互連,而集線器屬于物理層設(shè)備,采用廣播技術(shù)將一個端口接收到的報文廣播到本網(wǎng)內(nèi)的所有機器上,目的主機會接收此報文,而非目的主機則丟棄該報文。但是,如果將網(wǎng)卡設(shè)為混雜模式,則非目的主機也可以接收此報文。
交換式以太網(wǎng)絡(luò)是采用屬于數(shù)據(jù)鏈路層設(shè)備的二層交換機進行網(wǎng)絡(luò)互連,通過讀取數(shù)據(jù)包中的目的MAC地址并查找相應(yīng)的端口進行轉(zhuǎn)發(fā),如果找不到相應(yīng)的端口,則把數(shù)據(jù)包廣播到所有端口上,當目的機器回應(yīng)時交換機就可以學習目的MAC地址與哪個端口對應(yīng),這就是交換機的“學習”功能,再次轉(zhuǎn)發(fā)數(shù)據(jù)時就有了依據(jù)。
基于二層交換機的特點,即使將網(wǎng)卡設(shè)為混雜模式,也只能捕獲目的MAC地址為本機地址的數(shù)據(jù)包,共享式以太網(wǎng)中的監(jiān)聽失效。但是,由于ARP協(xié)議的無連接、無認證,局域網(wǎng)中的任何主機可隨時發(fā)送ARP請求包,也可以接收ARP應(yīng)答包,并且無條件地根據(jù)應(yīng)答包內(nèi)的內(nèi)容刷新本機的ARP緩存,所以ARP欺騙也可應(yīng)用于交換式以太網(wǎng)絡(luò)中。
二、ARP的攻擊方式
1. 簡單的欺騙攻擊
這是比較常見的攻擊,它是通過發(fā)送偽造的ARP包來欺騙目標主機或路由器,讓對方認為這是一臺合法的主機,于是便完成了欺騙。這種欺騙多發(fā)生在同一個網(wǎng)段內(nèi)。
2. 對交換機(路由器)的MAC地址欺騙攻擊
交換機上同樣維護著一個動態(tài)的MAC地址表,表內(nèi)記錄的是MAC地址與交換機端口相對應(yīng)的情況。如果有人發(fā)送偽造的ARP包來欺騙交換機,則交換機收到這個包后,會更新MAC地址表,將對應(yīng)的MAC地址指向這個端口,從而達到欺騙的目的。
還有一種情況是對交換機進行MAC地址Flooding攻擊。這是一種比較危險的攻擊,方法是通過發(fā)送大量的假MAC地址的數(shù)據(jù)包,使交換機的ARP表溢出(交換機的MAC地址表大小有限,當這個表的所有空間都用完了后就會溢出),從而使整個網(wǎng)絡(luò)不能正常通信。
3. 基于ARP的DoS攻擊
DoS又稱拒絕服務(wù)攻擊,當大量的連接請求被發(fā)送到一臺主機時,由于主機的處理能力有限,不能為正常用戶提供服務(wù),便出現(xiàn)拒絕服務(wù)。這個過程如果使用ARP來隱藏自己,在被攻擊主機的日志上就不會出現(xiàn)真實的IP地址,攻擊的同時也不會影響到本機。
三、ARP欺騙的防范策略
1. 設(shè)置靜態(tài)ARP緩存。
使用靜態(tài)的IP->MAC的解析新ARP協(xié)議攻擊的最根本原理是改變IP與MAC地址的對應(yīng)關(guān)系。可以采取靜態(tài)MAC地址表法的方法進行防范。主機的IP->MAC地址對應(yīng)表手工維護,輸入之后不再動態(tài)更新,顯然可以避免ARP協(xié)議攻擊,大多數(shù)的三層交換機都支持這種方法。但是,這種方法也具有一定的缺陷,在移動或經(jīng)常變化的網(wǎng)絡(luò)環(huán)境中,這種手工維護MAC表的方式不適用,而且它對網(wǎng)絡(luò)硬件也有較高的要求。另外,采用此方式設(shè)置靜態(tài)ARP緩存,管理員需要定期輪詢,檢查主機上的ARP緩存。
2. 交換機端口設(shè)置。
(1)端口保護(類似于端口隔離):ARP欺騙技術(shù)需要交換機的兩個端口直接通訊,端口保護設(shè)為保護端口即可簡單方便地隔離用戶之間信息互通,不必占用VLAN資源。同一個交換機的兩個端口之間不能進行直接通訊,需要通過轉(zhuǎn)發(fā)才能相互通訊。
(2)數(shù)據(jù)過濾:如果需要對報文做更進一步的控制,用戶可以采用ACL(訪問控制列表)。ACL利用IP地址、TCP/UDP端口等對進出交換機的報文進行過濾,根據(jù)預(yù)設(shè)條件,對報文做出允許轉(zhuǎn)發(fā)或阻塞的決定。華為和Cisco的交換機均支持IP ACL和MAC ACL,每種ACL分別支持標準格式和擴展格式。標準格式的ACL根據(jù)源地址和上層協(xié)議類型進行過濾,擴展格式的ACL根據(jù)源地址、目的地址以及上層協(xié)議類型進行過濾,異詞檢查偽裝MAC地址的幀。
3. 網(wǎng)絡(luò)路由分割。
目前,網(wǎng)絡(luò)上已經(jīng)使用高層交換的方式,基于IP地址變換進行路由的第三層(第四層)交換機逐漸被采用,第三層交換技術(shù)用的是IP路由交換協(xié)議。以往的鏈路層的MAC地址和ARP協(xié)議已經(jīng)不起作用,因而ARP欺騙攻擊在這種交換環(huán)境下不起作用。
4. 修改MAC地址,欺騙ARP欺騙技術(shù)。
就是假冒MAC地址,最穩(wěn)妥的一個辦法就是修改機器的MAC地址,只要把MAC地址改為別的,就可以欺騙過ARP欺騙,從而達到突破封鎖的目的。
5. 使用ARP代理服務(wù)器。
通過該服務(wù)器查找ARP轉(zhuǎn)換表來響應(yīng)其他機器的ARP廣播。但必須確保這臺ARP服務(wù)器不被黑客攻擊。
6. 定期捕獲ARP請求。
管理員定期在響應(yīng)的IP包中捕獲ARP請求,檢查ARP響應(yīng)的真實性。
7. 采用加密手段防范。
ARP欺騙過程中,即使是使用Sniffer類的抓包軟件抓取到了數(shù)據(jù),但由于數(shù)據(jù)包都是以密文傳輸?shù)模圆粫斐蓢乐赜绊憽?/p>
參考文獻:
[1]鄭先偉.解析ARP 欺騙攻擊[J].中國教育網(wǎng)絡(luò),2006.
[2]趙均,陳克非.ARP協(xié)議安全漏洞分析及其防御方法[J].信息安全與通信保密,2006.
[3]那罡.瘋狂的ARP痛苦的路由器[J].中國計算機用戶,2006.
[4]陳海軍,龍艷軍.基于互聯(lián)網(wǎng)的WEB欺騙分析及其防范方案[J].中國科技信息,2006.
[5]馬軍,王巖.ARP協(xié)議攻擊及其解決方案[J].微計算機信息,2006.