ARP欺騙/攻擊反復(fù)襲擊,是近來(lái)網(wǎng)絡(luò)行業(yè)普遍了解的現(xiàn)象,隨著ARP攻擊的不斷升級(jí),不同的解決方案在市場(chǎng)上流傳。但是筆者最近發(fā)現(xiàn),有一些方案,從短期看來(lái)似乎有效,實(shí)際上對(duì)于真正的ARP攻擊發(fā)揮不了作用,也降低局域網(wǎng)工作效率。Qno俠諾的技術(shù)服務(wù)人員接到很多用戶反應(yīng)說(shuō)有些ARP防制方法很容易操作和實(shí)施,但經(jīng)過(guò)實(shí)際深入了解后,發(fā)現(xiàn)長(zhǎng)期效果都不大。
對(duì)于ARP攻擊防制,Qno俠諾技術(shù)服務(wù)人員的建議,最好的方法是先踏踏實(shí)實(shí)把基本防制工作做好,才是根本解決的方法。由于市場(chǎng)上的解決方式眾多,我們無(wú)法一一加以說(shuō)明優(yōu)劣,因此本文解釋了ARP攻擊防制的基本思想。我們認(rèn)為讀者如果能了解這個(gè)基本思想,就能自行判斷何種防制方式有效,也能了解為何雙向綁定是一個(gè)較全面又持久的解決方式。
一、不堅(jiān)定的ARP協(xié)議
一般計(jì)算機(jī)中的原始的ARP協(xié)議,很像一個(gè)思想不堅(jiān)定,容易被其它人影響的人,ARP欺騙/攻擊就是利用這個(gè)特性,誤導(dǎo)計(jì)算機(jī)作出錯(cuò)誤的行為。ARP攻擊的原理,互聯(lián)網(wǎng)上很容易找到,這里不再覆述。原始的ARP協(xié)議運(yùn)作,會(huì)附在局域網(wǎng)接收的廣播包或是ARP詢問(wèn)包,無(wú)條件覆蓋本機(jī)緩存中的ARP/MAC對(duì)照表。這個(gè)特性好比一個(gè)意志不堅(jiān)定的人,聽(tīng)了每一個(gè)人和他說(shuō)話都信以為真,并立刻以最新聽(tīng)到的信息作決定。
就像一個(gè)沒(méi)有計(jì)劃的快遞員,想要送信給"張三",只在馬路上問(wèn)"張三住那兒?",并投遞給最近和他說(shuō)"我就是!"或"張三住那間!",來(lái)決定如何投遞一樣。在一個(gè)人人誠(chéng)實(shí)的地方,快遞員的工作還是能切實(shí)地進(jìn)行;但若是旁人看快遞物品值錢,想要欺騙取得的話,快遞員這種工作方式就會(huì)帶來(lái)混亂了。
我們?cè)倩貋?lái)看ARP攻擊和這個(gè)意志不堅(jiān)定快遞員的關(guān)系。常見(jiàn)ARP攻擊對(duì)象有兩種,一是網(wǎng)絡(luò)網(wǎng)關(guān),也就是路由器,二是局域網(wǎng)上的計(jì)算機(jī),也就是一般用戶。攻擊網(wǎng)絡(luò)網(wǎng)關(guān)就好比發(fā)送錯(cuò)誤的地址信息給快遞員,讓快遞員整個(gè)工作大亂,所有信件無(wú)法正常送達(dá);而攻擊一般計(jì)算機(jī)就是直接和一般人謊稱自己就是快遞員,讓一般用戶把需要傳送物品傳送給發(fā)動(dòng)攻擊的計(jì)算機(jī)。
由于一般的計(jì)算機(jī)及路由器的ARP協(xié)議的意志都不堅(jiān)定,因此只要有惡意計(jì)算機(jī)在局域網(wǎng)持續(xù)發(fā)出錯(cuò)誤的ARP訊息,就會(huì)讓計(jì)算機(jī)及路由器信以為真,作出錯(cuò)誤的傳送網(wǎng)絡(luò)包動(dòng)作。一般的ARP就是以這樣的方式,造成網(wǎng)絡(luò)運(yùn)作不正常,達(dá)到盜取用戶密碼或破壞網(wǎng)絡(luò)運(yùn)作的目的。針對(duì)ARP攻擊的防制,常見(jiàn)的方法,可以分為以下三種作法:
1、利用ARP echo傳送正確的ARP訊息:通過(guò)頻繁地提醒正確的ARP對(duì)照表,來(lái)達(dá)到防制的效果。
2、利用綁定方式,固定ARP對(duì)照表不受外來(lái)影響:通過(guò)固定正確的ARP對(duì)照表,來(lái)達(dá)到防制的效果。
3、舍棄ARP協(xié)議,采用其它尋址協(xié)議:不采用ARP作為傳送的機(jī)制,而另行使用其它協(xié)議例如PPPoE方式傳送。
以上三種方法中,前兩種方法較為常見(jiàn),第三種方法由于變動(dòng)較大,適用于技術(shù)能力較佳的應(yīng)用。下面針對(duì)前兩種方法加以說(shuō)明。
PK 賽之"ARP echo"
ARP echo是最早開(kāi)發(fā)出來(lái)的ARP攻擊解決方案,但隨著ARP攻擊的發(fā)展,漸漸失去它的效果。現(xiàn)在,這個(gè)方法不但面對(duì)攻擊沒(méi)有防制效果,還會(huì)降低局域網(wǎng)運(yùn)作的效能,但是很多用戶仍然以這個(gè)方法來(lái)進(jìn)行防制。以前面介紹的思想不堅(jiān)定的快遞員的例子來(lái)說(shuō),ARP echo的作法,等于是時(shí)時(shí)用電話提醒快遞員正確的發(fā)送對(duì)象及地址,減低他被鄰近的各種信息干擾的情況。
但是這種作法,明顯有幾個(gè)問(wèn)題:第一,即使時(shí)時(shí)提醒,但由于快遞員意志不堅(jiān)定,仍會(huì)有部份的信件因?yàn)橐l(fā)出時(shí)剛好收到錯(cuò)誤的信息,以錯(cuò)誤的方式送出去;這種情況如果是錯(cuò)誤的信息頻率特高,例如有一個(gè)人時(shí)時(shí)在快遞員身邊連續(xù)提供信息,即使打電話提醒也立刻被覆蓋,效果就不好;第二,由于必須時(shí)時(shí)提醒,而且為了保證提醒的效果好,還要加大提醒的間隔時(shí)間,以防止被覆蓋,就好比快遞員一直忙于接聽(tīng)總部打來(lái)的電話,根本就沒(méi)有時(shí)間可以發(fā)送信件,耽誤了正事;第三,還要專門指派一位人時(shí)時(shí)打電話給快遞員提醒,等于要多派一個(gè)人手負(fù)責(zé),而且持續(xù)地提醒,這個(gè)人的工作也很繁重。
以ARP echo方式對(duì)應(yīng)ARP攻擊,也會(huì)發(fā)生相似的情況。第一,面對(duì)高頻率的新式ARP攻擊,ARP echo發(fā)揮不了效果,掉線斷網(wǎng)的情況仍舊會(huì)發(fā)生。ARP echo的方式防制的對(duì)早期以盜寶為目的的攻擊軟件有效果,但碰到最近以攻擊為手段的攻擊軟件則公認(rèn)是沒(méi)有效果的。第二,ARP echo手段必須在局域網(wǎng)上持續(xù)發(fā)出廣播網(wǎng)絡(luò)包,占用局域網(wǎng)帶寬,使得局域網(wǎng)工作的能力降低,整個(gè)局域網(wǎng)的計(jì)算機(jī)及交換機(jī)時(shí)時(shí)都在處理ARP echo廣播包,還沒(méi)受到攻擊局域網(wǎng)就開(kāi)始卡了。第三,必須在局域網(wǎng)有一臺(tái)負(fù)責(zé)負(fù)責(zé)發(fā)ARP echo廣播包的設(shè)備,不管是路由器、服務(wù)器或是計(jì)算機(jī),由于發(fā)包是以一秒數(shù)以百計(jì)的方式來(lái)發(fā)送,對(duì)該設(shè)備都是很大的負(fù)擔(dān)。
![]() |
圖一:ARP攻擊防制方法之"ARP echo" |
常見(jiàn)的ARP echo處理手法有兩種,一種是由路由器持續(xù)發(fā)送,另一則是在計(jì)算機(jī)或服務(wù)器安裝軟件發(fā)送。路由器持續(xù)發(fā)送的缺點(diǎn)是路由器原本的工作就很忙,因此無(wú)法發(fā)送高頻率的廣播包,被覆蓋掉的機(jī)會(huì)很大,因此面對(duì)新型的ARP攻擊防制效果小。因此,有些解決方法,就是拿ARP攻擊的軟件來(lái)用,只是持續(xù)發(fā)出正確的網(wǎng)關(guān)、服務(wù)器對(duì)照表,安裝在服務(wù)器或是計(jì)算機(jī)上,由于服務(wù)器或是計(jì)算機(jī)運(yùn)算能力較強(qiáng),可以同一時(shí)間內(nèi)發(fā)出更多廣播包,效果較大,但是這種作法一則大幅影響局域網(wǎng)工作,因?yàn)檎麄€(gè)局域網(wǎng)都被廣播包占據(jù),另則攻擊軟件通常會(huì)設(shè)定更高頻率的廣播包,誤導(dǎo)局域網(wǎng)計(jì)算機(jī),效果仍然有限。