王 芬


摘要:本文針對目前校園網中地址解析協議(ARP)病毒的頻繁發作.分析了ARP安全漏洞及病毒攻擊原理:利用數據鏈路層地址解析協議(ARP)可以實施“中間人”攻擊、MAC/CAM攻擊、DHCP攻擊、地址欺騙等攻擊的形式,因為ARP協議具有實現lP地址到網絡接口硬件地址(MAC)的映射功能,所以利用此特性在數據鏈路層發動的攻擊具有很強的隱蔽性。針對ARP攻擊的方式,提出了一種防范算法,以先發送請求和驗證發送端地址方法,有效防范ARP攻擊,提高了網絡的安全性能。
關鍵詞:Arp緩存;Arp病毒;arp協議原理,攻擊
1引言
近一段時間以來,校園網內經常受到ARP病毒的攻擊,其病毒攻擊原理是通過偽造IP地址和MAC地址實現ARP欺騙,破壞內網中的主機和交換路由設備ARP高速緩存機制,其癥狀嚴重時會使網絡流量加大.網絡設備CPU利用率過高、交換機二層生成樹環路、短時間內斷網(全部斷網或是部分斷網)和主機上網不穩定或交換機短時癱瘓的嚴重狀況。甚至出現盜用網內用戶的帳號,密碼等重要信息,給校園網中的有用資源造成很大破壞。
2ARP地址解析協議分析
針對ARP病毒攻擊,我們首先分析ARP協議以及它的工作原理。ARP即地址解析協議是專門用來確定這些映像的協議。在網絡中使用的每臺裝有TCP/IP協議的主機或服務器內都配有一個ARP緩存表,該表里的IP地址與MAC地址是一一對應的。ARP協議的結構定義如下:
當數據發送成功后就存入ARP緩存表是,下次發送就直接從表里查找即可。ARP緩存表采用了“老化機制”,在一段時間內如果表中的某一個MAC地址沒有使用,就會被刪除,這樣可以減少ARP緩仔表的長度,以加快查詢速度。
3ARP攻擊原理
通過上述ARP工作原理得知,系統的ARP緩存表是可以隨時更新的動態轉換表,表中的IP和MAC是可以被修改的,這樣在以太網中很容易實現ARP欺騙。ARP攻擊可分為幾種:“中間人”攻擊、MAC/CAM攻擊、DHCP攻擊、地址欺騙等攻擊的形式,表現為對內網pc機和網絡交換機、DHCP服務的欺騙。
3.1對內網IP/MAC的欺騙
發送大量持續偽造的ARP包時,會造成局域網中的機器ARP緩存混亂,使網出現時斷時續的情況。
下面通過一個例子說明:
B站點分別給A站點和C站點發送假信息,這樣在A、C收到幀以后,A站點和C站點都認為是以MAC地址為00-0f-ea-b7-33-71的站點發送來的信息。這時B站點的欺騙成功。(下見圖1)
3.2 Switch的CAM欺騙
Switch上同樣維護著一個動態的MAC緩存。整個Switch的端口表CAM是動態的。對交換機的CAM 攻擊是指利用木馬程序產生欺騙MAC,快速填滿CAM表,交換機CAM表被填滿后,交換機以廣播方式處理通過交換機的報文,把以前正常的MAC和Port對應的關系破壞了,這時攻擊者可以利用各種嗅探攻擊獲取網絡信息。
3.3 DHCP服務的攻擊
采用DHCP server可以自動為用戶設置網絡IP地址、子網掩碼、網關,DNS等網絡參數,簡化用戶網絡設置,提高管理效率。但由于DHCP的運作通常沒有服務器和客戶端的認證機制,病毒對其攻擊的方式通常表現在DHCP server的冒充,DHCP server的DoS攻擊等,所謂冒充是將DHCP服務器所能分配的IP地址耗盡,然后冒充合法的DHCP服務器。為用戶分配一個經過修改的DNS server,在用戶毫無察覺的情況下被引導在預先配置好的假網站,騙取用戶賬戶和密碼等機密信息。
4ARP病毒分析
ARP病毒多數屬于木馬程序或蠕蟲類病毒,這種病毒的程序如pwstea1.1emir或其變種,windows2000/xp/2003將受到影響,其病毒的運作機理大多是通過它們組件將其操作系統的一些驅動程序用病毒文件覆蓋掉,然后用病毒的組件注冊(并監視)為內核級驅動設備并同時負責發送指令來操作驅動程序(發送ARP欺騙包,抓包,過濾包等),這些病毒程序破壞表現癥狀為:欺騙局域網內所有主機和交換機,讓局域網中總的信息流量必須經過病毒主機。由于ARP欺騙的木馬程序發作的時候會發出大量的數據包導致局域網通信擁塞以及其自身處理能力的限制,用戶會感覺上網速度越來越慢。
5防御措施
根據ARP病毒對內網主機和交換機、DHCP服務器攻擊的特點,在防治該病毒時也必須對這三個環節加強防護才能保證問題的最終解決。
5.1應急措施
發現病毒攻擊時首先從病毒源頭采取措施,直接采取便捷的方法:
在客戶機,輸入命令:arp-a查看網關IP對應的正確MAC地址,將其記錄下來。注:如果已經不能上網,則先運行一次命令arp -dip_address mac_address將arp緩存中的內容刪空,計算機可暫時恢復上網(攻擊如果不停止的話),如:一旦能上網就立即將網絡斷掉(禁用網卡或拔掉網線),再運行arp-a。手工綁定可在命令窗口下運行以下命令:
Arp -s ip_address mac_address
這時,類型變為靜態(static),就不會再受攻擊影響了。但是,需要說明的是,手工綁定在計算機關機重開機后就會失效,需要再綁定。所以,要徹底根除攻擊,只有找出網段內被病毒感染的計算機,令其殺毒,方可解決。
5.2一種改進的算法
由于ARP協議是一個無狀態的協議,主機在接收到 應答(或請求)報文后就更新ARP緩存,而不管是否已經發送了ARP請求.因此,防范ARP欺騙的主要思想就是:規定接受ARP協議報文的順序為先發送請求報文后驗證接收應答報文,不符合此順序要求的ARP報文丟棄處理。按照這種思路,提出一種算法對ARP協議報文進行控制,使其更加安全。
由于是先來先應答,故設置兩個線性表REQ_LIST(請求表)和RES_LIST應答表分別保存已發ARP請求和已收的ARP應答數據報文信息,用類C語言描述:
@echo off
c:
ARP -d
cd
ping 202.201.206.48 -n
if exist ipcfg.ini del ipcfg.ini
ipconfig /all >c: ipcfg.ini
if exist phyad.ini del phyad.ini
find "MAC" ipcfg.ini >c:phyad.ini
for /f "skip=2 tokens=12" %%M in (phyad.ini) do set Mac=%%M
if exist IPAd.ini del IPad.ini
find "IP Address" ipcfg.ini >c:IPAd.ini
for /f "skip=2 tokens=15" %%I in (IPAd.ini) do set IP=%%I
arp -s %IP% %Mac%
if exist GateofIP.ini del GateofIP.ini
find "Default Gateway" ipcfg.ini >c:GateofIP.ini
for /f "skip=2 tokens=13" %%G in (GateofIP.ini) do set GateOFIP=%%G
if exist GMac.ini del GMac.ini
arp -a %GateIP% >c:GMac.ini
for /f "skip=3 tok=2" %%H in(GMac.ini) do set GateMac=%%H
arp -s %GateIP% %GateMac%
select case method on
case eof(IPcfg.ini):del IPcfg.ini;
case eof(Phyad.ini):del Phyad.ini;
case eof(IPAd.ini):del IPAd.ini;
case eof(GateofIP.ini):del GateofIP.ini;
case eof(GMac.ini):del GMac.ini;
exit
由于在處理時,增加了網絡開銷,因此在采應該方法時要綜合考濾網絡安全和網絡性能多方面的因素。
6總結
上述分析了ARP的病毒攻擊機理,以及這些攻擊給校園網內的工作站和Switch、Router等帶來的危害,同時也可看出設置靜態ARP以阻止ARP欺騙攻擊是無效的。并提出了一種改進的ARP防范算法,采用該方法時要綜合考濾網絡性能和安全要素的關聯和互補,最終確保網絡系統的安全。
參考文獻:
[1]W.Richard Stevens.TCP/IP詳解卷1:協議.機械工業出版社.1999.
[2]Refdom.交換網絡中的嗅探和ARP欺騙.http://www.xfocus.net.
[3]王敏,黃心漢,熊春LU.交換式沒備和網絡的安全缺陷與改進措施.計算機工程,2000,26(1O).
[4]譚國真等.Pc機群環境下最短路徑并行算法的研究[J].小型微型計算機系統,2001,22(11):1302-1304.
[5]D E Bel1.L J LaPadula.Secure Computer System:Unified Expositionand Multics Interpretation[R].Tech Report MTR-2997.The MITRECorp oration,Bedford,MA,1975-07.
[6]S Ghazizadeh.O Ilghami.E Sirin eta1.Security-Aware Adaptive DynamicSource Routing Protocol[C].In:27th Annual IEEE Conference on Iz~calComputer Networks,2002.
[7]David B Johnson,David A Maltz.Yih-Chun Hu.The Dynamic SoumeRouting Protocol for Mobile Ad Hoc Networks(DSR).