自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何避免IPv6“友鄰發(fā)現(xiàn)”威脅?

安全
IPv6友鄰發(fā)現(xiàn)是IPv6協(xié)議套件的一個(gè)核心部件。如果企業(yè)正著手準(zhǔn)備部署IPv6,那么一定要了解“友鄰發(fā)現(xiàn)(ND)”及其漏洞。

如果企業(yè)正著手準(zhǔn)備部署IPv6,那么一定要了解“友鄰發(fā)現(xiàn)(ND)”及其漏洞。

IPv6友鄰發(fā)現(xiàn)是IPv6協(xié)議套件的一個(gè)核心部件。它可用于IPv6解析和IPv6無狀態(tài)地址自動(dòng)配置。本文主要介紹各種基于友鄰發(fā)現(xiàn)(ND)的攻擊,以及闡述IT管理員如何使用一個(gè)開源IPv6工具套件來評(píng)估所有可能受此類問題影響的安全設(shè)備的有效性。

IPv6友鄰發(fā)現(xiàn)(ND)是IPv6協(xié)議套件的一個(gè)關(guān)鍵組件,它部署在IPv6節(jié)點(diǎn),包含許多的功能:

· IPv6地址解析

· 無狀態(tài)地址自動(dòng)配置

· 重復(fù)地址檢測(cè)

· 友鄰中斷檢測(cè)

IPv6地址解析包括將一個(gè)友鄰節(jié)點(diǎn)的IPv6地址映射到相應(yīng)的鏈路層地址上。在IPv4中,執(zhí)行相同功能的是地址解析協(xié)議(Address Resolution Protocol, ARP)。無狀態(tài)地址自動(dòng)配置(Stateless address autoconfiguration, SLAAC)包括發(fā)現(xiàn)鄰近路由器和獲取用于建立IPv6連接的網(wǎng)絡(luò)配置信息。重復(fù)地址檢測(cè)(Duplicate address detection, DAD)是一個(gè)在部署一個(gè)IPv6網(wǎng)絡(luò)通信地址之前用于檢測(cè)重復(fù)IPv6地址的功能。最后,友鄰中斷檢測(cè)(NUD)可用于評(píng)估一條通向相鄰節(jié)點(diǎn)路徑的可達(dá)性。在遇到節(jié)點(diǎn)中斷時(shí),可以部署一條替代路徑。

友鄰發(fā)現(xiàn)使用互聯(lián)網(wǎng)控制消息協(xié)議v6消息控制它的所有功能;它不同于ARP,后者直接運(yùn)行在底層的鏈路層協(xié)議之上。雖然這種設(shè)計(jì)方式看起來“更整潔一些”(因?yàn)镹D不會(huì)綁定到任何一種鏈路層技術(shù)上),但是這里也包含一些重要影響。例如,任何用于監(jiān)控ND流量或防御ND攻擊的設(shè)備或技術(shù)都必須應(yīng)對(duì)IPv6數(shù)據(jù)包的多樣性及其復(fù)雜性。又例如,IPv6碎片和IPv6擴(kuò)展頭信息就被證實(shí)可能會(huì)影響任何ND安全性、監(jiān)控設(shè)備或技術(shù)。

IPv6地址解析及其工作方式

當(dāng)IPv6數(shù)據(jù)包發(fā)送到本地鏈路時(shí),一個(gè)相鄰節(jié)點(diǎn)的IPv6地址(可以是最終目標(biāo)或中間路由器)需要映射到相應(yīng)的鏈路層地址。

想要搞壞地址解析功能的最簡(jiǎn)單方法是部署nDisc6 IPv6診斷工具的ndisc6工具(開源)。ndisc6工具可以破壞兩個(gè)功能:解析得到的IPv6地址和用于執(zhí)行地址解析的網(wǎng)絡(luò)接口。例如,它可能將IPv6地址fc00:1::1解析為下面的鏈路層地址: 

圖1:解析一個(gè)IPv6地址

一個(gè)IPv6實(shí)現(xiàn)在一個(gè)名為友鄰發(fā)現(xiàn)緩存(與之對(duì)應(yīng)的是IPv4的ARP緩存)中保存著IPv6地址到鏈路層地址的映射列表。在手工評(píng)估一個(gè)節(jié)點(diǎn)是否下載了錯(cuò)誤地址映射(可能由攻擊造成的錯(cuò)誤)的過程中,檢查友鄰緩存是非常有用的。所有IPv6實(shí)現(xiàn)都提供了用于檢測(cè)友鄰緩存的方法或工具。例如,在GNU/Linux系統(tǒng)中,使用“ip”命令就可以檢查友鄰緩存: 

 

圖2:檢查友鄰發(fā)現(xiàn)緩存

結(jié)果中每一行包含一個(gè)IPv6地址、友鄰所在的網(wǎng)絡(luò)接口、相應(yīng)的鏈路層地址、表示地址是否指向一個(gè)路由器的關(guān)鍵字(router)和這個(gè)記錄的狀態(tài)(例如,友鄰是否可達(dá)、映射信息是否失效等)。

在BSD系列操作系統(tǒng)中,則可以使用ndp檢查友鄰緩存的內(nèi)容: 

 

圖3:在BSD系統(tǒng)中檢查友鄰緩存

注意,雖然上面的結(jié)果與Linux有一些不同,但是兩者的信息是基本一致的。

如果有攻擊者能夠在友鄰緩存中加入一些非法映射,那么他就能夠?qū)⒈镜財(cái)?shù)據(jù)包隨意引流到任意節(jié)點(diǎn),然后執(zhí)行中間人(MITM)攻擊或分布式拒絕服務(wù)(DDoS)攻擊。決定最終的攻擊屬于MITM還是DDoS的因素是受攻擊地址映射的目標(biāo)鏈路層地址:如果攻擊者能夠?qū)⑹芄舻腎Pv6地址映射到自己的鏈路層地址,那么他執(zhí)行的就是MITM攻擊。如果他將受攻擊地址映射到一個(gè)不存在的鏈路層地址,那么這就是DDoS攻擊。

另一個(gè)診斷工具是SI6 Networks的IPv6 Toolkit,它是一個(gè)開源IPv6安全評(píng)估和故障修改綜合工具,它支持各種操作系統(tǒng)(包括GNU/Linux、BSD和Mac OS)。它包含許多實(shí)用工具,如可用于發(fā)送偽造友鄰廣告(NA)消息的na6工具。

na6可用于執(zhí)行前面提到的MITM或DDoS攻擊。例如,如果將通向IPv6地址fc00:1::1的所有流量轉(zhuǎn)發(fā)到鏈路層地址11:22:33:44:55:66,攻擊者可以執(zhí)行下面的na6命令:

na6 -i eth0 -W fc00:1::1 -E 11:22:33:44:55:66 -L -v –o

按前面介紹的方法手工檢查友鄰緩存,就可以看到這個(gè)工具對(duì)于ND緩存的攻擊效果。

正如前面所提到的,攻擊者可能利用IPv6擴(kuò)展頭和/或碎片去回避安全控制。因此,如果攻擊者想要繞開一些無法處理整個(gè)IPv6頭信息的安全設(shè)備,那么他可以執(zhí)行下面的命令,發(fā)送一些惡意NA消息:

na6 -i eth0 -W fc00:1::1 -E 11:22:33:44:55:66 -L -v -o

-u 64

顯然,這個(gè)命令只是在前一條命令的基礎(chǔ)上添加了選項(xiàng)“-u 64”,它的作用是在規(guī)定的IPv6頭信息之后插入一條64字節(jié)的目標(biāo)選項(xiàng)頭信息。

最后,理論上ND消息(包括NA消息)都采用了碎片機(jī)制。雖然RFC 6980禁止在ND中使用碎片,但是一些未更新的實(shí)現(xiàn)可能仍然接受這些數(shù)據(jù)包。在評(píng)估一個(gè)IPv6網(wǎng)絡(luò)或?qū)崿F(xiàn)時(shí),我們應(yīng)該檢查是否可以使用帶有IPv6碎片的ND去繞開安全控制。這里有兩個(gè)不同的測(cè)試?yán)梢允褂茫喊l(fā)送一個(gè)IPv6原子碎片格式的NA消息和發(fā)送一個(gè)超大IPv6頭信息鏈的NA消息。

RFC 6946定義的IPv6原子碎片實(shí)際上是一些包含偏移值為0和MF(更多碎片)位為0的IPv6碎片頭信息的IPv6數(shù)據(jù)包——即包含一個(gè)碎片頭但只有一個(gè)碎片的數(shù)據(jù)包。執(zhí)行下面的命令,就可以在na6工具中發(fā)送原子碎片格式的數(shù)據(jù)包:

na6 -i eth0 -W fc00:1::1 -E 11:22:33:44:55:66 -L -v -o

-y 500

其中,選項(xiàng)“-y 500”表示工具會(huì)將友鄰廣告消息分割為500字節(jié)為單位的碎片——但是由于整個(gè)NA消息遠(yuǎn)遠(yuǎn)小于500字節(jié),所以最終發(fā)送的消息將采用原子碎片格式。

第二個(gè)測(cè)試?yán)且粋€(gè)超大IPv6頭信息鏈。如果一個(gè)數(shù)據(jù)包已經(jīng)分割為碎片,并且第一個(gè)碎片不包含所有協(xié)議頭信息,包括從第一個(gè)規(guī)定的IPv6頭信息到最上層協(xié)議(如傳輸協(xié)議頭信息),那么這個(gè)數(shù)據(jù)包就是一個(gè)超大IPv6頭信息鏈。下圖顯示的就是一個(gè)超大IPv6頭信息鏈。 

 

圖4:一個(gè)超大IPv6頭信息鏈

RFC 7112定義了超大IPv6頭信息鏈,反對(duì)使用這種頭信息,并且明確規(guī)定在遇到時(shí)允許丟棄相應(yīng)的數(shù)據(jù)包。然而,一些過時(shí)的IPv6實(shí)現(xiàn)可能仍然接受這些數(shù)據(jù)包,因此不可能認(rèn)為受攻擊節(jié)點(diǎn)一定會(huì)丟棄這些數(shù)據(jù)包。使用na6工具,執(zhí)行下面的命令就可以以超大IPv6頭信息鏈的格式發(fā)送NA消息:

na6 -i eth0 -W fc00:1::1 -E 11:22:33:44:55:66 -L -v -o

-u 500 -u 100 -y 400

這實(shí)際上就是前面使用的同一個(gè)攻擊命令,只是增加了兩個(gè)目標(biāo)選項(xiàng)頭信息(一個(gè)是500字節(jié),后面緊跟一個(gè)100字節(jié)的頭信息),以及一個(gè)將NA消息分割為最大400字節(jié)碎片的請(qǐng)求(“-y 400”選項(xiàng))。因此,第一個(gè)碎片的大小不足以傳輸整個(gè)IPv6頭信息鏈,因此IPv6頭信息鏈會(huì)被分割為兩個(gè)碎片。

作為IPv6網(wǎng)絡(luò)安全評(píng)估的一部分,我們可以執(zhí)行這里的每一個(gè)測(cè)試?yán)瑥亩u(píng)估所部署的安全控制措施是否能應(yīng)對(duì)這些攻擊方式。

責(zé)任編輯:藍(lán)雨淚 來源: TechTarget中國(guó)
相關(guān)推薦

2010-10-08 11:04:03

2010-06-02 16:14:28

IPv6鄰居發(fā)現(xiàn)

2019-07-01 10:09:09

IPv6IPv4運(yùn)營(yíng)商

2010-06-07 13:00:12

IPv6鄰居發(fā)現(xiàn)協(xié)議

2019-09-17 15:11:07

協(xié)議NDPIPv6

2011-07-10 14:01:00

IPv6應(yīng)用過渡

2010-05-25 09:26:13

IPv6鄰居發(fā)現(xiàn)協(xié)議

2010-05-27 12:56:26

2019-09-23 11:03:55

IPv6IPv4網(wǎng)絡(luò)

2013-03-13 09:56:24

IPv6IPv4NDP

2012-10-19 15:31:58

2010-09-17 16:31:34

IPV6

2013-11-26 17:46:51

2019-06-05 15:43:34

IPV6IPV4網(wǎng)站

2009-07-15 10:22:27

2013-06-09 09:17:05

2019-06-28 15:25:05

IPv6協(xié)議Ubuntu

2010-07-01 15:35:47

IPv6協(xié)議鄰居發(fā)現(xiàn)

2012-04-27 13:33:40

銳捷網(wǎng)絡(luò)物聯(lián)網(wǎng)IPv6

2018-05-03 14:40:07

IPv6互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)