一、 IPv4 安全威脅延續
(1) 報文監聽
IPv6中可使用IPSec對其網絡層的數據傳輸進行加密保護,但RFC6434中不再強制要求實施IPSec,因此在未啟用IPSec的情況下,對數據包進行監聽依舊是可行的。
(2) 應用層攻擊
IPv4網絡中應用層可實施的攻擊在IPv6網絡下依然可行,比如SQL注入、緩沖溢出等,IPS、反病毒、URL過濾等應用層的防御不受網絡層協議變化的影響。
(3) 中間人攻擊
啟用IPSec對數據進行認證與加密操作前需要建立SA,通常情況下動態SA的建立通過密鑰交換協議IKE、IKEv2實現,由DH(Diffie-Hellman)算法對IKE密鑰載荷交換進行安全保障[1],然而DH密鑰交換并未對通信雙方的身份進行驗證,因此可能遭受中間人攻擊。
(4) 泛洪攻擊
在IPv4與IPv6中,向目標主機發送大量網絡流量依舊是有效的攻擊方式,泛洪攻擊可能會造成嚴重的資源消耗或導致目標崩潰。
(5) 分片攻擊
在IPv6中,中間節點不可以對分段數據包進行處理,只有端系統可以對IP數據包進行分分段與重組,因此攻擊者可能借助該性質構造惡意數據包。
在RFC8200中聲明禁止重組重疊的IPv6分片,且其限制最小MTU為1280字節[2],因此處理時將丟棄除最后分片外小于1280字節的分片,在一定程序上也緩解了分片攻擊。
(6) 路由攻擊
在IPv6下,由于部分路由協議并未發生變化,因此路由攻擊依舊可行。
(7) 地址欺騙
IPv6使用NDP協議替代了IPv4中的ARP協議,但由于實現原理基本一致,因此針對ARP協議的ARP欺騙、ARP泛洪等類似攻擊方式在IPv6中依舊可行。
二、 IPv6 引入的安全隱患
2.1 IPv6擴展首部威脅
2.1.1 逐跳選項報頭
安全威脅
可利用逐跳選項報頭發送大量包含路由提示選項的IPv6數據包,包含有路由提示選項的數據包要求所有路由器對該數據包進行處理并仔細查看該數據包的報頭信息[3],當攻擊者發送大量此類IPv6數據包時,將消耗鏈路上路由器大量資源,嚴重可造成DoS攻擊。
應對方式
應當限制路由器對包含路由提示選項的數據包的處理數量。
2.1.2 目的選項報頭
安全威脅
移動IPv6協議的數據通信以明文進行傳輸,因此其本身便是不安全的,攻擊者可對MIPv6數據包進行嗅探進而識別其通信節點、轉交地址、家鄉地址、家鄉代理等信息,并利用這些信息偽造數據包。攻擊者可通過攔截類型為消息綁定更新的數據包,修改綁定關系中的轉交地址。此外,移動節點標識符選項揭示了用戶的家鄉從屬關系,攻擊者可利用該選項確定用戶身份,鎖定特定的攻擊對象[4]。
應對方式
可嘗試開啟IPSec保證數據包不會被竊聽[4]。
2.1.3 路由報頭
安全威脅
在RH0路由類型(即type 0)下,攻擊者可利用路由報頭選項偽裝成合法用戶接收返回的數據包。同時,RH0提供了一種流量放大機制,攻擊者可利用該類型進行拒絕服務攻擊[5]。
雖然RH0已被正式棄用并啟用RH2[2],但舊的或未升級設備依然可能遭受RH0攻擊。
應對方式
應當盡快更新安全設備并升級至最新的IPv6協議版本,同時對所有的RH0數據包進行丟棄。
2.1.4 分段報頭
安全威脅
如若將關鍵的報頭信息切分在多個片段中,安全防護設備對關鍵信息進行提取與檢測處理會耗費大量資源,構造大量該類數據包可能對目標主機造成DoS攻擊。
攻擊者可向節點發送大量不完整的分段集合,強迫節點等待片段集合的最后片段,節點在超時時間內由于只接收到部分IPv6片段進而無法完成重組,最終只能將數據包丟棄,在超時等待期間,會造成存儲資源的消耗。
應對方式
防火墻應該丟棄除最后分段外所有小于1280字節的所有分段。
Cisco ASA防火墻的FragGuard功能可以將所有的分片組裝并進行整個數據包檢查用以確定是否存在丟失的分段或重疊分段。
根據RFC8200,IPv6節點已不能創建重疊分段,且在對IPv6報文進行重組時,如若確定一個或多個片段為重疊片段,則必須對整個報文進行丟棄[2]。
2.2 協議威脅
2.2.1 ICMPv6協議
安全威脅
可通過向組播地址FF02::1發送Echo Request報文,通過接收Echo Reply報文實現本地鏈路掃描,或以目標節點作為源地址向組播地址FF02 :: 1發送ICMPv6 EchoRequest消息實現Smurf攻擊。
可通過向目標節點發送ICMPv6 Packet too big報文,減小接收節點的MTU,降低傳輸速率。
可通過向目標節點發送過多的ICMPv6包以及發送錯誤消息,導致會話被丟棄,從而破壞已建立的通信,實現DoS攻擊[6]。
可通過向主機發送格式不正確的消息刺激主機對ICMPv6的響應,從而通發現潛在的攻擊目標[6]。
應對方式
可在交換機的每個物理端口設置流量限制,將超出流量限制的數據包丟棄。或在防火墻或邊界路由器上啟動ICMPv6數據包過濾機制,也可配置路由器拒絕轉發帶有組播地址的ICMPv6 EchoRequest報文。
可嘗試關閉PMTU發現機制,但其會影響到網絡數據的傳輸速率。
2.2.2 鄰居發現協議(NDP)
安全威脅
(1)中間人攻擊
由于NDP協議基于可信網絡因此并不具備認證功能,因此可通過偽造ICMPv6 NA/RA報文實現中間人攻擊。攻擊者可以偽造NA報文,將自己的鏈路層地址并啟用覆蓋標志(O)作為鏈路上其他主機的地址進行廣播。攻擊者可偽造RA報文發送至目標節點修改其默認網關。
(2) 重復地址檢測攻擊
當目標節點向FF02 :: 16所有節點發送NS數據包進行重復地址檢測時,攻擊者可向該節點發送NA報文進行響應,并表明該地址已被自己使用。當節點接收到該地址已被占用消息后重新生成新的IPv6地址并再一次進行重復地址檢測時,攻擊者可繼續進行NA響應實現DoS攻擊。
(3) 泛洪攻擊
攻擊者可偽造不同網絡前綴RA消息對FF02 :: 1進行進行泛洪攻擊,接收節點將會根據不同的網絡前綴進行更新,從而消耗大量的CPU資源。
應對方式
安全鄰居發現(SEND)[7]協議是鄰居發現協議中的一個安全擴展,其工作原理為使網絡中每個IPv6節點都有一對公私鑰以及多個鄰居擴展選項。采用SEND協議后,各個節點的接口標識符(IPv6地址低64比特)將基于當前的IPv6網絡前綴與公鑰進行計算產生,而不能由各個節點自行選擇。安全鄰居發現協議通過時間戳和Nonce選項抵御重放攻擊,并引入了CGA(密碼生成地址)與RSA簽名對數據源進行驗證以解決鄰居請求/鄰居通告欺騙的問題。SEND雖然可以解決一定的安全問題,但目前系統與設備對SEND的支持十分有限。
RFC7113提出了IPv6安全RA方案RA-Guard[8],其通過阻斷非信任端口RA報文轉發來避免惡意RA可能帶來的威脅,在攻擊包實際到達目標節點之前阻塞二層設備上的攻擊數據包。
使用訪問控制列表或空路由過濾對地址空間中未分配的部分的訪問,用以防止攻擊者迫使路由解析未使用的地址。
2.2.3 DHCPv6
安全威脅
(1)地址池耗盡攻擊
攻擊者可以偽裝為大量的DHCPv6客戶端,向DHCPv6服務器請求大量的IPv6地址,耗光IPv6地址池。
(2) 拒絕服務攻擊
攻擊者可向DHCPv6服務器發送大量的SOLICIT消息,強制服務器在一定時間內維持一個狀態,致使服務器CPU與文件系統產生巨大負擔,直至無法正常工作。
(3) 偽造DHCPv6服務器
攻擊者可偽造成DHCPv6服務器向目標客戶端發送偽造的ADVERTISE與REPLY報文,在偽造報文中攜帶虛假的默認網關、DNS服務器等信息,以此實現重定向攻擊。
應對方式
對客戶端所有發送到FF02::1:2(所有DHCPv6中繼代理與服務器)和FF05::1:3(所有DHCPv6服務器)的消息數量進行速率限制。
DHCPv6中內置了認證機制,認證機制中的RKAP協議[9]可以對偽造DHCPv6服務器的攻擊行為提供防范。
三、 IPv6 對安全硬件的影響
3.1 防火墻
(1)IPv6報頭的影響
針對IPv6報文,防火墻必須對IPv6基本報頭與所有的擴展首部進行解析,才能獲取傳輸層與應用層的信息,從而確定當前數據報是否應該被允許通過或是被丟棄。由于過濾策略相比IPv4更加復雜,在一定程度上將加劇防火墻的負擔,影響防火墻的性能。
(2) IPSec的影響
如若在IPv6數據包中啟用加密選項,負載數據將進行加密處理,由于包過濾型防火墻無法對負載數據進行解密,無法獲取TCP與UDP端口號,因此包過濾型防火墻無法判斷是否可以將當前數據包放行。
由于地址轉換技術(NAT)和IPSec在功能上不匹配,因此很難穿越地址轉換型防火墻利用IPSec進行通信。
3.2 IDS&IPS
面對IPv6數據包,倘若啟用了加密選項,IDS與IPS則無法對加密數據進行提取與分析,無法通過報文分析獲取TCP、UDP信息,進而無法對網絡層進行全面的安全防護。即便只允許流量啟用AH認證報頭,但認證報頭內部具有可變長度字段ICV,因此檢測引擎并不能準確地定位開始內容檢查的位置。
四、過渡技術的安全性
4.1 雙棧技術
倘若雙棧主機不具備IPv6網絡下的安全防護,而攻擊者與雙棧主機存在鄰接關系時,則可以通過包含IPv6前綴的路由通告應答的方式激活雙棧主機的IPv6地址的初始化,進而實施攻擊。
4.2 隧道技術
(1)隧道注入
攻擊者可通過偽造外部IPv4與內部IPv6地址偽裝成合法用戶向隧道中注入流量。
(2) 隧道嗅探
位于隧道IPv4路徑上的攻擊者可以嗅探IPv6隧道數據包,并讀取數據包內容。
4.3 翻譯技術
利用翻譯技術實現IPv4-IPv6網絡互聯互通時,需要對報文的IP層及傳輸層的相關信息進行改動,因此可能會對端到端的安全產生影響,導致IPSec的三層安全隧道在翻譯設備處出現斷點。
翻譯設備作為網絡互通的關鍵節點,是DDoS攻擊的主要攻擊目標。同時,翻譯設備還可能遭遇地址池耗盡攻擊,若IPv6攻擊者向IPv4服務器發送互通請求,但每條請求都具有不同的IPv6地址,則每條請求都將消耗一個地址池中的IPv4地址,當出現大量該類請求時,便會將地址池耗盡,使得翻譯設備不再接受進一步的請求。