???? 1.ARP協(xié)議簡介 ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在以太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。它是通過地址解析協(xié)議(AddressResolution Protoco,l ARP)獲得的。ARP協(xié)議是一個網絡層子協(xié)議,它用于將網絡中的IP地址解析為硬件地址(MAC地址),以保證通信的順利進行。 2.ARP協(xié)議的工作原理 在每臺安裝有TCP/IP協(xié)議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應的,如表1所示。 表1 IP地址與MAC地址對照表 以主機H(192. 168. 1. 5)向主機A(192. 168. 1.1)發(fā)送數(shù)據(jù)為例。當發(fā)送數(shù)據(jù)時,主機H會在自己的ARP緩存表中尋找是否有目標IP地址。如果找到了,也就知道了目標MAC地址,直接把目標MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址,主機H就會在網絡上發(fā)送一個廣播,目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段內的所有主機發(fā)出這樣的詢問:192. 168. 1. 1的MAC地址是什么。網絡上其他主機并不響應ARP詢問,只有主機A接收到這個幀時,才向主機H做出這樣的回應: 192. 168. 1. 1的MAC地址是00-aa-00-62-c6-09。這樣,主機H就知道了主機A的MAC地址,它就可以向主機A發(fā)送信息了。同時它還更新了自己的ARP緩存表,下次再向主機A發(fā)送信息時,直接從ARP緩存表里查找就可以了。

ARP協(xié)議安全缺陷。在TCP/IP協(xié)議的網絡環(huán)境下, ARP工作時,送出一個含有所希望的IP地址的以太網廣播數(shù)據(jù)報。一個IP數(shù)據(jù)報走到哪里,要怎么走主要是靠路由表定義。但是,當IP數(shù)據(jù)包到達該網絡后,哪臺機器響應這個IP包卻是靠該IP包中所包含的硬件MAC地址來識別。也就是說,只有機器的硬件MAC地址和該IP包中的硬MAC地址相同的機器才會應答這個IP包,所以,在每臺主機的內存中,都有一個ARP→硬件MAC地址的轉換表。通常是動態(tài)的轉換表(該ARP表可以手工添加靜態(tài)條目)。 ARP欺騙原理。典型的ARP欺騙過程如下: 假設局域網分別有IP地址為192.168.1.1、192.168.1.2和192.168.1.3的A、B、C三臺主機,假如A和C之間正在進行通訊,此時B向A發(fā)送一個自己偽造的ARP應答,而這個應答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.1.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB,當A接收到B偽造的ARP應答,就會更新本地的ARP緩存,這時B就偽裝成C了。同時,B同樣向C發(fā)送一個ARP應答,應答包中為發(fā)送方IP地址192.168.1.1(A的IP地址),MAC地址BB-BB-BB-BB-BB-BB(A的MAC地址本來應該是AA-AA-AA-AA-AA-AA),當C收到B偽造的ARP應答,也會更新本地ARP緩存,這時B又偽裝成了A。這時主機A和C都被主機B欺騙,A和C之間通訊的數(shù)據(jù)都經過了B,主機B完全劫持目標主機與其他主機的會話。 ARP欺騙一般分為兩種:主機型ARP欺騙。欺騙過程:A欺騙B,A告訴B,我(A)就是C,當然告訴的是真IP地址和假MAC地址,使B不能與C連接。若C是網關,B就不能上外網Internet了。 網關型ARP欺騙。欺騙過程:B充當中間人角色向兩個方向發(fā)送ARP欺騙包,使A的上網數(shù)據(jù)包經過B再到C,又使C的返回數(shù)據(jù)經過B再到A,卡在中間,以達到竊取數(shù)據(jù)的目的。B發(fā)送ARP欺騙包給A,B告訴A,我(B)就是網關;同時,B又發(fā)送ARP欺騙包給真正的網關C,告訴真正的網關C,我(B)就是A,這樣B就欺騙了雙方,接著B通過劫持A和C之間的通信會話,就可以竊聽數(shù)據(jù)了。 從影響網絡連接通暢的方式來看,ARP欺騙分為兩種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。 3.ARP欺騙防范措施 建立DHCP服務器,另外所有客戶機的IP地址及其相關主機信息,只能由網關這里取得,網關這里開通DHCP服務,但是要給每個網卡,綁定固定唯一IP地址。一定要保持網內的機器IP/MAC一一對應的關系。這樣客戶機雖然是DHCP取地址,但每次開機的IP地址都是一樣的或手工清除PC和網關ARP表項,從新學習正確的ARP信息。ARP欺騙發(fā)生后的PC和網關設備的ARP表被篡改了,這樣我們可以通過手工方式來清除ARP表項,然后讓雙方重新學習。 主機:arp–d 網關:clear arp。 建立MAC數(shù)據(jù)庫,把局域網內所有網卡的MAC地址記錄下來,每個MAC和IP、地理位置統(tǒng)統(tǒng)裝入數(shù)據(jù)庫,以便及時查詢備案,PC機上靜態(tài)綁定網關MAC地址,防止對主機的欺騙。在主機上可以使用靜態(tài)的ARP綁定網關的IP地址和網關的MAC地址,比如在PC機上配置autoexec.bat批處理文件:[email?protected] off arp–d arp–s主機ip地址主機mac地址//mac地址格式為xx-xx- xx-xx-xx-xx。 網關機器關閉ARP動態(tài)刷新的過程,使用靜態(tài)路由,這樣的話,即使ARP欺騙攻擊網關的話,對網關也是沒有用的,因此可以確保主機安全。網關建立靜態(tài)IP/MAC捆綁的方法是:建立/etc/ethers文件,其中包含正確的IP/MAC對應關系,格式如下: 192. 168. 2. 32 08: 00: 4E:B0: 24: 47然后在/etcrc. d/rc. local最后添加: arp -f生效即可。 網關監(jiān)聽網絡安全。網關上面使用抓包程序截取每個ARP程序包,用腳本分析軟件分析這些ARP協(xié)議。ARP欺騙攻擊的包一般有以下兩個特點,滿足之一可視為攻擊包報警:以太網數(shù)據(jù)包頭的源地址、目標地址和ARP數(shù)據(jù)包的協(xié)議地址不匹配,或者ARP數(shù)據(jù)包的發(fā)送和目標地址不在自己網絡網卡MAC數(shù)據(jù)庫內,或者與自己網絡MAC數(shù)據(jù)庫MAC/IP不匹配。這些統(tǒng)統(tǒng)第一時間報警,查這些數(shù)據(jù)包(以太網數(shù)據(jù)包)的源地址(也有可能偽造),就大致知道哪臺機器在發(fā)起攻擊了。 使用支持端口隔離的二層交換機。通過端口隔離特性,可以將不同用戶的端口劃分到同一個VLAN,不同用戶之間不能互通,從而增強了網絡的安全性,阻止了ARP病毒源的機器對網絡的影響,提供了靈活的組網方案,同時節(jié)省了大量的VLAN資源。 安裝殺毒軟件,及時升級病毒庫,定期全網殺毒。 參考文獻: [1]陳 明.網絡協(xié)議教程[M].北京:清華大學出版社, 2004 [2]楊義先等.網絡安全理論與技術[M].北京:人民郵電出版社2003 [3]龔 儉,楊 望.計算機網絡安全導論(第二版)[M].南京:東南大學版社, 2007
愛華網



