久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

談?wù)凙RP欺騙那點破事

 astrotycoon 2014-08-03
(一)ARP工作原理,、ARP攻擊分析敘述:
隨著網(wǎng)絡(luò)設(shè)備在接入市場的應(yīng)用也越來越多,;同時遇到的問題也越來越多樣,其中最讓人頭疼的就是ARP的問題,。
眾所周知,,ARP的基本功能就是在以太網(wǎng)環(huán)境中,,通過目標設(shè)備的IP地址,,查詢目標設(shè)備的MAC地址,以保證通信的順利進行,。但由于ARP的廣播,、動態(tài)學(xué)習(xí)等特性注定了它不是一種安全的協(xié)議,所以在實際應(yīng)用中,,會由于各種各樣的原因使ARP學(xué)習(xí)失敗,,從而影響網(wǎng)絡(luò)的互通性,并進而影響用戶的業(yè)務(wù)穩(wěn)定運行,。
由于ARP處于數(shù)據(jù)鏈路層,,處于整個OSI開放式七層模型的倒數(shù)第二層,所以除了HUB等極少數(shù)的,、幾乎所有跟以太網(wǎng)接口有關(guān)的設(shè)備,,都涉及到ARP處理的問題。如果ARP問題處理不好,,帶來的影響也是非常巨大的,。
在整個internet網(wǎng)絡(luò)體系中,網(wǎng)絡(luò)設(shè)備主要分為兩類:一類就是安裝有各種操作系統(tǒng)平臺的PC,、服務(wù)器等host,;而另外一類就是負責(zé)網(wǎng)絡(luò)互聯(lián)的路由器、交換機,、防火墻等數(shù)據(jù)通訊設(shè)備,。這些設(shè)備由于自身所處的網(wǎng)絡(luò)位置的不同、安全穩(wěn)定程度的不同,、服務(wù)的不同,,在ARP機制的處理上也不盡相同,當(dāng)然本文不是要全面闡述ARP的原理和實現(xiàn),,只是希望能夠說明并解決或規(guī)避在我們的應(yīng)用環(huán)境中出現(xiàn)的問題――我們考慮的范圍是Win2K/XP主機和路由器,、交換機。
1 ARP基礎(chǔ)知識
一般的,,正常的ARP過程只需ARP Request和ARP Response兩個過程,,簡單的說就是一問一答,如下:
clip_image002
這記錄了局域網(wǎng)內(nèi)一臺IP為192.168.19.180的PC與網(wǎng)關(guān)設(shè)備(IP為192.168.1.6)之間的ARP交互,該PC發(fā)送請求之后,,在0.000434秒之后,,網(wǎng)關(guān)設(shè)備做出了回應(yīng),此時路由器就學(xué)習(xí)到了對方的ARP信息:如下:
clip_image004
我們關(guān)注的是ARP的過程,,而不是結(jié)果,;來看一下ARP Request:
clip_image006
[Ethernet Header]可以看出,ARP請求的目標地市是全F,,也就是廣播地址,;因為在請求之前,本PC不知道對方的MAC地址,,為了確保ARP Request能夠讓對方收到,,以廣播形式方式是很自然的選擇。在[ARP]中可以看到,,發(fā)送的源IP和源MAC都是本PC的網(wǎng)卡設(shè)置值,,這是已知參數(shù);目的IP地址是我要請求的地址,,而目的MAC地址是全0,,用于表示本PC不知道該參數(shù),暫時忽略/ignore,。
網(wǎng)關(guān)設(shè)備在收到ARP Request之后,,會首先讀取Sender的IP和MAC地址,并在存入自己的緩沖中,,以備后用,。因為ARP請求畢竟是廣播性質(zhì)的,如果每次通訊都要完成一個ARP的流程,,對于以太網(wǎng)的壓力是非常巨大的,,為了盡可能減少這種廣播的負面影響,這里引入了緩沖機制,,這就是ARP Table,。
ARP Response又是怎樣回應(yīng)的呢?
clip_image008
先看[Ethernet Header],,可以看到以太網(wǎng)目的MAC地址為PC的MAC地址,,因為網(wǎng)關(guān)設(shè)備只要把回應(yīng)的信息發(fā)送給請求者即可,局域網(wǎng)內(nèi)的其他主機是沒有必要同步知道的,,這很好理解,。在[ARP]中,網(wǎng)關(guān)設(shè)備把自己的MAC地址填充在ARP Response中,,發(fā)送給原請求者,。
當(dāng)然收到ARP Response之后也會把這個ARP信息緩存下來,,這樣一個ARP的過程就完成了。從中可以看出,,無論是哪方先發(fā)起ARP Request,,最終雙方都會得到對方的MAC地址信息的。這也是處于減少網(wǎng)絡(luò)上不必要流量的考慮,。
2 免費ARP
整個ARP的體系里基本上就是由ARP Request和Response組成的,,從上面的描述中,可以看出Request就是告知對方“我要什么”,,而Response是回答“我是什么”,。但有些時候也會例外,他們雖然從形式上還是Request和Response的,,但它們通常不會不是一問一答的,,而是只有其中的一部分,,所以通常被稱為免費ARP或無為ARP(Gratuitous ARP),。
從作用而言,它們主要是可以分為兩類:
1,、以ARP Request的形式發(fā)送廣播,,請求自己的MAC地址,目的是探測局域網(wǎng)中是否有跟自己IP地址相同的主機,,也就是常說的IP沖突,,如下:
clip_image010
正常情況下,這樣的報文是不會有回復(fù)的,,如果有,,則說明有沖突發(fā)生。
2,、以ARP Response的形式發(fā)送廣播,,它通常只是為了把自己的ARP信息通告/更新給局域網(wǎng)全體,這種Response不需要別人請求,,是自己主動發(fā)送的通告,。報文結(jié)構(gòu)如下。
clip_image012
這兩種ARP幀雖然都是廣播發(fā)送的,,但目的不同,,從幀結(jié)構(gòu)上來說,前者注重的是Target Internet Address,,而后者注重的是Sender Hardware Address和Sender Inteernet Address,。
RG NBR系列路由器就采用上述第二種方式來發(fā)布自己的免費ARP,來防止網(wǎng)內(nèi)PC機被其它中毒機器惡意修改其ARP Cache中保存的網(wǎng)關(guān)正確MAC地址信息,;
3 觸發(fā)ARP動作的事件
當(dāng)然,,如果windows的應(yīng)用需要通過IP與別的IP地址進行通訊,,而且本機ARP Table中沒有對方的相應(yīng)cache時,就會觸發(fā)ARP自動學(xué)習(xí),。
另外,,通過實驗觀察,我們發(fā)現(xiàn)Wind2K/XP在設(shè)置/修改IP,、網(wǎng)卡禁用/啟用,、網(wǎng)線拔插、系統(tǒng)重啟的時候,,都會連續(xù)發(fā)送三次免費ARP Request,,目的顯然是為了判斷網(wǎng)絡(luò)上是否存在IP地址沖突。
對于RG Routers和Layer 3 Switch來說,,如果存在上層IP通訊,,那么自然需要觸發(fā)ARP學(xué)習(xí)過程,這一點跟windows是完全相同的,。
在以太網(wǎng)端口設(shè)置/修改IP時,,路由器、Layer3 Switch會自動發(fā)送免費ARP Request報文來探測是否有IP沖突,;而在端口shut/no shut,、端口線纜拔插、系統(tǒng)重啟的時候,,路由器又會自動發(fā)送免費ARP Response報文,,用以把自己的ARP信息通告全體主機。
同時,,無論是那種免費ARP,,路由器、Layer 3 Switch都只發(fā)送一次,。
很顯然,,windows的ARP觸發(fā)事件跟路由器、Layer 3 Switch是有差別的:
1,、Windows/PC作為網(wǎng)絡(luò)上的一個主機,,它可能只是跟少數(shù)的幾個PC進行信息交互,所以它在非必要情況下不(通過免費ARP Response)把自己的ARP信息廣播給所有主機是合理,、也是明智的,。路由器、Layer 3 Switch雖然不直接參與應(yīng)用層的處理,,但它通常是一個局域網(wǎng)的網(wǎng)關(guān),,肩負則所有主機的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),也就是說幾乎所有的主機跟路由器,、Layer 3 Switch之間都會存在ARP交互,,與其被動的響應(yīng)ARP請求,,還不如主動的把自己的ARP信息廣播給所有主機,這對于降低路由器,、Layer 3 Switch的工作負荷,、減少網(wǎng)絡(luò)帶寬占用都是有好處的。
2,、從免費ARP報文的發(fā)送數(shù)量來看,,Windows發(fā)送的免費ARP都是3次,這有利于確保對方成功收到,,同時也有利于減少其他主機的免費ARP干擾,;而RG路由器、Layer 3 Switch僅僅發(fā)送一次,,而且任何情況都不再重復(fù),,這顯然是不夠的。
4 異常情況下的ARP處理機制
常見的局域網(wǎng)異常狀況有:IP地址沖突,、MAC地址冒用,、ARP欺騙等,極端情況下還可能IP+MAC同時冒用,,下面我們就來具體分析,。
4.1 IP地址沖突
1,、網(wǎng)關(guān)Router設(shè)置IP成某PC的地址
有些時候,,如用戶網(wǎng)絡(luò)使用windows做代理(NAT),現(xiàn)在要用一個路由器 ,、Layer 3Switch(IP地址與網(wǎng)關(guān)windows相同)來替換當(dāng)網(wǎng)關(guān),;當(dāng)兩者共存時,就會出現(xiàn)Windows IP地址與路由器,、Layer 3 Switch沖突的情況,。當(dāng)然還有其他的可能性。
這里,,如果路由器,、Layer 3 Switch是調(diào)試完之后接入局域網(wǎng)的,按照前面的描述,,RG路由器,、Layer 3 Switch直接發(fā)送1個免費ARP Response,這樣就強制局域網(wǎng)內(nèi)的PC學(xué)習(xí)到路由器,、Layer 3 Switch SVI接口的ARP信息,,此時原有Windows網(wǎng)關(guān)沒有任何響應(yīng),工作也正常,;但此時局域網(wǎng)內(nèi)的PC關(guān)于網(wǎng)關(guān)IP的ARP內(nèi)容卻發(fā)生了改變,,路由器,、Layer 3 Switch的SVI接口成為了實際意義上的網(wǎng)關(guān)。
clip_image014
如果路由器,、Layer 3 Switch是接入局域網(wǎng)之后才開始配置和調(diào)試的,,那么路由器、Layer3 Switch SVI接口設(shè)置IP之后會先發(fā)送1個免費ARP Request報文,,探測有無地址沖突,,如果有,則強制發(fā)送免費ARP Response,;此時Windows主機提示地址沖突,,網(wǎng)卡變?yōu)椴豢捎脿顟B(tài),而路由器,、Layer 3 Switch SVI接口則成為了實際的網(wǎng)關(guān),。
clip_image016
2、Windows設(shè)置IP成網(wǎng)關(guān)路由器,、Layer 3 Switch SVI的IP地址
在網(wǎng)吧,、企業(yè)網(wǎng)環(huán)境中,上點后,,路由器工作正常,,局域網(wǎng)中的PC學(xué)習(xí)到的網(wǎng)關(guān)ARP信息就是路由器、Layer 3 Switch對應(yīng)端口的IP和MAC,;假設(shè)此時內(nèi)網(wǎng)中有一個Windows PC修改自己的IP地址,,不慎和網(wǎng)關(guān)IP沖突,會發(fā)生什么呢,?
clip_image018
從這個抓包情況看,,PC修改IP之后,發(fā)送免費ARP Request,,看是否有地址沖突,,這顯然是有的,從第二個包就可以看出來,,RG Router,、Layer 3 Switch SVI回復(fù)了一個ARP Response;此時PC桌面上提示IP地址沖突,,網(wǎng)卡處于不正常工作狀態(tài),,用戶一般會修改IP地址再次嘗試;
而緊隨其后的是,,路由器,、Layer 3 Switch發(fā)送了1個免費ARP Request包,用來判斷沖突是否繼續(xù)存在,?當(dāng)然由于Windows對于網(wǎng)卡的管理,,導(dǎo)致沖突自動消失,,路由器、Layer 3 Switch也就不再有后續(xù)動作了,。但如果此時沖突繼續(xù)存在呢,?從上面的實驗來看,路由器,、Layer 3 Switch會強制發(fā)送1次免費ARP Response,,用以讓局域網(wǎng)的主機確認,我才是真正的網(wǎng)關(guān),。
顯然,,應(yīng)付普通的非惡意的IP地址沖突,路由器,、Layer 3 Switch現(xiàn)行的機制應(yīng)足夠了,。
4.2 MAC地址冒用
不管是處于什么目的,用戶可能通過某種手段重新燒錄自己網(wǎng)卡的MAC地址,,如果這個地址正好和路由器,、Layer 3 Switch的網(wǎng)關(guān)IP相同,會出現(xiàn)什么情況呢,?
由于條件的限制,,這個實驗沒有做成,但我們可以分析一下:
根據(jù)前面的分析,,網(wǎng)絡(luò)設(shè)備是通過發(fā)送免費ARP Request報文,,查詢自己IP的對應(yīng)MAC地址來確認是否存在沖突的,在單純的MAC地址冒用的情況下,,上述機制是探測不到任何異常的,。
但是當(dāng)兩個設(shè)備的MAC地址相同時,最直接的影響就是局域網(wǎng)交換機(通常為二層)的MAC Table中,,有兩個端口學(xué)習(xí)到的MAC地址是完全相同的,這有點類似環(huán)路發(fā)生的現(xiàn)象,;但這確實不是環(huán)路,,因為交換機生成樹的BPDU報文不可能從其中的一個端口發(fā)出,從另外一個端口收到,,所以STP是探測不出什么的,,也就是說這兩個端口還是會正常工作的。
此時交換機會做的就是,,把發(fā)往該MAC地址的以太網(wǎng)幀同時發(fā)送到兩個端口上,,以求盡可能的數(shù)據(jù)丟失;這看起來有點象“端口鏡像”,。
看來,,單純的MAC地址冒用/沖突是不會到路由器,、Layer 3 Switch造成什么直接的影響的,不過它會把所有經(jīng)過網(wǎng)關(guān)路由器的流量復(fù)制一份到某個特定的端口,,如果這個端口連接的某個主機別有所圖的話,,后果還是很嚴重的。不過這屬于信息安全的范圍了,,這里不再詳細討論,。
4.3 ARP欺騙
ARP自動學(xué)習(xí)的目的,就是通訊的雙方主機互相請求/告知MAC地址,,并以此完成二層的以太網(wǎng)幀交換,,由于通訊的雙向性,很顯然如果任何一方的ARP信息是空或者錯誤的,,那么通訊就會失敗,。而ARP欺騙的目的就是頻繁的發(fā)送錯誤消息欺騙網(wǎng)絡(luò)通信的任何一方,最終導(dǎo)致不能正常通信,。
那么怎樣防止ARP欺騙呢,?從根本上說就是雙方的IP-MAC地址對應(yīng)信息要正確,之前我們說過,,ARP是自動學(xué)習(xí)的,,是通過ARP Request和Response報文的交互,由別人告知的,,正是這個特性讓ARP欺騙有了可乘之機,,顯然最有效的方法就是不采用“學(xué)習(xí)”機制,現(xiàn)在很多設(shè)備廠商都是這么實現(xiàn)的,,但配置靜態(tài)ARP工作量非常大,,后期維護也極不方便,假設(shè)局域網(wǎng)內(nèi)主機數(shù)量為N,,那么最少要配置的ARP條目有N+(N-1)=2N-1個,;如果N=200,也就是說最后總共要配置400條,,這還不算原始IP,、MAC地址信息的收集、校對和維護工作,。如果要全網(wǎng)ARP綁定的話,,總條目可達N(N-1),那就更驚人了,。
是否可以避開靜態(tài)ARP綁定這種煩瑣的方式呢,?對Windows主機是沒有辦法的;但我們可以從路由器、Layer 3 Switch上著手,,要回答這個問題,,首先要弄清ARP欺騙的具體過程,先看實驗拓撲結(jié)構(gòu):
clip_image019
由于很難找到合適的病毒重現(xiàn)真正的ARP欺騙,,我們采用安裝聚生網(wǎng)管(也叫Netsense,、P2P終結(jié)者)來模擬,其實現(xiàn)的基礎(chǔ)就是進行ARP欺騙,。
在這個環(huán)境中,,使用路由器作為網(wǎng)關(guān),進行NAT操作,,內(nèi)網(wǎng)中連接兩個PC,,其中一臺安裝聚生網(wǎng)管,進行ARP欺騙,。開始時,,PC的ARP表中192.168.1.6對應(yīng)的MAC地址是正確的,然后啟動聚生網(wǎng)管,,來看看現(xiàn)象:
1,、第一階段,ARP Cheater會發(fā)送大量ARP Request來逐個掃描內(nèi)網(wǎng)中的PC:
clip_image021
正常情況下局域網(wǎng)PC會回應(yīng)ARP Request,,ARP Cheater就是靠這個來確認并收集內(nèi)網(wǎng)中已經(jīng)啟動的PC的,,并在本地形成一個數(shù)據(jù)庫。
2,、第二階段,,Cheater就開始進行實質(zhì)的欺騙了,其過程為就是向真實網(wǎng)關(guān)和PC同時發(fā)送免費ARP Response,,強行更新其ARP Table,。
其中,發(fā)送給PC的為:
clip_image023
顯然,,Cheater強行通告給PC的ARP內(nèi)容是錯誤的,,因為00-0D-60-8C-0D-C9和192.168.1.6分別是Cheater的MAC地址和路由器的網(wǎng)關(guān)IP。
其次,,發(fā)給網(wǎng)關(guān)路由器的為:
clip_image025
在這個信息中,,00-00-E2-58-AC-EA和192.168.1.158都是對應(yīng)的普通PC,是一個正確的信息,,Cheater代替PC向網(wǎng)關(guān)發(fā)送ARP強制更新信息,是為了確保通訊能夠正常完成,。
欺騙完成之后,,局域網(wǎng)中的所有PC都根據(jù)錯誤的ARP信息把數(shù)據(jù)包發(fā)給ARP Cheater,Cheater再通過路由器轉(zhuǎn)發(fā)到公網(wǎng)真正的服務(wù)器上,;當(dāng)數(shù)據(jù)包從公網(wǎng)返回到路由器之后,,路由器會把數(shù)據(jù)包直接返回到PC,,中間不再經(jīng)過ARP Cheater(如果需要,也可以經(jīng)過ARP Cheater),,參閱前面的拓撲結(jié)構(gòu)圖,。
這樣,ARP欺騙就完成了,,PC上面關(guān)于網(wǎng)關(guān)的ARP信息發(fā)生了改變,;不過為了“鞏固”成果,聚生網(wǎng)管每隔2秒再次進行欺騙,。
clip_image027
當(dāng)然,,聚生網(wǎng)管不算是一種病毒、木馬或者惡意程序,,只是它利用了ARP欺騙,,把所有的局域網(wǎng)所有的主機流量都導(dǎo)入的自己的網(wǎng)卡上,籍此,,聚生網(wǎng)管就可以進行相應(yīng)的過濾和限制了,。
現(xiàn)在比較流行的竊取密碼的木馬程序就是按照這個原理來實現(xiàn)的,當(dāng)然密碼只是在用戶登陸的時候才輸入的,,所以木馬程序會故意讓自己的網(wǎng)卡失效又立刻恢復(fù),,此時,內(nèi)網(wǎng)的用戶以為是網(wǎng)絡(luò)質(zhì)量不好掉線,,接著就是重新登陸,、輸入密碼……
上面兩種情況雖然是ARP欺騙,但多數(shù)時間網(wǎng)絡(luò)還是正常運行的,;如果只是要讓網(wǎng)絡(luò)中斷,,那么ARP Cheater只需頻繁發(fā)送免費ARP Response即可,當(dāng)然里面包含的Sender Address是錯誤的,。
4.4 如何應(yīng)對ARP欺騙,?
前面提到,ARP欺騙可能會欺騙網(wǎng)關(guān)路由器或者內(nèi)網(wǎng)的PC,,下面我們就分這兩種情況來分析一下,。
4.4.1 避免ARP欺騙PC
要找到應(yīng)對方法,必須先識別出ARP欺騙的特點:
1,、ARP欺騙發(fā)生時
無論出于什么目的,, ARP欺騙最開始、也是最關(guān)鍵的一步就是通過免費ARP Response信息,,發(fā)送錯誤的網(wǎng)關(guān)ARP信息給局域網(wǎng)主機,,其方法不外乎兩種:
n 在本網(wǎng)段首先發(fā)送大量的ARP Request掃描,通過Response報文收集當(dāng)前活動的主機,隨后給每個主機發(fā)送免費的ARP Response,;在這種情況下,,路由器只能看到從一個固定的MAC地址發(fā)出大量ARP請求廣播,而且這個過程可能會周期性重復(fù),。
n 第二,,ARP Cheater不需要逐個找局域網(wǎng)的主機IP,它直接冒充網(wǎng)關(guān),,通過免費ARP Response廣播通告全網(wǎng),;在這種情況下,路由器上應(yīng)該可以觀察到免費ARP Response報文,,其Sender Internet Addr信息就是自己的IP地址,,而且從上面的實驗中可以看到,這種免費ARP Response廣播報文是非常頻繁的,。
無論是那種情況,,其目的都是欺騙PC,路由器雖然可能通過某些特征判斷ARP欺騙的發(fā)生,,但是根本無法制止,,因為路由器對該PC是沒有控制權(quán)的。
2,、ARP欺騙發(fā)生后
ARP欺騙發(fā)生后的情況是怎樣呢,?當(dāng)然是PC的ARP表被篡改了,當(dāng)然我們可以通過手工方式來清除ARP表項重新學(xué)習(xí),,但ARP欺騙是不斷的重復(fù)進行的,,人工維護的工作量恐怕遠遠大于前面說的“靜態(tài)ARP”,顯然可行性為零,。
既然手工方式不行,,那么自動方式怎么樣呢?跟ARP Cheater一樣,,我們可以考慮讓網(wǎng)關(guān)路由器或者其他專用主機來發(fā)送免費ARP廣播,,把正確的網(wǎng)關(guān)ARP信息通報給全網(wǎng)。如果網(wǎng)內(nèi)的ARP欺騙不是很頻繁,,這種是方法可行,;但如果象聚生網(wǎng)管這樣的情況,ARP欺騙為每2秒一次,,要讓PC的ARP表正確,,路由器或?qū)S弥鳈C發(fā)送的免費ARP Response廣播必須更頻繁,即便如此,,內(nèi)網(wǎng)PC的ARP表可能還會處于頻繁變動的過程中,,導(dǎo)致其正常通訊也會隨之而產(chǎn)生丟包情況,,同時整個網(wǎng)絡(luò)上會因此而充滿大量的以太網(wǎng)廣播,,我想這事誰也不愿看到的,。RG Router的內(nèi)網(wǎng)口上 arp gratuitous interval xx 的配置實際上就是定期向網(wǎng)內(nèi)發(fā)送 arp Response;
綜上,,可以得出結(jié)論,,對于內(nèi)網(wǎng)主機的ARP欺騙,作為路由器本身基本上是無能為力的,,至少效果非常有限,。所以在對付ARP欺騙的時候,PC還是乖乖的進行靜態(tài)ARP綁定措施,。比如在PC機上配置autoexec.bat批處理文件:
@echo off
Arp –d
Arp –s 192.168.1.1 00-d0-0f-23-44-89
使得在PC機上能夠靜態(tài)綁定網(wǎng)關(guān)的正確MAC地址,,防止網(wǎng)關(guān)欺騙;
在RG 2126G交換機上可以采用在端口下,,anti-arp-spoofing ip xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx是網(wǎng)關(guān)地址,;RG 2126G將阻止源IP是本網(wǎng)段網(wǎng)關(guān)地址的報文從這個端口進入;達到防止該端口上連接的PC發(fā)出對其它PC進行網(wǎng)關(guān)欺騙的ARP Response,、ARP Request報文,;
4.4.2 避免ARP欺騙路由器
跟PC的情況不同,由于路由器,、Layer 3 Switch是一款三層設(shè)備,,幾乎沒有什么上層應(yīng)用會跟內(nèi)網(wǎng)主機直接通訊,所以它的ARP表項通常不是主動請求獲得的,,而是被動學(xué)習(xí)到的,,比如收到ARP Request或者免費的ARP Response前者是正常情況,不在我們討論范圍之內(nèi),;而后者就是ARP Cheater欺騙網(wǎng)關(guān)路由器的手段,。
還是分為兩個階段來分析:
1、ARP欺騙發(fā)生時
通常情況下下,,ARP Cheater是通過單播性質(zhì)的免費ARP Response把錯誤的主機ARP信息強制通告路由器,、Layer 3 Switch的,而且由于內(nèi)網(wǎng)的主機數(shù)量眾多,,路由器,、Layer 3 Switch每次會收到大量的免費ARP Response單播報文。它們的Sender Internet Addr分別是局域網(wǎng)的主機IP地址,,但是Sender Hardware Addr卻都是ARP Cheater的網(wǎng)卡MAC地址,。
顯然,路由器,、Layer 3 Switch完全可以通過免費ARP Response報文的特征來確定欺騙是否發(fā)生,,但當(dāng)確定的同時,,ARP欺騙的結(jié)果是已經(jīng)造成了的。
2,、ARP欺騙發(fā)生后
由于路由器,、Layer 3 Switch的ARP表項是被動學(xué)習(xí)的,所以在ARP欺騙發(fā)生之后,,路由器,、Layer 3 Switch必須自己主動的去查詢正確的ARP信息,方法恐怕只有一種:就是根據(jù)現(xiàn)有ARP表項中的IP地址列表,,強制性的逐一發(fā)送ARP Request,,通過對方的Response信息來更新校正自己的ARP Table。顯然這個工作量是很大的,。尤其是在ARP Cheater的欺騙非常頻繁的時候,,路由器、Layer 3 Switch的ARP“自我校正”機制顯得太蒼白無力了,。
4.5 應(yīng)對ARP欺騙的其他方法
從前面的分析來看,,單純的通過ARP機制本身來防止ARP欺騙,幾乎是不可能完成的任務(wù),。那么還有什么方法來避免呢,?
4.5.1 硬件角度
路由器畢竟是一種三層設(shè)備,對于ARP二層協(xié)議的支持和處理總是有限的,;我們是否可以從局域網(wǎng)交換機來入手呢,?
因為ARP發(fā)生之后的結(jié)果(錯誤的ARP信息)是存儲在網(wǎng)關(guān)路由器和主機中的,跟交換機沒有任何關(guān)系,,所以要通過交換機來處理,,重點就是一個字:“防”。從前面的分析來看,,無論怎樣欺騙,,其關(guān)鍵的特征就是發(fā)送免費ARP Response報文,而且ARP字段的Sender信息與其自身MAC地址不相符合,,如果二層以太網(wǎng)交換機能夠進行ARP報文合法性的判斷,,那么就自然可以進行相應(yīng)的屏蔽了;
這個技術(shù)看起來不是很難事先,,但涉及到交換機ASIC芯片的支持和軟件功能的增加,,其可行性和性價比還需要考證;同時需要把寬帶路由器和交換機作為一個整體推給使用者?,F(xiàn)在銳利網(wǎng)絡(luò)在網(wǎng)吧等寬帶市場中的路由交換一體化解決方案就是基于這個原理的,。
這種思路應(yīng)該可以從源頭上解決ARP欺騙的發(fā)生,但對于交換機的要求比較高,,不僅是功能方面,,還同時涉及到性能,、穩(wěn)定性和性價比等特性。
在RG 27,、29系列交換機上就是從硬件架構(gòu)上進行設(shè)計,,使得交換機能夠根據(jù)報文類型,比如對報文類型Type是0X0806的ARP報文會檢查其Source IP和Source MAC,,根據(jù)在該端口上綁定的IP地址與相應(yīng)的MAC地址來將攻擊者的欺騙性ARP Response過濾掉,,從而達到從根源上防止了ARP Attacking的實現(xiàn);
4.5.2 軟件角度
單純的利用ARP特性是解決不了ARP欺騙的問題的,,那么在軟件上還有什么出路呢?方法還是有的,,可以看一下艾泰的解決方案:
既然ARP欺騙最終影響的是ARP表項的內(nèi)容,,而表中的內(nèi)容又是動態(tài)學(xué)習(xí)的,所以ARP機制才不安全,,那么我為何不摒棄ARP自動學(xué)習(xí)這種機制呢,?當(dāng)然我們說的不是進行手工靜態(tài)ARP綁定。其具體處理方法是把ARP表項的相關(guān)信息放到NAT的表項中一起處理,。
原來NAT表項中的主要內(nèi)容有:NAT轉(zhuǎn)換前源IP地址,、轉(zhuǎn)換前源TCP/UDP端口、轉(zhuǎn)換后源IP地址,、轉(zhuǎn)換后TCP/UDP端口,、目的IP地址、目的端口等6項信息,,而轉(zhuǎn)換前IP地址和MAC地址的對應(yīng)關(guān)系是靠ARP的動態(tài)學(xué)習(xí)機制來實現(xiàn)的,。
現(xiàn)在,NAT表項的內(nèi)容調(diào)整為:NAT轉(zhuǎn)換前源IP地址,、轉(zhuǎn)換前源MAC地址,、轉(zhuǎn)換前源TCP/UDP端口、轉(zhuǎn)換后源IP地址,、轉(zhuǎn)換后TCP/UDP端口,、目的IP地址、目的端口等7項信息,。這個新增加的源MAC地址可以不作為NAT判斷的依據(jù),,其作用是讓數(shù)據(jù)包從公網(wǎng)一側(cè)回到路由器,經(jīng)過NAT轉(zhuǎn)換之后,,能夠送回到正確的PC主機,。
那么如何才能保證PC主機的數(shù)據(jù)包不受ARP欺騙的影響,正確的送到路由器呢,?很簡單,,進行手工的靜態(tài)ARP綁定,。前面分析過,對于ARP欺騙PC主機的情況,,路由器是無能為力的,。
這樣,PC可以根據(jù)靜態(tài)(正確)的ARP信息把數(shù)據(jù)包發(fā)到網(wǎng)關(guān)路由器,,路由器在記錄必要的信息轉(zhuǎn)存為NAT cache的時候,,把該以太網(wǎng)幀的源MAC地址也異同記錄,寫到NAT cache中,,作為數(shù)據(jù)包返回時的參考,。
這種方式的優(yōu)點是不用一來交換機,避免ARP的欺騙,,但PC主機還是需要進行手工的ARP綁定,。可以說這是“硬件角度”的一種折中方案,。其缺點是NAT存儲和判斷的因素較多,,必然影響性能;而且這種機制只能避免PC和路由器之間的通信免受ARP欺騙的干擾,,對于PC與PC之間的通訊則無能為力了,。
4.5.3 消極角度
什么是消極角度?簡單的說就是沒有辦法了,,我不用ARP了,,那么在以太網(wǎng)中怎么通訊?PPPoE,!在理論上,,這的確可以完全規(guī)避ARP的問題,但在實際應(yīng)用的時候,,需要讓路由器來充當(dāng)PPPoE服務(wù)器,,這樣所有局域網(wǎng)通訊的流量都要經(jīng)過路由器進行三層轉(zhuǎn)發(fā)。對于路由器的處理壓力可想而知――不過確實有這種網(wǎng)絡(luò)的實際案例,,比如ISP的運維辦公網(wǎng),,但他們使用PPPoE的目的更重要的是為了網(wǎng)絡(luò)信息安全和管理。
4.6 建議
對于ARP欺騙,,僅僅從ARP本身恐怕是沒有什么好的解決方案的,,要解決或避免ARP欺騙的問題,需要動一番手術(shù)的,。
而對于普通的ARP沖突,,我到時覺得還可以加強一下:
u 路由器、Layer 3 Switch在確認網(wǎng)絡(luò)中有IP沖突后,,會立刻發(fā)送1個免費ARP Request,,用以確定沖突已經(jīng)消失,,如果沖突繼續(xù)存在,則強制發(fā)送1個免費ARP Response,。
ü 是否可以考慮延時一個時間段再發(fā)送免費ARP Request,?用以避免Windows主機沒有及時處理處于“非正常”狀態(tài)的情況,;
ü 其次,,如果沖突繼續(xù)存在,發(fā)送1次ARP Response,;更合理的應(yīng)該是重復(fù)進行免費ARP Request探測,,沖突存在則強制進行免費ARP Response通報,直到?jīng)_突消失,。
4.7 總結(jié)
在主要的兩類ARP問題中,,一般的非惡意地址沖突不會對路由器、Layer 3 Switch造成實質(zhì)性的影響,。而對于各種目的的ARP欺騙機制,無論是從預(yù)防還是后期干預(yù)上,,路由器都沒有直接有效的手段,?
雖然現(xiàn)在可以使用雙向的靜態(tài)ARP來避免ARP欺騙帶來的影響,但就實施和后期的維護來看,,都非常的不方便,,而且也未嘗容易出錯。
比較好的出路在于從硬件結(jié)構(gòu)上對交換機進行改良,,實現(xiàn)成本與功能的平衡,,才是防止ARP問題的根本之路。

本文出自 “探尋解決方案營銷的奧秘” 博客,,請務(wù)必保留此出處http://jimqu.blog.51cto.com/105370/108798

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多