郭蘭風(fēng) 孫少斌
(蚌埠坦克學(xué)院,安徽 蚌埠 233050)
淺談ARP病毒的危害及防治
郭蘭風(fēng) 孫少斌
(蚌埠坦克學(xué)院,安徽 蚌埠 233050)
文章在對(duì)ARP病毒進(jìn)行簡(jiǎn)要介紹后,引出它對(duì)用戶和網(wǎng)絡(luò)的危害。接著從兩個(gè)層面重點(diǎn)分析了ARP病毒的防范措施,最后提出ARP病毒的清除方法。
ARP病毒;危害;防范措施;清除方法
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,局域網(wǎng)的使用日益廣泛,局域網(wǎng)中感染 ARP病毒的情況也越來(lái)越多,而且該病毒危害較大,清理和防范較難,給網(wǎng)絡(luò)管理員和用戶造成了諸多困擾。因此,了解ARP病毒,掌握其防范和清除方法十分必要。
ARP本身不是病毒,而是一種地址解析協(xié)議。ARP就是主機(jī)在發(fā)送數(shù)據(jù)幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的協(xié)議,與之相對(duì)應(yīng)的是RARP。
1.ARP病毒的起源
2007年春,許多局域網(wǎng)出現(xiàn)網(wǎng)絡(luò)運(yùn)行不穩(wěn)定,頻繁斷網(wǎng)、IE瀏覽器接連出錯(cuò)、IP地址沖突等問(wèn)題。6月上旬,國(guó)家計(jì)算機(jī)病毒應(yīng)急處理中心通報(bào)一種新型“地址解析協(xié)議欺騙”(簡(jiǎn)稱:ARP欺騙)的惡意木馬程序正在網(wǎng)絡(luò)中傳播。這是ARP病毒第一次公開(kāi)出現(xiàn)在大眾視線中,從此,ARP病毒逐漸在校園網(wǎng)、部門網(wǎng)、企業(yè)網(wǎng)、社區(qū)網(wǎng)以及網(wǎng)吧等局域網(wǎng)中蔓延。
2.ARP病毒的分類
ARP病毒可分為兩種,一種是ARP欺騙,另一種是ARP攻擊。ARP欺騙最先是黑客們偷盜網(wǎng)絡(luò)賬號(hào)使用的,后來(lái)被廣泛用于類似網(wǎng)路崗、網(wǎng)絡(luò)執(zhí)法官之類的網(wǎng)絡(luò)管理工具。ARP欺騙主要有三種形式,即冒充主機(jī)欺騙主機(jī)、冒充網(wǎng)關(guān)欺騙主機(jī)和冒充主機(jī)欺騙網(wǎng)關(guān)。ARP欺騙中,被騙主機(jī)或網(wǎng)關(guān)會(huì)將數(shù)據(jù)發(fā)送給偽裝的主機(jī),從而偽裝主機(jī)就達(dá)到了截獲數(shù)據(jù)的目的。而ARP攻擊純粹是以破壞網(wǎng)絡(luò)通訊為主要目的,偽造出大量的ARP報(bào)文(內(nèi)含MAC和IP地址),在局域網(wǎng)內(nèi)廣播,造成主機(jī)和網(wǎng)關(guān)的ARP高速緩存表溢出,使得局域網(wǎng)內(nèi)所有主機(jī)都失去了有序的組織和聯(lián)系。
3.ARP病毒原理分析
這里以一種 ARP欺騙病毒為例介紹其運(yùn)作過(guò)程,病毒樣本有三部分組件構(gòu)成:
“病毒組件釋放者”:
%windows% System32LOADHW.EXE
“發(fā)ARP欺騙包的驅(qū)動(dòng)程序”:
%windows%System32drivers pf.sys
“命令驅(qū)動(dòng)程序發(fā) ARP欺騙包的控制者”:%windows%System32msitinit.dll
具體過(guò)程如下:
(1)LOADHW.EXE在執(zhí)行的時(shí)候,會(huì)釋放兩個(gè)組件npf.sys和msitinit.dll,LOADHW.EXE釋放組件后即終止運(yùn)行。
(2)接著msitinit.dll將npf.sys注冊(cè)為內(nèi)核級(jí)驅(qū)動(dòng)設(shè)備: "NetGroup Packet Filter Driver",并監(jiān)視其運(yùn)行,另外它還控制npf.sys發(fā)送APR欺騙包、抓包、過(guò)濾包等。
(3)同時(shí) npf.sys 負(fù)責(zé)監(jiān)護(hù) msitinit.dll. 并將LOADHW.EXE注冊(cè)為自啟動(dòng)程序:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsC urrentVersionRunOnce] dwMyTest =LOADHW.EXE
主機(jī)中了 ARP病毒后,有些行為就不受用戶的意愿控制了,會(huì)給用戶本身和網(wǎng)絡(luò)造成很大的危害。
1.ARP病毒對(duì)PC的危害
ARP病毒會(huì)使PC出現(xiàn)網(wǎng)絡(luò)異常、IP沖突,打開(kāi)網(wǎng)頁(yè)速度慢甚至無(wú)法打開(kāi)網(wǎng)頁(yè),或者打開(kāi)網(wǎng)頁(yè)時(shí)莫名的彈出廣告窗口等??赡茉斐捎脩魯?shù)據(jù)被竊?。ㄈ缰匾Y料、涉密文件等)、個(gè)人隱私泄漏(如MSN聊天記錄、郵件等)、賬號(hào)被盜用(如QQ賬號(hào)、網(wǎng)銀賬號(hào)等)等惡性事件;也可能造成請(qǐng)求數(shù)據(jù)被篡改(如訪問(wèn)的網(wǎng)頁(yè)被添加了惡意內(nèi)容,俗稱“掛馬”)和用戶主機(jī)遭非法控制(如某些文件打不開(kāi)、某些網(wǎng)絡(luò)應(yīng)用程序用不了)等情況。
2.ARP病毒對(duì)網(wǎng)絡(luò)的危害
先說(shuō) ARP攻擊病毒,只要局域網(wǎng)內(nèi)有一臺(tái)主機(jī)中了該病毒,它就會(huì)不斷地在全網(wǎng)內(nèi)發(fā)送虛假的ARP請(qǐng)求包和應(yīng)答包,造成網(wǎng)絡(luò)擁堵,全網(wǎng)主機(jī)無(wú)法正常通信。其次ARP欺騙病毒,無(wú)論是三種欺騙方式的哪種,都會(huì)造成網(wǎng)絡(luò)組織和秩序的混亂。冒充主機(jī)欺騙主機(jī)與冒充主機(jī)欺騙網(wǎng)關(guān)會(huì)使得被冒充的主機(jī)(真主機(jī))無(wú)法收到其他設(shè)備的數(shù)據(jù),冒充網(wǎng)關(guān)欺騙主機(jī)會(huì)使得全網(wǎng)主機(jī)都把數(shù)據(jù)發(fā)送給冒充網(wǎng)關(guān)(假網(wǎng)關(guān)),而無(wú)法正常向外發(fā)送數(shù)據(jù)(即無(wú)法上網(wǎng))。
ARP病毒的危害很大,防范ARP病毒,要從兩方面入手,一是接入設(shè)備,二是用戶主機(jī)。
1.接入設(shè)備層的防范措施
局域網(wǎng)的接入設(shè)備方面,主要由網(wǎng)絡(luò)管理員負(fù)責(zé),具體可以通過(guò)以下五個(gè)方法來(lái)防范。
(1)使用PVLAN技術(shù)實(shí)現(xiàn)端口隔離
ARP病毒一般是針對(duì)同一網(wǎng)段內(nèi)的某臺(tái)或所有主機(jī),因此只要VLAN足夠小,就可以有效避免ARP病毒的攻擊。但就簡(jiǎn)單的在交換機(jī)上多劃分一些VLAN,給每個(gè)VLAN少分配一些端口,會(huì)造成IP地址的嚴(yán)重浪費(fèi)并增加交換機(jī)的管理難度。所以要使用 PVLAN技術(shù),以實(shí)現(xiàn)端口之間的隔離,而又不用為每個(gè)端口劃分虛擬子網(wǎng)和分配子網(wǎng)IP地址。接于同一PVLAN的主機(jī)之間無(wú)法直接通信,而要通過(guò)默認(rèn)網(wǎng)關(guān)的配置來(lái)實(shí)現(xiàn)。具體配置命令因不同交換機(jī)而異,可查閱交換機(jī)說(shuō)明書或訪問(wèn)公司官方網(wǎng)站,或者在配置時(shí)通過(guò)“?”查看命令和參數(shù)(一般交換機(jī)有isolate命令可用)。
(2)靜態(tài)綁定MIC和IP地址
在為局域網(wǎng)用戶分配IP地址時(shí),先收集用戶的MAC地址。在交換機(jī)端口上實(shí)施MAC地址與端口綁定、IP地址與端口的綁定相結(jié)合,從而達(dá)到在端口上應(yīng)用IP與MAC地址綁定的功能。一旦綁定之后, 交換機(jī)的ARP表就固定了,無(wú)論接收到來(lái)自任何計(jì)算機(jī)的ARP欺騙都無(wú)法修改交換機(jī)的ARP表,同時(shí)也就保證了路由的準(zhǔn)確性,以此來(lái)避免ARP病毒各式各樣的攻擊、欺騙。
(3)使用具有ARP過(guò)濾功能的路由器和交換機(jī)
如果有條件的話,盡量使用可防御ARP病毒的三層交換機(jī),設(shè)置端口流量限制,對(duì)超過(guò)閾值的端口進(jìn)行自動(dòng)斷開(kāi);對(duì)ARP包進(jìn)行過(guò)濾,監(jiān)控頻繁發(fā)送請(qǐng)求包和應(yīng)答包的端口,及時(shí)發(fā)現(xiàn)并自動(dòng)阻斷ARP攻擊端口;同時(shí)配合ARP軟件防火墻,會(huì)有更好的效果。目前市場(chǎng)上,具有防ARP病毒的產(chǎn)品較多,如思科(Cisco)路由器、俠諾(Qno)路由器等。
(4)使用DHCP Snooping技術(shù)
如果局域網(wǎng)比較大,可以使用DHCP Snooping技術(shù)實(shí)現(xiàn)主機(jī)的IP地址動(dòng)態(tài)分配。DHCP Snooping技術(shù)是DHCP安全特性,通過(guò)建立和維護(hù)DHCP Snooping綁定表過(guò)濾不可信任區(qū)域的DHCP信息。DHCP Snooping綁定表包含不信任區(qū)域的用戶MAC地址、IP地址、租用期和VLAN-ID接口等信息。交換機(jī)中連接普通主機(jī)的端口在發(fā)送ARP報(bào)文時(shí)受到交換機(jī)檢測(cè),報(bào)交中IP地址與MAC地址對(duì)必須與DHCP Snooping檢測(cè)并記錄的主機(jī)當(dāng)時(shí)動(dòng)態(tài)申請(qǐng)的IP地址相符,這樣中毒主機(jī)就無(wú)法發(fā)送虛假的ARP報(bào)文了。
(5)使用專用機(jī)器作為ARP解析服務(wù)器
在局域網(wǎng)內(nèi)部設(shè)置一臺(tái)機(jī)器作為ARP服務(wù)器,專門保存并且維護(hù)網(wǎng)絡(luò)內(nèi)的所有主機(jī)的IP地址與M AC地址映射記錄,使其他計(jì)算機(jī)的ARP配置只接受來(lái)自ARP服務(wù)器的ARP響應(yīng)。當(dāng)有ARP請(qǐng)求時(shí)該服務(wù)器通過(guò)查閱自己緩存的靜態(tài)記錄并以被查詢主機(jī)的名義響應(yīng)ARP局域網(wǎng)內(nèi)部的請(qǐng)求,從而防止了ARP欺騙攻擊的發(fā)生。
2.用戶主機(jī)層的防范措施
作為局域網(wǎng)用戶,要防范 ARP病毒,主要應(yīng)該做到以下三點(diǎn)。
(1)開(kāi)機(jī)綁定MIC和IP
用戶開(kāi)機(jī)后,進(jìn)入命令提示符窗口下,運(yùn)行以下三行代碼,就可以對(duì)網(wǎng)關(guān)IP與MAC地址以及本機(jī)IP與MAC地址進(jìn)行靜態(tài)綁定。為了避免麻煩,也可以把它形成批處理文件后,保存在啟動(dòng)項(xiàng)中,這樣開(kāi)機(jī)就實(shí)現(xiàn)了靜態(tài)綁定。
(2)安裝殺毒軟件和防火墻
網(wǎng)絡(luò)上病毒很多,用戶上網(wǎng),安裝殺毒軟件和防火墻是十分必要的。常用的具有防ARP病毒的殺毒軟件有瑞星、金山等。而且防火墻在防ARP病毒過(guò)程中也可以起到至關(guān)重要的作用,能有效地阻擋其攻擊和欺騙,日常比較熟悉的有ARP防火墻、360防火墻、AntiARP等。注意在安裝了殺毒軟件和防火墻后,要及時(shí)更新。
(3)養(yǎng)成良好的上網(wǎng)習(xí)慣
用戶上網(wǎng)時(shí),要提高安全意識(shí),并且養(yǎng)成良好的上網(wǎng)習(xí)慣,不打開(kāi)來(lái)歷不明的郵件,不瀏覽不健康的網(wǎng)頁(yè);特別是克服好奇心理,對(duì)那種彈出來(lái)的誘人窗口或鏈接,(如:恭喜你中了一等獎(jiǎng),發(fā)送你的銀行卡號(hào)碼領(lǐng)錢)一般都是帶有欺騙類或控制類病毒,千萬(wàn)不要打開(kāi)。
ARP病毒沒(méi)有明顯的特征字,對(duì)于一般的殺毒軟件來(lái)說(shuō)是很難查殺的。ARP病毒的查殺首先要對(duì)局域網(wǎng)內(nèi)的ARP中毒機(jī)進(jìn)行定位,然后再進(jìn)行清除。
1.ARP病毒機(jī)的定位
ARP病毒的定位有三種方法,直接定位、工具定位以及嗅探定位,結(jié)合起來(lái)效果更佳。首先在命令提示符下敲入“ARP–a”命令查詢一下當(dāng)前網(wǎng)關(guān)的MAC地址,如果與網(wǎng)關(guān)的真實(shí)MAC不符,那它就是攻擊者的 MAC地址。如果相符,則打開(kāi)MAC地址掃描工具,形成當(dāng)前局域網(wǎng)的IP和MAC對(duì)應(yīng)表,再與正確的對(duì)應(yīng)表相比較,即可確定攻擊者的 MAC地址。如果是ARP報(bào)文泛洪攻擊,使用Sniffer軟件嗅探全網(wǎng),哪個(gè)MAC地址的ARP包泛濫即為攻擊者。
2.手動(dòng)清除
在此仍以上文的病毒為例,按以下順序刪除病毒組件:
(1)刪除“病毒組件釋放者”:%windows%SYSTEM32LOADHW.EXE
(2)刪除“發(fā)ARP欺騙包的驅(qū)動(dòng)程序”(兼“病毒守護(hù)程序”):%windows%System32drivers pf.Sys
具體步驟如下:
1)在設(shè)備管理器中,單擊“查看”->“顯示隱藏的設(shè)備”。
2)在設(shè)備樹(shù)結(jié)構(gòu)中,打開(kāi)“非即插即用… ”。
3)找到“NetGroup Packet Fiiter Driver”,若沒(méi)找到,請(qǐng)先刷新設(shè)備列表。
4)右鍵點(diǎn)擊“NetGroup Packet Filter Driver”菜單,并選擇“卸載”。
5)重啟windows系統(tǒng)。
6)刪除%windows%System32drivers pf.sys
(3)刪除“命令驅(qū)動(dòng)程序發(fā)ARP欺騙包的控制者”:%windows%System32msn init.dll
(4)刪除以下“病毒的假驅(qū)動(dòng)程序”的注冊(cè)表服務(wù)項(xiàng):HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNpf
3.軟件清除
在確定了病毒機(jī)之后,斷開(kāi)其網(wǎng)絡(luò),再用專門的ARP病毒清除軟件(ARP專殺、anti-ARP等)進(jìn)行查殺,之后重啟機(jī)器即可。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,ARP病毒也在不斷變異中,甚至嵌入其它病毒,給局域網(wǎng)安全帶來(lái)新的挑戰(zhàn)。網(wǎng)絡(luò)的安全需要廣大網(wǎng)絡(luò)用戶和管理員共同努力,密切配合,提高警惕,加強(qiáng)安全意識(shí),營(yíng)造良好的上網(wǎng)環(huán)境,減少ARP病毒對(duì)網(wǎng)絡(luò)的影響。
[1] Tanenbaum,A.S.計(jì)算機(jī)網(wǎng)絡(luò)(第 4 版)[M].潘愛(ài)民,譯.北京:清華大學(xué)出版社,2004.
[2] 李俊民,郭麗艷.網(wǎng)絡(luò)安全與黑客攻防寶典[M].北京:電子工業(yè)出版社,2010.
[3] 王文壽,王珂.網(wǎng)管員必備寶典—網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社,2007;
[4] 宋志.一種基于PVLAN的反ARP欺騙的技術(shù)實(shí)現(xiàn)方法[J].計(jì)算機(jī)安全,2007,(10);
[5] 史子新.ARP攻擊原理與防范[J].甘肅科技,2010,(3).
【文章編號(hào)】1008-1151(2011)02-0045-02
2010-12-23
郭蘭風(fēng),蚌埠坦克學(xué)院研究生。