ARP原理

                       

ARP欺騙

         

一、  ARP欺騙原理:

在TCP/IP網絡環境下,一個IP數據包到達目的地所經過的網絡路徑是由路由器根據數據包的目的IP地址查找路由表決定的,但IP地址只是主機在網絡層中的地址,要在實際的物理鏈路上傳送數據包,還需要將IP數據包封裝到MAC幀後才能發送到網絡中。同一鏈路上的哪臺主機接收這個MAC幀是依據該MAC幀中的目的MAC地址來識別的,即除了同一鏈路上將網卡置爲混雜模式的主機外,只有當某臺主機的MAC地址和鏈路中傳輸的MAC幀的目的MAC地址相同時,該主機纔會接收這個MAC幀並拆封爲IP數據包交給上層模塊處理。因此,每一臺主機在發送鏈路層數據幀前都需要知道同一鏈路上接收方的MAC地址,地址解析協議ARP正是用來進行IP地址到MAC地址的轉換的。同時爲了避免不必要的ARP報文查詢,每臺主機的操作系統都維護着一個ARP高速緩存ARP Cache,記錄着同一鏈路上其它主機的IP地址到MAC地址的映射關係。ARP高速緩存通常是動態的,該緩存可以手工添加靜態條目,由系統在一定的時間間隔後進行刷新。

ARP協議雖然是一個高效的數據鏈路層協議,但作爲一個局域網協議,它是建立在各主機之間相互信任的基礎上的,所以ARP協議存在以下缺陷:ARP高速緩存根據所接收到的ARP協議包隨時進行動態更新;ARP協議沒有連接的概念,任意主機即使在沒有ARP請求的時候也可以做出應答;ARP協議沒有認證機制,只要接收到的協議包是有效的,主機就無條件的根據協議包的內容刷新本機ARP緩存,並不檢查該協議包的合法性。因此攻擊者可以隨時發送虛假ARP包更新被攻擊主機上的ARP緩存,進行地址欺騙或拒絕服務攻擊。

針對交換機根據目的MAC地址來決定數據包轉發端口的特點,ARP欺騙的實現: 假設主機C爲實施ARP欺騙的攻擊者,其目的是截獲主機B和主機A之間的通 數據,且主機C在實施ARP欺騙前已經預先知道A和B的IP地址。這時C先發送ARP包獲得主機B的MAC地址,然後向B發送ARP Reply數據包,其中源IP地址爲A的IP地址,但是源MAC地址卻是主機C的MAC地址。主機B收到該ARP Reply後,將根據新的IP地址與MAC映射對更新ARP緩存。這以後當B給A發送數據包時,目標MAC地址將使用C的MAC地址,因此交換機根據C的MAC地址就將數據包轉發到攻擊者C所在的端口。同理,攻擊者C發送ARPReply使主機A確信主機B的MAC地址爲C的MAC地址。在間歇的發送虛假ARP Reply的同時,攻擊者C打開本地主機的路由功能,將被劫持的數據包轉發到正確的目的主機,這時攻擊者對主機A和B來說是完全透明的,通信不會出現異常,但實際上數據包卻被C非法截獲,攻擊者C成爲了“中間人”。

二、  特徵:

1、網速時快時慢,極其不穩定,但單機進行光纖數據測試時一切正常。

2、局域網內頻繁性區域或整體掉線,重啓計算機或網絡設備後恢復正常。

三、 問題分析(在防火牆中的處理方法)

1、        通過遠程登陸客戶防火牆查看問題:

(通過dump/dump登陸防火牆串口查看arp學習狀態,發現不同的IP地址使用相同的MAC地址,如下圖:)

2、        通過抓抱分析,發現進行ARP欺騙的計算機爲134.168.6.144與 

 134.168.8.187,詳細的分析如下圖:

四、 處理過程

1、           通過網絡查找134.168.6.144;134.168.8.187計算機,脫離網絡進行排毒檢查

2、           進行隔離以後的網絡狀態如下圖:

 

五、 網絡保護措施:

 防止同網段ARP欺騙攻擊配置

一、 阻止仿冒網關IP的arp攻擊

1、二層交換機

  配置組網

圖1

3552P是三層設備,其中ip:100.1.1.1是所有pc的網關,3552P上的網關mac地址爲000f-e200-3999。PC-B上裝有arp攻擊軟件。現在需要對3026_A進行一些特殊配置,目的是過濾掉仿冒網關IP的arp報文。

2、防攻擊配置舉例

對於二層交換機如3026c等支持ACL number爲5000到5999的交換機,可以配置acl來進行報文過濾。

(1)全局配置deny 所有源IP是網關的arp報文(自定義規則)

ACL num 5000

Rule 0 deny   0806 ffff 24 64010101   ffffffff 40

rule 1 permit 0806 ffff  24 000fe2003999 ffffffffffff 34

rule0目的:把整個3026C_A端口冒充網關的ARP報文禁掉,其中藍色部分64010101是網關ip地址的16進製表示形式:100.1.1.1=64010101。

rule1目的:把上行口的網關ARP報文允許通過,藍色部分爲網關3552的mac地址000f-e200-3999。

注意配置Rule時的配置順序,上述配置爲先下發後生效的情況。

在S3026C-A系統視圖下發acl規則:

[S3026C-A]packet-filter user-group5000  

這樣只有3026C_A上連設備能夠下發網關的ARP報文,其它pc就不能發送假冒網關的arp響應報文。

二、 三層交換機

1、配置組網

防攻擊配置舉例

 

對於三層設備,需要配置過濾源IP是網關的arp報文的acl規則,配置如下acl規則:

ACL num 5000

 rule 0 deny 0806 ffff 24 64010105 ffffffff 40

rule0目的:把所有3526E端口冒充網關的ARP報文禁掉,其中藍色部分64010105是網關ip地址的16進製表示形式:100.1.1.5=64010105。

2 、仿冒他人IP的arp攻擊

作爲網關的設備有可能會出現arp錯誤表項,因此在網關設備上還需對仿冒他人IP的arp攻擊報文進行過濾。

如圖1,當PC-B發送源IP地址爲PC-D的arp reply攻擊報文,源mac是PC-B的mac (000d-88f8-09fa),源ip是PC-D的ip(100.1.1.3),目的ip和mac是網關(3552P)的,這樣3552上就會學習錯誤的arp,如下所示:

 

------------------  錯誤arp 表項 ----------------------

IP Address    MAC Address     VLAN ID Port Name       Aging Type

100.1.1.4     000d-88f8-09fa   1    Ethernet0/2    20    Dynamic

100.1.1.3     000f-3d81-45b4   1    Ethernet0/2     20   Dynamic

 

從網絡連接可以知道PC-D的arp表項應該學習到端口E0/8上,而不應該學習到E0/2端口上。但實際上交換機上學習到該ARP表項在E0/2

 

①在3552上配置靜態arp,可以防止該現象:

  arp static 100.1.1.3000f-3d81-45b4 1 e0/8

 

②同理,在圖2 S3526C上也可以配置靜態arp來防止設備學習到錯誤的arp表項。

 

③對於二層設備(3050和3026E系列),除了可以配置靜態arp外,還可以配置IP+mac+port綁定,比如在3026C端口4上作如下操作:

 

am user-bind ip-addr100.1.1.4 mac-addr 000d-88f8-09faint e0/4

 

則ip爲100.1.1.4並且mac爲000d-88f8-09fa的arp報文可以通過e0/4端口,仿冒其它設備的arp報文無法通過,從而不會出現錯誤arp表項。

 

上述配置案例中僅僅列舉了部分Quidway S系列以太網交換機的應用。在實際的網絡應用中,請根據配置手冊確認該產品是否支持對應的ACL(user-Based)和地址邦定。僅僅具有上述功能的交換機才能防止ARP欺騙。

 

                        ARP欺騙防範

一、     ARP欺騙防範

1、在winxp下輸入命令
arp -s  gate-way-ip   gate-way-mac
固化arp表,阻止arp欺騙。

 

2、通過查詢IP--MAC對應表

   A、不要把你的網絡安全信任關係建立在IP基礎上或MAC基礎上,(rarp同樣存在欺騙的問題),理想的關係應該建立在IP+MAC基礎上。

B、設置靜態的MAC-->IP對應表,不要讓主機刷新你設定好的轉換表。

C、除非很有必要,否則停止使用ARP,將ARP做爲永久條目保存在對應表中。

D、使用ARP服務器。通過該服務器查找自己的ARP轉換表來響應其他機器的ARP廣播。確保這臺ARP服務器不被黑。

E、使用"proxy"代理IP的傳輸。

F、使用硬件屏蔽主機。設置好你的路由,確保IP地址能到達合法的路徑。(靜態配置路由ARP條目),注意,使用交換集線器和網橋無法阻止ARP欺騙。

G、管理員定期用響應的IP包中獲得一個rarp請求,然後檢查ARP響應的真實性

H、管理員定期輪詢,檢查主機上的ARP緩存。

I、使用防火牆連續監控網絡。注意有使用SNMP的情況下,ARP的欺騙有可能導致陷阱包丟失。

3、採用雙向綁定的方法解決並且防止ARP欺騙

   A、在PC上綁定路由器的IP和MAC地址:
     B、首先,獲得路由器的內網的MAC地址(例如網關地址192.168.16.254    

的MAC地址爲0022aa0022aa)。
        編寫一個批處理文件rarp.bat內容如下:
        @echo off
        arp -d
        arp -s 192.168.16.25400-22-aa-00-22-aa
        將文件中的網關IP地址和MAC地址更改爲您自己的網關IP地址和 

MAC地址將這個批處理軟件拖到“windows--開始--程序--啓動”中。
     C、 如果是網吧,可以利用收費軟件服務端程序(pubwin或者萬象都 可

以)發送批處理文件rarp.bat到所有客戶機的啓動目錄。Windows2000的默認啓動目錄爲“Cocuments and SettingsAll Users「開始」菜單程序啓動”。

D、在路由器上綁定用戶主機的IP和MAC地址(440以後的路由器軟件版本支持):

  4、ARP防護軟件—ARP Guard

ARP防護軟件――ARP Guard(ARP衛士),通過系統底層核心驅動,無需安裝其它任何第三方 軟件(如WinPcap),以服務及進程並存的形式隨系統啓動並運行,不佔用計算機系統資源。無需對計算機進行IP地址及MAC地址綁 定,從而避免了大量且無效的工作量。也不用擔心計算機會在重啓後新建ARP緩存列表,因爲此軟件是以服務與進程相結合的形式 存在於計算機中,當計算機重啓後軟件的防護功能也會隨操作系統自動啓動並工作。ARP Guard(ARP衛士)可以從根本上徹底解 決ARP欺騙攻擊所帶來的所有問題。它不僅可以保護計算機不受ARP欺騙攻擊的影響,而且還會對感染了ARP攻擊病毒或欺騙木馬的 病毒源機器進行控制,使其不能對局域網內其它計算機進行欺騙攻擊。保持網絡正常通訊,防止帶有ARP欺騙攻擊的機器對網內計 算機的監聽,使瀏覽網頁、QQ聊天、進行遊戲時不受ARP欺騙者限制。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章