巨大的IPv6地址空間其實增加了IPv6攻擊 |
發布時間: 2012/9/15 18:24:43 |
聯系請致電:15378720700 河南億恩科技有限公司,專注IDC服務13年,華中地區最大IDC服務商。 BGP新機房優惠活動正在進行中。。。期待您的加入。 在2012年6月6日全球IPv6啟動日,很多公司都為其產品和服務啟用了IPv6協議,這也讓我們有機會驗證IPv6安全性的誤解。人們普遍認為,因為IPv6增加的地址空間,從攻擊者的角度來看,IPv6主機掃描攻擊將需要花很多時間和精力,使得攻擊幾乎不可能。然而,事實并不是這樣。通過分析IPv6地址在互聯網上進行配置的方式,本文將介紹IPv6攻擊可行性的真實情況分析。 IPv6不可戰勝的神話 IPv6比IPv4有更大的地址空間。標準IPv6子網(在理論上)可以容納大約1.844 * 1019 個主機,因此其主機密度要比IPv4子網低得多(即,子網中主機數與可用IP地址數量的比率較低)。 因為IPv6地址空間數量如此巨大,很多人認為IPv6將使潛在的攻擊者很難對IPv6網絡執行主機掃描攻擊。有些人估計對單個IPv6子網的主機掃描攻擊可能需要5千萬年! 在IPv4互聯網中的主機掃描攻擊 在深入分析IPv6主機掃描攻擊的細節之前,讓我們來看看在IPv4互聯網中,主機掃描攻擊是如何執行的。IPv4的地址空間數量有限,整個 IPv4地址空間(在理論上)由 232 個地址組成,IPv4子網通常有256個地址。因此,在典型的IPv4子網中,主機密度相對較高。IPv4主機掃描攻擊通常是按照以下方式執行的: • 選定一個目標地址范圍 • 發送一個測試數據包到該范圍內的每一個地址 • 每個響應的地址都被認為是“可用的” 由于典型的IPv4子網的搜索空間比較小(通常是256個地址),并且這種子網的主機密度很高,對于大多數攻擊者而言,在目標網絡中按順序嘗試每個可能的地址已經足以發動攻擊。 在IPv6互聯網中的主機掃描攻擊 有兩個因素使IPv6的主機掃描攻擊比IPv4的攻擊更加困難: • 典型的IPv6子網比IPv4子網更大(IPv6為264 個地址,而IPv4為256個地址) 。 • IPv6子網的主機密度比IPv4子網主機密度低得多 由于這兩個因素,在目標IPv6子網中,按順序試探每一個地址是不可行的,無論是從數據包/帶寬的角度來看,還是從執行攻擊需要的時間來看。 擊破IPv6安全神話 然而,IPv6主機掃描攻擊并非如此繁瑣和費時。我們需要認識到,IPv6主機地址并不是隨機分布在這相應的256個子網地址空間中,這意味著攻擊者在試圖確定“可行”節點時,實際上并不需要掃過整個子網地址空間。了解IPv6地址生成或者配置的方式,就明白了這種地址分配是非隨機的。 IPv6地址選擇 下圖顯示了IPv6全球單播地址。
![]() IPv6全球單播地址,顧名思義,是用于互聯網通訊的IPv6地址(而不是,比方說,僅用于本地子網內通訊的本地地址)。它類似于IPv4:全球路由前綴通常由上游供應商分配,本地網絡管理員將組織網絡分成多個邏輯子網,而接口ID(IID)用來確定該子網中的特定網絡接口。 在選擇接口ID(IPv6地址的低階64位)時有很多選擇,包括: • 嵌入MAC地址 • 采用低字節地址 • 嵌入IPv4地址 • 使用“繁復”的地址 • 使用隱私或臨時地址 • 依賴于過渡技術或共存技術 不幸的是,這些因素都減小了潛在的搜索空間,使IPv6主機掃描攻擊變得更容易實現。以下部分解釋了具體的原因: 嵌入式MAC地址 大多數IPv6主機是根據非營利組織互聯網協會(Internet Society)開發的無狀態地址自動分配(SLAAC)來生成它們的地址。SLAAC獲取MAC地址,在中間插入一個16位數字,在以太網的中,這讓接口ID(還是地址的低階64位)使用下面的語法:
![]() 在這種情況下,接口ID至少有16位是都知道的。接口ID的其余位(從底層以太網地址借來的位)也是按照特定的模式。 因此,在規劃IPv6主機掃描攻擊時,攻擊者可能已經知道了目標企業購買網絡設備的供應商的情況。攻擊者可以據此減少搜索空間到只有這些 OUI(企業唯一標識符),也就是分配到該供應商的標識符。然后他們可以進一步縮小搜索空間,因為以太網地址的低階24位通常是根據制造的網絡接口卡按順序分配的。例如,如果企業從相應供應商購買了400個系統,這些系統可能有連續的以太網地址(并且連續的IPv6地址)。只要攻擊者通過嘗試隨機地址發現目標網絡中的一個節點,就可以根據嘗試連續地址,得到其他節點。 虛擬化技術是一個有趣的特殊情況,因為大多數虛擬化產品對虛擬機的網絡接口卡采用了特定的IEEE OUI,也就是說,當攻擊者瞄準虛擬機時,搜索空間將被縮小為虛擬技術采用的已知的OUI。 這些情況都說明了只需要知道或者發現一些地址,攻擊者就能夠縮小他的搜索范圍,使IPv6主機掃描攻擊成為可能。 低字節地址 低字節地址是接口ID全是0的IPv6地址,除了最后8或16位(例如2001:db8::1、2001:db8::2等)。這些地址通常是手動配置的(通常用于基礎設施),但是也可能是使用了一些動態主機配置協議版本6(DHCPv6)服務器,這些服務器會從特定地址范圍按順序分配IPv6地址。當采用低字節地址時,IPv6地址搜索空間被縮小到(最多)216個地址,這使IPv6主機掃描攻擊變得更為可行。 嵌入式IPv4地址 互聯網工程任務組(IETF)規范允許IPv6地址以“2001:db8::W.X.Y.Z”的形式來表達,而IPv4地址的形式為 “W.X.Y.Z”。這種生成地址的形式通常出現在基礎設施設備中,因為如果該設備的IPv4地址是已知的,就更容易“記住”設備的IPv6地址。其余的地址都是已知的或者可猜測出,所以采用嵌入式IPv4地址的網絡將有助于攻擊者將IPv6地址搜索空間縮小到與IPv4網絡相同的搜索空間。 “繁復”的地址 IPv6地址采用十六進制(而不是小數)符號,這在手動配置地址時,增加一些創意。例如,Facebook的域名映射到IPv6地址是 “2a03:2880:2110:3f02:face:b00c::”。確定這些“繁復”的地址的搜索空間并不簡單,當然,與整個264個IPv6空間相比時,搜索空間還是有所減少了。曾經有針對“繁復”地址的基于字典的IPv6主機掃描攻擊。 隱私/臨時地址 為了響應主機跟蹤問題,IETF在RFC 4941中標準化了“無狀態地址自動配置的隱私擴展”。在本質上,RFC 4941規定接口ID應該是隨機的,會隨著時間的變化而變化,以創建一個不可預見的地址。 然而,RFC 4941規定除了傳統SLAAC地址外還要生成臨時地址(而不是替代它們),臨時地址用于出站通訊,而傳統SLAAC地址用于服務器功能(例如入站通訊)。因此,這些地址并不能緩解主機掃描攻擊,因為在采用臨時地址的主機上仍然配置了可預測的SLAAC地址(但OpenBSD除外,OpenBSD在啟用隱私地址時,禁用了傳統SLAAC地址)。 過渡/共存技術 有很多IPv4到IPv6的過渡技術或者共存技術(例如6to4和Teredo)為IPv6全球單播地址指定了特殊語法,在大多數情況下是在 IPv6中嵌入IPv4地址,作為IPv6的地址的一部分。由于有很多這方面的技術,本文將不深入到具體細節,但需要注意這些地址遵循特定的模式,所以能減小IPv6地址搜索范圍。 如何緩解IPv6主機掃描攻擊 緩解IPv6主機掃描攻擊最聰明的辦法是從IPv6地址刪除任何明顯的模式。IETF的6man工作組目前正在研究一種生成IPv6地址的方法,它有以下特點: • 產生的接口ID不容易被預測出 • 產生的接口ID在每個子網內是穩定的,但是當主機從一個網絡移動到另一個網絡時,接口ID會跟著變化 • 產生的接口ID獨立于底層鏈路層地址 為了確保IPv6部署的安全性,IETF必須完成此標準化工作,并且更重要的是,需要供應商部署它。一旦這些工作都到位了,這些不可預測的地址將讓攻擊者的IPv6主機掃描攻擊更難以執行。 其他緩解IPv6主機掃描攻擊的措施包括使用基于網絡的入侵防御系統(IPS):當在本地子網接收到大量針對不同IPv6地址的探測數據包時 (尤其是當很多目標地址不存在時),可以從特定來源地址阻止入站數據包,來應對主機掃描攻擊活動。另一種方法是為基于DHCPv6和手動配置的系統配置不可預測的地址。雖然windows系統生成不可預測地址,所有其他端點(包括基于思科和Linux的設備)還需要一些額外的配置,既可以啟用DHCPv6 服務器來發布不可預測地址,也可以手動配置系統,這樣他們就可以使用不可預測地址。很顯然,DHCPv6的方法應該是首選方法,因為它更容易擴展。然而,并不是所有DHCPv6軟件都有這個功能,因此可能唯一的方法應該是手動配置每個系統的IPv6地址(當然這個工作會非常痛苦)。 讀了本文關于IPv6地址在互聯網上的分配方式的分析,大家應該提高認識:雖然IPv6的主機掃描攻擊在很大程度上受到了阻止,但IETF和供應商仍然有很多工作要做,以增加IPv6主機掃描攻擊的難度。 本文出自:億恩科技【www.vbseamall.com】 |