999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IPSec VPN 安全性漏洞分析及驗證

2021-06-18 07:31:56周益旻劉方正杜鎮宇
計算機工程 2021年6期

周益旻,劉方正,杜鎮宇,張 凱

(國防科技大學電子對抗學院,合肥 230037)

0 概述

互聯網安全協議(Internet Protocol Security,IPSec)是由IETF 于1998 年11 月提出的Internet 網絡安全通信規范,為私有信息通過公網傳輸提供了安全保障[1]。虛擬專用網絡(Virtual Private Network,VPN)可利用廉價接入的公共網絡來傳輸私有數據,相較傳統專線連網方式更具成本優勢,受到各企業和電信運營商的青睞。IPSec VPN 是基于IPSec 協議的VPN 技術,常用的VPN 實現協議包括PPTP、L2TP、IPSec、MPLS 和SSL等[2]。從目前所有VPN 的實現方式來看,基于IPSec 的VPN 技術是一種安全性相對較高的VPN 技術[3]。IPSec VPN 使用IKE 協議驗證IPSec 通信雙方身份、建立安全關聯(Security Association,SA)以及生成安全密鑰。IKE協議對IPSec 的安全性至關重要,IKE 協議第1 版(簡稱IKEv1)由IETF 于1998 年發布,并于2005 年發布第2 版[4]。

雖然IPSec VPN 安全性較高[5],但是長期的應用過程中人們已經發現IKEv1 存在身份泄露[6]、中間人攻擊[7]、拒絕服務攻擊[8]等脆弱性問題。文獻[9]從理論上分析了IKEv1 協議中存在的脆弱性問題,卻沒有給出具體的實現方案。文獻[10]提出一種ARP欺騙實施中間人攻擊的方法,在局域網中驗證了該方法的可行性,但其不能應用在不同網段的VPN中。文獻[11]通過VPN 指紋識別技術,獲取VPN 服務器設備類型與版本信息,但是卻沒有給出具體的服務器流量獲取方法。

本文分析IPSec VPN 的安全性漏洞,主要是密鑰交換過程中IKE 協議存在中間人攻擊以及數據傳輸過程中OSPF 路由選擇協議存在的路由欺騙攻擊,研究三種常規OSPF 路由欺騙方式在IPSec VPN 中間人攻擊中的性能表現,同時構建IPSec VPN 流量劫持模型及攻擊數據包,并設計實施中間人攻擊的IPSec VPN 流量劫持與密鑰獲取算法。

1 IPSec VPN 脆弱性分析

1.1 IKEv1 協議密鑰協商過程脆弱點分析

IKEv1 協商密鑰包括兩個階段:1)對身份進行認證并建立安全關聯ISAKMP SA;2)建立IPSec SA,為AH 和ESP 封裝數據包提供服務。

階段1 與階段2 的協商過程如圖1 所示。消息①來自客戶端,包括ISAKMP 數據包首部HDR、安全關聯SA、以gxi為參數的DH 密鑰交換材料KE(gxi)、隨機數Ni 與身份信息IDii,將其作為第一條信息明文發送給服務器。消息②來自服務器,同樣包括首部HDR 以及對客戶端SA 的確認以及自身的密鑰材料KE(gxr)、隨機數Nr、身份信息IDir 與校驗值HASH_R。消息③來自客戶端,對服務器發送的數據進行HASH 校驗,如果與自身計算的HASH 一致則通過身份認證,并回復一個HASH_I 值進行確認。

圖1 激進模式預共享密鑰協商過程Fig.1 Process of pre-shared key negotiation in aggressive mode

在預共享密鑰認證的方式下,密鑰SKEYID 計算如式(1)所示。消息②中客戶端HASH_I計算如式(2)所示。消息③中服務器HASH_R 計算如式(3)所示VPN 雙方共享密鑰材料計算如式(4)~式(6)所示。IKEv1 階段1 的協商完成,通信雙方獲得了保護階段2密鑰交換的ISAKMP SA 參數。階段1 生成的密鑰材料將用于保護階段2 快速模式交換的3 條消息,如式(7)~式(9)所示。

其中,PSK 表示預共享密鑰,gxy表示由gxi和gxr生成的DH 共享密鑰,

_b 表示

有效載荷部分,如Ni_b表示隨機數Ni 的有效載荷部分,CKY_I、CKY_R 分別表示客戶端與服務器數據包首部HDR 中的Cookie 信息,M-ID 表示數據包中ID 字段,[]中參數為可選參數,非強制使用。

在階段2 協商過程中,消息④來自客戶端,包括ISAKMP 報頭和IPSec SA 有效負載,SA 包含數據傳輸的所有提議和變換。在客戶端和服務器之間將交換一個新的臨時值Ni。消息⑤由服務器發送給客戶端,其中包含ISAKMP 報頭以及選定的SA,臨時值Nr 和HASH(2)對消息④進行確認。消息⑥來自客戶端,由客戶端對服務器存在性進行驗證并發送HASH(3)。以上3 條消息均使用SKEYID_e 進行加密。在不需要PFS 交換的情況下,后續密鑰材料為KEYMAT=prf(SKEYID_d,protocol|SPI|Ni_b|Nr_b),至此IKEv1 階段2 的密鑰協商完成,通信雙方計算出后續數據加密使用的密鑰材料KEYMAT,用于加密數據傳輸。

在上述協商過程中,由于消息1 與消息2 均使用明文發送,因此攻擊者在實現IPSec VPN 流量劫持的基礎上,通過分析密鑰協商階段數據可以得到VPN 通信雙方的身份信息以及除了預共享密鑰PSK以外的所有VPN 密鑰協商參數,預共享密鑰PSK 可通過式(1)、式(3)結合口令字典暴力破解得出。階段1 協商過程采用的Diffie-Hellman 密鑰交換體制決定了中間人實施攻擊存在的可能性。因此,只要攻擊者破解了預共享密鑰PSK,再通過偽造客戶端與服務器雙方的身份認證信息,攻擊者就可分別與客戶端、服務器嘗試進行密鑰協商,以實現IPSec VPN中間人攻擊的目的。因此,實現IPSec VPN 流量劫持是進行中間人攻擊的前提條件。

1.2 OSPF 協議路由欺騙流量劫持分析

路由選擇協議在因特網中決定著數據分組的轉發路徑,保證了分組能夠跨越網絡正確高效地到達目的地。OSPF 路由協議是因特網自治系統中最常用的內部網關協議之一[12]。OSPF 是一種典型的鏈路狀態路由選擇協議,路由器通過鏈路狀態通告(Link State Advertisement,LSA)在鏈路狀態發生變化時廣播鏈路狀態信息。相鄰路由器之間交換LSA 分組,所有有效的LSA 存放在鏈路狀態數據庫中,路由器據此計算網絡拓撲信息并得到路由表[13]。因此,在LSA 上路由信息的準確性與真實性對于數據流量的轉發至關重要。

路由欺騙是一種利用協議漏洞偽造LSA 篡改路由信息的攻擊方法。路由欺騙[14]攻擊主要有雙LSA攻擊、鄰接欺騙攻擊、單路徑注入攻擊、遠程虛假鏈接等。鄰接路由欺騙常應用在中間人攻擊[15]、DNS欺騙攻擊[16]、拒絕服務攻擊[17]等中,攻擊者通過與網絡中路由器建立鄰接關系,配置OSPF 協議,觸發相應的惡意LSA,通過洪泛機制傳播給網絡中其他路由,欺騙區域中其他路由器,污染其路由表,干擾流量的正常轉發[18]。然而,對于IPSec VPN 中間人攻擊,鄰接路由欺騙雖然僅起到了流量劫持的效果,但卻會影響攻擊者后續密鑰獲取、數據篡改的實現。IPSec VPN 鄰接路由欺騙過程如圖2 所示。當攻擊者通過與未設被動接口的R0 路由器建立鄰接關系后,接入R0 路由器所在的OSPF 區域,以內部路由器身份注入一條關于VPN 服務器網段地址的惡意LSA,R0 收到這條消息后更新其路由表并宣告給其他鄰接路由器,結合洪泛機制,整個路由區域內大范圍路由器的路由表都將受到污染,當區域中存在客戶端發往VPN 服務器通信數據時,攻擊者將獲取到客戶端發往服務器的信息。然而,若攻擊者與服務器之間不存在除R0 外的其他線路,那么當攻擊者通過R0 向真實的VPN 服務器發送數據時,由于其鄰接路由器路由表也被篡改,因此數據并不會成功的發送到服務器,從而影響后續攻擊。

圖2 IPSec VPN 鄰接路由欺騙過程Fig.2 Process of IPSec VPN adjacent routing spoofing

IPSec VPN 單路徑注入攻擊過程如圖3 所示。攻擊者將R0 路由器作為跳板路由,偽造源地址為F0/1 的數據包,冒充R0 路由器,發送包含關于服務器網段路由信息的惡意LSA 給R1,R1 稱為源污染路由器,R1 收到該LSA 之后,會將這些惡意的LSA 繼續洪泛出去,使得區域1 內部路由器路由表、鏈路狀態數據庫均受到污染,前往服務器網段的數據包會轉發給R0。由于該惡意LSA 是攻擊者偽造的,因此當R0 收到R1 發回的LSAck 包之后,若僅采取丟棄處理,則不會引起自反擊機制,這樣保證了區域2 中路由器關于服務器路由地址的正確性,不影響后續攻擊者對服務器方向數據的發送。然而,單路徑注入攻擊的條件在于跳板主機與源污染路由器之間只能存在一條路徑,使得惡意LSA不會再次通過其他區域傳播到跳板路由。因此,采用單路徑注入攻擊的方式進行路由欺騙,僅適用于可將客戶端與服務器劃分為兩個區域,區域之間有且僅有一條路徑連通的情況。雙LSA 遠程多注入是一種通過改變相關路徑上的路由器LSA,達到對中間流量傳輸路徑進行控制的攻擊方式[19],IPSec VPN 雙LSA 遠程多注入攻擊過程如圖4 所示。

圖3 IPSec VPN 單路徑注入攻擊過程Fig.3 Process of IPSec VPN single path injection attack

圖4 IPSec VPN 雙LSA 遠程多注入攻擊過程Fig.4 Process of IPSec VPN dual LSA remote multiple injection attack

OSPF 協議規定兩個具有相同序列號、校驗和且時間差小于15 min 的LSA 為相同的LSA。假定攻擊者通過與網絡中的路由器(圖4 中的R0)建立鄰接關系,獲取到網絡拓撲與OSPF 相關參數,那么雙LSA 注入攻擊就可利用該機制進行構造,并以一定時序在網絡中發送關于某一個污染節點(也稱受害路由器)(圖4 中的R3)的“觸發LSA”與“抗反擊LSA”,雙LSA 注入攻擊過程如圖5 所示。

圖5 雙LSA 注入攻擊過程Fig.5 Process of dual LSA injection attack

攻擊者于t0時刻發生“觸發LSA”,“觸發LSA”在傳播到受害者路由器(R3)之前會影響所經過的路由器(圖5 中的R1 和R2),當“觸發LSA”經過洪泛于t1時刻到達受害者路由器時,受害者路由器于t3時刻會觸發自反擊機制,發送一個更新的“自反擊LSA”,然而由于攻擊者事先構造了關于該更新LSA 的具有相同序列號、校驗和且時間差小于15 min 的“抗反擊LSA”并已于t2時刻傳播給其他路由器,此時其他路由再收到該受害路由器更新的LSA 之后,會認為與“抗反擊LSA”相同而丟棄,導致網絡中數據鏈路狀態數據庫發生改變,達到控制中間流量傳輸路徑的效果。因此,采用雙LSA 遠程多注入的攻擊方式,適用于客戶端與服務器之間存在兩條及以上鏈路的情況。本文對上述3 種路由欺騙方式在IPSec VPN 中間人攻擊中的優劣勢進行對比分析:1)鄰接路由欺騙,控制流量傳輸路徑、攻擊者獲取目標流量,影響范圍大且攻擊方式簡單,但難以控制欺騙范圍并影響后續攻擊;2)單路徑注入攻擊,控制流量傳輸路徑,容易控制欺騙范圍,適用于目標網絡之間僅存在唯一鏈路的情況;3)雙LSA 注入攻擊,控制流量傳輸路徑,適用于目標網絡之間存在多條鏈路的情況,攻擊者需要獲取OSPF 網絡相關參數。

本文選用雙LSA 注入攻擊的方式,實現IPSec VPN 流量劫持。一般而言,通過長期的流量分析,VPN 客戶端與服務器網關地址信息較易獲取,但難點在于選擇受害路由、構造“觸發LSA”以及“抗反擊LSA”并以合適的時序發送。攻擊者在控制目標流量傳輸路徑后,還需要結合路由控制手段,對目標流量進行轉發以保證攻擊者偽造的數據能夠重新發送出去。

2 算法設計

2.1 IPSec VPN 流量劫持算法

為方便算法描述,本文將IPSec VPN 網絡分為Client 區域、Server 區域以及中間區域3 個部分。以劫 持Client→Server 單向流 量為例,將Client 與Server 之間的中間網絡用有向圖結構進行表示,每一個頂點代表一個網絡節點,每一條邊代表一條網絡路徑,箭頭代表流向,如圖6 所示。定義(Vi,Si)為中間網絡中的一個網絡節點,(V0,S0)和(Vn,Sn)分別為Client端至Server端路徑在中間區域經過的第一個和最后一個路由器節點,其中,(V0,S0)表示中間區域中第一個入度為1 且所有VPN 流量均為流入的節點,(Vn,Sn)表示中間區域中第一個出度為1 且所有VPN 流量均為流出的節點。

圖6 Client-to-Server 流量劫持模型Fig.6 Client-to-Server traffic hijacking model

選定一條Client→Server 可達路徑Path,按流量經過順序標記Path 上所有節點作為標記節點集FlagSet{(V0,S0),(V1,i1),…,(Vi,ii),…,(Vn,Sn)},即圖6 中白色虛框節點。假定攻擊者所控制的路由節點 為(Vi,ii)(S0

算法1IPSec VPN 流量劫持算法

FlagSet 輸入順序決定了劫持流量的方向,當輸入順序為(Vn,Sn)→(V0,S0),即可影響Server→Client流量。在不考慮LSA 洪泛時間與數據庫更新時間的情況下對所有污染節點進行注入攻擊,即可達到控制流量路徑的目的。

2.2 客戶端KEYMAT 密鑰獲取算法

由于無法對IPSec VPN 加密流量直接解密,直接對加密流量進行篡改會引起通信雙方的警覺,因此攻擊者必須進行身份欺騙:對于VPN 客戶端,攻擊者應偽裝成VPN 服務器,發送偽造的響應數據包,對客戶端數據請求進行響應,使得攻擊者能夠獲取客戶端加密密鑰;對于VPN 服務器,攻擊者應偽裝成VPN 客戶端,發送偽造的協商請求數據包,主動與服務器建立連接,實現IPSec VPN 中間人攻擊。

算法2客戶端KEYMAT 密鑰獲取算法

算法2 開啟一個監聽進程,對收到的數據流中第一條數據包進行檢查,判斷其源地址是否為VPN客戶端地址;若不是,則跳出流程,檢查下一條數據包,若是,則繼續執行,判斷其端口號是否為500 且Responder SPI 字段是否為0;若不是,則跳出流程,檢查下一條數據包,若是,則表明收到客戶端發來的階段1 的協商請求數據包,對其進行解析并調用發包進程,構建響應數據包respondpacket_1,填入服務器Cookie、隨機數Nonce、DH 公鑰等關鍵載荷,利用式(3)計算HASH_R 發送給客戶端,繼續監聽,并利用式(4)~式(6)輸出階段1 的密鑰SKEYID,階段1協商完畢;檢查下一條數據包端口是否為500、Responder SPI 字段不為0 且MessageID 字段也不為0,若不是,則繼續檢查下一條數據包;若是,則表明收到了客戶端階段2 的協商請求,利用階段1 的密鑰SKEYID,調用解密進程,解析數據包并調用發包進程,構建響應數據包respondpacket_2,利用式(8)計算HASH(2),填入隨機數、哈希載荷和身份載荷,發送給客戶端,階段2 協商完畢;攻擊者獲得VPN 客戶端后續加密數據密鑰KEYMAT,算法結束。

2.3 服務器KEYMAT 密鑰獲取算法

算法3服務器KEYMAT 密鑰獲取算法

在算法3中,攻擊者利用流量劫持階段獲得的VPN協商參數,打開監聽進程,偽造并發送協商請求aggressivepacket_1,對收到的數據包進行檢查,判斷源地址是否為服務器地址;若不是,則檢查下一條數據包,若是,則判斷端口號是否為500 且CKY_R ≠0;若不是,則檢查下一條數據包,若是,則表明收到階段1 的VPN服務器響應回復,提取數據包中隨機數載荷Nonce 和KE 載荷,利用式(4)~式(6)計算并獲得階段1 密鑰SKEYID,利用式(2)計算HASH_I,并構造階段1 響應數據包aggressivepacket_2;監聽下一條數據包,構造階段2 協商請求quickpacket_1,通過SKEYID 加密后發送給VPN 服務器,若收到端口號為500 且CKY_R≠0、MessageID≠0 的數據包,表明收到階段2 的VPN 響應數據包,利用式(9)計算HASH(3)載荷,構造響應回復quickpacket_2 加密后發送給VPN 服務器,至此階段2協商完成,攻擊者獲得VPN 服務器后續加密密鑰KEYMAT,算法結束。

3 實驗與結果分析

為驗證IKEv1 中實際存在的脆弱性以及VPN 流量劫持算法、IPSec VPN 密鑰獲取算法的正確性,本文利用GNS3 軟件搭建仿真網絡拓撲模擬跨網段IPSec VPN 環境并利用Scapy 庫[20]偽造網絡數據包。

3.1 實驗環境

實驗主要采用以GNS3 軟件[21]搭建的仿真環境進行驗證,網絡拓撲環境如圖7 所示,其中R1,R2,…,R11 是思科C3660 路由器,網絡分為客戶端內網、服務器內網與中間網絡三部分。中間網絡由路由器R1、R2、R3、R4、R5、R6、R8 和R10 組成,配置OSPFv2 協議。路由器與主機端口IP 地址已在圖7 中標注。路由器接口IP 地址為網絡號加上路由器的標號,如R1 的兩個接口地址為14.1.1.1 和31.1.1.1,R6 的兩個接口地址為36.1.1.6 和65.1.1.6。IPSec VPN 配置:R7 為VPN 客戶端,R9 為VPN 服務器。雙方使用IKEv1 進行協商,密鑰協商采用激進模式預共享密鑰認證方式,加密模式為AES-CBC,校驗算法為HMAC-SHA128,密鑰交換使用DH-1 024。PC1 與PC2 分別位于客戶端內網與服務器內網,使用網關路由器R7 與R9 之間建立的IPSec VPN 進行通信。攻擊者配置:攻擊者實際為一臺Ubuntu16系統虛擬機,通過E1/0 端口連接R4 路由,R4 路由為攻擊者可控路由。

圖7 網絡拓撲環境Fig.7 Network topology environment

3.2 IPSec VPN 流量劫持實驗

3.2.1 IPSec VPN 流量劫持實驗過程

為驗證IPSec VPN 流量劫持算法的有效性,實驗環境為客戶端與服務器之間配置了兩條鏈路,即R7-R3-R6-R5-R10-R8-R9 與R7-R3-R1-R4-R2-R8-R9。在正常情況下,客戶端與VPN 服務器網關之間的通信流量不一定經過R4,也有可能經過R5,攻擊者只實現了對R4的控制。利用雙LSA 遠程多注入攻擊方式,使客戶端與VPN 服務器網關之間的流量一定要經過R4。攻擊者實現IPSec VPN 流量劫持主要分為路由欺騙、設置轉發規則和配置策略路由3 個階段。

IPSec VPN 流量劫持的具體步驟如下:

1)攻擊者向R1、R2 注入受害者路由器R5“觸發LSA”。

2)攻擊者向R1、R2 注入受害者路由器R5“抗反擊LSA”。

3)攻擊者通過R4 添加轉發規則,將目的地址為服務器網段(160.18.2.0)的數據包轉發給攻擊者(180.16.2.2)。

4)攻擊者通過R4 添加轉發規則,將目的地址為客戶端網段(172.17.2.0)的數據包轉發給攻擊者(180.16.2.2)。

5)攻擊者通過R4 在E1/0 端口配置策略路由,目的地址為服務器網段(160.18.2.0)的數據包轉發給R2;目的地址為客戶端網段(172.17.2.0)的數據包轉發給R1。

6)攻擊者主機打開流量轉發。

步驟1 和步驟2 注入LSA。以污染R1 為例,攻擊者構造關于R5 接口地址的“觸發LSA”發送給R1,在1 s 后再發送“抗反擊LSA”。當R5 收到“觸發LSA”后仍需要5 s 時間才能發出“自反擊LSA”,因此攻擊者發送的“抗反擊LSA”有足夠的時間污染R5 的鄰接路由。“抗反擊LSA”加入了固定值與特定校驗和使得能夠與R5 產生的“自反擊LSA”校驗和一致,具體參數如表1所示。步驟3 和步驟4 對R4 添加路由規則,將R4 獲取的IPSec VPN 流量轉發給自己,R4 路由規則如表2 所示。步驟5 和6 對R4 配置策略路由,添加轉發規則,將IPSec VPN 流量重新轉發出去,如表3 所示。

表1 R5“抗反擊LSA”過程的主要參數設置Table 1 Setting of main parameters for the process of R5“anti-counterattack LSA”

表2 R4 路由規則Table 2 Routing rules of R4

表3 R4 策略路由規則Table 3 Policy routing rules of R4

3.2.2 IPSec VPN 流量劫持實驗結果分析

實驗結果包括路由器路由表攻擊前后對比、IPSec VPN 流量路徑攻擊前后對比、真實路由器鏈路狀態數據庫與被污染路由器鏈路狀態數據庫對比。表4 列出了客戶端出口路由R3 路由表項在受到路由欺騙前后的主要參數設置。

表4 R3 被攻擊前后路由表項的主要參數設置Table 4 Setting of main parameters of routing table entry of R3 before and after attacking

由表4 可知,R3 路由器不再選擇R5、R6 所在的路徑,轉而選擇R4 路由器所在的路徑。攻擊前客戶端網關(R7)與VPN 服務器網關(R9)的流量傳輸路徑如圖8 所示。R7 前往R9 的流量經過R3、R6、R5、R10、R8路由器,而R9前往R7的流量傳輸選擇了另外一條R2、R4、R1、R3的路徑。攻擊后R7與R9的流量傳輸路徑如圖9 所示,由于經過了中間人轉發,因此中間路由沒有完全顯示。

圖8 攻擊前R7 與R9 的流量路徑Fig.8 The traffic path of R7 and R9 before attacking

圖9 攻擊后R7 與R9 的流量路徑Fig.9 The traffic path of R7 and R9 after attacking

攻擊后R5 與R6 保存的關于R5 的LSA 如圖10所示。可以看出,R5 保存的是真實的LSA,而R6 保存的實際上是攻擊者構造的“抗反擊LSA”,R6 鏈路狀態數據庫受到污染。

圖10 R5 與R6 保 存 的LSAFig.10 LSA saved by R5 and R6

3.3 IPSec VPN 密鑰獲取實驗

3.3.1 IPSec VPN 密鑰獲取實驗過程

根據上文分析可知,攻擊者獲取VPN 通信流量后,通過破解預共享密鑰PSK,中斷流量轉發,即可迫使客戶端重新發送協商請求。攻擊者運行客戶端攻擊程序,利用Scapy 庫偽造服務器響應數據包進行通信。

根據客戶端KEYMAT 密鑰獲取算法,客戶端攻擊程序需要構造并發送兩個攻擊數據包respondpacket_1 與respondpacket_2,并偽裝成服務器與客戶端進行通信。圖11 給出了一個標準的服務器響應數據包結構。Scapy 中數據包的構建遵循網絡協議分層的思想,并通過參數化賦值方式將源地址、目的地址、協議號填入數據包IP 頭部,將源端口、目的端口填入數據包UDP 頭部。因此,respondpacket_1 的結構為respondpacket_1=IP()/UDP()/ISAKMP()/ISAKMP_payload_SA()/ISAKMP_payload_KE()/ISAKMP_payload_Nonce()/ISAKMP_payload_Hash()/ISAKMP_payload_ID()。結合數據包標準格式并根據監聽獲得的參數信息,填入respondpacket_1 并進行校驗,最終調用send 進程進行發送。在攻擊程序運行完畢后,獲得階段1 密鑰SKEYID 與階段2 密鑰KEYMAT,如圖12 所示。此時,利用Wireshark 輸入KEYMAT 參數對客戶端發送的數據進行解密,得到的數據包如圖13 所示。

圖11 標準數據包結構Fig.11 Standard data pack structure

圖12 客戶端攻擊程序運行結果Fig.12 Running results of client attack program

圖13 客戶端發送的數據包Fig.13 Data pack sent by the client

攻擊者運行服務器攻擊程序,偽造客戶端發送協商請求數據包,通過服務器方認證,獲得階段1 和階段2 的密鑰SKEYID’與KEYMAT’,如圖14 所示。攻擊者將客戶端發送的數據包進行篡改后,利用KEYMAT’加密后轉發給服務器,服務器收到的實際數據如圖15 所示。

圖14 服務器攻擊程序運行結果Fig.14 Running results of server attack program

圖15 服務器收到的數據包Fig.15 Data pack received by the server

3.3.2 IPSec VPN 密鑰獲取實驗結果分析

實驗結果表明,攻擊者在IPSec VPN 流量劫持的基礎上實現了對IPSec VPN 客戶端與服務器雙方的身份偽造,通過攻擊程序獲取了客戶端與服務器雙方的通信密鑰。攻擊者利用獲取的客戶端密鑰對客戶端數據解密并篡改后通過服務器端密鑰重新加密發送給服務器,服務器實際收到的是由攻擊者篡改后的數據包,至此中間人攻擊完成且通信雙方均未發現攻擊者。

4 結束語

本文分析IPSec VPN 中IKE 協議激進模式和OSPF 路由選擇協議的安全性漏洞,設計IPSec VPN流量劫持算法與KEYMAT 密鑰獲取算法,通過搭建仿真環境并選取雙LSA 注入路由欺騙攻擊方式,實現跨網段IPSec VPN 中間人攻擊并驗證了IPSec VPN 協議的脆弱性。下一步可將本文研究成果應用在邊界網絡設備防護和骨干網絡防御任務中,當IPSec VPN 等邊界網絡設備正常連接出現中斷時,快速有效檢測出中斷原因并評估風險等級,以抵御類似的中間人攻擊,而在數據傳輸的骨干網絡中對于可能存在的路由欺騙攻擊,主動檢測異常的鏈路狀態通告,找出潛在的攻擊行為,保障骨干路由安全。

主站蜘蛛池模板: 国产女人爽到高潮的免费视频| 久久99蜜桃精品久久久久小说| 亚洲Av综合日韩精品久久久| 国产欧美日韩精品综合在线| 国产成人高清亚洲一区久久| 韩国v欧美v亚洲v日本v| 日本三级黄在线观看| 一区二区三区国产| 在线观看国产精品一区| 性激烈欧美三级在线播放| 秋霞一区二区三区| 日韩黄色在线| 欧洲免费精品视频在线| 久久99精品久久久久久不卡| 国产亚洲欧美在线专区| 亚洲国产天堂久久九九九| av在线无码浏览| 美女无遮挡被啪啪到高潮免费| 国产精品夜夜嗨视频免费视频| 国产黄色视频综合| 欧美三级不卡在线观看视频| 精品91视频| 成人午夜视频免费看欧美| 久久这里只有精品2| 国产91色在线| 草草线在成年免费视频2| 欧美69视频在线| 免费在线国产一区二区三区精品| 亚洲av无码专区久久蜜芽| 国产剧情一区二区| 国产h视频免费观看| 免费在线成人网| 制服丝袜一区| 久久成人18免费| 青青草久久伊人| 国产幂在线无码精品| 少妇人妻无码首页| 人妻无码一区二区视频| 亚洲欧美国产高清va在线播放| 国产精品第一区在线观看| 91麻豆精品视频| 欧美一区日韩一区中文字幕页| 欧美精品另类| 在线看国产精品| 午夜a级毛片| 乱色熟女综合一区二区| 狠狠久久综合伊人不卡| 一本一道波多野结衣av黑人在线| 国产一线在线| 91精品在线视频观看| 天堂成人在线视频| 精品国产自在现线看久久| 色综合久久无码网| 国产va在线| 米奇精品一区二区三区| 日本一本正道综合久久dvd| 国产精品林美惠子在线观看| 国产精品毛片一区| 91精品国产91久无码网站| 日韩精品一区二区深田咏美| 日本高清在线看免费观看| 亚洲日产2021三区在线| 亚洲永久免费网站| 成人中文字幕在线| 97视频在线精品国自产拍| 久久这里只有精品66| 午夜免费小视频| 久久久久亚洲AV成人网站软件| 456亚洲人成高清在线| 国产一区二区三区视频| 国产成人无码播放| 2020最新国产精品视频| 日韩在线播放欧美字幕| 999国内精品久久免费视频| 亚洲一级毛片在线观播放| 国产在线麻豆波多野结衣| 国产精鲁鲁网在线视频| 国产一区二区丝袜高跟鞋| 亚洲精品免费网站| 狼友视频国产精品首页| 国产理论最新国产精品视频| 国产成人91精品|