胡 南,周 宇,伍傳麗,邯子皓,向劍文,張家琦,邢燕禎
(1.中央廣播電視總臺,北京 100020;2.武漢理工大學 計算機與人工智能學院,湖北 武漢 430070;3.國家計算機網(wǎng)絡應急技術處理協(xié)調(diào)中心,北京 100029)
IPv4 作為網(wǎng)絡基礎協(xié)議已得到廣泛應用,但隨著互聯(lián)網(wǎng)的快速發(fā)展,5G、物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等新的應用領域迅速崛起,IPv4 存在的地址資源緊缺、路由效率下降、安全難以保障等問題日益凸顯,難以滿足當今網(wǎng)絡需求。IPv6 是網(wǎng)絡協(xié)議(Internet Protocol,IP)的最新版本,旨在提供相較于IPv4 更好的互聯(lián)能力,目前各行業(yè)、領域均在加快部署IPv6。
圖1 為根據(jù)亞太互聯(lián)網(wǎng)絡信息中心(Asia-Pacific Network Information Center,APNIC)統(tǒng)計的全球IPv6 部署率[1]。截至2021年12月,部署率突破40%的國家有16個,27 個國家部署率突破30%,40 個國家部署率突破20%。根據(jù)國家IPv6 檢測發(fā)展平臺顯示[2],截至2021 年12 月,中國IPv6 地址快數(shù)量達59 030 塊/32,占比17.38%,位于全球首位;全國IPv6 互聯(lián)網(wǎng)活躍用戶總數(shù)達5.332 億,占比53.91%,位于全球首位;IPv6 流量漲幅十分明顯,城域網(wǎng)流量占比9.38%,移動網(wǎng)流量占比35.15%,骨干直聯(lián)點流量占比6.52%,國際出口流量占比2.72%。綜上所述,現(xiàn)階段IPv6 部署率逐步提升,活躍用戶數(shù)持續(xù)上升,IPv6 流量穩(wěn)步上漲。
Fig.1 IPv6 deployment in countries around the world(as of December 2021)圖1 全球各國IPv6部署程度(截至2021年12月)
隨著IPv6 網(wǎng)絡部署不斷推進,遭受的攻擊及漏洞數(shù)量逐年增長。根據(jù)綠盟科技有限公司提供的《2020 網(wǎng)絡安全觀察》數(shù)據(jù)[3],針對2020 年國內(nèi)百余家單位遭受攻擊的告警進行分析,出現(xiàn)了459 種不同的攻擊警告消息,共101 190 個。美國國家漏洞數(shù)據(jù)庫(National Vulnerability Database,NVD)[4]顯示2018-2021 年新增的IPv6 相關漏洞依次為25、34、90、45條,其中幾乎一半是高危漏洞。
IPv6 雖然在保密性、完整性等方面相較于IPv4 具有較大改進,但IPv4 中很多常見的網(wǎng)絡攻擊仍在IPv6 網(wǎng)絡中出現(xiàn),例如拒絕服務攻擊(Denial of Service,DoS)、路由攻擊、嗅探攻擊、流氓設備攻擊、中間人攻擊、應用層攻擊等[5]。
此外,IPv6 雖然具有全新的數(shù)據(jù)包頭部格式、廣大的地址空間、無狀態(tài)和狀態(tài)化的地址配置、對IPsec 頭部的支持、全新的鄰居節(jié)點交互協(xié)議等新特性[6-8],但功能的增強在一定程度上引發(fā)了新漏洞,并且IPv6 具有的某些新特性也引入了特有的安全風險,包括報頭安全風險、地址安全風險、互聯(lián)網(wǎng)控制信息協(xié)議第6 版(Internet Control Message Protocol Version 6,ICMPv6)安全風險、鄰居發(fā)現(xiàn)協(xié)議(Neighbor Discovery Protocol,NDP)安全風險等。此外,在IPv4/IPv6 過渡期使用的過渡機制同樣也面臨著安全風險。IPv6/IPv4安全風險比較如表1所示。
Table 1 Comparison of IPv6 and IPv4 security threats表1 IPv6與IPv4安全風險比較
近年來,我國發(fā)布了大量相關文件推進IPv6 部署工作,包括2017 年發(fā)布的《推進互聯(lián)網(wǎng)協(xié)議第6 版(IPv6)規(guī)模部署行動計劃》[9],2020年發(fā)布的《關于開展2020年IPv6端到端貫通能力提升專項行動的通知》[10],2021 年發(fā)布的《關于加快推進互聯(lián)網(wǎng)協(xié)議第6 版(IPv6)規(guī)模部署和應用工作的通知》[11]等。由此可見,安全問題是不容忽視的重點內(nèi)容之一。在推進部署工作前,全面了解IPv6 安全問題并研究相關防護技術為新一代網(wǎng)絡建設提供更好的安全防護至關重要。
綜上所述,雖然IPv6 部署正在如火如荼地進行,但IPv6 網(wǎng)絡缺乏大規(guī)模使用的安全經(jīng)驗,現(xiàn)階段已部署應用的IPv6 應用場景十分有限。相較于IPv4,IPv6 的使用和安全問題更復雜,將存在更多安全風險。Durda?i 等[12]重點描述IPv4/Pv6 面臨的相同安全風險,關于IPv6 特有風險介紹不夠全面。張連成等[13]詳細描述了IPv6 相關的安全風險,但僅給出了防護建議,并未描述相應的防范技術。Nixon[14]介紹了一些安全協(xié)議、安全設備作為防護手段,可看出關于IPv6 安全風險的相關綜述較多,但大多數(shù)并未詳細描述各風險對應的防范方案。
因此,本文全面梳理了IPv6 的安全風險,重點對相應的防范方案進行調(diào)研與總結。具體為:介紹IPv4/IPv6 相同的安全風險與防范方案;從IPv6 報頭、地址、ICMPv6、NDP 4 個方面介紹IPv6 特有的安全風險與防范方案;介紹IPv4/IPv6 過渡期使用不同過渡機制面臨的安全風險與防范方案。
盡管在IPv6 協(xié)議中實現(xiàn)了安全改進,但并未從根本上改變某些類型的攻擊,網(wǎng)絡仍然暴露在不同類型的攻擊下,因此IPv4 所面臨的拒絕服務攻擊、路由攻擊、嗅探攻擊、流氓設備攻擊、中間人攻擊、應用層攻擊等安全風險在IPv6 網(wǎng)絡中仍未改變性質(zhì),這些攻擊對兩種協(xié)議造成幾乎相同的影響[5,12]。
1.1.1 拒絕服務攻擊
拒絕服務攻擊指攻擊節(jié)點通過模擬正常節(jié)點發(fā)送大量報文至被攻擊節(jié)點,消耗被攻擊節(jié)點與同一網(wǎng)絡上其他用戶的網(wǎng)絡帶寬與計算資源[15],這種攻擊方式的原理并未發(fā)生改變,是IPv4/IPv6網(wǎng)絡中最常見的威脅之一。
1.1.2 路由攻擊
路由攻擊指通過發(fā)送偽造路由信息,產(chǎn)生錯誤路由干擾正常路由的過程[16],目前常見的兩種攻擊方式為路由泄露和路由劫持,在IPv4/IPv6網(wǎng)絡中均可能出現(xiàn)。
1.1.3 嗅探攻擊
嗅探攻擊指非法竊取網(wǎng)絡上傳輸?shù)男畔ⅲ?7],可使用IPsec 協(xié)議進行防護,該協(xié)議在IPv4 中可選,在IPv6 中則是必選[12],但并未簡化其密鑰管理存在的問題。
1.1.4 流氓設備攻擊
流氓設備攻擊指引入未經(jīng)授權的設備攻擊網(wǎng)絡[18],攻擊者在網(wǎng)絡中設置流氓接入點(Rogue Access Point,RAP)以實現(xiàn)未經(jīng)授權的訪問,還可利用RAP 進行其他攻擊。在IPv6 中并未進行特殊設置以阻止流氓設備,因此該網(wǎng)絡也容易受到攻擊[5]。
1.1.5 中間人攻擊
中間人攻擊指攻擊節(jié)點非法潛入正常通信節(jié)點間干擾通信過程[19],IPv4/IPv6 的安全防護均依賴于IPsec 協(xié)議,IPsec 加密依賴互聯(lián)網(wǎng)密鑰交換(Internet Key Exchange,IKE),在交換公鑰時可能會成為中間人攻擊的目標[13]。
1.1.6 應用層攻擊
如今,互聯(lián)網(wǎng)上的大多數(shù)漏洞均出現(xiàn)在應用層,例如緩沖區(qū)溢出攻擊、網(wǎng)絡應用攻擊、不同類型的病毒和蠕蟲等[20]。IPsec 無法阻止這些攻擊,因此IPv4/IPv6 的應用層攻擊也一致。
1.2.1 拒絕服務攻擊防范
使用流量檢測算法及源IP 檢測算法檢測網(wǎng)絡流量與源IP 個數(shù)的變化,及時檢測到拒絕服務攻擊,通過設置路由器過載降級、隔離路由器間的流量、增加身份驗證等操作來有效降低Dos 對網(wǎng)絡造成的影響[15]。丑義凡等[21]提出基于混合流量預測模型的檢測算法,首先將原始流量去噪,恢復流量原本的混沌狀態(tài),然后通過神經(jīng)網(wǎng)絡預測模型求得流量的變化趨勢,判斷網(wǎng)絡是否出現(xiàn)了Dos,進而實現(xiàn)流量定向阻斷。
1.2.2 路由攻擊防范
使用鏈路層加密和認證、多路徑路由、身份驗證、雙向鏈路驗證、認證廣播等方法可有效防御路由攻擊[22]。黃卓君等[23]從防偽認證信息庫建模、路由分析監(jiān)測、健全路由管控機制3 個方面構建安全路由管控。即構建具有防偽認證的路由數(shù)據(jù)庫,動態(tài)檢測網(wǎng)絡以及時發(fā)現(xiàn)路由泄露與路由劫持,并提示警告,然后結合警告信息以黑白名單的方式過濾非法路由。
1.2.3 嗅探攻擊防范
常用的嗅探攻擊防范技術包括數(shù)據(jù)加密及流量監(jiān)視[17],可在數(shù)據(jù)傳送前進行加密,以確保即使攻擊者嗅探到數(shù)據(jù)包,也無法直接竊取真實信息。由于嗅探器會接受同一子網(wǎng)內(nèi)的報文,將占用網(wǎng)絡大量帶寬,因此可通過監(jiān)視網(wǎng)絡流量檢測嗅探攻擊的發(fā)生。
此外,移動目標防御(Moving Target Defense,MTD)是近年來新增的防御嗅探攻擊方式,其思想是通過周期路徑跳變機制,通過多個不同路徑傳輸數(shù)據(jù),使攻擊者難以收集完整的數(shù)據(jù)包[24]。
1.2.4 流氓設備攻擊防范
使用有線或無線檢測方式檢測網(wǎng)絡中的RAP[18]。Lu等[25]利用無線網(wǎng)絡中存在的相位差漂移現(xiàn)象,實現(xiàn)了更快速的RAP 檢測。
1.2.5 中間人攻擊防范
在發(fā)送端和接收端間使用互鎖協(xié)議,能在一定程度上保護消息免受中間人攻擊[19]。姚志強等[26]提出通過實體認證與密鑰協(xié)商結合數(shù)字簽名與摘要進行消息認證的方法,以預防動態(tài)配置地址中的中間人攻擊。
1.2.6 應用層攻擊防范
及時修復系統(tǒng)漏洞、安全審計系統(tǒng)內(nèi)的用戶行為,能有效預防應用層攻擊[20]。Giri 等[27]提出一個編程語言的安全特征框架,解決編程語言中的各種漏洞帶來的應用層風險。Kroes 等[28]利用指針標記檢測緩沖區(qū)溢出攻擊,實驗證明該方案開銷較低。
由于IPv6 具有的某些新特性將不可避免地引入部分特有的安全風險,因此本文從IPv6 報頭安全風險、IPv6 地址安全風險、ICMPv6安全風險及NDP 安全風險4個方面對其特有安全風險進行描述,如表2所示。
IPv6 報頭由基本報頭和擴展報頭構成,相較于IPv4,IPv6 采用了簡化的基本報頭,刪除了標識號、片段偏移量、報頭校驗等字段,新增流標簽字段[7]。此外,定義擴展報頭增強IPv6 網(wǎng)絡層的各種功能,包括逐跳選項報頭、目的選項報頭、路由報頭、分段報頭、驗證報頭及封裝的安全有效負載報頭。接下來,將從IPv6 基本報頭和擴展報頭兩方面對IPv6報頭安全風險進行介紹。
2.1.1 安全風險
(1)基本報頭。IPv6 基本報頭中新增的流標簽字段可識別一個唯一流、連續(xù)流或連接組成部分的數(shù)據(jù)包,按照優(yōu)先級發(fā)送數(shù)據(jù)包,路由器可根據(jù)流標簽區(qū)分流并進行處理[7]。流標簽未定義任何安全防護機制,因此在傳輸過程中攻擊節(jié)點可能會偽造流標簽,或利用一系列流標簽的值隱藏數(shù)據(jù)[13]。
Table 2 New security threats caused by IPv6 new features表2 IPv6新特性引發(fā)的特有安全風險
(2)擴展報頭。由于協(xié)議規(guī)范并未約束擴展頭部的使用,因此攻擊節(jié)點可利用擴展頭部制造攻擊。具體為以下3 點:①攻擊節(jié)點通過鏈接多個擴展頭部繞過防火墻和入侵防御系統(tǒng)[29];②通常情況下,中間設備(例如路由器或防火墻)只檢查數(shù)據(jù)包的第一分段,攻擊節(jié)點可能在之后的分段中混淆數(shù)據(jù)以規(guī)避安全設備[30];③大量的擴展頭部將消耗大部分資源,可能會導致目的主機的拒絕服務攻擊。
此外,不同擴展報頭還面臨著獨有的安全風險,包括逐跳選項報頭、分段報頭、路由報頭等。其中,逐跳選項報頭可能被攻擊節(jié)點惡意利用,造成沿流量路徑節(jié)點上與目的節(jié)點的資源消耗[2];分段報頭攻擊可能造成重疊分段、亂序分段、數(shù)據(jù)包無法正確重組,攻擊節(jié)點通過發(fā)送不完整的數(shù)據(jù)分段導致接收節(jié)點處于等待狀態(tài),造成資源消耗[31];攻擊者利用路由報頭繞過IPv6 防火墻訪問內(nèi)部受保護的主機[32]。
2.1.2 防范方案
(1)基本報頭。使用均勻隨機的流標簽或利用散列算法生成流標簽不易讓攻擊節(jié)點探測[7]。
(2)擴展報頭。選擇過濾策略時,應注意擴展報頭帶來的流量復雜性,防御鏈接攻擊[31]。在轉(zhuǎn)發(fā)路徑的每個節(jié)點上分析包含逐跳選項報頭的數(shù)據(jù)包,防御資源消耗攻擊;嚴格檢查下一頭部字段信息,防御分段攻擊;將訪問控制檢查擴展到路由報頭的地址,預防路由報頭的安全漏洞[32]。
針對IPv6 擴展報頭引發(fā)的安全問題,Naagas 等[33]提出新的安全模型DEH-DoSv6 解決IPv6 擴展報頭DoS 攻擊帶來的新威脅,在路由器轉(zhuǎn)發(fā)前增加一個新的安全機制,先進行流量分類,再對分類后的流量采取丟棄、限制、允許等措施,以有效規(guī)避惡意流量。
IPv6 地址空間已由IPv4 的32 位擴充至128 位,在地址探測方面會給攻擊節(jié)點帶來一定的難度,但仍無法完全避免被掃描的風險。在地址配置方面IPv6 可采用有狀態(tài)地址自動配置和無狀態(tài)地址自動配置(Stateless Address Autoconfiguration,SLAAC),前者依賴于動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol IPv6,DHCPv6)的支持。接下來,將會分別從地址探測和地址配置兩方面對IPv6 地址空間存在的安全風險進行分析,并總結防范方案。
2.2.1 安全風險
(1)地址探測。首先,由于IPv6 更多地依賴域名解析,導致域名系統(tǒng)(Domain Name Server,DNS)可能成為攻擊節(jié)點的重點攻擊目標[6]。其次,使用相同品牌網(wǎng)絡接口導致的標識符唯一、IPv6 地址內(nèi)嵌入IPv4 地址、采用低字節(jié)地址等也會加快攻擊節(jié)點地址探測速度[13]。
(2)地址配置。地址配置包括有狀態(tài)地址自動配置與無狀態(tài)地址自動配置。其中,有狀態(tài)自動配置指主機通過DHCPv6 獲取IPv6 地址和相關配置信息,相較于無狀態(tài)自動配置而言更可控,能更清晰地了解主機與地址分配的相關信息[7]。
本文主要列出DHCPv6 方式可能面臨的3 種安全風險:私設服務器攻擊、消息篡改攻擊和拒絕服務攻擊[34]。私設服務器攻擊表現(xiàn)為攻擊節(jié)點向合法客戶端發(fā)送偽造的ADVERTISE 和REPLY 消息私設DHCPv6 服務器,從而實現(xiàn)在主機上配置錯誤的IPv6 地址和其他信息,導致網(wǎng)絡連接故障[35],DHCPv6私設服務器攻擊如圖2所示。
Fig.2 DHCPv6 private server attack圖2 DHCPv6私設服務器攻擊
消息篡改攻擊表現(xiàn)為當前的DHCPv6機制并未提供檢查消息完整性的方法,如果攻擊節(jié)點修改DHCPv6 消息內(nèi)容,客戶端將遭受與私設DHCPv6 服務器攻擊相同的結果,DHCPv6消息篡改攻擊如圖3所示。
Fig. 3 DHCPv6 message tampering attack圖3 DHCPv6消息篡改攻擊
拒絕服務攻擊表現(xiàn)為攻擊節(jié)點向服務器發(fā)送大量用于發(fā)現(xiàn)服務器的SOLICIT 消息,導致服務器CPU 產(chǎn)生巨大負荷,直至宕機無法提供服務,DHCPv6 拒絕服務攻擊如圖4所示。
Fig. 4 DHCPv6 denial of service attack圖4 DHCPv6拒絕服務攻擊
無狀態(tài)地址自動配置利用ICMPv6 協(xié)議中的路由器請求消息(Router Solicitation,RS)和路由器通告(Router Advertisement,RA)消息獲得網(wǎng)絡前綴等網(wǎng)絡信息,并自動生成接口標識符(Interface Identifier,IID),再使用重復地址檢測(Duplicate Address Detection,DAD)驗證鏈接地址的唯一性,從而完成無狀態(tài)自動配置過程,無需額外部署服務器[7]。
本文主要列出SLAAC 方式可能面臨的3 種安全風險:欺騙攻擊、惡意最后一跳路由器攻擊和隱私問題。欺騙攻擊表現(xiàn)為SLAAC 內(nèi)部并未構建認證機制,攻擊節(jié)點通過發(fā)送非法的RA 報文偽裝成默認路由器[36],例如通告非法的網(wǎng)絡前綴、錯誤M 比特位等;惡意最后一跳路由器攻擊表現(xiàn)為攻擊節(jié)點偽裝成網(wǎng)絡上合法路由器向網(wǎng)絡發(fā)送非法RA 消息,導致網(wǎng)絡中其他主機使用不同的網(wǎng)絡前綴[37];隱私問題表現(xiàn)為設備將IPv6 地址的網(wǎng)絡前綴部分作為IID,導致每個用戶的確定性IID 相同,這種靜態(tài)特性的地址生成方法可能會引起設備跟蹤[38]。
2.2.2 防范方案
方案一:地址探測安全風險防范。通過隱藏真實的DNS 服務器地址、限制DNS 訪問頻率、結合云計算和大數(shù)據(jù)平臺設置拒絕服務的黑名單等方式保障DNS 安全。此外,DNS 安全擴展協(xié)議提供認證和完整性保障。設置網(wǎng)絡地址時,應注意避免從低字節(jié)開始編址,節(jié)點標識符不按順序排列或使用隨機節(jié)點標識符使攻擊者難以掃描IPv6子網(wǎng)[6]。
方案二:地址配置安全風險防范。
(1)適用于兩種地址生成方式的防范方法。密碼生成地址(Cryptographically Generated Addresses,CGA)提供了消息完整性、身份驗證等功能防御IP 偽造[39],可用于增強任何地址生成方式的安全性;使用源地址合法性檢驗(Source Address Validating,SAVI)方式緩解IPv6 地址欺騙風險,將終端處理設備與網(wǎng)絡路由間的源地址綁定在一起,從而有效判斷接入設備報文源地址的真實性,預防地址欺騙[40]。
(2)針對使用DHCPv6 地址生成方式的防范方法。通過重配置密鑰認證協(xié)議(Reconfiguration Key Authentication Protocol,RKAP)能有效預防私設服務器攻擊;檢查信息完整性防御信息篡改攻擊;限制發(fā)送至DHCPv6 的服務器速率,防御拒絕服務攻擊[34]。LI 等[34]提出一種安全的DHCPv6 機制,在現(xiàn)有的DHCPv6 協(xié)議中加入身份認證和加密機制,保護DHCPv6 通信中的隱私信息免受被動攻擊。Alani 等[35]基于對稱密鑰提出DHCPv6Auth 機制,防御惡意DHCPv6服務器攻擊,保護主機隱私。
(3)針對使用SLAAC 地址生成方式的防范方法。將網(wǎng)絡預設的每個合法路由器的鏈路層地址和IPv6 地址存入路由器數(shù)據(jù)庫,將實際通信的RA 報文解析后和路由器數(shù)據(jù)庫進行比較,預防惡意最后一跳路由器攻擊[37];IPv6 中無狀態(tài)地址自動配置的隱私擴展,能隨著時間的推移改變地址的IID 部分并生成新地址,同時地址序列接口選擇完全不可預測,以保護地址隱私,防御設備跟蹤。Shah 等[41]提出在發(fā)送方節(jié)點進行地址生成、在接收方節(jié)點進行地址驗證且IID 隨著時間段不同而改變的方法,生成了維護隱私所需的高度隨機化的IID,使攻擊節(jié)點無法準確確定節(jié)點位置。Odero 等[35]提出一種結合不同網(wǎng)絡參數(shù)隱私性,增強IID 生成方法,以保護IPv6網(wǎng)絡環(huán)境中用戶的隱私。
2.3.1 安全風險
IPv6 使用ICMPv6 協(xié)議提供管理、控制和網(wǎng)絡診斷等功能,包括IPv4 的ICMP、ARP 協(xié)議。此外,ICMPv6 還具有鄰居發(fā)現(xiàn)(Neighbor Discovery,ND)、路徑最大傳輸單元(Path Maximum Transmission Unit,PMTU)發(fā)現(xiàn)等新特性[7]。ICMPv6 消息類型可分為錯誤類消息和信息類消息。下面將介紹ICMPv6 錯誤類消息安全風險、信息類消息安全風險及PMTU 發(fā)現(xiàn)安全風險。
(1)錯誤類消息安全風險。攻擊節(jié)點將大量不合法的數(shù)據(jù)包發(fā)送至被攻擊節(jié)點,被攻擊節(jié)點需要對每個數(shù)據(jù)包以一條ICMPv6 錯誤消息作出響應,由此對被攻擊節(jié)點造成拒絕服務攻擊[43]。
(2)信息類消息安全風險。攻擊節(jié)點可能冒充被攻擊節(jié)點向其他節(jié)點發(fā)送回送請求消息[13],導致被攻擊節(jié)點收到后需要發(fā)送大量回送應答消息,造成泛洪攻擊,影響被攻擊節(jié)點正常通信;當攻擊節(jié)點冒充被攻擊節(jié)點向組播地址發(fā)送回送請求消息時,將造成組播放大攻擊[44]。ICMPv6信息類消息安全風險如圖5所示。
(3)PMTU 發(fā)現(xiàn)安全風險。PMTU 是源節(jié)點和目的節(jié)點間的路徑上任何鏈路均支持的最大傳輸單元,由于IPv6不允許中間節(jié)點進行數(shù)據(jù)包分段,因此需要使用PMTU 進行處理。攻擊節(jié)點可通過發(fā)送大量碎片造成碎片攻擊,使目標系統(tǒng)上的重建緩沖區(qū)超載,導致系統(tǒng)崩潰[12]。
Fig.5 ICMPv6 information message security threat圖5 ICMPv6信息類消息安全風險
2.3.2 防范方案
利用入侵檢測系統(tǒng)分析ICMPv6 流量,識別惡意流量,目前已有基于特征的入侵檢測系統(tǒng)及基于異常的異常檢測系統(tǒng)能有效識別拒絕服務攻擊的發(fā)生[45]。同時,使用IPsec、路由通告保護技術(Router Advertisement Guard,RA Guard)等防護機制能有效防御信息類消息造成的泛洪攻擊及組播放大攻擊[44]。如果該數(shù)據(jù)包不是流中的最后一個數(shù)據(jù)包,將建議丟棄少于1 280 個二進制八位字節(jié)的所有片段,以此防御碎片攻擊[12]。
針對ICMPv6 引發(fā)的安全問題,Elejla 等[46]提出一種基于流提取攻擊特征的入侵檢測系統(tǒng),通過區(qū)分正常流、攻擊流檢測基于ICMPv6 的DDoS 攻擊。江魁等[47]針對ICMPv6 中DDoS 攻擊提出基于信息熵與長短期記憶網(wǎng)絡相結合的雙重檢測方法,首先通過信息熵初步檢測異常的發(fā)生,然后基于長短期記憶網(wǎng)絡確認異常。
2.4.1 安全風險
NDP 具有發(fā)現(xiàn)同一鏈路上的節(jié)點、確認彼此的鏈路層地址、查找路由器、維護活躍鄰居節(jié)點的可達性信息等關鍵性功能[48]。由于NDP 設計時未引入認證機制,將導致網(wǎng)絡中主機不可信,攻擊節(jié)點可獲得并冒用主機MAC 地址,通過偽造、篡改協(xié)議報文實現(xiàn)重復地址檢測攻擊、鄰居不可達攻擊和欺騙攻擊。
(1)重復地址檢測攻擊。重復地址檢測是保證唯一IPv6 地址的重要途徑,發(fā)生在主機啟動或改變其IPv6 地址時。攻擊節(jié)點可能對該鄰居請求進行應答,表示已使用該地址,主機只能嘗試更換其他地址再次發(fā)送鄰居請求,若攻擊節(jié)點每次都進行應答,將導致主機無法獲得地址[42]。重復地址檢測攻擊如圖6所示。
Fig.6 Duplicate address detection attack圖6 重復地址檢測攻擊
(2)鄰居不可達攻擊。請求節(jié)點向?qū)Φ裙?jié)點或上一層節(jié)點發(fā)送請求時,如果并未接收到來自被請求節(jié)點的回復時,將嘗試再次發(fā)送請求,若仍未得到回應,該被請求節(jié)點信息的鄰居緩存條目將被刪除。于是,攻擊節(jié)點可冒充已不可達節(jié)點向其他節(jié)點發(fā)送消息,導致其他節(jié)點誤認為該不可達節(jié)點仍然存在,在鄰居緩存中創(chuàng)建錯誤的映射[49]。鄰居不可達攻擊如圖7所示。
Fig.7 Neighbor unreachable detection attack圖7 鄰居不可達檢測攻擊示意圖
(3)欺騙攻擊。ICMP 重定向信息是指路由器向主機提供實時路由信息,當主機收到ICMP 重定向信息時,會根據(jù)該信息更新路由表。但由于ICMPv6 重定向中尚未內(nèi)置認證機制,攻擊節(jié)點可發(fā)送偽造的重定向信息給被攻擊的主機,讓主機按照攻擊節(jié)點發(fā)送的MAC 地址修改路由表。一旦修改的MAC 地址不存在,將導致被攻擊節(jié)點無法與其他節(jié)點進行通信,造成拒絕服務攻擊;若MAC 地址存在但不正確,則造成重定向攻擊[50]。欺騙攻擊如圖8所示。
Fig.8 NDP spoofing attack圖8 鄰居發(fā)現(xiàn)協(xié)議欺騙攻擊
2.4.2 防范方案
使用安全鄰居發(fā)現(xiàn)(Secure Neighbor Discovery,SEND)協(xié)議能從根本上解決ND 協(xié)議中重復地址檢測攻擊、鄰居不可達攻擊及欺騙攻擊。SEND 提供了保護NDP消息免受鏈路層和網(wǎng)絡層威脅的功能[51],由于目前終端及設備并非普遍支持SEND 協(xié)議,在無法部署SEND 的情況下,可采用ND Snooping、DHCP-Snooping 獲取用戶IP 地址、MAC、物理端口的對應關系或通過手動綁定表項等方式建立信任表項,過濾非法的ND 報文,達到保護ND 協(xié)議的效果。Jacome 等[52]提出一種使用DH 與HMAC 算法建立更安全的鄰居發(fā)現(xiàn)協(xié)議,雖然無法解決與NDP 相關的所有問題,但增加了安全級別。Rehman 等[53]提出Secure-DAD 解決自動配置所需的DAD 過程易發(fā)生的DoS攻擊問題。
IPv6 與IPv4 的設計并不兼容,為了彌合這兩種異構協(xié)議間的差距,需要使用一些過渡機制實現(xiàn)兩者相互兼容。目前,最常見的機制包括雙棧、隧道和翻譯,如表3 所示。在IPv6 完全接管IPv4 之前,這兩種異構協(xié)議仍需長期共存[47]。因此,選用不同的過渡機制需要從功能、應用、性能、部署、安全等方面進行考慮[48],本文將分別介紹以上3種過渡機制面臨的安全風險與防范方案。
Table 3 Comparison of transition mechanisms表3 過渡機制比較
3.1.1 安全風險
雙棧機制是指網(wǎng)絡中同時運行IPv4/IPv6 兩個協(xié)議棧,實現(xiàn)與兩者進行通信[54]。使用雙棧機制可從網(wǎng)絡、應用各層面同時支持IPv4/IPv6 協(xié)議棧,實現(xiàn)邏輯上分離,但雙棧機制部署復雜,對網(wǎng)絡設備要求較高,同時還可能導致嚴重的通信延遲[56]。此外,雙棧也會為網(wǎng)絡帶來不必要的復雜性,因為需要同時維護IPv4/IPv6 兩種協(xié)議,相當于給攻擊節(jié)點提供了兩條路徑,攻擊節(jié)點可利用兩種協(xié)議中的安全漏洞進行協(xié)同攻擊,并利用防護設備的協(xié)同不足來躲避檢測[13]。
3.1.2 防范方案
升級入侵檢測或入侵防御系統(tǒng)、防火墻、日志和審計等安全防護設備,針對IPv6 相關服務設置相應的防護策略,防止攻擊者利用IPv6 防范不當?shù)穆┒磳﹄p棧進行攻擊[57]。同時,雙棧機制中應配置節(jié)點(主機、服務器、路由器等)優(yōu)先使用IPv6 協(xié)議,當不再需要IPv4 服務時,應及時予以禁用[6]。
針對雙棧機制引發(fā)的安全問題,可通過加快攻擊檢測速度、構建認證機構等方面進行改進。Yusof 等[58]在雙棧防火墻中基于自適應閾值算法實現(xiàn)了攻擊檢測與防御算法,能在大規(guī)模網(wǎng)絡環(huán)境下有效、快速地檢測SYN 泛洪攻擊。Liu 等[59]通過簡單網(wǎng)絡管理協(xié)議對用戶的MAC、IP 地址進行身份認證,解決了雙棧機制中IPv4/IPv6 需要分別認證的問題,有效提高了認證系統(tǒng)的兼容性。
3.2.1 安全風險
隧道機制是指將另一種協(xié)議數(shù)據(jù)包封裝到原來協(xié)議中,實現(xiàn)兩種IP 協(xié)議的互通使用。隧道機制方便部署,不會對已有網(wǎng)絡結構造成影響,但需要在隧道端點處不斷進行封裝和解封裝,轉(zhuǎn)發(fā)效率較低[54]。由于所有不同的隧道機制基本上均缺乏內(nèi)置的安全能力,例如身份驗證、完整性、機密性等,因此存在隧道注入、隧道嗅探、服務盜竊等安全風險[60]。隧道注入指攻擊節(jié)點通過偽造外部IPv4 地址和內(nèi)部IPv6 地址偽裝為一個合法用戶,向隧道中注入流量,可增強為反射攻擊。隧道嗅探指位于隧道的IPv4 路徑上的間諜可嗅探以隧道方式傳輸?shù)腎Pv6 數(shù)據(jù)包,并讀取內(nèi)容。服務盜竊指攻擊節(jié)點未經(jīng)授權的使用隧道服務[61],隧道注入攻擊如圖9所示。
Fig.9 Tunnel technology spoofing attack圖9 隧道注入攻擊
3.2.2 防范方案
隧道機制的安全風險防范包括隧道端點保護、流量檢查、訪問控制等方面[57]。具體的,隧道端點需要配置數(shù)據(jù)包過濾器、應用層網(wǎng)關、入侵檢測、防御系統(tǒng)等安全防護機制,使用端到端IPsec 保護通過隧道的流量可防御隧道注入與隧道嗅探[6],在隧道端點上使用單播反向路徑轉(zhuǎn)發(fā)(Unicast Reverse Path Forwarding,URPF)、反電子欺騙技術來減輕隧道注入或反射攻擊。部署流量檢查設備在數(shù)據(jù)包解封后檢查流量。使用訪問控制列表確保只有合法的數(shù)據(jù)包通過隧道,例如檢查IPv4 源地址,拒絕源地址不匹配任何配置隧道的數(shù)據(jù)包通過隧道,這種情況下攻擊者需要發(fā)現(xiàn)兩個隧道端點才能進入隧道,可在一定程度上防御服務盜竊攻擊[6]。
針對隧道機制引發(fā)的安全問題,可通過控制隧道流量、改變隧道結構等方面進行改進。崔宇等[62]提出隧道流標記和后移重組兩個關鍵技術,用于解決惡意隧道流量引發(fā)的隧道干擾和多層分段攻擊。Akilandeswari 等[63]提出一種新的隧道機制安全體系結構,利用橢圓曲線密碼提供數(shù)據(jù)的完整性、保密性和隱私性。
3.3.1 安全風險
翻譯機制是指通過地址翻譯設備實現(xiàn)IPv4/IPv6 地址的互相轉(zhuǎn)換,翻譯設備維持一個地址轉(zhuǎn)化池,用于IPv6 地址通過IPv4網(wǎng)絡通信或IPv4地址通過IPv6網(wǎng)絡通信,翻譯機制能在不改變節(jié)點的前提下實現(xiàn)兩者互通,但地址轉(zhuǎn)換過程不利于地址溯源[54]。
翻譯機制通常無法支持依賴于源地址和目的地址(例如IPSec)的端到端安全方案,可能遭受CPU 和地址池耗盡攻擊[61]。其中,CPU 攻擊指攻擊節(jié)點發(fā)送要求應用層網(wǎng)關檢查的大量數(shù)據(jù)包,導致CPU 負載過重;地址池耗盡攻擊指惡意IPv6 用戶向IPv4 服務器發(fā)送偽造的消息請求,每條請求均會消耗來自地址池的一個IPv4 地址,多次發(fā)出請求將導致地址池耗盡。地址池耗盡攻擊如圖10所示。
Fig.10 Address pool exhaustion attack圖10 地址池耗盡攻擊
3.3.2 防范方案
在翻譯設備內(nèi)部嚴格限制速率,降低數(shù)據(jù)包的發(fā)送速率,防御CPU 攻擊[6];加強訪問控制策略及對個體IP 地址加強嚴格的反電子欺騙措施(例如IP 源檢查)來防御地址池耗盡攻擊[6]。
針對翻譯機制引發(fā)的安全問題,可通過一些中間代理輔助翻譯的方式進行改進。韓康等[64]提出一種基于代理的NAT64/DNS64 優(yōu)化方法,通過中間代理翻譯地址,實現(xiàn)應用層協(xié)議的地址翻譯。
現(xiàn)階段IPv6 相關技術逐步普及與成熟,環(huán)境中的服務與應用顯著增加,但IPv6 的大部分設計和應用缺乏時間、規(guī)模等方面的考驗,仍存在安全隱患。為此,本文圍繞IPv6/IPv4 所面臨的相同攻擊、IPv6 報頭、地址及相關協(xié)議的升級所帶來的特有安全風險和過渡機制面臨的安全風險對相關工作進行了調(diào)研,總結相應的防范方案與最新的研究動態(tài),旨在為各行業(yè)部署IPv6 時提供安全方面的參考。
分析發(fā)現(xiàn),在設計、規(guī)劃網(wǎng)絡時,應同步考慮安全風險,在部署之初就應制定相應的防范方案保證基線安全,其次需要重點部署蜜罐、流量監(jiān)測等積極防御系統(tǒng),增強對未知威脅的監(jiān)測和分析能力。此外,隨著IPv6 與新型組播技術、智能應用感知、網(wǎng)絡切片等技術融合的應用場景更廣泛,應用更復雜,安全問題將迎來新挑戰(zhàn),研究IPv6 與這些新技術融合過程中的安全風險與防范方案將會是未來工作的重點。