
本文對(duì)于ARP欺騙,提出幾點(diǎn)加強(qiáng)安全防范的措施 。環(huán)境是主機(jī)或者網(wǎng)關(guān)是基于Linux/BSD的 。
一、理論前提
本著“不冤枉好人,不放過(guò)一個(gè)壞人的原則”,先說(shuō)說(shuō)我的一些想法和理論依據(jù) 。首先,大家肯定發(fā)送ARP欺騙包肯定是一個(gè)惡毒的程序自動(dòng)發(fā)送的,正常的TCP/IP網(wǎng)絡(luò)是不會(huì)有這樣的錯(cuò)誤包發(fā)送的 。這就假設(shè),如果犯罪嫌疑人沒(méi)有啟動(dòng)這個(gè)破壞程序的時(shí)候,網(wǎng)絡(luò)環(huán)境是正常的,或者說(shuō)網(wǎng)絡(luò)的ARP環(huán)境是正常的,如果我們能在犯罪嫌疑人啟動(dòng)這個(gè)犯罪程序的第一時(shí)間,一開(kāi)始就發(fā)現(xiàn)了他的犯罪活動(dòng),那么就是人贓俱在,不可抵賴了,因?yàn)閯偛盘岬?,前面網(wǎng)絡(luò)正常的時(shí)候證據(jù)是可信和可依靠的 。好,接下來(lái)我們談?wù)撊绾卧诘谝粫r(shí)間發(fā)現(xiàn)他的犯罪活動(dòng) 。
ARP欺騙的原理如下:
假設(shè)這樣一個(gè)網(wǎng)絡(luò),一個(gè)Hub接了3臺(tái)機(jī)器
HostA HostB HostC 其中
A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
正常情況下 C:arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 CC-CC-CC-CC-CC-CC dynamic
現(xiàn)在假設(shè)HostB開(kāi)始了罪惡的ARP欺騙:
B向A發(fā)送一個(gè)自己偽造的ARP應(yīng)答,而這個(gè)應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本來(lái)應(yīng)該是CC-CC-CC-CC-CC-CC,這里被偽造了) 。當(dāng)A接收到B偽造的ARP應(yīng)答,就會(huì)更新本地的ARP緩存(A可不知道被偽造了) 。而且A不知道其實(shí)是從B發(fā)送過(guò)來(lái)的,A這里只有192.168.10.3(C的IP地址)和無(wú)效的DD-DD-DD-DD-DD-DD mac地址,沒(méi)有和犯罪分子B相關(guān)的證據(jù),哈哈,這樣犯罪分子豈不樂(lè)死了 。
現(xiàn)在A機(jī)器的ARP緩存更新了:
C:>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 DD-DD-DD-DD-DD-DD dynamic
這可不是小事 。局域網(wǎng)的網(wǎng)絡(luò)流通可不是根據(jù)IP地址進(jìn)行,而是按照MAC地址進(jìn)行傳輸 ?,F(xiàn)在192.168.10.3的MAC地址在A上被改變成一個(gè)本不存在的MAC地址 ?,F(xiàn)在A開(kāi)始Ping 192.168.10.3,網(wǎng)卡遞交的MAC地址是DD-DD-DD-DD-DD-DD,結(jié)果是什么呢?網(wǎng)絡(luò)不通,A根本不能Ping通C!!
所以,局域網(wǎng)中一臺(tái)機(jī)器,反復(fù)向其他機(jī)器,特別是向網(wǎng)關(guān),發(fā)送這樣無(wú)效假冒的ARP應(yīng)答信息包,NND,嚴(yán)重的網(wǎng)絡(luò)堵塞就開(kāi)始了!網(wǎng)吧管理員的噩夢(mèng)開(kāi)始了 。我的目標(biāo)和任務(wù),就是第一時(shí)間,抓住他 。不過(guò)從剛才的表述好像犯罪分子完美的利用了以太網(wǎng)的缺陷,掩蓋了自己的罪行 。但其實(shí),以上方法也有留下了蛛絲馬跡 。盡管,ARP數(shù)據(jù)包沒(méi)有留下HostB的地址,但是,承載這個(gè)ARP包的ethernet幀卻包含了HostB的源地址 。而且,正常情況下ethernet數(shù)據(jù)幀中,幀頭中的MAC源地址/目標(biāo)地址應(yīng)該和幀數(shù)據(jù)包中ARP信息配對(duì),這樣的ARP包才算是正確的 。如果不正確,肯定是假冒的包,可以提醒!但如果匹配的話,也不一定代表正確,說(shuō)不定偽造者也考慮到了這一步,而偽造出符合格式要求,但內(nèi)容假冒的ARP數(shù)據(jù)包 。不過(guò)這樣也沒(méi)關(guān)系,只要網(wǎng)關(guān)這里擁有本網(wǎng)段所有MAC地址的網(wǎng)卡數(shù)據(jù)庫(kù),如果和Mac數(shù)據(jù)庫(kù)中數(shù)據(jù)不匹配也是假冒的ARP數(shù)據(jù)包 。也能提醒犯罪分子動(dòng)手了 。
二、防范措施
1. 建立DHCP服務(wù)器(建議建在網(wǎng)關(guān)上,因?yàn)镈HCP不占用多少CPU,而且ARP欺騙攻擊一般總是先攻擊網(wǎng)關(guān),我們就是要讓他先攻擊網(wǎng)關(guān),因?yàn)榫W(wǎng)關(guān)這里有監(jiān)控程序的,網(wǎng)關(guān)地址建議選擇192.168.10.2 ,把192.168.10.1留空,如果犯罪程序愚蠢的話讓他去攻擊空地址吧),另外所有客戶機(jī)的IP地址及其相關(guān)主機(jī)信息,只能由網(wǎng)關(guān)這里取得,網(wǎng)關(guān)這里開(kāi)通DHCP服務(wù),但是要給每個(gè)網(wǎng)卡,綁定固定唯一IP地址 。一定要保持網(wǎng)內(nèi)的機(jī)器IP/MAC一一對(duì)應(yīng)的關(guān)系 。這樣客戶機(jī)雖然是DHCP取地址,但每次開(kāi)機(jī)的IP地址都是一樣的 。
推薦閱讀
- 如何消除局域網(wǎng)遺留共享痕跡 如何消除局域網(wǎng)遺留共享痕跡記錄
- 局域網(wǎng)的共享與安全設(shè)置知識(shí) 局域網(wǎng)共享設(shè)置方法
- 局域網(wǎng)故障怎么排除出來(lái) 局域網(wǎng)故障怎么排除
- 如何在局域網(wǎng)上把自己隱藏起來(lái) 局域網(wǎng)隱藏自己ip和電腦
- 在局域網(wǎng)查看IP與MAC地址的方法
- PearPC圓了PC用戶的夢(mèng)--PC安裝Mac OS
- PearPC實(shí)現(xiàn)你的Mac OS X 夢(mèng)想
- PearPC讓PC和Mac OS X親密接觸
- 獨(dú)辟蹊徑:實(shí)現(xiàn)Linux下的局域網(wǎng)遠(yuǎn)程接入
- Linux系統(tǒng)平臺(tái)下架建個(gè)人藍(lán)牙局域網(wǎng)方法
