

摘要:本文介紹了ARP協議的基本原理,闡述了ARP欺騙攻擊產生的原因及在IDC中常見攻擊手段,結合IDC中心的特點提出了ARP欺騙攻擊的預防方法,并給出解決方案。
關鍵詞:ARP攻擊;IP地址;MAC地址;IDC
1 引言
ARP攻擊在各大數據中心(IDC中心)泛濫,使得國內眾多機房或網絡運營商深惡痛絕。由于其攻擊的特性,它可以導致被攻擊網站或服務器的無法訪問,或者使訪問者訪問其他錯誤網址或接收到錯誤信息,直接危害著企業的利益。因此,ARP欺騙攻擊嚴重影響了IDC中心的正常運行和信息安全,如何進行防范及清楚ARP病毒已成為網絡管理者迫切需要解決的問題。
2 ARP工作原理
ARP(Address Resolution Protocol)是地址解析協議,提供了從IP地址到物理地址的映射。即通過已知的網絡層(IP層,也就是相當于OSI的第三層)地址獲得數據鏈路層(MAC層,也就是相當于OSI的第二層)的MAC地址。
ARP工作原理:主機A向主機B發送報文,會首先查詢本地的ARP緩存表,通過B的IP地址找到對應的MAC地址后,就會進行數據傳輸。如果未找到,則A會廣播一個 ARP請求報文(此報文中包含主機A的IP地址到物理地址的映射及主機B的IP地址),請求主機B回答其物理地址。網上所有主機包括B都收到該ARP請求,但只有主機B識別自己的IP地址,于是向A主機發回一個ARP響應報文。其中就包含有B的MAC地址,A接收到B的應答后,就會更新本地的ARP緩存。接著使用這個MAC地址發送數據。因此,本地高速緩存的這個ARP表是本地網絡流通的基礎,而且這個緩存是動態的。
3 IDC中常見ARP欺騙攻擊方式
ARP攻擊就是通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞,攻擊者只要持續不斷的發出偽造的ARP響應包就能更改目標主機ARP緩存中的IP地址到MAC地址映射。如果IDC的托管主機受到 ARP 病毒感染或是被黑客控制了,就可能出現了 ARP 欺騙攻擊 。通常,被感染或被控制的主機會向本網段廣播偽造的 ARP 信息,這會導致同網段的其它托管主機或是網關的 ARP 表出現混亂,會造成這些主機無法進行正常通信,更有甚者則會導致這些主機上的通信被監聽或竊取事件的發生等等問題。
3.1 欺騙攻擊
這是比較常見的攻擊,通過發送偽造的ARP包來欺騙路由和目標主機,讓目標主機認為這是一個合法的主機。便完成了欺騙.這種欺騙多發生在同一網段內,因為路由不會把本網段的包向外轉發,當然實現不同網段的攻擊也有方法,便要通過ICMP協議來告訴路由器重新選擇路由。
(1)相同網段ARP欺騙
此種欺騙攻擊通常會偽造一個ARP_REPLY的響應包發送給欲欺騙主機,人為指定該數據包中的源IP,目標IP,源MAC地址,目標MAC地址。通過此虛假的ARP響應包修改欲欺騙主機的ARP緩存,達到欺騙目的。以圖1為例說明相同網段間ARP欺騙過程。
主機C欲非法入侵主機B,下面是具體的步驟:
①主機C首先研究與主機B正常通信的主機A,發現主機A漏洞。
②根據主機A的漏洞,使其暫時停止工作。
③主機C將自己IP地址改為192.168.0.1。
④主機C向主機B發送一個ARP響應包,其中源IP地址為192.168.0.1,源MAC地址為CC:CC:CC:CC:CC:CC,要求主機B更新ARP緩存中IP地址到MAC地址的映射表.
⑤主機B更新了自己的ARP緩存。
⑥主機C成功入侵主機B。
以上為一個在同網段內的ARP欺騙過程。
(2)不同網段ARP欺騙
如主機A與主機C在不同網段,上面的方法則不起作用。以圖2為例說明不同網段間ARP欺騙過程。
在現在的情況下,位于192.168.1網段的主機C如何冒充主機B欺騙主機A呢?顯然用上面的辦法的話,即使欺騙成功,那么由主機C和主機A之間也無法建立telnet會話,因為路由器不會把主機A發給主機B的包向外轉發,路由器會發現地址在192.168.0.這個網段之內。
現在就涉及到另外一種欺騙方式——ICMP重定向。把ARP欺騙和ICMP重定向結合在一起就可以基本實現跨網段欺騙的目的。
ICMP重定向報文是ICMP控制報文中的一種。在特定的情況下,當路由器檢測到一臺機器使用非優化路由的時候,它會向該主機發送一個ICMP重定向報文,請求主機改變路由。路由器也會把初始數據報向它的目的地轉發。我們可以利用ICMP重定向報文達到欺騙的目的。下面是結合ARP欺騙和ICMP重定向進行攻擊的步驟:
①主機C需將自己發出的非法IP包的存活時間改成最大。
②尋找主機B的漏洞使其暫時停止工作。
③當主機A找不到原來的192.0.0.2后,將更新自己的ARP對應表。此時,主機C發送一個原IP地址為192.0.0.2,MAC地址為CC:CC:CC:CC:CC:CC的ARP響應包。
④現在每臺主機都知道了,一個新的MAC地址對應192.0.0.2,一個ARP欺騙完成了,但是,每臺主機都只會在局域網中找這個地址而根本就不會把發送給192.0.0.2的IP包丟給路由。于是還需要構造一個ICMP的重定向廣播。
⑤定制一個ICMP重定向包告訴網絡中的主機, 到192.0.0.2的路由最短路徑不是局域網,而是路由,請主機重定向你們的路由路徑,把所有到192.0.0.2的IP包丟給路由。
⑥主機A接受這個合理的ICMP重定向,于是修改自己的路由路徑,把對192.0.0.3的通訊都丟給路由器。
⑦主機C成功入侵主機A。
其實上面的想法只是一種理想話的情況,主機許可接收的ICMP重定向包其實有很多的限制條件,這些條件使ICMP重定向變的非常困難。
(3)ARP欺騙新表現形式
此種欺騙攻擊方式同上一樣,向全網發送偽造的ARP數據包,區別在于它對HTTP報文的修改。
用戶在瀏覽某些網頁時,網頁中可能會包含一些惡意的代碼,這就是俗稱的“網頁木馬”,此種行為被稱為“掛馬”。主要有以下三種方法插入惡意代碼:
①局域網被ARP欺騙。當網內的一臺主機欲訪問網外的WEB服務器時,該主機會將請求發給負責本網的網關,由網關到服務器獲得請求頁面再發給該主機。此時攻擊主機偽裝成網關將插入惡意代碼的網頁發給請求主機,對于該局域網內的其他主機均可采取此種攻擊方法。
②服務器被ARP欺騙。服務器所處局域網內,有主機被感染病毒,服務器發給用戶的網頁在傳輸過程中被插入惡意代碼。
③服務器被攻擊。服務器被入侵或感染病毒,硬盤上網頁文件被修改插入惡意代碼。
3.2 MAC Flooding
MAC Flooding 可以稱之為 MAC 洪泛現象,這是一個比較危險的攻擊,可以溢出交換機的ARP表,使整個網絡不能正常通信。其中 Flooding 是一種快速散布網絡連接設備 (如交換機)更新信息到整個大型網絡打每一個節點的一種方法。交換機中也存放著一個 ARP 緩存表。同主機中的 ARP 緩存表相同,它也起到記錄網絡設備 MAC 地址與 IP 地址的 對應關系的功能。但是交換機中的 ARP 緩存表的大小是固定的,這就導致了 ARP 欺騙的另 一種隱患:由于交換機可以主動學習客戶端的 MAC 地址,并建立和維護這個 ARP 緩存表, 當某人利用欺騙攻擊連續大量的制造欺騙 MAC 地址,ARP 緩存表就會被迅速填滿,同時更新信息以洪泛方式發送到所有的接口,也會發給所有的接口和鄰近的交換機,會導致其他交換機的 ARP 表 溢出,造成交換機負載過大,網絡緩慢和丟包甚至癱瘓。所以說 MAC Flooding 是一種比較 危險的攻擊,嚴重會使整個網絡不能正常通信。
3.3基于ARP的DOS攻擊
DoS 攻擊的目的就是讓被攻擊主機拒絕 用戶的服務訪問,破環系統的正常運行。最終使用戶的部分 Internet 連接和網絡系統失效。 它的基本原理是:攻擊者利用 ARP 欺騙 工具,不斷向被攻擊主機發送大量的連接請求,由于遭到 ARP 欺騙的主機不能夠根據 ARP 緩存表找到對方主機,加之主機的處理能力有限,使得它不能為正常用戶提供服務,便出現 拒絕服務。在這個過程中,攻擊者可以使用 ARP 欺騙方式來隱藏自己,這樣在被攻擊主機 的日志上就不會出現攻擊者真實的 IP 地址。被攻擊主機不能根據日志上提供的 IP 地址找到正真的攻擊者。
4 防范措施
針對IDC機房內經常發生的ARP病毒攻擊,在此介紹防范ARP攻擊的幾種方法。
4.1 常用解決方法
(1)捆綁MAC和IP地址
杜絕IP 地址盜用現象。如果是通過代理服務器上網:到代理服務器端讓網絡管理員把上網的靜態IP 地址與所記錄計算機的網卡地址進行捆綁。如:ARP-s 192.16.10.400-EO-4C-6C-08-75.這樣,就將上網的靜態IP 地址192.16.10.4 與網卡地址為00-EO-4C-6C-08-75 的計算機綁定在一起了,即使別人盜用您的IP 地址,也無法通過代理服務器上網。如果是通過交換機連接,可以將計算機的IP地址、網卡的MAC 地址以及交換機端口綁定。
(2)修改MAC地址,欺騙ARP欺騙技術
就是假冒MAC 地址,所以最穩妥的一個辦法就是修改機器的MAC 地址,只要把MAC 地址改為別的,就可以欺騙過ARP 欺騙,從而達到突破封鎖的目的。
(3)交換機端口設置
①端口保護(類似于端口隔離):ARP 欺騙技術需要交換機的兩個端口直接通訊,端口設為保護端口即可簡單方便地隔離用戶之間信息互通,不必占用VLAN 資源。同一個交換機的兩個端口之間不能進行直接通訊,需要通過轉發才能相互通訊。
②數據過濾:如果需要對報文做更進一步的控制用戶可以采用ACL(訪問控制列表)。ACL 利用IP 地址、TCP/UDP端口等對進出交換機的報文進行過濾,根據預設條件,對報文做出允許轉發或阻塞的決定。華為和Cisco 的交換機均支持IP ACL 和MAC ACL,每種ACL 分別支持標準格式和擴展格式。標準格式的ACL 根據源地址和上層協議類型進行過濾,擴展格式的ACL 根據源地址、目的地址以及上層協議類型進行過濾,異詞檢查偽裝MAC 地址的幀。
(4)禁止網絡接口做ARP解析
在相對系統中禁止某個網絡接口做ARP解析(對抗ARP欺騙攻擊),可以做靜態ARP 協議設置(因為對方不會響應ARP 請求報文)如ARP——s XXX.XXX.XX.X 08-00-20-a8-2e-ac在很多操作系統中如:Unix , NT 等,都可以結合“禁止相應網絡接口做ARP 解析”和“使用靜態ARP 表”的設置來對抗ARP 欺騙攻擊。
(5)定期檢查ARP緩存
管理員定期用響應的IP 包中獲得一個rarp 請求,然后檢查ARP 響應的真實性。定期輪詢, 檢查主機上的ARP 緩存。
4.2 推薦使用方法
根據ARP欺騙攻擊的常見方式及IDC機房自身特點,在IDC機房推薦采取網關及其網內主機的IP—MAC的靜態雙向綁定辦法,這是一個較全面并相對持久的解決方式。
此種雙向靜態綁定的作法,是分別對網關的ARP緩存中的IP地址—MAC地址及其網內各主機的IP地址—MAC地址進行靜態綁定,并把正確的IP地址及MAC地址記下來。
具體方法為,建立/etc/ethers文件,其中包含正確的IP/MAC對應關系,格式如下:
192.168.2.32 08:00:4E:B0:24:47,然后再在/etc/rc.d/rc.local最后添加:arp -f生效即可。
通過雙向靜態綁定可再也不受其它人的信息干擾,之后完全按照綁定的地址進行信息的傳輸,可排除其他錯誤指令的干擾,能有效地完成工作。在這種情況下,可大大降低用戶服務器或主機在受到攻擊時無法訪問而掉線的情況發生。此種解決方案雖然對IDC中心會帶來一定的工作量,但其效果要明顯好于其他方法,有效抵制ARP欺騙攻擊。
5 結束語
ARP 攻擊問題一直是困擾著IDC中心的一個難題. 但其并不是無法解決的,通過建立完善的預防機制,能夠最大程度上抵制ARP 欺騙攻擊。隨著網絡產品及技術的不斷更新,IDC中心網絡建設的不斷完善,我們已經可以更好的解決ARP欺騙攻擊問題,確保IDC中心安全可靠運行。
參考文獻
[1] 樊景博,劉愛軍.ARP病毒的原理及防御辦法[J].商洛學院學報,2007(2).
[2] 曹洪武.ARP欺騙入侵的檢測與防范策略[J].塔里木大學學報2007(2).
[3] 孟曉明.給予ARP的網絡欺騙的檢測與防范[J].信息技術,2005(5):41-44.
[4] 王堅,梁海軍.ARP欺騙原理及其防范策略探討[J].計算機與現代化,2008(2):90-101.
[5] 葉城緒.校園網中基于ARP的欺騙及其預防[J].青海大學學報(自然科學報),2007(3):59-61.