IPv6解決了很多IPv4難以解決的安全問題,但是同時(shí)它又引進(jìn)了新的安全風(fēng)險(xiǎn)。其中一個(gè)常被人質(zhì)疑的是,全部網(wǎng)絡(luò)設(shè)備都將擁有自己的可被路由到的IPv6 地址,這將使得這些設(shè)備都暴露在互聯(lián)網(wǎng)的復(fù)雜環(huán)境下。
降低隱私能見度
如果所有網(wǎng)絡(luò)設(shè)備都可以通過互聯(lián)網(wǎng)訪問,那么個(gè)人用戶就很容易通過網(wǎng)絡(luò)被追蹤。這個(gè)問題很早就被弗吉尼亞理工大學(xué)的研究團(tuán)隊(duì)發(fā)現(xiàn)了,他們?cè)谳^早前的一份報(bào)告中解釋說:
“默認(rèn)的地址系統(tǒng)如果采用IPv6,在自動(dòng)配置地址的情況下,第三方將可以通過簡單的指令,諸如ping以及trace route 等在全球范圍追蹤和監(jiān)視目標(biāo)用戶。同時(shí)用戶發(fā)送數(shù)據(jù)的接受方信息,也會(huì)被第三方監(jiān)視者獲取。”
該研究團(tuán)隊(duì)還發(fā)現(xiàn),如果采用默認(rèn)的IPv6地址方案,設(shè)備的MAC地址也將暴露在互聯(lián)網(wǎng)環(huán)境中。于是他們開發(fā)了一種防御方案,叫做Moving Target IPv6 Defense (MT6D)。該方案可以提供以下功能:
“主機(jī)之間通過互聯(lián)網(wǎng)進(jìn)行通信時(shí),對(duì)于定位,跟蹤和數(shù)據(jù)流截獲等都保持匿名狀態(tài)。”
這是一個(gè)很重要的工作,該研究團(tuán)隊(duì)的Stephen Groat, Matthew Dunlop, William Urbanski, Randolph Marchany, 和 Joseph Tront為這項(xiàng)方案申請(qǐng)了專利,并且為此獲得了2011年美國全國安全創(chuàng)新競賽的第三名。
在我看來,這個(gè)團(tuán)隊(duì)已經(jīng)解決了IPv6的隱私保護(hù)問題。但是為了讓廣大讀者更好的了解MT6D,我決定親自讓團(tuán)隊(duì)的成員來解釋一下他們的工作。
Kassner: 你們的研究報(bào)告提到,在使用IPv6的無狀態(tài)地址自動(dòng)配置功能時(shí),隱私泄漏問題就凸現(xiàn)出來了。你能解釋一下什么是無狀態(tài)地址自動(dòng)配置功能,還有這個(gè)功能為什么會(huì)影響用戶隱私的安全性?
Research team: 無狀態(tài)地址自動(dòng)配置 (SLAAC)是采用IPv6協(xié)議的主機(jī)自己配置網(wǎng)絡(luò)地址的一種方式。主機(jī)自己配置IP地址,可以減少網(wǎng)絡(luò)管理者的管理負(fù)擔(dān)。這與IPv4網(wǎng)絡(luò)環(huán)境中使用的DHCP方式有所改變。
使用SLAAC的問題在于,不論主機(jī)是否連接子網(wǎng),它的地址或接口ID(IID)都是相同的。而默認(rèn)的地址體系也就是64位擴(kuò)展唯一標(biāo)識(shí)(EUI64)是采用MAC地址作為IID的。這樣做的結(jié)果就是,攻擊者擁有了子網(wǎng)列表以及主機(jī)的MAC地址,就可以從世界任何位置對(duì)該主機(jī)展開攻擊。
Kassner: 據(jù)說微軟在新版本操作系統(tǒng)中使用了隱私擴(kuò)展技術(shù)來隱藏主機(jī)的部分MAC地址,這樣做是不是就夠了?
Research team: 隱私擴(kuò)展技術(shù)可以算是一種改進(jìn),但是只能保護(hù)客戶端系統(tǒng),而服務(wù)器系統(tǒng)仍然處于威脅中。因?yàn)殡[私擴(kuò)展技術(shù)不能頻繁的變化地址來防止網(wǎng)絡(luò)攻擊,對(duì)于網(wǎng)站服務(wù)器或企業(yè)VPN服務(wù)器這樣需要全天候開通并且保持固定IP地址的系統(tǒng)來說,并沒有什么防護(hù)效果。
這樣的系統(tǒng)還是容易被鎖定和攻擊。另外,隱私擴(kuò)展技術(shù)主要應(yīng)用于Web通信,其他應(yīng)用領(lǐng)域,諸如VoIP,VPN等,都無法在隱私擴(kuò)展模式下工作。
Windows系統(tǒng)下應(yīng)用的隱私擴(kuò)展還需要依賴于另一個(gè)IPv6地址進(jìn)行鄰居發(fā)現(xiàn),本地DNS以及其它相關(guān)功能。而這個(gè)地址必須是靜態(tài)的,并且能夠被其它主機(jī)獲取。如果黑客獲取了該地址,同樣可以用來進(jìn)一步攻擊目標(biāo)主機(jī)。
Kassner: 你們的團(tuán)隊(duì)給出的方案是通過MT6D來提高隱私安全性,在這個(gè)系統(tǒng)中,發(fā)送方和接收方的IP地址都是動(dòng)態(tài)變化的。這是怎么實(shí)現(xiàn)的呢?
Research team: 動(dòng)態(tài)變化的地址可以保護(hù)隱私,使得通信雙方實(shí)現(xiàn)匿名和安全的通信。我們的技術(shù)有些類似于跳頻技術(shù)。當(dāng)現(xiàn)實(shí)中兩臺(tái)主機(jī)在IPv6網(wǎng)絡(luò)中通信時(shí),攻擊者攔截到的是多個(gè)獨(dú)立主機(jī)地址的配對(duì)。攻擊者無法得知其中哪個(gè)地址配對(duì)才是真正的通信雙方,也無法簡單的對(duì)某個(gè)地址進(jìn)行攻擊。
Kassner: MT6D 同時(shí)還會(huì)將信息流加密,那是否意味著 IPsec 就該退休了?
Research team: MT6D可以被看做是一個(gè)增強(qiáng)型的IPsec。 IPsec可以對(duì)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行加密,但是需要固定IP地址。 如果主機(jī)或網(wǎng)關(guān)上配備了IPsec ,那么攻擊者就可以通過發(fā)起拒絕服務(wù)攻擊的方式對(duì)主機(jī)或網(wǎng)關(guān)進(jìn)行攻擊。
MT6D 提供了網(wǎng)絡(luò)層加密以及動(dòng)態(tài)地址。和IPsec一樣,攻擊者無法對(duì)通過MT6D封裝的數(shù)據(jù)包進(jìn)行偵聽,同時(shí),攻擊者也無法鎖定主機(jī)地址,因此無法發(fā)動(dòng)拒絕服務(wù)攻擊。
Kassner: 你的報(bào)告指出:
MT6D 的一個(gè)關(guān)鍵功能是它可以在兩個(gè)主機(jī)進(jìn)行通信時(shí)在線程中段進(jìn)行地址變化,而不會(huì)引起通信的重置或崩潰。”
這一點(diǎn)非常獨(dú)特,你們是不是將TCP的三次握手進(jìn)行了改進(jìn)?
Research team: MT6D建立了一個(gè)通道并將所有數(shù)據(jù)流封裝進(jìn)去,并沒有修改TCP的三次握手規(guī)則。隧道通過平衡所有4層協(xié)議,限制了TCP線程開銷。在線程中段改變地址并不會(huì)中斷已有的線程,也不會(huì)導(dǎo)致額外增加三次握手通信。
Kassner: 論文里提到 MT6D的設(shè)計(jì)是為了阻止特定的網(wǎng)絡(luò)攻擊。那么這個(gè)特定的網(wǎng)絡(luò)攻擊是什么呢?是否因?yàn)檫@個(gè)攻擊的特點(diǎn)才使用了動(dòng)態(tài)地址呢?
Research team: MT6D可以防止多種針對(duì)某個(gè)地址發(fā)動(dòng)的網(wǎng)絡(luò)攻擊,比如拒絕服務(wù)攻擊,同時(shí)也可以對(duì)應(yīng)用層攻擊進(jìn)行防護(hù)。這都是通過對(duì)通信雙方主機(jī)IP地址進(jìn)行動(dòng)態(tài)模糊來實(shí)現(xiàn)的。由于IPv6網(wǎng)絡(luò)地址數(shù)量相當(dāng)龐大,理論上黑客是不可能通過范圍掃描來定位主機(jī)的。
就算黑客獲知了目標(biāo)主機(jī)的IP地址,其所能攻擊的時(shí)間也僅限于主機(jī)地址再次進(jìn)行變換之前。
Kassner: 論文里還提到,弗吉尼亞理工大學(xué)是進(jìn)行IPv6應(yīng)用的一個(gè)最佳地點(diǎn),為什么這么說呢?
Research team: 弗吉尼亞理工大學(xué)是美國全境內(nèi)少數(shù)幾個(gè)完全支持IPv6協(xié)議的網(wǎng)絡(luò)環(huán)境。實(shí)際上,它是美國最大規(guī)模的校園IPv6網(wǎng)絡(luò),包含了大約3萬個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。這種規(guī)模能夠支持我們進(jìn)行MT6D的現(xiàn)實(shí)環(huán)境測試。
Kassner: 聽說MT6D也可以用于IPv4 網(wǎng)絡(luò)。這有可能嗎?還是說它首先會(huì)應(yīng)用于IPv6網(wǎng)絡(luò)。
Research team: 雖然 MT6D的概念也適用于IPv4網(wǎng)絡(luò),但是還是存在兩個(gè)問題。 首先, IPv4的子網(wǎng)規(guī)模太小,攻擊者可以在幾分鐘內(nèi)將整個(gè)子網(wǎng)掃描一遍,這使得黑客鎖定目標(biāo)主機(jī)變得更加容易了。其次,IPv4已經(jīng)沒有足夠多的可用地址用來進(jìn)行地址變換了,如果采用MT6D很容易出現(xiàn)地址沖突。
IPv6 的子網(wǎng)是 64位的,這意味著整個(gè)IPv4網(wǎng)址空間都可以放在一個(gè)IPv6子網(wǎng)中,所占用的地址空間還不及總空間的四十億分之一。目前來看,對(duì)這樣大范圍的子網(wǎng)進(jìn)行詳細(xì)掃描,還不太可能完成。
同樣,由于IPv6擁有足夠大的地址空間,地址變換時(shí)出現(xiàn)地址沖突的可能性就非常小了。因此MT6D 最好還是在IPv6環(huán)境中使用。
總結(jié)
由此看來,盡管在IPv6環(huán)境中,我們的電腦都將直接面對(duì)互聯(lián)網(wǎng),但是 MT6D卻能夠幫助我們保護(hù)隱私,消除很多潛在的被攻擊風(fēng)險(xiǎn)。