■江芝蒙 侯 翔
高校教學(xué)機房是學(xué)校計算機及相關(guān)課程實驗教學(xué)、課程設(shè)計、畢業(yè)設(shè)計及學(xué)生自學(xué)計算機科學(xué)知識、提高計算機操作技能、應(yīng)用能力的主要場所,教師經(jīng)常會在計算機機房進行授課,并且根據(jù)課程安排需要連接到INTERNET上進行實際操作。但是很多時候經(jīng)常會出現(xiàn)一種情況:學(xué)生機不能夠連接網(wǎng)絡(luò),或者網(wǎng)絡(luò)時斷時續(xù),通過重啟路由器,網(wǎng)絡(luò)又恢復(fù)正常,但很快故障又發(fā)生了。究竟是什么原因?qū)е鲁霈F(xiàn)這種現(xiàn)象呢?作為一名機房的維護人員,筆者經(jīng)過反復(fù)研究和測試,發(fā)現(xiàn)這是典型的ARP攻擊,或者也稱為ARP病毒。下面對機房局域網(wǎng)的ARP病毒欺騙原理和防治方法作簡要分析研究。
ARP病毒并不是某一種病毒的名稱,而是對利用ARP協(xié)議的漏洞進行傳播的一類病毒的總稱。ARP協(xié)議是TCP/IP協(xié)議組的一個協(xié)議,用于進行把網(wǎng)絡(luò)地址翻譯成MAC地址。通常此類攻擊的手段有兩種:路由欺騙和網(wǎng)關(guān)欺騙。ARP病毒是一種入侵電腦的木馬病毒,對電腦用戶私密信息的威脅很大。
ARP病毒傳播示意圖
ARP(Address Resolution Protocol)的中文名稱為“地址解析協(xié)議”,它的運行方式比較簡單,整個過程是由ARP請求(ARP Request)與 ARP應(yīng)答(ARP Reply)兩種信息包所組成。網(wǎng)絡(luò)常識告訴我們,數(shù)據(jù)鏈路層在傳遞信息包時,必須利用數(shù)據(jù)鏈路層地址(例如:以太網(wǎng)卡的MAC地址)來識別目標設(shè)備;網(wǎng)絡(luò)層在傳遞信息包時,必須利用網(wǎng)絡(luò)層地址(例如:IP地址)來識別目標設(shè)備。通俗來說,當我們在網(wǎng)絡(luò)中利用IP地址傳遞信息包時,必須要知道目標的MAC地址,這項工作就由ARP完成。
由于ARP的請求信息包為以太網(wǎng)廣播信息包,即ARP請求無法通過路由器傳送到其他網(wǎng)絡(luò)。因此,ARP僅能解析同一網(wǎng)絡(luò)內(nèi)的MAC地址,無法解析其他網(wǎng)絡(luò)的MAC地址。
ARP病毒是一種木馬程序,其本質(zhì)就是利用ARP本身的漏洞進行ARP欺騙,即通過偽造IP_MAC地址實現(xiàn)ARP欺騙,在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞,或使信息流向錯誤的服務(wù)器,從而使個人主機無法收到信息。
ARP協(xié)議的基礎(chǔ)就是信任局域網(wǎng)內(nèi)所有的用戶,也就是說它的假設(shè)前提是:局域網(wǎng)中任何一臺電腦,其發(fā)送的ARP數(shù)據(jù)包都是正確的。那么這樣就很危險了!因為實際上,局域網(wǎng)內(nèi)并非所有的計算機都能安分守己,往往會有非法者的存在。在實際操作中,由于局域網(wǎng)內(nèi)部的拓撲結(jié)構(gòu)一般都為總線型,也就是說當A主機發(fā)送廣播數(shù)據(jù)包時,除了B主機以外,局域網(wǎng)內(nèi)的其他主機也會同時收到此數(shù)據(jù)包,只不過其他主機對該數(shù)據(jù)包進行了屏蔽,不會作出回應(yīng)。但如果有一臺主機C主動在B主機向A主機發(fā)回數(shù)據(jù)包之前,搶先發(fā)回了數(shù)據(jù)包。由于協(xié)議中并沒有規(guī)定ARP緩存表對接收到的ARP數(shù)據(jù)包的正確與否進行審查,這時A主機ARP緩存表中B主機的IP、MAC地址就被C主機的地址所假冒。從而導(dǎo)致A主機的數(shù)據(jù)包被發(fā)向C主機,而B主機卻沒有接收到數(shù)據(jù)。
通過以上分析可知,ARP工作的原理不需要通過雙方互相的驗證,僅僅是建立在雙方互相信任的基礎(chǔ)上,另外映射關(guān)系不是持久的,是有存在時間的,而且不會去記憶是否曾經(jīng)發(fā)送過請求報文。因此ARP協(xié)議具有動態(tài)性、無序性、無記憶性、無安全管理等特性,這也是ARP攻擊的基礎(chǔ)。
ARP欺騙的分類從影響網(wǎng)絡(luò)連接通暢的方式來看,可以分為二種:一種是對路由器ARP表的欺騙;另一種是對內(nèi)網(wǎng)PC的網(wǎng)關(guān)欺騙。第一種ARP欺騙是通過截獲網(wǎng)關(guān)數(shù)據(jù)實現(xiàn)的。它通知路由器一系列錯誤的內(nèi)網(wǎng)MAC地址,并按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結(jié)果路由器的所有數(shù)據(jù)只能發(fā)送給錯誤的MAC地址,造成正常網(wǎng)內(nèi)主機無法收到信息。第二種ARP欺騙是通過偽造網(wǎng)關(guān)實現(xiàn)的。它的原理是建立假網(wǎng)關(guān),讓被欺騙的主機向假網(wǎng)關(guān)(其實是局域網(wǎng)內(nèi)一臺被感染ARP病毒的普通電腦)發(fā)送數(shù)據(jù),而不是通過正常的路由器途徑上網(wǎng)。由于假網(wǎng)關(guān)處理速度和本身不斷地在濫發(fā)廣播消息,相對網(wǎng)內(nèi)其他PC而言,該PC是無法登陸網(wǎng)絡(luò)的了。
當局域網(wǎng)內(nèi)某臺主機運行ARP欺騙的木馬程序時,會欺騙局域網(wǎng)內(nèi)所有主機和路由器,讓所有上網(wǎng)的流量必須經(jīng)過病毒主機。其他用戶原來直接通過路由器上網(wǎng)現(xiàn)在轉(zhuǎn)由通過病毒主機上網(wǎng),切換的時候用戶會斷一次線。切換到病毒主機上網(wǎng)后,假如用戶已經(jīng)登陸了某些服務(wù)器,那么病毒主機就會經(jīng)常偽造斷線的假像,那么用戶就得重新登錄服務(wù)器,這樣病毒主機就可以盜號了。
由于ARP欺騙的木馬程序發(fā)作的時候會發(fā)出大量的數(shù)據(jù)包導(dǎo)致局域網(wǎng)通訊擁塞以及其自身處理能力的限制,用戶會感覺上網(wǎng)速度越來越慢。當ARP欺騙的木馬程序停止運行時,用戶會恢復(fù)從路由器上網(wǎng),切換過程中用戶會再斷一次線。
在PC端上通過IP地址和MAC地址的綁定,在網(wǎng)絡(luò)交換設(shè)備上采用IP和MAC的端口綁定。而ARP欺騙是通過ARP的動態(tài)實時的規(guī)則欺騙內(nèi)網(wǎng)計算機,所以把ARP全部設(shè)置為靜態(tài)可以解決對內(nèi)網(wǎng)計算機的欺騙,同時在網(wǎng)關(guān)也要進行IP和MAC的靜態(tài)綁定,這樣的雙向綁定可以在一定程度上解決問題。
防毒墻可以有效地保護企業(yè)網(wǎng)絡(luò)免遭ARP病毒的襲擊
但是這兩種方法也不能完全杜絕ARP欺騙,內(nèi)網(wǎng)計算機上所設(shè)置的靜態(tài)ARP項還是會被ARP欺騙所改變。而網(wǎng)絡(luò)設(shè)備上只作IP和MAC地址的綁定,也是不安全的。假如同一層下的某臺機器發(fā)送偽造的ARP reply給網(wǎng)關(guān),但是源IP和源MAC地址都是欲攻擊的那臺主機的,還是會造成網(wǎng)絡(luò)把流量送到欺騙者所連的那個物理端口,從而造成網(wǎng)絡(luò)故障。
Super VLAN也被叫做VLAN聚合,這種技術(shù)能夠在同一個子網(wǎng)中生成出多個Sub VLAN,而將整個IP子網(wǎng)指定為一個VLAN聚合 (Super VLAN),所有的Sub VLAN都使用Super VLAN的默認網(wǎng)關(guān)IP地址,不同的Sub VLAN仍保留各自獨立的廣播域。子網(wǎng)中的所有主機只能與自己的默認網(wǎng)關(guān)通信。如果將交換機的每個端口化為一個 Sub VLAN,則實現(xiàn)了所有端口的隔離,也就避免了ARP欺騙。PVLAN 即私有 VLAN(Private VLAN),PVLAN 采用兩層VLAN隔離技術(shù),只有上層 VLAN全局可見,下層VLAN相互隔離。如果將交換機的每個端口劃分成為一個子VLAN,就能夠?qū)崿F(xiàn)所有端口之間的隔離。
PVLAN和Super VLAN技術(shù)都能夠?qū)崿F(xiàn)端口之間的隔離,但實現(xiàn)的方式和出發(fā)點是不同的。PVLAN是為了節(jié)省VLAN,而Super Vlan則是為了節(jié)省IP地址。
對于計算機不是很熟悉的老師和同學(xué),最好使用軟件來解決ARP中毒問題。推薦使用ARP防火墻和ARP衛(wèi)士。ARP防火墻是基于IP地址和MAC地址的綁定,使用簡單,適用于普通的ARP欺騙。如果用ARP防火墻依然不能解決問題的話,也可以使用ARP衛(wèi)士,ARP衛(wèi)士通過底層核心驅(qū)動能很好解決ARP欺騙、攻擊問題。
計算機病毒技術(shù)和反病毒技術(shù)都是呈現(xiàn)螺旋式發(fā)展的趨勢,互為促進。沒有任何一種反病毒技術(shù)手段可以使我們高枕無憂,而技術(shù)手段也僅僅只是一種方法。在對付計算機病毒最根本的方法仍然是預(yù)防為主,這就要靠一套行之有效的、嚴格的法律、法規(guī)和章程制度及措施來保障,其核心是人,要使用計算機文化來約束自己的行為,不要使用、傳播非法的、來歷不明的軟件。
[1]閆實等.高校校園ARP病毒欺騙原理及防御方法[J].網(wǎng)絡(luò)安全技術(shù)與用,2010,06:48,73.
[2]李振強.談構(gòu)建完善的校園網(wǎng)防范ARP攻擊[J].硅谷,2010,7:65.
[3]于佳.淺談ARP欺騙原理與防范[J].中國校外教育,2010,10:163.
[4]王玉偉,沈國梁.淺議校園網(wǎng)中ARP攻擊及其防護措施[J].科技信息,2010,17:60.
[5]方向麗.淺談局域網(wǎng)的ARP病毒攻擊和防范[J].網(wǎng)絡(luò)與信息,2010,2:52-53.