在IPv6" title="IPv6">IPv6網(wǎng)絡(luò)中,由于使用ND協(xié)議" title="ND協(xié)議">ND協(xié)議代替了IPv4中的ARP協(xié)議" title="ARP協(xié)議">ARP協(xié)議,以及對(duì)用戶的身份認(rèn)證方面需要針對(duì)用戶的IPv6地址進(jìn)行處理,所以在IPv6的接入層安全技術(shù)相比在IPv4網(wǎng)絡(luò)中,必須進(jìn)行更新,使之能夠滿足在IPv6網(wǎng)絡(luò)中使用的要求。并且,IPv6的接入層安全技術(shù)應(yīng)能夠與IPv4的接入層安全技術(shù)共存,滿足在IPv6/IPv4雙棧網(wǎng)絡(luò)中的要求。
在園區(qū)網(wǎng)部署中,接入層的安全防護(hù)問題是一項(xiàng)很重要的部署考慮,在該問題上,主要考慮協(xié)議安全及用戶身份安全兩個(gè)部分。
協(xié)議安全:使用IPv4的園區(qū)網(wǎng)進(jìn)行部署的時(shí)候,必須考慮ARP攻擊的問題,防止網(wǎng)絡(luò)中出現(xiàn)ARP欺騙及ARP泛洪帶來(lái)的網(wǎng)絡(luò)性能及可靠性問題。在部署IPv6后,要考慮使用ND協(xié)議帶來(lái)的接入層安全風(fēng)險(xiǎn)。
用戶身份安全:采用802.1X認(rèn)證,確保接入網(wǎng)絡(luò)的用戶身份的可靠性,在部署了IPv6的網(wǎng)絡(luò)中,為了確認(rèn)接入用戶的身份信息,同樣需要進(jìn)行用戶身份認(rèn)證。同時(shí),為了后續(xù)對(duì)用戶的接入信息進(jìn)行綁定或?qū)徲?jì)等操作,認(rèn)證客戶端需要收集能夠標(biāo)識(shí)用戶身份的信息,包括用戶的登錄名,IP地址等內(nèi)容,上傳到認(rèn)證服務(wù)器。
一、ND協(xié)議安全
在IPv4網(wǎng)絡(luò)中,針對(duì)ARP攻擊問題,大部分的網(wǎng)絡(luò)設(shè)備廠商都推出了各自的ARP防攻擊解決方案,在很大程度上解決了ARP攻擊的問題。伴隨著IPv6網(wǎng)絡(luò)的建設(shè),在IPv6協(xié)議族中的NDP協(xié)議越來(lái)越被重視,而在ND協(xié)議的設(shè)計(jì)與ARP協(xié)議一樣并未提供認(rèn)證機(jī)制,導(dǎo)致網(wǎng)絡(luò)中的主機(jī)是不可信的,從而使得針對(duì)ND協(xié)議的攻擊非常容易。
1. ND協(xié)議的功能介紹
ND協(xié)議,全稱為鄰居發(fā)現(xiàn)協(xié)議(Neighbor Discovery Protocol),是IPv6的關(guān)鍵協(xié)議之一,可以說,ND協(xié)議是IPv4某些協(xié)議在IPv6中綜合起來(lái)的升級(jí)和改進(jìn),如ARP、ICMP路由器發(fā)現(xiàn)和ICMP重定向等協(xié)議。當(dāng)然,作為IPv6的基礎(chǔ)性協(xié)議,ND還提供了其他功能,如前綴發(fā)現(xiàn)、鄰居不可達(dá)檢測(cè)、重復(fù)地址檢測(cè)、地址自動(dòng)配置等。
1) ND協(xié)議的主要報(bào)文類型ND協(xié)議定義的報(bào)文使用ICMP承載,其類型包括:路由器請(qǐng)求報(bào)文、路由器通告報(bào)文、鄰居請(qǐng)求報(bào)文、鄰居通告報(bào)文和重定向報(bào)文。在本文中,我們主要關(guān)注ND協(xié)議發(fā)生攻擊的情況,對(duì)ND的報(bào)文種類只做簡(jiǎn)要描述:
●路由器請(qǐng)求(RS):主機(jī)啟動(dòng)后,通過RS消息向路由器發(fā)出請(qǐng)求,期望路由器立即發(fā)送RA消息響應(yīng)。從而獲取網(wǎng)絡(luò)中的配置信息,包括網(wǎng)關(guān)地址,網(wǎng)絡(luò)前綴,鏈路MTU等信息。
● 路由器通告(RA):RA報(bào)文用于對(duì)RS報(bào)文進(jìn)行回應(yīng)。網(wǎng)關(guān)也可以通過周期性的在鏈路范圍內(nèi)組播RA報(bào)文,是同一鏈路范圍內(nèi)的主機(jī)獲取相同的網(wǎng)絡(luò)配置信息。這些配置信息包括:主機(jī)的地址獲取方式;網(wǎng)絡(luò)中的前綴信息;網(wǎng)絡(luò)中的PMTU信息;網(wǎng)絡(luò)中的網(wǎng)關(guān)信息等。
●鄰居請(qǐng)求報(bào)文(NS):NS消息與NA消息配合實(shí)現(xiàn)鄰居的鏈路層地址獲取、檢查鄰居是否可達(dá)、重復(fù)地址檢測(cè)等功能。
●鄰居通告報(bào)文(NA):NA報(bào)文是主機(jī)對(duì)NS的響應(yīng)報(bào)文,同時(shí)主機(jī)在鏈路層地址變化時(shí)也可以主動(dòng)發(fā)送NA消息,以通知相鄰節(jié)點(diǎn)自己的鏈路層地址或者角色發(fā)生改變。
2) ND協(xié)議主要功能介紹ND協(xié)議中,主要新增加了RA,RS兩種報(bào)文,這兩種報(bào)文的增加,使得在主機(jī)側(cè)能夠通過接收RA報(bào)文,獲取網(wǎng)絡(luò)中的配置參數(shù),更加方便的進(jìn)行網(wǎng)絡(luò)的部署和管理。在地址解析,重復(fù)地址檢查等功能上,ND協(xié)議與ARP協(xié)議沒有過多的區(qū)別。
●路由器發(fā)現(xiàn)
路由器發(fā)現(xiàn)是指主機(jī)怎樣定位本地鏈路上路由器和確定其配置信息的過程,主要包含查詢?nèi)笔【W(wǎng)關(guān)、前綴發(fā)現(xiàn)及參數(shù)發(fā)現(xiàn)三方面的內(nèi)容。
●地址解析
地址解析是指某節(jié)點(diǎn)在知道目的節(jié)點(diǎn)IP地址的情況下,確定目的鏈路層地址的過程。
當(dāng)一個(gè)節(jié)點(diǎn)需要得到同一本地鏈路上另外一個(gè)節(jié)點(diǎn)的鏈路層地址時(shí),需要進(jìn)行地址解析,該機(jī)制類似于IPv4中的ARP。 ND協(xié)議用NS和NA報(bào)文完成IPv6地址到鏈路層地址的解析,解析后的鏈路層地址和IP地址等信息用來(lái)建立節(jié)點(diǎn)的一個(gè)鄰居緩存表項(xiàng)。
●鄰居不可達(dá)檢測(cè)
鄰居不可達(dá)檢測(cè)是節(jié)點(diǎn)如何確定鄰居不可達(dá)狀態(tài)的過程。
ND協(xié)議用NS和NA報(bào)文來(lái)驗(yàn)證鄰居節(jié)點(diǎn)的可達(dá)性。節(jié)點(diǎn)在確定鄰居的鏈路層地址后,跟蹤?quán)従泳彺姹淼臓顟B(tài),定時(shí)發(fā)送NS報(bào)文,如果鄰居在規(guī)定的可達(dá)時(shí)間內(nèi)(缺省值為30秒)不能接收或者發(fā)送返回的報(bào)文,則刪除此鄰居緩存表項(xiàng)。
鄰居的可達(dá)性并不能說明端到端的可達(dá)性。因?yàn)橄噜徆?jié)點(diǎn)可能是主機(jī)或者路由器,所以相鄰節(jié)點(diǎn)并不一定就是數(shù)據(jù)包的最終目標(biāo)。NUD檢測(cè)僅僅驗(yàn)證了到目標(biāo)路徑上第一跳的可達(dá)性狀態(tài)。
●重復(fù)地址檢測(cè)
重復(fù)地址檢測(cè)是節(jié)點(diǎn)確定即將使用的地址是否被另一節(jié)點(diǎn)使用的過程。
在節(jié)點(diǎn)自動(dòng)配置某個(gè)接口的IPv6單播地址之前,必須在本地鏈路范圍內(nèi)驗(yàn)證要使用的臨時(shí)地址是唯一的,并且未被其他節(jié)點(diǎn)使用過。
只要NS報(bào)文發(fā)送到本地鏈路上(缺省發(fā)送一次NS報(bào)文),如果在規(guī)定時(shí)間內(nèi)沒有NA報(bào)文進(jìn)行應(yīng)答,則認(rèn)為這個(gè)臨時(shí)單播地址在本地鏈路上是唯一的,可以分配給接口;反之,這個(gè)臨時(shí)地址是重復(fù)的,不能使用此地址。
2. ND常見攻擊介紹
由于ND協(xié)議擴(kuò)展了ARP協(xié)議的功能,而沒有對(duì)其進(jìn)行安全性的擴(kuò)展,所以在IPv6的網(wǎng)絡(luò)中,ND協(xié)議仍然面臨原有ARP協(xié)議的風(fēng)險(xiǎn),同時(shí),在ND協(xié)議中新增的RA,RS報(bào)文,雖然簡(jiǎn)化了網(wǎng)絡(luò)管理的工作,但引入了新的風(fēng)險(xiǎn)。
在IPv6的接入層ND防攻擊中,除了要關(guān)注同ARP共有的地址欺騙攻擊及DAD攻擊外,特別需要關(guān)注針對(duì)RA的攻擊。
1) 地址欺騙攻擊地址欺騙攻擊與IPv4中ARP攻擊的方式類似,攻擊者可以使用RS/NS/NA報(bào)文來(lái)修改受害主機(jī)或網(wǎng)關(guān)上受害主機(jī)的MAC地址,造成受害主機(jī)無(wú)法與網(wǎng)絡(luò)進(jìn)行正常的通信
圖1 RS/NS/NA仿冒攻擊示意圖
如圖1所示,攻擊者能夠偽造NS/NA報(bào)文,發(fā)送給網(wǎng)關(guān)或受害主機(jī),通過這種方式來(lái)對(duì)網(wǎng)關(guān)上受害主機(jī)的MAC地址或受害主機(jī)上的特定的MAC地址進(jìn)行修改,造成了受害用戶無(wú)法接收到正常的數(shù)據(jù)報(bào)文。
另外,攻擊者B能夠利用虛假的NA/RS/NS報(bào)文,對(duì)正常用戶及網(wǎng)關(guān)中的ND緩存進(jìn)行改寫,造成正常用戶之間無(wú)法互訪及網(wǎng)關(guān)無(wú)法向正確的用戶專發(fā)報(bào)文等一系列的網(wǎng)絡(luò)故障。

圖2 DAD攻擊示意圖


Detection從前文的描述,我們知道,在局域網(wǎng)中ARP或ND攻擊的根本原因是無(wú)法對(duì)所交互的ARP或ND報(bào)文進(jìn)行驗(yàn)證,從而無(wú)法得知正確的用戶IP、MAC、端口的綁定信息,所以無(wú)法對(duì)異常的ND報(bào)文進(jìn)行過濾,使得網(wǎng)絡(luò)中可能發(fā)生ARP/ND攻擊。
Detection技術(shù)結(jié)合綁定表項(xiàng)對(duì)ND報(bào)文進(jìn)行過濾,能夠更好的防御ND攻擊。
2) RA Trust與DHCP TrustRA Trust與DHCP
Trust的功能不同,但是思路是相同的,管理員可以在相應(yīng)的連接DHCP服務(wù)器或網(wǎng)關(guān)的接口上進(jìn)行配置,通過手工指定連接DHCP服務(wù)器與連接發(fā)送RA的設(shè)備的接口(通常是網(wǎng)關(guān)),能夠避免網(wǎng)絡(luò)中DHCP報(bào)文與RA報(bào)文的任意發(fā)送。當(dāng)進(jìn)行了RA
Trust與DHCP Trust后,DHCP的服務(wù)器端報(bào)文與RA報(bào)文只能從配置了TRUST的端口進(jìn)入,避免了DHCP服務(wù)器欺騙與RA攻擊,提升了局域網(wǎng)安全性。
snooping表項(xiàng)達(dá)到允許學(xué)習(xí)的最大數(shù)目后,將不允許新增動(dòng)態(tài)學(xué)習(xí)表項(xiàng),以保證當(dāng)一個(gè)接口所接入的某一臺(tái)主機(jī)發(fā)起ND攻擊時(shí)不會(huì)導(dǎo)致整個(gè)設(shè)備的ND
Snooping表資源都被耗盡。
Detection技術(shù),對(duì)非法報(bào)文進(jìn)行過濾,提高了用戶側(cè)ND報(bào)文的可信性及安全性,防止網(wǎng)絡(luò)出現(xiàn)地址欺騙及DAD造成的攻擊。配合DHCP Trust與RA
Trust功能,禁止非法的DHCP報(bào)文與RA報(bào)文發(fā)送,防止了針對(duì)RA的攻擊。通過限制ND
snooping表項(xiàng)的學(xué)習(xí)數(shù)量,避免的對(duì)設(shè)備的DoS攻擊。通過提供了一套完整的ND防攻擊解決方案,提高了用戶接入層的ND安全水平。
圖5 客戶端IP地址上傳