引言:本文通過分析了ARP(Address Resolution Protocol)協(xié)議的漏洞,ARP攻擊的原理,提出了三種ARP欺騙攻擊的解決方案。在ARP攻擊發(fā)生時,能夠迅速發(fā)現(xiàn)攻擊源并給出針對性的措施,有效的保證局域網(wǎng)的安全穩(wěn)定運行。
本文通過分析了ARP(Address Reso lution Protocol)協(xié)議的漏洞,ARP攻擊的原理,提出ARP欺騙攻擊的解決方案。在ARP攻擊發(fā)生時,能迅速發(fā)現(xiàn)攻擊源并給出針對性措施,有效保證局域網(wǎng)的安全穩(wěn)定運行。
假設(shè)局域網(wǎng)中A計算機(jī)和B計算機(jī)之間需要進(jìn)行通信,首先A需要知道B的MAC地址,A就會發(fā)送一個ARP協(xié)議的廣播數(shù)據(jù)包,數(shù)據(jù)包的內(nèi)容是請求獲得B的MAC的地址,當(dāng)B收到這個數(shù)據(jù)包是查詢自己的MAC地址時,B就會向A發(fā)送一個RARP協(xié)議的數(shù)據(jù)包告訴A自己的MAC地址,這樣A計算機(jī)就可以與B計算機(jī)進(jìn)行通信了。同時A計算機(jī)將B的IP地址與MAC地址的對應(yīng)關(guān)系寫進(jìn)ARP高速緩存表中,以便以后通信時可以直接進(jìn)行通信而不用重新獲得B計算機(jī)MAC地址。在Window操作系統(tǒng)中一般可以使用cmd命令“arp -a”的命令查看。
ARP協(xié)議在設(shè)計之初沒有考慮安全性問題,在設(shè)備收到ARP數(shù)據(jù)包時并沒有對收到的數(shù)據(jù)包內(nèi)容的真實性進(jìn)行驗證的機(jī)制,且沒有對數(shù)據(jù)的發(fā)送方和接受方做任何的認(rèn)證,這樣在網(wǎng)絡(luò)中可能會存在偽造的ARP數(shù)據(jù)包,導(dǎo)致攻擊的可能性。例如A計算機(jī)和B據(jù)算計進(jìn)行通信,但是C計算機(jī)監(jiān)聽了A計算機(jī)和B計算機(jī)的通信,C計算機(jī)就可以發(fā)送一個虛假的ARP報文告訴A計算機(jī)自己是B計算機(jī),然后C計算機(jī)使用同樣的方法告訴B計算機(jī)自己是A計算機(jī),這樣A計算機(jī)和B計算機(jī)之間的通信就要通過C計算機(jī),而A計算機(jī)和B計算機(jī)并不知道它們的通信經(jīng)過了C計算機(jī)。
由于ARP攻擊對局域網(wǎng)正常安全的運行存在威脅,所以人們使用了各種各樣的防范措施來預(yù)防ARP攻擊的發(fā)生。但這些方法都有自己的優(yōu)缺點和不同的使用范圍,下面就介紹三種常見的ARP攻擊預(yù)防方案。
IP地址和MAC地址綁定預(yù)防ARP的方法優(yōu)點是簡單有效,缺點是綁定配置的工作量巨大、操作繁瑣。
針對由出口路由負(fù)責(zé)管理分配IP地址,可以在網(wǎng)關(guān)直接進(jìn)行綁定,即在網(wǎng)關(guān)的ARP緩存表中添加靜態(tài)項,將終端的IP地址和對應(yīng)的MAC地址進(jìn)行綁定,這種方法相對直觀簡單。另一種是在核心或匯聚設(shè)備上使用命令行進(jìn)行地址綁定,需要一定的網(wǎng)絡(luò)配置經(jīng)驗,操作沒有前者直觀。
網(wǎng)關(guān)綁定后還可在客戶端也進(jìn)行綁定形成雙向綁定,Window操作系統(tǒng) 使 用的是“arp -s”命令。例如我們要將IP地址192.168.1.1和MAC地址00-1E-EC-98-3B-7F進(jìn) 行綁定,在cmd命令行模式下輸入“arp -s 192.168.1.1 00-1E-EC-98-3B-7F”即可。
這種方案是在動態(tài)分配IP地址的環(huán)境中使用的,不需要進(jìn)行繁瑣的IP和MAC地址綁定,但設(shè)備需要支持這些功能。原理是在客戶端動態(tài)獲取IP地址的過程中,通過接入層交換機(jī)的DHCP Snooping功能獲取到正確的IP地址,同時正確的IP與MAC信息記錄到交換機(jī)的DHCP Snooping軟件表;然后通過IP Source Guard功能將DHCP Snooping表的每個終端的IP和MAC信息寫入交換機(jī)的硬件表項(類似端口安全的綁定);最后使用ARP-check功能校驗所有ARP報文的正確性。如果合法用戶獲取IP地址后試圖進(jìn)行ARP欺騙,或者是非法用戶私自配置靜態(tài)的IP地址,他們的ARP校驗都將失敗,這樣的用戶將無法使用網(wǎng)絡(luò)。相關(guān)命令如下:的報文檢測,將DHCP Snooping形成的snooping表寫入地址綁定數(shù)據(jù)庫中。
//開啟該功能后,對于接口收到的ARP報文會檢測ARP報文字段里面的Sender IP及Sender MAC,與地址綁定庫中的IP及MAC進(jìn)行匹配,如果匹配將放行,否則將丟棄該ARP報文。
現(xiàn)在802.1x更多用于局域網(wǎng)的有線接入控制,如大量的學(xué)校使用該協(xié)議用于校園網(wǎng)的認(rèn)證和計費等工作。
802.1x認(rèn)證體系結(jié)構(gòu)包括三個主要組成部分:第一部分是客戶端請求系統(tǒng),包括各個廠商開發(fā)的客戶端;第二部分是認(rèn)證系統(tǒng),通常為支持802.1x協(xié)議的網(wǎng)絡(luò)設(shè)備組成,這樣的設(shè)備也叫網(wǎng)絡(luò)接入服務(wù)器,簡稱NAS;第三部分是認(rèn)證服務(wù)器系統(tǒng),認(rèn)證服務(wù)器是為認(rèn)證系統(tǒng)提供認(rèn)證服務(wù)的實體,一般為RADIUS服務(wù)器,該服務(wù)器可以存儲用戶的信息,并能進(jìn)行賬戶管理等。
基于802.1x協(xié)議的防范方法為:RADIUS綜合認(rèn)證計費管理服務(wù)器在受到客戶端的認(rèn)證請求后,要進(jìn)行一系列的處理,在允許用戶上網(wǎng)的同時記錄用戶合法的IP地址和MAC地址并填入相關(guān)數(shù)據(jù)庫的ARP列表,然后在之后的重認(rèn)證過程中定時通過NAS下發(fā)記錄在數(shù)據(jù)庫中的對應(yīng)該用戶這一網(wǎng)段的ARP列表內(nèi)容,特別是網(wǎng)關(guān)的IP地址和MAC地址,客戶端將收到的ARP列表內(nèi)容寫入本機(jī)的ARP緩存中。通過這種方法用戶和網(wǎng)關(guān)都能夠維持ARP表項的正確性,從而在用戶上網(wǎng)的同時有效的預(yù)防ARP欺騙攻擊。
綜上所述,通過以上介紹的三種ARP防范方案可以發(fā)現(xiàn),每一種方案都有自己的優(yōu)缺點和使用范圍,作為網(wǎng)絡(luò)管理員應(yīng)結(jié)合自己局域網(wǎng)實際情況選擇有利方案,這樣才能有效的防范ARP攻擊,保證網(wǎng)絡(luò)的正常安全運行。