下一代互聯通訊網路部署在即,IPv6安全防護準備好了嗎?

聚安全平臺發表於2017-12-08

作者:東帆@阿里安全技術平臺團隊

 

0x00 引言

近日,中共中央辦公廳、國務院辦公廳印發了《推進網際網路協議第六版(IPv6)規模部署行動計劃》,加快推進IPv6規模部署,構建高速率、廣普及、全覆蓋、智慧化的下一代網際網路。


隨著計劃實施推行以及移動網際網路、物聯網的大力發展,我國整個網路環境將發生翻天覆地的變化,全產業鏈已蓄勢待發,目前IPv6根伺服器架設中國開始部署,IPv6都會網路、政府網站IPv6雙棧化改造、IPv6城市公共無線網路等均已開始試點和部署,網際網路BAT部分內容已支援IPv6訪問,流量增長迅速,新的網路環境以及新興領域均將面臨著新的安全挑戰。


按照部署計劃,到2018年末,IPv6活躍使用者數達到2億,在網際網路使用者中的佔比不低於20%,到2020年末,IPv6活躍使用者數超過5億,在網際網路使用者中的佔比超過50%,新增網路地址不再使用私有IPv4地址,到2025年末,我國IPv6網路規模、使用者規模、流量規模位居世界第一位,網路、應用、終端全面支援IPv6,全面完成向下一代網際網路的平滑演進升級,形成全球領先的下一代網際網路技術產業體系。


針對IPv6安全,計劃中重點要求升級安全系統,強化IPv6地址管理,增強IPv6安全防護,加強IPv6環境工業網際網路、物聯網、車聯網、雲端計算、大資料、人工智慧等領域的網路安全技術、管理及機制研究,構築新興領域安全保障能力。


本文從IPv6安全威脅結合網際網路網路安全運營視角進行了重點分析,同時探討了網際網路IPv6網路安全保障體系面臨安全風險及加固建議。

 

0x01 IPv6協議介紹

IPv6(Internet Protocol version 6,網際網路通訊協議第6版)是資料包交換網際網路絡的網路層協議,主要用於定址和路由,是IETF(網際網路工程任務小組Internet Engineering Task Force,簡稱IETF)設計用來替代IPv4協議的,在早期協議發展階段,IPv6也叫做IPng。


IETF自1990年開始,開始規劃IPv4的下一代協議,除要解決IP地址短缺問題外,還要進行更多擴充套件。1994年,IETF會議中正式提議IPv6發展計劃,並於1998年8月成為IETF的草案標準,最終IPv6在1998年底被IETF通過公佈網際網路標準規範(RFC 2460)的方式定義正式釋出。


目前隨著移動網際網路、物聯網的大力發展,計算機網路已經與人們的生活密切相關,可能身邊的每一樣電子裝置都需要連入網路,IP地址需求量劇增,同時IPv4地址越來越緊缺,IPv6的發展越來越迫切。


IPv6發展的主要原因如下:

a)128位的地址空間:IPv6由128位元位構成,單從數量級上來說,IPv6所擁有的地址容量是IPv4的約8×1028倍,達到2128個巨大的地址空間,不但解決了網路地址資源數量的問題,同時也為物聯網的發展提供了基礎。

b)層次化的路由結構,而這是當前IPv4無法滿足的:

 分層彙總(Public、Site、Interface)

 更為簡單的ACL

 更少的路由條目

c)實現真正的點到點通訊,而不是NAT

d)對安全傳輸的內在支援,提供更為安全的資料傳輸

e)對資料包文進行簡化,提供更快的資料包處理

f)支援移動IPv6,提供穩定的行動網路服務

g)自動配置、即插即用

h)流標籤提供更多的服務質量控制能力


如下圖1為IPv4和IPv6報文頭結構,從報文頭結構對比看,IPv6借鑑了IPv4的應用經驗,大大簡化了基本報頭結構,僅包含8個欄位,IPv6中所有非核心功能都由擴充套件報頭實現。

IPv4和IPv6報文頭主要差異點如下:

a)IPv6簡化報頭和資料長度計算:報頭長度欄位已經不在IPv6基本報頭中使用,只使用一個欄位來標示資料淨荷的總長度;

b)更好支援DiffServ QoS服務:IPv4報頭的服務型別欄位在IPv6中該欄位被擴充套件為業務流型別、流標籤2個獨立的欄位;

c)取消中間分片:IPv4報頭為資料分片提供了資料包文ID、分片標誌、分片偏移值3個欄位,目前有許多針對這3個欄位的攻擊手段, IPv6採用Path MTU發現機制,避免了中間路由器的分片處理,消除了一些安全隱患;

d)取消校驗和欄位:許多IPv4後續報文頭如ICMP、UDP和TCP中均含有同時覆蓋基本報頭和資料部分的檢驗和欄位,因此IPv4報頭中校驗和欄位是多餘的,此欄位在IPv6基礎報頭中已經取消;

e)對選項功能的處理:IPv6採用擴充套件報頭實現選項功能,解決了IPv4中帶有選項內容的資料包不能被高效傳輸的問題,也使得IPsec以及未來可能出現的新的安全協議的採用更加方便。


從報文頭結構對比可見,IPv4協議報文頭結構冗餘,影響轉發效率,同時缺乏對端到端安全、QoS、移動網際網路安全的有效支援,而IPv6協議重點針對上述幾個方面進行了改進,採用了更加精簡有效的報文頭結構,IPv6協議選項欄位都放在擴充套件頭中,中間轉發裝置不需要處理所有擴充套件報文頭,提高資料包處理速度,並且通過擴充套件選項實現IPsec安全加密傳輸和對移動網際網路安全的支援。

                          圖1  IPv4和IPv6報文頭結構

從協議族來看,IPv6協議族相對於IPv4協議族,基本部分也發生了較大的變化,如ARP協議被鄰居發現協議(NDP)代替,ICMPv6合併了IPv4中的ICMP(控制報文協議),IGMP(組成員協議)、ARP(地址解析協議)、RARP(反向地址解析協議)和RA(路由廣播)等多個協議的功能。

 

0x02  IPv6協議設計的安全考慮

從協議的角度,IPv4協議誕生較早,前期設計幾乎沒有任何的安全考慮,因此特別是對報文地址的偽造與欺騙使得無法對網路進行很有效的監管和控制,而在IPv6協議設計之初,引入了AH(認證包頭)、ESP(封裝安全載荷)、SA(安全關聯)、IKMP(金鑰管理協議)等加密和認證機制,並強制實現了IPsec認證,IPsec協議族中的AH(AuthenticationHeader,報文認證頭)和ESP(EncapsulationSecurity Payload,報文封裝安全載荷)內嵌到協議棧中,作為IPv6的擴充套件頭出現在IP報文中,提供完整性、保密性和源認證保護,從協議設計上較大地提升安全性。


從IPv6協議安全設計上考慮,相比IPv4主要有如下增強:

a)可溯源和防攻擊:IPv6地址資源豐富,不需要部署NAT,掃描困難

b)IPv6的預設IPsec安全加密機制:IPv6協議中整合了IPsec,通過認證報頭(AH)和封裝安全載荷報頭(ESP)兩個擴充套件頭實現加密、驗證功能,中間轉發裝置只需要對帶有IPsec擴充套件包頭的報文進行普通轉發,大大減輕轉發壓力

c)鄰居發現協議(NDP)和SEND:採用NDP(neighbor discovery protocol)協議取代現有IPv4中ARP及部分ICMP控制功能如路由器發現、重定向等

d)真實源地址檢查體系:真實源IPv6地址驗證體系結構(SAVA)分為接入網(Access Network)、區域內(Intra-AS)和區域間(Inter-AS)源地址驗證三個層次,從主機IP地址、IP地址字首和自治域三個粒度構成多重監控防禦體系。


特別對於IPv4網路地址而言,數量非常有限,因此很多時候是一個地址被多臺主機通過NAT等技術共用。使用IPv6之後,可以將每個地址指定給一個物件,每個地址唯一,IPv6的地址分配可採用逐級、層次化的結構,這將使得追蹤定位、攻擊溯源得到很大的改善,使用者、報文和攻擊關聯對應,使用者對自己的任何行為負責,並具有不可否認性。


IPv6協議也定義了多播地址型別,而取消了IPv4下的廣播地址,可有效避免IPv4網路中利用廣播地址發起的廣播風暴攻擊和DDoS攻擊。同時,IPv6協議規定了不允許向使用多播地址的報文回覆ICMPv6差錯訊息,能有效防止ICMPv6報文造成的放大攻擊。


另外,IPsec協議族中的AH和ESP安全擴充套件包頭為IPv6核心的安全機制和設計,提供了關鍵的加密和認證機制。


AH 是IPv6的一個安全擴充套件包頭,在RFC4302中定義,協議號為51。IPv6的認證主要由AH來完成。認證包頭通過在所有資料包頭加入一個金鑰,通過AH使資料包的接收者可以驗證資料是否真的是從它的源地址發出的,並提供密碼驗證或完整性測試。這種認證是IP資料包通過一定加密演算法得出的編碼結果,相當於對IP資料包進行數字簽名,只有金鑰持有人才知道的“數字簽名”來對使用者進行認證,同時接收者可通過該簽名驗證資料包的完整性。AH的驗證範圍與ESP有所區別,包括了整個IPv6資料包。


AH位於IPv6頭和一些上層協議頭之間,如果存在擴充套件包頭,則AH必須位於逐跳選項頭、選路擴充套件頭和分段擴充套件頭之後。


ESP也是IPv6的一個安全擴充套件包頭,在RFC4303中定義,協議號為50。其對IPv6資料包的有效載荷部分加密,不包括IPv6包頭部分,能為IP層提供機密性、資料來源驗證、抗重放以及資料完整性檢驗等安全服務,其中資料機密性是ESP的主要功能,其他均為可選。ESP頭位於IPv6頭和上層協議之間,如果存在擴充套件包頭,則ESP頭必須位於逐跳選項頭、選路擴充套件頭、分段擴充套件頭和認證頭之後。由於ESP只對ESP頭之後的資料加密,所以通常將目的地選項頭置於ESP頭之後。

ESP和AH各擴充套件包頭可以單獨使用,也可以一起使用。

 

0x03 IPv6網路安全威脅分析

IPv6相對於IPv4,除了和IPv4相同的安全威脅外,新增部分主要來自於協議族、協議報文格式、自身設計實現、IPv4向IPv6的演進過程中新增或者變化引入的安全威脅。

 

1. IPv6與IPv4共同的安全威脅

IPv6與IPv4同為網路層協議,有共同的安全威脅如下:

a)未配置IPsec可實施網路嗅探,可能導致資訊洩露

b)應用層攻擊導致的漏洞大多數在網路層無法消除

c)裝置仿冒接入網路

d)未實施雙向認證情況下可實施中間人攻擊Man-in-the-Middle Attacks (MITM)

e)泛洪攻擊

 

2. IPv6協議族新增安全威脅

IPv6相對於IPv4在協議族上發生了較大的變化,新增安全威脅如下:

a)鄰居發現協議(ND)攻擊:針對ARP的攻擊如ARP欺騙、ARP泛洪等在IPv6協議中仍然存在,同時IPv6新增的NS、NA也成為新的攻擊目標,存在DoS攻擊、中間人攻擊等安全威脅。

b)新增ICMPv6協議作為IPv6重要的組成部分,存在DoS攻擊、反射攻擊等安全威脅;

c)IPv6 支援無狀態的地址自動分配,該功能可能造成非授權使用者可以更容易的接入和使用網路,存在仿冒攻擊安全威脅;

d)IPv6 網路環境下由於網路掃描實施難度高,但仍可通過IPv6字首資訊蒐集、隧道地址猜測、虛假路由通告及DNS查詢等手段蒐集到活動主機資訊,通過DNS獲取IPv6地址範圍和主機資訊可能會成為黑客優選攻擊路徑,針對DNS系統的攻擊會更加猖獗;

e)IPv6組播地址仍然支援,存在通過掃描、嗅探甚至仿冒關鍵DHCP Server、Router等安全威脅。

f)IPv6路由協議攻擊:RIPng/PIM依賴IPsec,OSPFv3協議不提供認證功能,而是使用IPv6的安全機制來保證自身報文的合法性,未配置IPv6安全機制,OSPFv3路由器存在仿冒的安全威脅;

g)移動IPv6仿冒偽造攻擊:移動IPv6節點能夠在不改變IP地址的情況下,在任何地方接入網路都能夠直接與其他節點通訊,在提供可移動性及方便通訊的同時,由於移動節點的不固定性,也給不法分子提供了攻擊的機會,存在偽造繫結更新訊息等安全威脅;

h)MLD仿冒及泛洪攻擊。


3. IPv6協議報文格式新增安全威脅

IPv6 協議相關RFC標準在不斷的發展更新,協議自身也存在漏洞,所有遵循IPv6協議的裝置都會受到該漏洞的影響,新增安全威脅如下:

a)協議自身存在漏洞,如IPv6協議Type0路由頭拒絕服務漏洞,該漏洞已於2007年12月由RFC 5095修補,禁用了IPv6擴充套件頭中的Type 0路由頭;

b)IPv6分片攻擊

c)IPv6擴充套件頭攻擊

d)ND DAD攻擊(Duplicate Address Detection)

e)ND Router Advertisement仿冒、DoS、中間人攻擊


4. IPv6自身實現新增安全威脅

IPv6 和IPv4協議一樣,裝置與應用在實現對IPv6協議的支援時,不同的系統開發商因軟體開發能力的不同,在IPv6協議軟體開發、各種演算法實現也會引入各種可能的安全漏洞。


從下一代網際網路國家工程中心全球IPv6測試中心11月份釋出的《2017 IPv6支援度報告》來看:

目前的作業系統中,75%左右都預設安裝IPv6協議棧,65%左右支援DHCPv6,50%左右支援ND RNDSS。其中手機作業系統支援IPv6協議已經從實驗室走向了應用階段,Android 4.2、IOS 4.1、Windows Phone 6.5、Symbian 7.0都已經支援IPv6,並且預設安裝IPv6,自以上各手機系統版本後推出的新版本均支援IPv6。在DHCPv6功能上,IOS支援得比較好,從V4.0開始支援stateless DHCPv6,V4.3.1支援Stateful DHCPv6。Windows Phone支援DHCPv6 Lite,Android系統不支援DHCPv6。在鄰居發現(ND)選項RDNSS功能上,IOS目前已經支援ND RDNSS,Android 5.0以上已經支援ND RDNSS。若一個作業系統不支援DHCPv6和ND RDNSS,則無法在純IPv6網路環境中自動配置查詢域名伺服器。


各種應用軟體也逐漸開始支援IPv6以應對廣大使用者的需求。但是目前並不普遍,只有一些基礎應用軟體已經支援IPv6。

基礎應用軟體中有一小部分已可以支援IPv6,其中瀏覽器軟體,如IE系列、Chrome、Firefox和Opera等都支援IPv6;下載軟體和郵件客戶端軟體,如FileZilla3、SmartFTP4以及Outlook等都支援IPv6。但是國內自主研發的基礎應用軟體,除瀏覽器外,其他諸如下載軟體、即時通訊軟體等都尚無法在IPv6環境下正常使用。


各類軟體安全實現不當都可能引入IPv6協議安全漏洞,需要做好安全編碼及質量保障活動。

如下為典型的IPv6協議棧實現方面的漏洞。

1、Python getaddrinfo() remote IPv6 buffer overflow

2、Apache remote IPv6 buffer overflow

3、Postfix IPv6 unauthorized mail relay vulnerability

4、Openbsd remote code execution in IPv6 stack

……

 

5. IPv4向IPv6演進過程中新增安全威脅

IPv4向IPv6的過渡是一個長期的過程,在IPv4與IPv6共存時期,為解決兩者間互通所採取的各種措施將帶來新的安全風險。例如,隧道方式下存在的拒絕服務攻擊、中間人攻擊,NAT-PT技術下存在的拒絕服務攻擊等。

IPv4向IPv6的演進過程中涉及到雙棧、隧道以及翻譯技術,主要安全威脅如下:

a)雙棧技術:許多作業系統都支援雙棧,IPv6預設是啟用的,但並沒有向IPv4一樣加強部署IPv6的安全策略,支援自動配置,即使在沒有部署IPv6的網路中,這種雙棧主機也可能受到IPv6協議攻擊。

b)隧道技術:幾乎所有的隧道機制都沒有內建認證、完整性和加密等安全功能,攻擊者可以隨意擷取隧道報文,通過偽造外層和內層地址偽裝成合法使用者向隧道中注入攻擊流量,存在仿冒以及篡改泛洪攻擊安全威脅。

c)翻譯技術:涉及載荷轉換,無法實現端到端IPsec,存在受到NAT裝置常見的地址池耗盡等DDoS攻擊安全威脅。

 

0x04 網際網路IPv6網路安全保障體系及策略探討

隨著基於IPv6的下一代網路中應用的增加、速度的加快和規模的變大,IPv6網路面臨著新的安全風險。

對於網際網路網路,安全是保證網路健康發展的重要因素,IPv6網路安全保障體系的配套建設作為IPv6網路建設的重要方面,在IPv6網路設計階段對網路安全需要進行通盤考慮,提升網路架構的整體安全性。


網路安全保障體系可分為靜態安全防護體系以及動態安全運營體系兩個層面

靜態安全防護體系根據ITU-T X.805標準(端到端通訊系統安全框架),網路可分為基礎設施層、業務層和應用層,每個網路層次可以劃分為管理、控制和資料三個平面。採用多種技術手段隔離管控,並在每個平面實施相應安全防護措施,從而使每個平面在安全方面都具備訪問控制、鑑別、不可抵賴、資料保密性、通訊安全、完整性、可用性和隱私性8個屬性防護能力。

動態安全運營體系通過安全檢測和響應等安全基礎設施和相關安全管理組織、制度和流程的配套建設,可實現對網路安全風險的動態發現和管理。


與IPv4相比,可以共用相同的網路整體安全保障體系,但在IPv4基礎網路的前提下需要確定升級演進到IPv6的策略,基於IPv6的特點和安全威脅分析,識別IPv6安全產品缺失的現狀並補齊,確定改造節奏,包括LVS、DNS等各型別伺服器、網路裝置、DDoS裝置、防火牆等,升級安全系統,結合業務實際利用好IPv6協議本身的安全增強技術手段,增強IPv6安全防護,同時加強IPv6環境各業務領域特別是新興領域物聯網、雲端計算、大資料、人工智慧等的網路安全技術、管理及機制研究,促進新的安全業務和應用的開展,形成全球領先的下一代網際網路技術產業體系。

 

0x05 IPv6網路安全加固建議

雖然IPv6相對於IPv4來說增強了自身的安全機制,但一個新協議的引入必然會引入新的安全問題,對已有的網路安全技術體系造成影響,因此熟悉已有業務及網路、IPv6現狀及其安全性並針對性部署安全加固非常重要。

針對不同的IPv6網路安全風險,有不同的安全應對技術、措施和方法,需要採取合適自身的IPv6安全解決方案及措施,構築IPv6網路安全及IPv6環境下新興領域安全保障能力。


如下典型的IPv6網路安全加固建議供參考。

a)做好IPv6網路各層各面和各安全域的隔離及訪問控制,將安全影響控制到最小;

b)合理管控IPv6管理、控制和資料平面之間的資源互訪,在各平面安全域根據各域的特點輔以相應的安全保護和控制措施,實施雙棧的情況建議在IPv4/6雙棧裝置上採用嚴格的網路過濾和訪問控制,防範IPv4和IPv6安全問題的相互影響;

c)做好管理和控制平面IPv6網路接入的認證與鑑權,制定完善的邊界防護策略,防止惡意裝置及使用者的接入,結合業務實際情況有效利用IPv6協議的IPsec特性、源地址過濾技術等加強平面內的安全保護;

d)控制平面做好新增ICMPv6協議安全防護,建議根據實際情況選擇合適的安全措施,例如配置ACL白名單,僅允許必須的ICMPv6等報文通過,介面關閉ICMPv6重定向、埠停止傳送RA訊息,關閉傳送ICMP不可達資訊,關閉源路由防止Type 0 Routing Header攻擊等;

e)控制平面通過IPsec、認證以及白名單策略等做好IPv6網路路由等協議安全防護;

f)管理平面與IPv4網路類似,通過白名單策略、禁用不使用的IPv6服務等,確保攻擊面最小;

g)資料平面與IPv4網路類似,配置ACL白名單策略,關閉不必要的服務、禁止源路由,部署IPv6 uRPF等;

h)DNS做好IPv6掃描及嗅探的安全檢測及防護;

i)建議嚴格限制IPv6同一片報文的分片數目,設定合理的分片緩衝超時時間;

j)建議配置埠的最大ND表項學習數量,限制擴充套件頭的數量和同一型別擴充套件頭例項的數目;

k)IPv6網路涉及各類伺服器、終端、網路裝置及應用軟體等,設計及開發需要遵從成熟的安全工程方法及規範,確保IPv6協議棧安全質量,同時做好已知漏洞的安全檢測及修復;

l)IPv6協議攻擊的實施目前已有很成熟的開源安全工具套件,例如THC-IPv6、Si6 Networks ipv6-toolkit等,IPv6網路及協議上線執行時,需要提前做好網路中各部分IPv6協議棧健壯性測試、安全滲透測試及安全質量評估,及時削減安全風險;

m)基於IPv6的特點和安全威脅分析,確定IPv4升級演進到IPv6的策略,識別IPv6安全產品缺失的現狀並補齊,確定改造節奏,升級安全系統。

 

0x06 參考文件:

[1]IPv6的發展和安全性研究

[2]Atlasis, IPv6 Extension Headers: New Features, and New Attack Vectors, IPv6 Security Summit,

Troopers 13, Heidelberg, 11-15 March 2013

[3]RFC 2460: Internet Protocol, Version 6 (IPv6) Specification

[4]RFC 3756: IPv6 Neighbor Discovery (ND) Trust Models and Threats

[5]RFC 4291: IP Version 6 Addressing Architecture

[6]RFC 4443: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 Specification

[7]RFC 4941: Privacy Extensions for Stateless Address Autoconfiguration in IPv6

[8]RFC 4942: IPv6 Transition/Coexistence Security Considerations

[9]下一代網際網路國家工程中心-全球IPv6測試中心-《2017 IPv6支援度報告》


本文由阿里聚安全釋出,轉載請註明出處,原文連結:http://jaq.alibaba.com/community/art/show?spm=a313e.7916646.24000001.2.7ac796c4APeSUP&articleid=1258


相關文章