曾曉華 張寧丹
[摘要]由于ARP協議自身設計上的不足,使得ARP協議在使用的過程中存在ARP攻擊等網絡安全問題。分析ARP攻擊的幾種方式,給出幾種抵御ARP攻擊的防范措施。
[關鍵詞]ARP協議 MAC地址 ARP攻擊
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0220073-01
隨著計算機網絡技術的發展,網絡已經成為人們日常生活中不可缺少的部分。由于網絡的開放性、資源的共享性等特點,各種對網絡的攻擊與破壞方式也逐漸增多。本文就針對較常見的一些利用ARP協議的漏洞對網絡進行攻擊的方式進行分析,并提出幾種較有效的防范策略。
一、ARP協議的工作特點
ARP,全稱Address Resolution Protocol,中文名為地址解析協議,它工作在數據鏈路層,在本層和硬件接口聯系,同時對上層提供服務。
IP數據包常通過以太網發送,以太網設備并不識別32位IP地址,它們是以48位以太網地址傳輸以太網數據包。因此,在通信過程中,必須把IP目的地址轉換成以太網目的地址。這個以太網地址(MAC地址)就是通過ARP協議獲得的。即ARP協議的作用是將網絡中的IP地址解析為的MAC地址,以保證通信的順利進行。
二、ARP欺騙原理
在網絡中,每臺計算機具有兩個不同的地址:IP地址和物理地址(MAC地址),局域網內部的主機是根據MAC地址來通信的。ARP協議是根據目標主機的IP地址來獲得其MAC地址,當IP數據包準備發送時,由數據鏈路層加上源MAC地址和目的MAC地址封裝成以太網數據包發送出去,如果數據鏈路層不知道目的IP的MAC地址,它就向局域網廣播一個ARP請求,報文給局域網中的每一計算機,只有具有此IP的主機收到這份廣播報文才會向源主機回送一個包含其MAC的ARP應答報文,每個主機都有一個ARP高速緩存,存放了最近的IP-MAC映像,主機每隔一段時間或當收到ARP應答都會更新緩存。對大多數操作系統而言,如果收到一個ARP應答,它們不管自己是否在此之前曾發出ARP請求報文,都會自動更新自己的ARP緩存。因此,ARP協議的攻擊方法最根本的途徑,就是利用主機對ARP應答的無條件信任,篡改主機的ARP緩沖,從而實現各種攻擊。比如,主機A發送報文給主機C,攻擊者利用ARP欺騙將C的MAC地址映射為主機D,這樣就把主機A發送給主機C的報文的發送給了攻擊者所指定的一臺主機D,而主機A卻沒有察覺。
三、ARP協議的網絡攻擊方式
(一)簡單的欺騙攻擊
攻擊者通過發送偽造的ARP包來欺騙目標主機或路由器,讓對方認為這是一臺合法的主機,從而達到欺騙的目的。這種欺騙多發生在同一個網段內。
(二)中間人攻擊
中間人攻擊就是攻擊者將自己的主機插入兩個目標主機通信路徑之間,截獲并且轉發雙方的數據包,通過截獲數據包,可以探測有價值的信息,破壞信息的機密性,甚至纂改信息的內容,并發出虛假信息,竊取或騙取用戶的錢財和信息。
(三)基于ARP的DOS攻擊
將ARP攻擊和DOS(Denial of Service,拒絕服務)攻擊相結合,這是一種新的攻擊手段,也叫拒絕服務攻擊。如果攻擊者將目標主機ARP緩存中的MAC地址全部改為根本就不存在的地址,或者攻擊者將大量ARP連接請求都發送到一臺目標主機時,由于主機的處理能力有限,使網絡中其他主機就無法與該主機進行通信,從而導致目標主機產生拒絕服務。
(四)更改主機IP
攻擊者通過發出更改過的ARP報文,將一個錯誤的MAC地址強行映射到目的主機的IP地址,當系統檢測到兩個不同的MAC地址對應了一個IP地址,誤以為網絡中該IP地址已經被其他主機使用,Windows操作系統會彈出IP地址沖突的警告對話框,并使網絡中斷。
四、ARP欺騙的防范措施
分析基于ARP協議的攻擊方法最根本的途徑,就是利用主機對ARP應答的無條件信任,篡改主機的ARP緩沖,從而實現各種攻擊。而在實際的網絡運行當中,有很多用戶不知道自己的計算機已經被欺騙攻擊了,然后在不知情的情況下自己又對別的計算機發起攻擊或進行ARP欺騙的。因此,對ARP的欺騙防范不僅要從技術上進行防范,也要從管理上進行防范。主要防范措施有以下幾點:
1.檢測自己主機的IP地址是否正在被其它機器挪用。主機定期向所在局域網發送查詢自己IP地址的ARP請求報文,如果能夠收到另一ARP響應報文,則說明該網絡上另有一臺機器與自己具有相同的IP地址。一旦發現攻擊,應立即采取有效措施,解決被攻擊主機的問題,以恢復網絡的正常使用。
2.定期對計算機進行系統升級,安裝防范殺毒軟件。設置系統自動檢測殺毒軟件的病毒特征庫是否升級到最新版本,并能自動更新。關閉一些不必要的服務,以防止攻擊者利用服務漏洞進行攻擊。
3.設置靜態IP。ARP協議攻擊的最根本原理是改變IP與MAC地址的對應關系。所以可以采取靜態MAC地址表法的方法進行防范,即在目標主機的ARP緩存中設置靜態地址映射記錄,設置之后不再動態更新,這樣可以避免ARP協議攻擊。但是,這種方法的缺陷也很明顯,在一個局域網內經常會出于各種正當的原因需要修改主機的IP地址,這種手工維護MAC表的方式不適用,而且它也要求網絡硬件支持這種配置方式,因此在實際中用得較少。
4.使用ARP服務器。指定局域網內部的一臺機器作為ARP服務器,專門保存并且維護可信范圍內的所有主機的IP地址與MAC地址映射記錄。該服務器通過查閱自己的ARP緩存的靜態記錄并以被查詢主機的名義響應局域網內部的ARP請求。同時可以設置局域網內部的其它主機只使用來自ARP服務器的ARP響應,但必須保證ARP服務器不被黑客攻擊。
5.使用硬件屏障主機。設置好路由器,在路由器上將IP地址與MAC地址綁定,啟用ARP檢查,以過濾偽造源MAC地址的ARP攻擊,這樣可以防止路由器受到ARP攻擊。
五、結束語
ARP協議攻擊主要來源于協議自身設計上的不足。ARP攻擊給網絡帶來了極大的安全隱患。本文通過研究ARP協議的各種攻擊方式,給出了一些抵御ARP攻擊的方法,從而提高網絡的安全性。
參考文獻:
[1]雙木編著,網絡管理之ARP協議篇[M].中國人民大學出版,2003-06-05.
[2]馬軍、王巖,ARP協議攻擊及其解決方案[J].微計算機信息,2006(15):70-71,140.
[3]陳英、馬洪濤,局域網內ARP協議攻擊及解決辦法[J].中國安全科學學報,2007(7):126-131.
[4]任俠、呂述望,ARP協議欺騙原理分析與抵御方法[J].計算機工程,2003(9):127-128,182.