解析ARP病毒攻擊技術(shù)與防御策略
【摘 要】ARP病毒位列十大病毒排行榜第四位,而且目前ARP地址欺騙技術(shù)已經(jīng)被越來(lái)越多的病毒所采用,成為病毒發(fā)展的一個(gè)新趨勢(shì)。本文還較深入和直觀地介紹了ARP協(xié)議的基本原理、基本工作過(guò)程、ARP欺騙技術(shù)以及其對(duì)策,
本文引用地址:http://www.ex-cimer.com/article/202126.htm【關(guān)鍵詞】arp協(xié)議 arp欺騙
近年來(lái),arp攻擊十分頻繁,ARP病毒位列十大病毒排行榜第四位,而且目前ARP地址欺騙技術(shù)已經(jīng)被越來(lái)越多的病毒所采用,成為病毒發(fā)展的一個(gè)新趨勢(shì)。如何防范arp攻擊越來(lái)越受到了網(wǎng)管的重視。
一、ARP協(xié)議工作原理
在TCP/IP協(xié)議中,每一個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)是用IP地址標(biāo)識(shí)的,IP地址是一個(gè)邏輯地址。而在以太網(wǎng)中數(shù)據(jù)包是靠48位MAC地址(物理地址)尋址的。因此,必須建立IP地址與MAC地址之間的對(duì)應(yīng)(映射)關(guān)系,ARP協(xié)議就是為完成這個(gè)工作而設(shè)計(jì)的。
TCP/IP協(xié)議棧維護(hù)著一個(gè)ARP cache表,在構(gòu)造網(wǎng)絡(luò)數(shù)據(jù)包時(shí),首先從ARP表中找目標(biāo)IP對(duì)應(yīng)的MAC地址,如果找不到,就發(fā)一個(gè)ARP request廣播包,請(qǐng)求具有該IP地址的主機(jī)報(bào)告它的MAC地址,當(dāng)收到目標(biāo)IP所有者的ARP reply后,更新ARP cache.ARP cache有老化機(jī)制。
ARP協(xié)議是建立在信任局域網(wǎng)內(nèi)所有結(jié)點(diǎn)的基礎(chǔ)上的,它很高效,但卻不安全。它是無(wú)狀態(tài)的協(xié)議,不會(huì)檢查自己是否發(fā)過(guò)請(qǐng)求包,也不管(其實(shí)也不知道)是否是合法的應(yīng)答,只要收到目標(biāo)MAC是自己的ARP reply包或arp廣播包(包括ARP request和ARP reply),都會(huì)接受并緩存。這就為ARP欺騙提供了可能,惡意節(jié)點(diǎn)可以發(fā)布虛假的ARP報(bào)文從而影響網(wǎng)內(nèi)結(jié)點(diǎn)的通信,甚至可以做“中間人”。
二、ARP病毒分析
當(dāng)局域網(wǎng)內(nèi)某臺(tái)主機(jī)運(yùn)行ARP欺騙的木馬程序時(shí),會(huì)欺騙局域網(wǎng)內(nèi)所有主機(jī)和路由器,讓所有上網(wǎng)的流量必須經(jīng)過(guò)病毒主機(jī)。其他用戶原來(lái)直接通過(guò)路由器上網(wǎng)現(xiàn)在轉(zhuǎn)由通過(guò)病毒主機(jī)上網(wǎng),切換的時(shí)候用戶會(huì)斷一次線。切換到病毒主機(jī)上網(wǎng)后,如果用戶已經(jīng)登陸了傳奇服務(wù)器,那么病毒主機(jī)就會(huì)經(jīng)常偽造斷線的假像,那么用戶就得重新登錄傳奇服務(wù)器,這樣病毒主機(jī)就可以盜號(hào)了。
下面就BKDR_NPFECT.A病毒進(jìn)行分析
1.病毒的組件
本文研究的病毒樣本有三個(gè)組件構(gòu)成:
%windows%““SYSTEM32““LOADHW.EXE(108,386 bytes)……病毒組件釋放者”
%windows%““System32““drivers““npf.sys(119,808 bytes)……“發(fā)ARP欺騙包的驅(qū)動(dòng)程序”
%windows%““System32““msitinit.dll (39,952 bytes)……“命令驅(qū)動(dòng)程序發(fā)ARP欺騙包的控制者”
2.病毒運(yùn)作基理
LOADHW.EXE執(zhí)行時(shí)會(huì)釋放兩個(gè)組件npf.sys和msitinit.dll。
LOADHW.EXE釋放組件后即終止運(yùn)行。
注意:病毒假冒成winPcap的驅(qū)動(dòng)程序,并提供winPcap的功能。客戶若原先裝有winPcap,npf.sys將會(huì)被病毒文件覆蓋掉。隨后msitinit.dll將npf.sys注冊(cè)(并監(jiān)視)為內(nèi)核級(jí)驅(qū)動(dòng)設(shè)備:“NetGroup Packet Filter Driver”msitinit.dll還負(fù)責(zé)發(fā)送指令來(lái)操作驅(qū)動(dòng)程序npf.sys (如發(fā)送APR欺騙包,抓包,過(guò)濾包等)以下從病毒代碼中提取得服務(wù)相關(guān)值:BinaryPathName=system32““drivers““npf.sysStartType= SERVICE_AUTO_STARTServiceType=SERVICE_KERNEL_DRIVERDesiredAccess= SERVICE_ALL_ACCESSDisplayName = NetGroup Packet Filter DriverServiceName = Npf并將LOADHW.EXE注冊(cè)為自啟動(dòng)程序:[HKEY_LOCAL_MACHINE““SOFTWARE““Microsoft“““CurrentVersion““RunOnce] dwMyTest =LOADHW.EXE注:由于該項(xiàng)位于RunOnce下,該注冊(cè)表啟動(dòng)項(xiàng)在每次執(zhí)行后,即會(huì)被系統(tǒng)自動(dòng)刪除。
三、查找ARP攻擊源頭
定位ARP攻擊源頭
主動(dòng)定位方式:因?yàn)樗械腁RP攻擊源都會(huì)有其特征——網(wǎng)卡會(huì)處于混雜模式,可以通過(guò)ARPKiller這樣的工具掃描網(wǎng)內(nèi)有哪臺(tái)機(jī)器的網(wǎng)卡是處于混雜模式的,從而判斷這臺(tái)機(jī)器有可能就是“元兇”。
被動(dòng)定位方式:在局域網(wǎng)發(fā)生ARP攻擊時(shí),查看交換機(jī)的動(dòng)態(tài)ARP表中的內(nèi)容,確定攻擊源的MAC地址;也可以在局域居于網(wǎng)中部署Sniffer工具,定位ARP攻擊源的MAC。
使用NBTSCAN可以取到PC的真實(shí)IP地址、機(jī)器名和MAC地址,如果有“ARP攻擊”在做怪,可以找到裝有ARP攻擊的PC的IP、機(jī)器名和MAC地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整個(gè)192.168.16.0/24網(wǎng)段,即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137網(wǎng)段,即192.168.16.25-192.168.16.137。輸出結(jié)果第一列是IP地址,最后一列是MAC地址。
四、arp防御對(duì)策
各種網(wǎng)絡(luò)安全的對(duì)策都是相對(duì)的,主要要看網(wǎng)管平時(shí)對(duì)網(wǎng)絡(luò)安全的重視性了。下面介始一些相應(yīng)的對(duì)策:
1.在系統(tǒng)中建立靜態(tài)ARP表,建立后對(duì)本身自已系統(tǒng)影響不大的,對(duì)網(wǎng)絡(luò)影響較大,破壞了動(dòng)態(tài)ARP解析過(guò)程。靜態(tài)ARP協(xié)議表不會(huì)過(guò)期的,我們用“arp–d”命令清除ARP表,即手動(dòng)刪除。但是有的系統(tǒng)的靜態(tài)ARP表項(xiàng)可以被動(dòng)態(tài)刷新,如Solaris系統(tǒng),那樣的話依靠靜態(tài)ARP表項(xiàng)并不能對(duì)抗ARP欺騙攻擊,相反縱容了ARP欺騙攻擊,因?yàn)樘摷俚撵o態(tài)ARP表項(xiàng)不會(huì)自動(dòng)超時(shí)消失。
2.在相對(duì)系統(tǒng)中禁止某個(gè)網(wǎng)絡(luò)接口做ARP解析(對(duì)抗ARP欺騙攻擊),可以做靜態(tài)ARP協(xié)議設(shè)置(因?yàn)閷?duì)方不會(huì)響應(yīng)ARP請(qǐng)求報(bào)文)如:arp -s XXX.XXX.XX.X 08-00-20-a8-2e-ac。
在絕大多數(shù)操作系統(tǒng)如:Unix、BSD、NT等,都可以結(jié)合“禁止相應(yīng)網(wǎng)絡(luò)接口做ARP解析”和“使用靜態(tài)ARP表”的設(shè)置來(lái)對(duì)抗ARP欺騙攻擊。而Linux系統(tǒng),其靜態(tài)ARP表項(xiàng)不會(huì)被動(dòng)態(tài)刷新,所以不需要“禁止相應(yīng)網(wǎng)絡(luò)接口做ARP解析”即可對(duì)抗ARP欺騙攻擊。
參考文獻(xiàn):
[1]徐冠軍.一個(gè)ARP欺騙問(wèn)題的分析和解決辦法[J].江蘇通信技術(shù),2005,
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論