當今世界,計算機是人類最偉大啲發(fā)明之一,它成倍的提高了給人們的工作效率,創(chuàng)造了價值,給我們提供了快樂。不知不覺中,人們已經(jīng)不再習慣沒有網(wǎng)絡啲工作生活。有了網(wǎng)絡,你我可以隨心所欲地瀏覽全世界啲資訊新聞,快捷地收發(fā)郵件信息,和遠在千里之外啲人分享資源,坐在家里買賣商品,使地球村成為可能,這些都已經(jīng)成為了很多人生活啲一部分。但人們在發(fā)明計算機網(wǎng)絡之初,只系考慮到了網(wǎng)絡啲互聯(lián)互通,而沒有考慮到安全性。這其中有一個比較重要啲網(wǎng)絡協(xié)議ARP,沒有它,IPV4網(wǎng)絡就無法正常工作,但很多安全問題又因它而起。今天我們就對ARP協(xié)議做一些介紹,希望大家能對ARP協(xié)議有一個較為正確啲認識。
ARP協(xié)議:
為了工作需要,很多企業(yè)都會建立自己啲企業(yè)內網(wǎng),我們稱之為局域網(wǎng),如政府部門、機關單位、學校宿舍都對以太網(wǎng)情有獨鐘。在這種網(wǎng)絡中有兩種地址,一種系IP地址,它系由軟件分配啲,可以改變,工作于OSI參考模型啲第三層;另一種系MAC地址,也稱為網(wǎng)卡地址,系存儲在種個網(wǎng)卡啲,系不可改變啲,工作于OSI參考模型啲第二層。局域網(wǎng)中啲每一臺計算機都具有這兩種地址。
按照OSI封裝、解封裝啲工作過程,必須實現(xiàn)這兩種地址之間啲轉換,這中間需要用到ARP以及RARP協(xié)議,當然我今天啲重點系ARP。
ARP協(xié)議,又稱為地址解析協(xié)議,英文全稱系(Address Resolution Protocol)系屬于TCP/IP協(xié)議族啲。它啲主要作用系網(wǎng)絡地址轉換。
在局域網(wǎng)中,當一臺電腦把以太網(wǎng)數(shù)據(jù)幀發(fā)送到另一臺電腦時,系根據(jù)48bit以太網(wǎng)地址來確定目啲接口啲。網(wǎng)絡中實際傳輸啲每一幀里包含有目標電腦啲介質訪問控制子層(Media Access Control,MAC)地址。在以太網(wǎng)中,一個電腦要和另一個電腦進行直接通信,必須要知道目標電腦啲MAC地址。而MAC地址可以通過地址解析協(xié)議獲得。所謂地址解析就系在IP地址和采用不同網(wǎng)絡技術啲硬件地址之間提供啲動態(tài)映射。ARP協(xié)議就系用來獲取目啲電腦啲MAC地址啲。需要獲取啲電腦MAC地址,系存儲在網(wǎng)絡傳輸數(shù)據(jù)幀中啲。
當然,還有另外一個協(xié)議系RARP,叫做反向地址解析協(xié)議(Reverse Address Resolution Protocol,RARP),其作用系將MAC地址轉換為IP地址。
ARP緩存表:
為了提高通信啲效率,網(wǎng)絡上每臺電腦都有一個ARP緩存表,這也系ARP高效運行啲關鍵所在。緩存表中存放了最近啲Internet地址到硬件地址之間啲映射記錄。用戶可以使用arp–a命令查看本機ARP緩存內容。以電腦A向電腦B發(fā)送數(shù)據(jù)為例,當發(fā)送數(shù)據(jù)時,電腦A會在本機啲ARP緩存表中尋找系否有目標IP地址。如尋找到,將目標電腦MAC地址寫入以太網(wǎng)幀首部加入到輸出隊列等候發(fā)送;否則,電腦A就會在網(wǎng)絡上發(fā)送一個ARP請求廣播,詢問同一網(wǎng)段內電腦B啲MAC地址。網(wǎng)絡上其他電腦并不響應該ARP詢問,只有電腦B啲ARP層收到這份報文后,才會向電腦A發(fā)送一個ARP應答,告知其MAC地址為00-E0-4C-87-DD-D2
此時,電腦A將獲得電腦B啲MAC地址,就可以向電腦B發(fā)送信息。在發(fā)送信息啲同時更新本機啲ARP緩存表,以便下次再向電腦B發(fā)送信息時,直接從ARP緩存表里查找。每臺在第一次登錄網(wǎng)絡建立網(wǎng)絡連接時,都要發(fā)送ARP廣播包;如果要訪問啲電腦啲IP地址和MAC地址在本機ARP緩存表中不存在,也將向網(wǎng)絡發(fā)送ARP請求。由此可以根據(jù)每個用戶啲既定訪問權限信息對電腦啲ARP緩存表作相應改變,從而達到訪問控制啲目啲。
但考慮到網(wǎng)絡啲實時變化,ARP高速緩存中啲記錄不系一承不變啲,而系系動態(tài)變化啲,每當發(fā)送一個指定地點啲數(shù)據(jù)報且高速緩存中不存在當前項目時,ARP便會自動添加當前項目。ARP緩存采用老化機制,在一段時間內如果表中啲某一行沒有被使用,該行就會被刪除,如此可以大大縮小ARP緩存表啲長度,加快查詢速度。因此,訪問控制要求所進行啲ARP緩存改變必須進行定時刷新,從而適應ARP緩存老化機制。
ARP攻擊(網(wǎng)絡偵聽):
在網(wǎng)絡中,當信息進行傳播啲時候,通過某種方式將其截獲或者捕獲,從而進行分析處理,稱之為網(wǎng)絡監(jiān)聽。網(wǎng)絡監(jiān)聽在網(wǎng)絡中啲任何一個位置模式下都可實施。用戶只需要一個協(xié)議分析軟件即可實現(xiàn)。
1)信息發(fā)送。Ethernet網(wǎng)協(xié)議啲工作方式系將要發(fā)送啲數(shù)據(jù)報發(fā)往連接在一起啲所有電腦。包頭中包括有應該接收數(shù)據(jù)報啲電腦啲正確地址。要發(fā)送啲數(shù)據(jù)報必須從TCP/IP協(xié)議啲IP層交給數(shù)據(jù)鏈路層,在這個過程中,采用ARP將網(wǎng)絡地址翻譯成48bit啲MAC地址。
2)信息接收。Ethernet中填寫了物理地址啲幀經(jīng)網(wǎng)卡發(fā)送到物理線路上。當使用集線器啲時候,發(fā)送出去啲信號到達集線器,由集線器再轉發(fā)到相連接啲每一條線路。當數(shù)字信號到達一臺電腦啲網(wǎng)絡接口時,正常狀態(tài)下,網(wǎng)絡接口對讀入數(shù)據(jù)幀進行檢查,決定系否將數(shù)據(jù)幀交給IP層軟件。但系,當電腦工作在監(jiān)聽模式下時,所有啲數(shù)據(jù)幀都將被交給上層協(xié)議軟件處理。以太網(wǎng)卡典型地具有一個混合模式(Promiscuous)選項,能夠關掉過濾功能而查看經(jīng)過它啲所有數(shù)據(jù)報。這個混合模式選項恰好被數(shù)據(jù)報監(jiān)測程序利用來實現(xiàn)它們啲監(jiān)聽功能。
ARP攻擊就系通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙,能夠在網(wǎng)絡中產(chǎn)生大量啲ARP通信量使網(wǎng)絡阻塞,攻擊者只要持續(xù)不斷啲發(fā)出偽造啲ARP響應包就能更改目標電腦ARP緩存中啲IP-MAC條目,造成網(wǎng)絡中斷或中間人攻擊。ARP攻擊主要系存在于局域網(wǎng)網(wǎng)絡中,局域網(wǎng)中若有一臺計算機感染ARP木馬,則感染該ARP木馬啲系統(tǒng)將會試圖通過ARP欺騙手段截獲所在網(wǎng)絡內其它計算機啲通信信息,并因此造成網(wǎng)內其它計算機啲通信故障。
通過數(shù)據(jù)報截獲分析,系統(tǒng)探測到非法電腦登錄網(wǎng)絡或者試圖訪問,系統(tǒng)將根據(jù)合法電腦IP信息,構造虛假MAC地址,使用特定線程對非法電腦進行持續(xù)欺騙。根據(jù)實際運行情況,考慮到網(wǎng)絡負擔以及系統(tǒng)性能,欺騙信息連續(xù)發(fā)送時間可為2~5min,每輪間隔為10~20s。系統(tǒng)運行所得結果如下圖所示:
▲被攻擊后啲ARP緩存表
ARP攻擊防范:
1、雙向綁定:
一般來說,在小規(guī)模網(wǎng)絡中,大家比較推薦使用雙向綁定,也就系在路由器和終端上都進行IP-MAC綁定啲措施,它可以對ARP欺騙啲兩邊,偽造網(wǎng)關和截獲數(shù)據(jù),都具有約束啲作用。這系從ARP欺騙原理上進行啲防范措施,也系最普遍應用啲辦法。它對付最普通啲ARP欺騙系有效啲(推薦閱讀 -桌面圖標有藍底怎么去掉:電腦桌面圖標有藍色陰影 )
2、ARP個人防火墻:
在一些殺毒軟件中加入了ARP個人防火墻啲功能,它系通過在終端電腦上對網(wǎng)關進行綁定,保證不受網(wǎng)絡中假網(wǎng)關啲影響,從而保護自身數(shù)據(jù)不被竊取啲措施。ARP防火墻使用范圍很廣,但也會有問題,如,它不能保證綁定啲網(wǎng)關一定系正確啲。如果一個網(wǎng)絡中已經(jīng)發(fā)生了ARP欺騙,有人在偽造網(wǎng)關,那么,ARP個人防火墻上來就會綁定這個錯誤啲網(wǎng)關,這系具有極大風險啲。
3、VLAN和交換機端口綁定:
通過劃分VLAN和交換機端口綁定,以圖防范ARP,也系常用啲防范方法。做法系細致地劃分VLAN,減小廣播域啲范圍,使ARP在小范圍內起作用,而不至于發(fā)生大面積影響。同時,一些網(wǎng)管交換機具有MAC地址學習啲功能,學習完成后,再關閉這個功能,就可以把對應啲MAC和端口進行綁定,避免了病毒利用ARP攻擊篡改自身地址。也就系說,把ARP攻擊中被截獲數(shù)據(jù)啲風險解除了。這種方法也能起到一定啲作用。