2024年5月28日发(作者:迮以南)
第47卷
Vol.47
第6期
No.6
计算机工程
ComputerEngineering
文章编号:1000-3428(2021)06-0142-10文献标志码:A
2021年6月
June2021
中图分类号:TP309.2
·网络空间安全·
IPSecVPN安全性漏洞分析及验证
周益旻,刘方正,杜镇宇,张凯
(国防科技大学电子对抗学院,合肥230037)
摘要:网络边界是提供访问服务的主要通道,而IPSecVPN作为网络边界防护中的关键技术,对于保障网络整体安
全至关重要。分析IPSecVPN中IKE协议激进模式和OSPF路由选择协议的安全性漏洞,研究三种常规OSPF路由欺
骗方式在IPSecVPN中间人攻击中的性能表现,构建IPSecVPN流量劫持模型及攻击数据包,设计IPSecVPN流量劫
持算法与KEYMAT密钥获取算法。通过搭建仿真环境并选取双LSA注入路由欺骗攻击方式,实现跨网段IPSecVPN
中间人攻击并验证了IPSecVPN协议的脆弱性,该结论对于网络边界设备防护、骨干网络流量保护具有重要作用。
关键词:IPSecVPN技术;IKE协议;中间人攻击;OSPF协议;路由欺骗攻击
开放科学(资源服务)标志码(OSID):
中文引用格式:周益旻,刘方正,杜镇宇,等.IPSecVPN安全性漏洞分析及验证[J].计算机工程,2021,47(6):142-151.
英文引用格式:ZHOUYimin,LIUFangzheng,DUZhenyu,isandverificationofIPSecVPNsecurity
vulnerability[J].ComputerEngineering,2021,47(6):142-151.
AnalysisandVerificationofIPSecVPNSecurityVulnerability
ZHOUYimin,LIUFangzheng,DUZhenyu,ZHANGKai
(ElectronicConfrontationInstitute,NationalUniversityofDefenseTechnology,Hefei230037,China)
【Abstract】techniquewidelyusedin
networkboundaryprotection,peranalyzes
thesecurityvulnerabilitiesofthree
commonlyusedOSPFroutingdeceptionmethodsarestudiedfortheirperformanceintheman-in-the-middleattacksonIPSec
basis,thetraffffichijacking
algoy,asimulationenvironmentis
oyingthedualLSAinjectionroutespoofingattackmethod,
theexperimentreaultofthestudyisof
greatimportancetotheprotectionofnetworkboundarydevicesandbackbonenetworktraffic.
【Keywords】IPSecVPNtechnology;IKEprotocol;man-in-the-middleattack;OSPFprotocol;routingspoofingattack
DOI:10.19678/.1000-3428.0058383
0概述
互联网安全协议(InternetProtocolSecurity,IPSec)
是由IETF于1998年11月提出的Internet网络安全通
信规范,为私有信息通过公网传输提供了安全保障
[1]
。
虚拟专用网络(VirtualPrivateNetwork,VPN)可利用廉
价接入的公共网络来传输私有数据,相较传统专线连
网方式更具成本优势,受到各企业和电信运营商的青
睐。IPSecVPN是基于IPSec协议的VPN技术,常用的
VPN实现协议包括PPTP、L2TP、IPSec、MPLS和SSL
[2]
等。从目前所有VPN的实现方式来看,基于IPSec的
[3]
VPN技术是一种安全性相对较高的VPN技术
。IPSec
基金项目:国家自然科学基金(61671454)。
VPN使用IKE协议验证IPSec通信双方身份、建立安全
关联(SecurityAssociation,SA)以及生成安全密钥。IKE
协议对IPSec的安全性至关重要,IKE协议第1版(简称
IKEv1)由IETF于1998年发布,并于2005年发布
第2版
[4]
。
虽然IPSecVPN安全性较高
[5]
,但是长期的应用
过程中人们已经发现IKEv1存在身份泄露
[6]
、中间人
[7][8]
攻击、拒绝服务攻击等脆弱性问题。文献[9]从
理论上分析了IKEv1协议中存在的脆弱性问题,却
没有给出具体的实现方案。文献[10]提出一种ARP
欺骗实施中间人攻击的方法,在局域网中验证了该
方法的可行性,但其不能应用在不同网段的VPN
作者简介:周益旻(1996—),男,硕士研究生,主研方向为信息安全;刘方正,讲师、博士;杜镇宇,博士研究生;张
收稿日期:2020-05-20修回日期:2020-07-15E⁃mail:********************
凯,硕士研究生。
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
143
中。文献[11]通过VPN指纹识别技术,获取VPN服
务器设备类型与版本信息,但是却没有给出具体的
服务器流量获取方法。
本文分析IPSecVPN的安全性漏洞,主要是密
钥交换过程中IKE协议存在中间人攻击以及数据传
输过程中OSPF路由选择协议存在的路由欺骗攻击,
研究三种常规OSPF路由欺骗方式在IPSecVPN中
间人攻击中的性能表现,同时构建IPSecVPN流量
劫持模型及攻击数据包,并设计实施中间人攻击的
IPSecVPN流量劫持与密钥获取算法。
1IPSecVPN脆弱性分析
1.1IKEv1协议密钥协商过程脆弱点分析
IKEv1协商密钥包括两个阶段:1)对身份进行
认证并建立安全关联ISAKMPSA;2)建立IPSec
SA,为AH和ESP封装数据包提供服务。
阶段1与阶段2的协商过程如图1所示。消息①
来自客户端,包括ISAKMP数据包首部HDR、安全关
联SA、以g
xi
为参数的DH密钥交换材料KE(g
xi
)、随机
数Ni与身份信息IDii,将其作为第一条信息明文发送
给服务器。消息②来自服务器,同样包括首部HDR以
及对客户端SA的确认以及自身的密钥材料KE(g
xr
)、
随机数Nr、身份信息IDir与校验值HASH_R。消息③
来自客户端,对服务器发送的数据进行HASH校验,如
果与自身计算的HASH一致则通过身份认证,并回复
一个HASH_I值进行确认。
图1激进模式预共享密钥协商过程
Fig.1Processofpre-sharedkeynegotiationin
aggressivemode
在预共享密钥认证的方式下,密钥SKEYID计算
如式(1)所示。消息②中客户端HASH_I计算如式(2)
所示。消息③中服务器HASH_R计算如式(3)所示
VPN双方共享密钥材料计算如式(4)~式(6)所示。
IKEv1阶段1的协商完成,通信双方获得了保护阶段2
密钥交换的ISAKMPSA参数。阶段1生成的密钥材
料将用于保护阶段2快速模式交换的3条消息,如
式(7)~式(9)所示。
SKEYID=prf(PSKNi_b|Nr_b)
(1)
HASH_I=prf(SKEYIDg
xi
|g
xr
|
CKY_I|CKY_R|SAi_b|IDii_b)
(2)
HASH_R=prf(SKEYIDg
xr
|g
xi
|
CKY_R|CKY_I|SAi_b|IDir_b)
(3)
SKEYID_d=prf(SKEYIDg
xy
|CKY_I|CKY_R|0)
(4)
SKEYID_a=prf(SKEYIDg
xy
|CKY_I|CKY_R|1)
(5)
SKEYID_e=prf(SKEYIDg
xy
|CKY_I|CKY_R|2)
(6)
HASH(1)=prf(SKEYID_aM‑Ni[|KE][|IDci|IDcr])
(7)
HASH(2)=prf(SKEYID_aM‑ID|Ni_b|
SA|Nr[|KE][|IDci|IDcr])
(8)
HASH(3)=prf(SKEYID_aM‑ID|Ni_b|Nr_b)
(9)
其中,PSK表示预共享密钥,g
xy
表示由g
xi
和g
xr
生成的
DH共享密钥,
_b表示
有效载荷部分,如Ni_b
表示随机数Ni的有效载荷部分,CKY_I、CKY_R分
别表示客户端与服务器数据包首部HDR中的
Cookie信息,M-ID表示数据包中ID字段,[]中参数
为可选参数,非强制使用。
在阶段2协商过程中,消息④来自客户端,包括
ISAKMP报头和IPSecSA有效负载,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均使用
明文发送,因此攻击者在实现IPSecVPN流量劫持
的基础上,通过分析密钥协商阶段数据可以得到
VPN通信双方的身份信息以及除了预共享密钥PSK
144
计算机工程
2021年6月15日
以外的所有VPN密钥协商参数,预共享密钥PSK可
通过式(1)、式(3)结合口令字典暴力破解得出。阶
段1协商过程采用的Diffie-Hellman密钥交换体制决
定了中间人实施攻击存在的可能性。因此,只要攻
击者破解了预共享密钥PSK,再通过伪造客户端与
服务器双方的身份认证信息,攻击者就可分别与客
户端、服务器尝试进行密钥协商,以实现IPSecVPN
中间人攻击的目的。因此,实现IPSecVPN流量劫
持是进行中间人攻击的前提条件。
1.2OSPF协议路由欺骗流量劫持分析
路由选择协议在因特网中决定着数据分组的转发
路径,保证了分组能够跨越网络正确高效地到达目的
地。OSPF路由协议是因特网自治系统中最常用的内
部网关协议之一
[12]
。OSPF是一种典型的链路状态路
由选择协议,路由器通过链路状态通告(LinkState
Advertisement,LSA)在链路状态发生变化时广播链路
状态信息。相邻路由器之间交换LSA分组,所有有效
的LSA存放在链路状态数据库中,路由器据此计算网
络拓扑信息并得到路由表
[13]
。因此,在LSA上路由信
息的准确性与真实性对于数据流量的转发至关重要。
路由欺骗是一种利用协议漏洞伪造LSA篡改路
由信息的攻击方法。路由欺骗
[14]
攻击主要有双LSA
攻击、邻接欺骗攻击、单路径注入攻击、远程虚假链
接等。邻接路由欺骗常应用在中间人攻击
[15]
、DNS
欺骗攻击
[16]
、拒绝服务攻击
[17]
等中,攻击者通过与网
络中路由器建立邻接关系,配置OSPF协议,触发相
应的恶意LSA,通过洪泛机制传播给网络中其他路
由,欺骗区域中其他路由器,污染其路由表,干扰流
量的正常转发
[18]
。然而,对于IPSecVPN中间人攻
击,邻接路由欺骗虽然仅起到了流量劫持的效果,但
却会影响攻击者后续密钥获取、数据篡改的实现。
IPSecVPN邻接路由欺骗过程如图2所示。当攻击
者通过与未设被动接口的R0路由器建立邻接关系
后,接入R0路由器所在的OSPF区域,以内部路由器
身份注入一条关于VPN服务器网段地址的恶意
LSA,R0收到这条消息后更新其路由表并宣告给其
他邻接路由器,结合洪泛机制,整个路由区域内大范
围路由器的路由表都将受到污染,当区域中存在客
户端发往VPN服务器通信数据时,攻击者将获取到
客户端发往服务器的信息。然而,若攻击者与服务
器之间不存在除R0外的其他线路,那么当攻击者通
过R0向真实的VPN服务器发送数据时,由于其邻接
路由器路由表也被篡改,因此数据并不会成功的发
送到服务器,从而影响后续攻击。
图2
Fig.2
IPSecVPN邻接路由欺骗过程
ProcessofIPSecVPNadjacentroutingspoofing
IPSecVPN单路径注入攻击过程如图3所示。攻
击者将R0路由器作为跳板路由,伪造源地址为F0/1的
数据包,冒充R0路由器,发送包含关于服务器网段路
由信息的恶意LSA给R1,R1称为源污染路由器,R1收
到该LSA之后,会将这些恶意的LSA继续洪泛出去,
使得区域1内部路由器路由表、链路状态数据库均受
到污染,前往服务器网段的数据包会转发给R0。由于
该恶意LSA是攻击者伪造的,因此当R0收到R1发回
的LSAck包之后,若仅采取丢弃处理,则不会引起自反
击机制,这样保证了区域2中路由器关于服务器路由
地址的正确性,不影响后续攻击者对服务器方向数据
的发送。然而,单路径注入攻击的条件在于跳板主机
与源污染路由器之间只能存在一条路径,使得恶意LSA
不会再次通过其他区域传播到跳板路由。因此,采用
单路径注入攻击的方式进行路由欺骗,仅适用于可将
客户端与服务器划分为两个区域,区域之间有且仅有
一条路径连通的情况。双LSA远程多注入是一种通过
改变相关路径上的路由器LSA,达到对中间流量传输
路径进行控制的攻击方式
[19]
,IPSecVPN双LSA远程
多注入攻击过程如图4所示。
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
145
图3
Fig.3
IPSecVPN单路径注入攻击过程
ProcessofIPSecVPNsinglepathinjectionattack
图4
Fig.4
IPSecVPN双LSA远程多注入攻击过程
ProcessofIPSecVPNdualLSAremotemultipleinjectionattack
OSPF协议规定两个具有相同序列号、校验和且时
间差小于15min的LSA为相同的LSA。假定攻击者通
过与网络中的路由器(图4中的R0)建立邻接关系,获
取到网络拓扑与OSPF相关参数,那么双LSA注入攻
击就可利用该机制进行构造,并以一定时序在网络中
发送关于某一个污染节点(也称受害路由器)(图4中
的R3)的“触发LSA”与“抗反击LSA”,双LSA注入攻
击过程如图5所示。
在传播到受害者路由器(R3)之前会影响所经过的路
由器(图5中的R1和R2),当“触发LSA”经过洪泛于
t
1
时刻到达受害者路由器时,受害者路由器于t
3
时刻
攻击者于t
0
时刻发生“触发LSA”,“触发LSA”
会触发自反击机制,发送一个更新的“自反击LSA”,
然而由于攻击者事先构造了关于该更新LSA的具有
相同序列号、校验和且时间差小于15min的“抗反击
LSA”并已于t
2
时刻传播给其他路由器,此时其他路
由再收到该受害路由器更新的LSA之后,会认为与
“抗反击LSA”相同而丢弃,导致网络中数据链路状
态数据库发生改变,达到控制中间流量传输路径的
效果。因此,采用双LSA远程多注入的攻击方式,适
用于客户端与服务器之间存在两条及以上链路的情
况。本文对上述3种路由欺骗方式在IPSecVPN中
间人攻击中的优劣势进行对比分析:1)邻接路由欺
图5
Fig.5
双LSA注入攻击过程
骗,控制流量传输路径、攻击者获取目标流量,影响
范围大且攻击方式简单,但难以控制欺骗范围并影
ProcessofdualLSAinjectionattack
146
计算机工程
2021年6月15日
响后续攻击;2)单路径注入攻击,控制流量传输路
径,容易控制欺骗范围,适用于目标网络之间仅存在
唯一链路的情况;3)双LSA注入攻击,控制流量传输
路径,适用于目标网络之间存在多条链路的情况,攻
击者需要获取OSPF网络相关参数。
本文选用双LSA注入攻击的方式,实现IPSec
VPN流量劫持。一般而言,通过长期的流量分析,
VPN客户端与服务器网关地址信息较易获取,但难
点在于选择受害路由、构造“触发LSA”以及“抗反击
LSA”并以合适的时序发送。攻击者在控制目标流
量传输路径后,还需要结合路由控制手段,对目标流
量进行转发以保证攻击者伪造的数据能够重新发送
出去。
2
2.1
算法设计
IPSecVPN流量劫持算法
为方便算法描述,本文将IPSecVPN网络分为
Client区域、Server区域以及中间区域3个部分。以
劫持Client→Server单向流量为例,将Client与
Server之间的中间网络用有向图结构进行表示,每
一个顶点代表一个网络节点,每一条边代表一条网
络路径,箭头代表流向,如图6所示。定义(V
i
,S
i
)为
中间网络中的一个网络节点,(V
0
,S
0
)和(V
n
,S
n
)分别
为Client端至Server端路径在中间区域经过的第一个
和最后一个路由器节点,其中,(V
0
,S
0
)表示中间区域
点,(V
n
,S
n
)表示中间区域中第一个出度为1且所有
VPN流量均为流出的节点。
中第一个入度为1且所有VPN流量均为流入的节
图6
Fig.6
Client-to-Server流量劫持模型
Client-to-Servertraffichijackingmodel
tNode←outAdjSet(i);
//移动到下一个标记节点
le
(PoisionSet);
选定一条Client→Server可达路径Path,按流量
经过顺序标记Path上所有节点作为标记节点集
FlagSet{(V
0
,S
0
),(V
1
,i
1
),…,(V
i
,i
i
),…,(V
n
,S
n
)},即
图6中白色虚框节点。假定攻击者所控制的路由节
点为(V
i
,i
i
)(S
0
n
),那么当Client→Server流量流
(V
i-1
i
i-1
)
节点的所有出度节点
经
(V
i-1
i
i-1
)
时,(除
了标记的(V
i
,i
i
))均应当作为污染节点,即图6中的
黑色节点,使得流量只流向(V
i
,i
i
)。因此,算法1选
择中间网络拓扑Map以及标记节点集FlagSet作为
算法输入,对每一个标记节点进行检查,输出所有需
要污染的节点。
算法1IPSecVPN流量劫持算法
输入
输出
中间网络拓扑Map、标记路径节点集合FlagSet
污染节点集合PoisionSet
FlagSet输入顺序决定了劫持流量的方向,当输
入顺序为(V
n
,S
n
)→(V
0
,S
0
),即可影响Server→Client
流量。在不考虑LSA洪泛时间与数据库更新时间的
情况下对所有污染节点进行注入攻击,即可达到控
制流量路径的目的。
2.2客户端KEYMAT密钥获取算法
由于无法对IPSecVPN加密流量直接解密,直
接对加密流量进行篡改会引起通信双方的警觉,因
此攻击者必须进行身份欺骗:对于VPN客户端,攻
击者应伪装成VPN服务器,发送伪造的响应数据
包,对客户端数据请求进行响应,使得攻击者能够获
取客户端加密密钥;对于VPN服务器,攻击者应伪
装成VPN客户端,发送伪造的协商请求数据包,主
动与服务器建立连接,实现IPSecVPN中间人攻击。
算法2
输入
输出
tNode←FlagSet(1);
//将第一个标记节点作为当前节点
urrentNode≠FlagSet(end)
//如果当前节点没有到最后一个已标记节点
Set=GetoutAdjSet(CurrentNode);
//当前节点的所有出度节点放进outAdjSet集合中
←1toSizeof(outAdjSet)do
djSet(i)∉FlagSet
//如果选定的出度节点不在标记节点中
nSet←outAdjSet(i);
//表明是分支路径,需要将其污染
客户端KEYMAT密钥获取算法
packet数据流
客户端密钥KEYMAT
ng//打开监听进程
ketsdo
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
147
=VPN客户端
=500andCKY_R=0then
//判断是否为阶段1的VPN协商请求
spondpacket_1
ue
//阶段1协商完毕
port=500andCKY_R≠0andMessageID≠0then
//判断是否为阶段2的VPN协商请求
spondpacket_2
//发送阶段2响应数据包
客户端密钥KEYMAT
算法2开启一个监听进程,对收到的数据流中
第一条数据包进行检查,判断其源地址是否为VPN
客户端地址;若不是,则跳出流程,检查下一条数据
包,若是,则继续执行,判断其端口号是否为500且
ResponderSPI字段是否为0;若不是,则跳出流程,
检查下一条数据包,若是,则表明收到客户端发来的
阶段1的协商请求数据包,对其进行解析并调用发
包进程,构建响应数据包respondpacket_1,填入服务
器Cookie、随机数Nonce、DH公钥等关键载荷,利用
式(3)计算HASH_R发送给客户端,继续监听,并利
用式(4)~式(6)输出阶段1的密钥SKEYID,阶段1
协商完毕;检查下一条数据包端口是否为500、
Responder
0
SPI字段不为0且MessageID字段也不为
收到了客户端阶段
,若不是,则继续检查下一条数据包
2的协商请求,利用阶段
;若是,
1
则表明
的密钥
SKEYID,调用解密进程,解析数据包并调用发包进
程,构建响应数据包respondpacket_2,利用式(8)计
算HASH(2),填入随机数、哈希载荷和身份载荷,发
送给客户端,阶段2协商完毕;攻击者获得VPN客户
端后续加密数据密钥KEYMAT,算法结束。
2.3服务器KEYMAT密钥获取算法
算法3服务器KEYMAT密钥获取算法
输入伪造的协商请求aggressivepacket_1、packet数据流
输出服务器密钥KEYMAT’
ngandsendaggressivepacket_1
ketsdo
=VPN服务器
=500andCKY_R≠0then
//判断是否为阶段1的VPN服务器响应回复
gressivepacket_2
//发送回复响应数据包,完成阶段1的协商请求
ickpacket_1
//发送阶段2的第一个数据包,进入快速模式协商阶段
ue
=500andCKY_R≠0andMessageID≠0then
//判断是否收到阶段2的VPN服务器响应数据包
ickpacket_2
//响应服务器阶段2的数据包,完成快速模式认证
服务器密钥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流
量劫持算法、IPSecVPN密钥获取算法的正确性,本
文利用GNS3软件搭建仿真网络拓扑模拟跨网段
IPSecVPN环境并利用Scapy库
[20]
伪造网络数据包。
3.1实验环境
实验主要采用以GNS3软件
[21]
搭建的仿真环
境进行验证,网络拓扑环境如图7所示,其中R1,
R2,…,R11是思科C3660路由器,网络分为客户端
内网、服务器内网与中间网络三部分。中间网络由
路由器R1、R2、R3、R4、R5、R6、R8和R10组成,配
置OSPFv2协议。路由器与主机端口IP地址已在
图7中标注。路由器接口IP地址为网络号加上路
由
31
IPSec
.
器
1.1
的
.
VPN
1
标
,R
号
6
配
的
,如
置
两
R
:
个
1
R
接
的
7为
口
两
VPN
地
个
址
接
客
为
口
户
36
地址为14.1.1.1和
端
.1.1
,
.
R
6
9
和
为
65
VPN
.1.1.6
服
。
务器。双方使用IKEv1进行协商,密钥协商采用激
进模式预共享密钥认证方式,加密模式为AES-CBC,
校验算法为HMAC-SHA128,密钥交换使用DH-1024。
PC1与PC2分别位于客户端内网与服务器内网,使
用网关路由器R7与R9之间建立的IPSecVPN进行
通信。攻击者配置:攻击者实际为一台Ubuntu16
系统虚拟机,通过E1/0端口连接R4路由,R4路由
为攻击者可控路由。
148
计算机工程
2021年6月15日
图7
Fig.7
网络拓扑环境
Networktopologyenvironment
3.2
3.2.1
IPSecVPN流量劫持实验
为验证IPSecVPN流量劫持算法的有效性,实验
环境为客户端与服务器之间配置了两条链路,即R7-R3-
R6-R5-R10-R8-R9与R7-R3-R1-R4-R2-R8-R9。在正常
情况下,客户端与VPN服务器网关之间的通信流量不
一定经过R4,也有可能经过R5,攻击者只实现了对R4
的控制。利用双LSA远程多注入攻击方式,使客户端
与VPN服务器网关之间的流量一定要经过R4。攻击
者实现IPSecVPN流量劫持主要分为路由欺骗、设置
转发规则和配置策略路由3个阶段。
IPSecVPN流量劫持的具体步骤如下:
1)攻击者向R1、R2注入受害者路由器R5“触发
LSA”。
2)攻击者向R1、R2注入受害者路由器R“5抗反击
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,在
1s后再发送“抗反击LSA”。当R5收到“触发LSA”后
IPSecVPN流量劫持实验过程
的IPSecVPN流量转发给自己,R4路由规则如表2所
示。步骤5和6对R4配置策略路由,添加转发规则,将
IPSecVPN流量重新转发出去,如表3所示。
表1
Table1
R5“抗反击LSA”过程的主要参数设置
Settingofmainparametersfortheprocessof
R5“anti-counterattackLSA”
位置字段信息
IP
Protocol
TTL
Type
OSPFRouter-id
Area-ID
LSU
numofLSA
LStype
LinkID
LinkData
LinkType/TOS
Metric
LinkID
LSA
LinkData
LinkType/TOS
Metric
LinkID
LinkData
LinkType/TOS
Metric
14.1.1.4
14.1.1.1
89
8
域值
4(LSU)
4.4.4.4
0.0.0.0
3
1(Router-LSA)
65.1.1.5
2/0
65.1.1.5(受害者接口地址)
32(R5接口的伪造距离)
52.1.1.5
2/0
52.1.1.5(受害者接口地址)
32(R5接口的伪造距离)
0x11111111(固定值)
0x11111111(固定值)
2/0
0x6a24(保持校验和)
仍需要5s时间才能发出“自反击LSA”,因此攻击者发
送的“抗反击LSA”有足够的时间污染R5的邻接路由。
“抗反击LSA”加入了固定值与特定校验和使得能够与
R5产生的“自反击LSA”校验和一致,具体参数如表1
所示。步骤3和步骤4对R4添加路由规则,将R4获取
表2
Table2
协议
S
S
R4路由规则
RoutingrulesofR4
目的地址
172.17.2.0
160.18.2.0
网关
180.16.2.2
180.16.2.2
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
149
表3R4策略路由规则
Table3PolicyroutingrulesofR4
接口目的地址网关
180
180
.
.
16
16
.
.
2
2
.
.
1
1
172
160
.
.
17
18
.
.
2
2
.
.
0
0
14
42
.
.
1
1
.
.
1
1
.
.
1
2
3.2.2
实验
IPSec
结果
VPN
包括
流量劫持实验结果分析
路由器路由表攻击前后对比、
IPSecVPN流量路径攻击前后对比、真实路由器链路
状态数据库与被污染路由器链路状态数据库对比。
表4列出了客户端出口路由R3路由表项在受到路由
欺骗前后的主要参数设置。
表4R3被攻击前后路由表项的主要参数设置
Table4Settingofmainparametersofroutingtable
entryofR3beforeandafterattacking
攻击前攻击后
协议目的地址网关协议目的地址网关
O
16036
O
160
28
.18.2.031
O
28
.
.
18
1.
.2.0
O
31
.1.1.1
O
14.1.
1
1
.
.
0
0
31
.
31
.
1
.
1
.
1
.
1.6
.
1
1
.
.
1
1
O
14
.
.
1
1
.
.
1
1
.
.
0
031
.
.
1
1
.
.
1
1
.
.
1
1
由表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.8ThetrafficpathofR7andR9beforeattacking
图9攻击后R7与R9的流量路径
Fig.9ThetrafficpathofR7andR9afterattacking
攻击后R5与R6保存的关于R5的LSA如图10
所示。可以看出,R5保存的是真实的LSA,而R6保
存的实际上是攻击者构造的“抗反击LSA”,R6链路
状态数据库受到污染。
图10R5与R6保存的LSA
Fig.10LSAsavedbyR5andR6
3.3IPSecVPN密钥获取实验
3.3.1
根据上文分析可知
IPSecVPN密钥获取实验过程
,攻击者获取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参数对客户端发
150
计算机工程
2021年6月15日
送的数据进行解密,得到的数据包如图13所示。
图11标准数据包结构
Fig.11Standarddatapackstructure
图12客户端攻击程序运行结果
Fig.12Runningresultsofclientattackprogram
图13客户端发送的数据包
Fig.13Datapacksentbytheclient
攻击者运行服务器攻击程序,伪造客户端发送
协商请求数据包,通过服务器方认证,获得阶段1和
阶段2的密钥SKEYID’与KEYMAT’,如图14所示。
攻击者将客户端发送的数据包进行篡改后,利用
KEYMAT’加密后转发给服务器,服务器收到的实际
数据如图15所示。
图14服务器攻击程序运行结果
Fig.14Runningresultsofserverattackprogram
图15服务器收到的数据包
Fig.15Datapackreceivedbytheserver
3.3.2
实验
IPSec
结果
VPN
表明
密钥获取实验结果分析
,攻击者在IPSecVPN流量劫持
的基础上实现了对IPSecVPN客户端与服务器双方
的身份伪造,通过攻击程序获取了客户端与服务器
双方的通信密钥。攻击者利用获取的客户端密钥对
客户端数据解密并篡改后通过服务器端密钥重新加
密发送给服务器,服务器实际收到的是由攻击者篡
改后的数据包,至此中间人攻击完成且通信双方均
未发现攻击者。
4结束语
本文分析IPSecVPN中IKE协议激进模式和
OSPF路由选择协议的安全性漏洞,设计IPSecVPN
流量劫持算法与KEYMAT密钥获取算法,通过搭建
仿真环境并选取双LSA注入路由欺骗攻击方式,实
现跨网段IPSecVPN中间人攻击并验证了IPSec
VPN协议的脆弱性。下一步可将本文研究成果应用
在边界网络设备防护和骨干网络防御任务中,当
IPSecVPN等边界网络设备正常连接出现中断时,快
速有效检测出中断原因并评估风险等级,以抵御类
似的中间人攻击,而在数据传输的骨干网络中对于
可能存在的路由欺骗攻击,主动检测异常的链路状
态通告,找出潜在的攻击行为,保障骨干路由安全。
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
151
参考文献
[1]napplicationofVPNtechnology
based
2012
王凤领
,
on
22(
IPSec
.基于
9):
[J]
250
.
IPSec
-
Computer
252
的
.(
VPN
inChinese)
TechnologyandDevelopment,
技术的应用研究[J].计算
机技术与发展,2012,22(9):250-252.
[2]hnologyoverviewandapplication[J].
InformationCommunication,2013(10):260-261.(in
Chinese)
许敏.VPN技术综述及应用[J].信息通信,2013(
[3]
260
XU
-
Xijie.
261.
10):
ResearchonkeytechnologyintheVRNpenetrate-
defense[D].Harbin:HarbinEngineeringUniversity,2012.
(inChinese)
徐希杰.基于中间人的VPN穿透对抗关键技术研究[D].
哈尔滨:哈尔滨工程大学,2012.
[4]graphicalgorithmsforuseinthe
InternetKeyExchangeversion2(IKEv2):RFC4307[S].
MassachusettsInstituteofTechnology,2005:1-5.
[5]FELSCHD,GROTHEM,JÖRGS,gersof
keyreuse:practicalattacksonIPsecIKE[C]//Proceedings
ofUSENIXSecuritySymposium.[S.
[6]
2018
LIU
:567
l.]:USENIXPress,
Dongxi,
-583.
ZHANGLong,
modificationsonIKEprotocolwithpre-sharedkey
authentication[J].
[7]
2003
PATERSON
,E-8(2):
K
142
Journal
G.
-145
ofShanghaiJiaotongUniversity,
A
.
cryptographictouroftheIPsec
standards[J].InformationSecurity
[8]
2006
ZHAO
,11(
Erfan,
2):72
XIONG
-81.
TechnicalReport,
tivedenial-of-service
based
2019
onIKEv2protocol[J].Communications
赵尔
,
凡
52(
,熊
2)
刚
:444
.基
-448
于
.
Technology,
IKEv2反射式拒绝服务研究[J].
通信技术,2019,52(2):444-448.
[9]ZHOUMeng,istoman-in-the-middle
attackforIKEvlontheaggressivemode[J].Journalof
University
2010
周梦
,
ofElectronicScienceandTechnologyofChina,
,
39
白
(
建
1)
荣
:97
.
-
激
100
进
,
模
151
式
.(
下
in
对
Chinese)
IKEv1的中间人攻击分
析[J].电子科技大学学报,2010,39(1):97-100,151.
[10]ZHANGWeile,YUYang,TANGJun,esof
securityflawsofIKEandtest[J].ComputerEngineering
andDesign,2007,28(12):2811-2813.(inChinese)
张卫乐,余洋,汤隽,等.IKE协议安全隐患分析与验证[J].
计算机工程与设计,2007,28(12):2811-2813.
[11]KANGBH,abilitiesofVPN
usingIPSecanddefensivemeasures[J].International
Journal
2009,8(
of
7):
ADVANCED
9-18.
SCIENCEandTechnology,
[12]MAGNANIDB,CARVALHOIA,NORONHATF.
RobustoptimizationforOSPFrouting[J].IFACPapers
onLine,2016,49(12):461-466.
[13]CARIAM,pacityplanningforfault
tolerantoperationinhybridSDN/OSPFnetworks[EB/OL].
[2020-04-02].https:///abs/1604.05534.
[14]isofroutingspoofingbasedonOSPF
routingprotocol[D].Nanjing:SoutheastUniversity,2014.
(inChinese)
夏云峰.基于OSPF路由协议的路由欺骗分析[D].南京:
东南大学,2014
[15]GUOWeixing,LIUXu,tackdetection
methodbasedonARPcacheovertime[J].Computer
Engineering,2008,34(13):133-135.(inChinese)
郭卫兴,刘旭,吴灏.基于ARP缓存超时的中间人攻击检
测方法[J].计算机工程,2008,34(13):133-135.
[16]KONGZheng,ofingprinciple
and
2010
孔政
,
its
,
36
姜秀柱
(
defense
3):125
scheme[J].ComputerEngineering,
.DNS
-127
欺骗原理及其防御方案
.(inChinese)
[J].计算机
工程,2010,36(3):125-127.
[17]QINZunying,LIGuodong,andimplemen-
tationofOSPFprotocolvulnerabilityanalysisanddetection
system
58
[J].JournalofCommunications,2013,34(S2):
覃遵颖
-63.(
,
in
李国栋
Chinese)
,李卫.OSPF协议脆弱性分析与检测系
统的设计和实现[J].通信学报,2013,34(S2):58-63.
[18]LIPengfei,CHENMing,:a
generaldetectionanddefensemechanismagainstrouting
spoofingattacksonOSPFprotocol[J].Computer
TechnologyandDevelopment,2019,29(10):120-126.
(inChinese)
李鹏飞,陈鸣,钱红燕.ARSAO:一种通用的检测与防
御OSPF路由
[19]
2019
欺骗的机制[J].计算机技术与发展,
NAKIBLY
,29(10)
G,
:120
KIRSHON
-126.
A,GONIKMAND,etal.
PersistentOSPFattacks[EB/OL][.2020-04-02].https://
/.
[20]LIZhaobin,MAOFangyi,WANGYaojun,
applicationofScapyinnetworkequipmentsecuritytest[J].
JournalofBeijingInstituteofElectronicScienceand
Technology,2016,24(4):73-77.(inChinese)
李兆斌,茅方毅,王瑶君,等.Scapy在网络设备安全性测
试中的应用[J].北京电子科技学院学报,2016,24(4):
[21]
73
HAO
-77.
tionofRIProutingbasedon
GNS
2019
3
郝贤
,
[J].ResearchandExplorationinLaboratory,
云
38(
.基
7):
于
124
GNS
-129
3
,
的
166
RIP
.(
路
in
由
Chinese)
协议仿真[J].实验室
研究与探索,2019,38(7):124-129,166.
编辑陆燕菲
2024年5月28日发(作者:迮以南)
第47卷
Vol.47
第6期
No.6
计算机工程
ComputerEngineering
文章编号:1000-3428(2021)06-0142-10文献标志码:A
2021年6月
June2021
中图分类号:TP309.2
·网络空间安全·
IPSecVPN安全性漏洞分析及验证
周益旻,刘方正,杜镇宇,张凯
(国防科技大学电子对抗学院,合肥230037)
摘要:网络边界是提供访问服务的主要通道,而IPSecVPN作为网络边界防护中的关键技术,对于保障网络整体安
全至关重要。分析IPSecVPN中IKE协议激进模式和OSPF路由选择协议的安全性漏洞,研究三种常规OSPF路由欺
骗方式在IPSecVPN中间人攻击中的性能表现,构建IPSecVPN流量劫持模型及攻击数据包,设计IPSecVPN流量劫
持算法与KEYMAT密钥获取算法。通过搭建仿真环境并选取双LSA注入路由欺骗攻击方式,实现跨网段IPSecVPN
中间人攻击并验证了IPSecVPN协议的脆弱性,该结论对于网络边界设备防护、骨干网络流量保护具有重要作用。
关键词:IPSecVPN技术;IKE协议;中间人攻击;OSPF协议;路由欺骗攻击
开放科学(资源服务)标志码(OSID):
中文引用格式:周益旻,刘方正,杜镇宇,等.IPSecVPN安全性漏洞分析及验证[J].计算机工程,2021,47(6):142-151.
英文引用格式:ZHOUYimin,LIUFangzheng,DUZhenyu,isandverificationofIPSecVPNsecurity
vulnerability[J].ComputerEngineering,2021,47(6):142-151.
AnalysisandVerificationofIPSecVPNSecurityVulnerability
ZHOUYimin,LIUFangzheng,DUZhenyu,ZHANGKai
(ElectronicConfrontationInstitute,NationalUniversityofDefenseTechnology,Hefei230037,China)
【Abstract】techniquewidelyusedin
networkboundaryprotection,peranalyzes
thesecurityvulnerabilitiesofthree
commonlyusedOSPFroutingdeceptionmethodsarestudiedfortheirperformanceintheman-in-the-middleattacksonIPSec
basis,thetraffffichijacking
algoy,asimulationenvironmentis
oyingthedualLSAinjectionroutespoofingattackmethod,
theexperimentreaultofthestudyisof
greatimportancetotheprotectionofnetworkboundarydevicesandbackbonenetworktraffic.
【Keywords】IPSecVPNtechnology;IKEprotocol;man-in-the-middleattack;OSPFprotocol;routingspoofingattack
DOI:10.19678/.1000-3428.0058383
0概述
互联网安全协议(InternetProtocolSecurity,IPSec)
是由IETF于1998年11月提出的Internet网络安全通
信规范,为私有信息通过公网传输提供了安全保障
[1]
。
虚拟专用网络(VirtualPrivateNetwork,VPN)可利用廉
价接入的公共网络来传输私有数据,相较传统专线连
网方式更具成本优势,受到各企业和电信运营商的青
睐。IPSecVPN是基于IPSec协议的VPN技术,常用的
VPN实现协议包括PPTP、L2TP、IPSec、MPLS和SSL
[2]
等。从目前所有VPN的实现方式来看,基于IPSec的
[3]
VPN技术是一种安全性相对较高的VPN技术
。IPSec
基金项目:国家自然科学基金(61671454)。
VPN使用IKE协议验证IPSec通信双方身份、建立安全
关联(SecurityAssociation,SA)以及生成安全密钥。IKE
协议对IPSec的安全性至关重要,IKE协议第1版(简称
IKEv1)由IETF于1998年发布,并于2005年发布
第2版
[4]
。
虽然IPSecVPN安全性较高
[5]
,但是长期的应用
过程中人们已经发现IKEv1存在身份泄露
[6]
、中间人
[7][8]
攻击、拒绝服务攻击等脆弱性问题。文献[9]从
理论上分析了IKEv1协议中存在的脆弱性问题,却
没有给出具体的实现方案。文献[10]提出一种ARP
欺骗实施中间人攻击的方法,在局域网中验证了该
方法的可行性,但其不能应用在不同网段的VPN
作者简介:周益旻(1996—),男,硕士研究生,主研方向为信息安全;刘方正,讲师、博士;杜镇宇,博士研究生;张
收稿日期:2020-05-20修回日期:2020-07-15E⁃mail:********************
凯,硕士研究生。
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
143
中。文献[11]通过VPN指纹识别技术,获取VPN服
务器设备类型与版本信息,但是却没有给出具体的
服务器流量获取方法。
本文分析IPSecVPN的安全性漏洞,主要是密
钥交换过程中IKE协议存在中间人攻击以及数据传
输过程中OSPF路由选择协议存在的路由欺骗攻击,
研究三种常规OSPF路由欺骗方式在IPSecVPN中
间人攻击中的性能表现,同时构建IPSecVPN流量
劫持模型及攻击数据包,并设计实施中间人攻击的
IPSecVPN流量劫持与密钥获取算法。
1IPSecVPN脆弱性分析
1.1IKEv1协议密钥协商过程脆弱点分析
IKEv1协商密钥包括两个阶段:1)对身份进行
认证并建立安全关联ISAKMPSA;2)建立IPSec
SA,为AH和ESP封装数据包提供服务。
阶段1与阶段2的协商过程如图1所示。消息①
来自客户端,包括ISAKMP数据包首部HDR、安全关
联SA、以g
xi
为参数的DH密钥交换材料KE(g
xi
)、随机
数Ni与身份信息IDii,将其作为第一条信息明文发送
给服务器。消息②来自服务器,同样包括首部HDR以
及对客户端SA的确认以及自身的密钥材料KE(g
xr
)、
随机数Nr、身份信息IDir与校验值HASH_R。消息③
来自客户端,对服务器发送的数据进行HASH校验,如
果与自身计算的HASH一致则通过身份认证,并回复
一个HASH_I值进行确认。
图1激进模式预共享密钥协商过程
Fig.1Processofpre-sharedkeynegotiationin
aggressivemode
在预共享密钥认证的方式下,密钥SKEYID计算
如式(1)所示。消息②中客户端HASH_I计算如式(2)
所示。消息③中服务器HASH_R计算如式(3)所示
VPN双方共享密钥材料计算如式(4)~式(6)所示。
IKEv1阶段1的协商完成,通信双方获得了保护阶段2
密钥交换的ISAKMPSA参数。阶段1生成的密钥材
料将用于保护阶段2快速模式交换的3条消息,如
式(7)~式(9)所示。
SKEYID=prf(PSKNi_b|Nr_b)
(1)
HASH_I=prf(SKEYIDg
xi
|g
xr
|
CKY_I|CKY_R|SAi_b|IDii_b)
(2)
HASH_R=prf(SKEYIDg
xr
|g
xi
|
CKY_R|CKY_I|SAi_b|IDir_b)
(3)
SKEYID_d=prf(SKEYIDg
xy
|CKY_I|CKY_R|0)
(4)
SKEYID_a=prf(SKEYIDg
xy
|CKY_I|CKY_R|1)
(5)
SKEYID_e=prf(SKEYIDg
xy
|CKY_I|CKY_R|2)
(6)
HASH(1)=prf(SKEYID_aM‑Ni[|KE][|IDci|IDcr])
(7)
HASH(2)=prf(SKEYID_aM‑ID|Ni_b|
SA|Nr[|KE][|IDci|IDcr])
(8)
HASH(3)=prf(SKEYID_aM‑ID|Ni_b|Nr_b)
(9)
其中,PSK表示预共享密钥,g
xy
表示由g
xi
和g
xr
生成的
DH共享密钥,
_b表示
有效载荷部分,如Ni_b
表示随机数Ni的有效载荷部分,CKY_I、CKY_R分
别表示客户端与服务器数据包首部HDR中的
Cookie信息,M-ID表示数据包中ID字段,[]中参数
为可选参数,非强制使用。
在阶段2协商过程中,消息④来自客户端,包括
ISAKMP报头和IPSecSA有效负载,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均使用
明文发送,因此攻击者在实现IPSecVPN流量劫持
的基础上,通过分析密钥协商阶段数据可以得到
VPN通信双方的身份信息以及除了预共享密钥PSK
144
计算机工程
2021年6月15日
以外的所有VPN密钥协商参数,预共享密钥PSK可
通过式(1)、式(3)结合口令字典暴力破解得出。阶
段1协商过程采用的Diffie-Hellman密钥交换体制决
定了中间人实施攻击存在的可能性。因此,只要攻
击者破解了预共享密钥PSK,再通过伪造客户端与
服务器双方的身份认证信息,攻击者就可分别与客
户端、服务器尝试进行密钥协商,以实现IPSecVPN
中间人攻击的目的。因此,实现IPSecVPN流量劫
持是进行中间人攻击的前提条件。
1.2OSPF协议路由欺骗流量劫持分析
路由选择协议在因特网中决定着数据分组的转发
路径,保证了分组能够跨越网络正确高效地到达目的
地。OSPF路由协议是因特网自治系统中最常用的内
部网关协议之一
[12]
。OSPF是一种典型的链路状态路
由选择协议,路由器通过链路状态通告(LinkState
Advertisement,LSA)在链路状态发生变化时广播链路
状态信息。相邻路由器之间交换LSA分组,所有有效
的LSA存放在链路状态数据库中,路由器据此计算网
络拓扑信息并得到路由表
[13]
。因此,在LSA上路由信
息的准确性与真实性对于数据流量的转发至关重要。
路由欺骗是一种利用协议漏洞伪造LSA篡改路
由信息的攻击方法。路由欺骗
[14]
攻击主要有双LSA
攻击、邻接欺骗攻击、单路径注入攻击、远程虚假链
接等。邻接路由欺骗常应用在中间人攻击
[15]
、DNS
欺骗攻击
[16]
、拒绝服务攻击
[17]
等中,攻击者通过与网
络中路由器建立邻接关系,配置OSPF协议,触发相
应的恶意LSA,通过洪泛机制传播给网络中其他路
由,欺骗区域中其他路由器,污染其路由表,干扰流
量的正常转发
[18]
。然而,对于IPSecVPN中间人攻
击,邻接路由欺骗虽然仅起到了流量劫持的效果,但
却会影响攻击者后续密钥获取、数据篡改的实现。
IPSecVPN邻接路由欺骗过程如图2所示。当攻击
者通过与未设被动接口的R0路由器建立邻接关系
后,接入R0路由器所在的OSPF区域,以内部路由器
身份注入一条关于VPN服务器网段地址的恶意
LSA,R0收到这条消息后更新其路由表并宣告给其
他邻接路由器,结合洪泛机制,整个路由区域内大范
围路由器的路由表都将受到污染,当区域中存在客
户端发往VPN服务器通信数据时,攻击者将获取到
客户端发往服务器的信息。然而,若攻击者与服务
器之间不存在除R0外的其他线路,那么当攻击者通
过R0向真实的VPN服务器发送数据时,由于其邻接
路由器路由表也被篡改,因此数据并不会成功的发
送到服务器,从而影响后续攻击。
图2
Fig.2
IPSecVPN邻接路由欺骗过程
ProcessofIPSecVPNadjacentroutingspoofing
IPSecVPN单路径注入攻击过程如图3所示。攻
击者将R0路由器作为跳板路由,伪造源地址为F0/1的
数据包,冒充R0路由器,发送包含关于服务器网段路
由信息的恶意LSA给R1,R1称为源污染路由器,R1收
到该LSA之后,会将这些恶意的LSA继续洪泛出去,
使得区域1内部路由器路由表、链路状态数据库均受
到污染,前往服务器网段的数据包会转发给R0。由于
该恶意LSA是攻击者伪造的,因此当R0收到R1发回
的LSAck包之后,若仅采取丢弃处理,则不会引起自反
击机制,这样保证了区域2中路由器关于服务器路由
地址的正确性,不影响后续攻击者对服务器方向数据
的发送。然而,单路径注入攻击的条件在于跳板主机
与源污染路由器之间只能存在一条路径,使得恶意LSA
不会再次通过其他区域传播到跳板路由。因此,采用
单路径注入攻击的方式进行路由欺骗,仅适用于可将
客户端与服务器划分为两个区域,区域之间有且仅有
一条路径连通的情况。双LSA远程多注入是一种通过
改变相关路径上的路由器LSA,达到对中间流量传输
路径进行控制的攻击方式
[19]
,IPSecVPN双LSA远程
多注入攻击过程如图4所示。
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
145
图3
Fig.3
IPSecVPN单路径注入攻击过程
ProcessofIPSecVPNsinglepathinjectionattack
图4
Fig.4
IPSecVPN双LSA远程多注入攻击过程
ProcessofIPSecVPNdualLSAremotemultipleinjectionattack
OSPF协议规定两个具有相同序列号、校验和且时
间差小于15min的LSA为相同的LSA。假定攻击者通
过与网络中的路由器(图4中的R0)建立邻接关系,获
取到网络拓扑与OSPF相关参数,那么双LSA注入攻
击就可利用该机制进行构造,并以一定时序在网络中
发送关于某一个污染节点(也称受害路由器)(图4中
的R3)的“触发LSA”与“抗反击LSA”,双LSA注入攻
击过程如图5所示。
在传播到受害者路由器(R3)之前会影响所经过的路
由器(图5中的R1和R2),当“触发LSA”经过洪泛于
t
1
时刻到达受害者路由器时,受害者路由器于t
3
时刻
攻击者于t
0
时刻发生“触发LSA”,“触发LSA”
会触发自反击机制,发送一个更新的“自反击LSA”,
然而由于攻击者事先构造了关于该更新LSA的具有
相同序列号、校验和且时间差小于15min的“抗反击
LSA”并已于t
2
时刻传播给其他路由器,此时其他路
由再收到该受害路由器更新的LSA之后,会认为与
“抗反击LSA”相同而丢弃,导致网络中数据链路状
态数据库发生改变,达到控制中间流量传输路径的
效果。因此,采用双LSA远程多注入的攻击方式,适
用于客户端与服务器之间存在两条及以上链路的情
况。本文对上述3种路由欺骗方式在IPSecVPN中
间人攻击中的优劣势进行对比分析:1)邻接路由欺
图5
Fig.5
双LSA注入攻击过程
骗,控制流量传输路径、攻击者获取目标流量,影响
范围大且攻击方式简单,但难以控制欺骗范围并影
ProcessofdualLSAinjectionattack
146
计算机工程
2021年6月15日
响后续攻击;2)单路径注入攻击,控制流量传输路
径,容易控制欺骗范围,适用于目标网络之间仅存在
唯一链路的情况;3)双LSA注入攻击,控制流量传输
路径,适用于目标网络之间存在多条链路的情况,攻
击者需要获取OSPF网络相关参数。
本文选用双LSA注入攻击的方式,实现IPSec
VPN流量劫持。一般而言,通过长期的流量分析,
VPN客户端与服务器网关地址信息较易获取,但难
点在于选择受害路由、构造“触发LSA”以及“抗反击
LSA”并以合适的时序发送。攻击者在控制目标流
量传输路径后,还需要结合路由控制手段,对目标流
量进行转发以保证攻击者伪造的数据能够重新发送
出去。
2
2.1
算法设计
IPSecVPN流量劫持算法
为方便算法描述,本文将IPSecVPN网络分为
Client区域、Server区域以及中间区域3个部分。以
劫持Client→Server单向流量为例,将Client与
Server之间的中间网络用有向图结构进行表示,每
一个顶点代表一个网络节点,每一条边代表一条网
络路径,箭头代表流向,如图6所示。定义(V
i
,S
i
)为
中间网络中的一个网络节点,(V
0
,S
0
)和(V
n
,S
n
)分别
为Client端至Server端路径在中间区域经过的第一个
和最后一个路由器节点,其中,(V
0
,S
0
)表示中间区域
点,(V
n
,S
n
)表示中间区域中第一个出度为1且所有
VPN流量均为流出的节点。
中第一个入度为1且所有VPN流量均为流入的节
图6
Fig.6
Client-to-Server流量劫持模型
Client-to-Servertraffichijackingmodel
tNode←outAdjSet(i);
//移动到下一个标记节点
le
(PoisionSet);
选定一条Client→Server可达路径Path,按流量
经过顺序标记Path上所有节点作为标记节点集
FlagSet{(V
0
,S
0
),(V
1
,i
1
),…,(V
i
,i
i
),…,(V
n
,S
n
)},即
图6中白色虚框节点。假定攻击者所控制的路由节
点为(V
i
,i
i
)(S
0
n
),那么当Client→Server流量流
(V
i-1
i
i-1
)
节点的所有出度节点
经
(V
i-1
i
i-1
)
时,(除
了标记的(V
i
,i
i
))均应当作为污染节点,即图6中的
黑色节点,使得流量只流向(V
i
,i
i
)。因此,算法1选
择中间网络拓扑Map以及标记节点集FlagSet作为
算法输入,对每一个标记节点进行检查,输出所有需
要污染的节点。
算法1IPSecVPN流量劫持算法
输入
输出
中间网络拓扑Map、标记路径节点集合FlagSet
污染节点集合PoisionSet
FlagSet输入顺序决定了劫持流量的方向,当输
入顺序为(V
n
,S
n
)→(V
0
,S
0
),即可影响Server→Client
流量。在不考虑LSA洪泛时间与数据库更新时间的
情况下对所有污染节点进行注入攻击,即可达到控
制流量路径的目的。
2.2客户端KEYMAT密钥获取算法
由于无法对IPSecVPN加密流量直接解密,直
接对加密流量进行篡改会引起通信双方的警觉,因
此攻击者必须进行身份欺骗:对于VPN客户端,攻
击者应伪装成VPN服务器,发送伪造的响应数据
包,对客户端数据请求进行响应,使得攻击者能够获
取客户端加密密钥;对于VPN服务器,攻击者应伪
装成VPN客户端,发送伪造的协商请求数据包,主
动与服务器建立连接,实现IPSecVPN中间人攻击。
算法2
输入
输出
tNode←FlagSet(1);
//将第一个标记节点作为当前节点
urrentNode≠FlagSet(end)
//如果当前节点没有到最后一个已标记节点
Set=GetoutAdjSet(CurrentNode);
//当前节点的所有出度节点放进outAdjSet集合中
←1toSizeof(outAdjSet)do
djSet(i)∉FlagSet
//如果选定的出度节点不在标记节点中
nSet←outAdjSet(i);
//表明是分支路径,需要将其污染
客户端KEYMAT密钥获取算法
packet数据流
客户端密钥KEYMAT
ng//打开监听进程
ketsdo
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
147
=VPN客户端
=500andCKY_R=0then
//判断是否为阶段1的VPN协商请求
spondpacket_1
ue
//阶段1协商完毕
port=500andCKY_R≠0andMessageID≠0then
//判断是否为阶段2的VPN协商请求
spondpacket_2
//发送阶段2响应数据包
客户端密钥KEYMAT
算法2开启一个监听进程,对收到的数据流中
第一条数据包进行检查,判断其源地址是否为VPN
客户端地址;若不是,则跳出流程,检查下一条数据
包,若是,则继续执行,判断其端口号是否为500且
ResponderSPI字段是否为0;若不是,则跳出流程,
检查下一条数据包,若是,则表明收到客户端发来的
阶段1的协商请求数据包,对其进行解析并调用发
包进程,构建响应数据包respondpacket_1,填入服务
器Cookie、随机数Nonce、DH公钥等关键载荷,利用
式(3)计算HASH_R发送给客户端,继续监听,并利
用式(4)~式(6)输出阶段1的密钥SKEYID,阶段1
协商完毕;检查下一条数据包端口是否为500、
Responder
0
SPI字段不为0且MessageID字段也不为
收到了客户端阶段
,若不是,则继续检查下一条数据包
2的协商请求,利用阶段
;若是,
1
则表明
的密钥
SKEYID,调用解密进程,解析数据包并调用发包进
程,构建响应数据包respondpacket_2,利用式(8)计
算HASH(2),填入随机数、哈希载荷和身份载荷,发
送给客户端,阶段2协商完毕;攻击者获得VPN客户
端后续加密数据密钥KEYMAT,算法结束。
2.3服务器KEYMAT密钥获取算法
算法3服务器KEYMAT密钥获取算法
输入伪造的协商请求aggressivepacket_1、packet数据流
输出服务器密钥KEYMAT’
ngandsendaggressivepacket_1
ketsdo
=VPN服务器
=500andCKY_R≠0then
//判断是否为阶段1的VPN服务器响应回复
gressivepacket_2
//发送回复响应数据包,完成阶段1的协商请求
ickpacket_1
//发送阶段2的第一个数据包,进入快速模式协商阶段
ue
=500andCKY_R≠0andMessageID≠0then
//判断是否收到阶段2的VPN服务器响应数据包
ickpacket_2
//响应服务器阶段2的数据包,完成快速模式认证
服务器密钥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流
量劫持算法、IPSecVPN密钥获取算法的正确性,本
文利用GNS3软件搭建仿真网络拓扑模拟跨网段
IPSecVPN环境并利用Scapy库
[20]
伪造网络数据包。
3.1实验环境
实验主要采用以GNS3软件
[21]
搭建的仿真环
境进行验证,网络拓扑环境如图7所示,其中R1,
R2,…,R11是思科C3660路由器,网络分为客户端
内网、服务器内网与中间网络三部分。中间网络由
路由器R1、R2、R3、R4、R5、R6、R8和R10组成,配
置OSPFv2协议。路由器与主机端口IP地址已在
图7中标注。路由器接口IP地址为网络号加上路
由
31
IPSec
.
器
1.1
的
.
VPN
1
标
,R
号
6
配
的
,如
置
两
R
:
个
1
R
接
的
7为
口
两
VPN
地
个
址
接
客
为
口
户
36
地址为14.1.1.1和
端
.1.1
,
.
R
6
9
和
为
65
VPN
.1.1.6
服
。
务器。双方使用IKEv1进行协商,密钥协商采用激
进模式预共享密钥认证方式,加密模式为AES-CBC,
校验算法为HMAC-SHA128,密钥交换使用DH-1024。
PC1与PC2分别位于客户端内网与服务器内网,使
用网关路由器R7与R9之间建立的IPSecVPN进行
通信。攻击者配置:攻击者实际为一台Ubuntu16
系统虚拟机,通过E1/0端口连接R4路由,R4路由
为攻击者可控路由。
148
计算机工程
2021年6月15日
图7
Fig.7
网络拓扑环境
Networktopologyenvironment
3.2
3.2.1
IPSecVPN流量劫持实验
为验证IPSecVPN流量劫持算法的有效性,实验
环境为客户端与服务器之间配置了两条链路,即R7-R3-
R6-R5-R10-R8-R9与R7-R3-R1-R4-R2-R8-R9。在正常
情况下,客户端与VPN服务器网关之间的通信流量不
一定经过R4,也有可能经过R5,攻击者只实现了对R4
的控制。利用双LSA远程多注入攻击方式,使客户端
与VPN服务器网关之间的流量一定要经过R4。攻击
者实现IPSecVPN流量劫持主要分为路由欺骗、设置
转发规则和配置策略路由3个阶段。
IPSecVPN流量劫持的具体步骤如下:
1)攻击者向R1、R2注入受害者路由器R5“触发
LSA”。
2)攻击者向R1、R2注入受害者路由器R“5抗反击
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,在
1s后再发送“抗反击LSA”。当R5收到“触发LSA”后
IPSecVPN流量劫持实验过程
的IPSecVPN流量转发给自己,R4路由规则如表2所
示。步骤5和6对R4配置策略路由,添加转发规则,将
IPSecVPN流量重新转发出去,如表3所示。
表1
Table1
R5“抗反击LSA”过程的主要参数设置
Settingofmainparametersfortheprocessof
R5“anti-counterattackLSA”
位置字段信息
IP
Protocol
TTL
Type
OSPFRouter-id
Area-ID
LSU
numofLSA
LStype
LinkID
LinkData
LinkType/TOS
Metric
LinkID
LSA
LinkData
LinkType/TOS
Metric
LinkID
LinkData
LinkType/TOS
Metric
14.1.1.4
14.1.1.1
89
8
域值
4(LSU)
4.4.4.4
0.0.0.0
3
1(Router-LSA)
65.1.1.5
2/0
65.1.1.5(受害者接口地址)
32(R5接口的伪造距离)
52.1.1.5
2/0
52.1.1.5(受害者接口地址)
32(R5接口的伪造距离)
0x11111111(固定值)
0x11111111(固定值)
2/0
0x6a24(保持校验和)
仍需要5s时间才能发出“自反击LSA”,因此攻击者发
送的“抗反击LSA”有足够的时间污染R5的邻接路由。
“抗反击LSA”加入了固定值与特定校验和使得能够与
R5产生的“自反击LSA”校验和一致,具体参数如表1
所示。步骤3和步骤4对R4添加路由规则,将R4获取
表2
Table2
协议
S
S
R4路由规则
RoutingrulesofR4
目的地址
172.17.2.0
160.18.2.0
网关
180.16.2.2
180.16.2.2
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
149
表3R4策略路由规则
Table3PolicyroutingrulesofR4
接口目的地址网关
180
180
.
.
16
16
.
.
2
2
.
.
1
1
172
160
.
.
17
18
.
.
2
2
.
.
0
0
14
42
.
.
1
1
.
.
1
1
.
.
1
2
3.2.2
实验
IPSec
结果
VPN
包括
流量劫持实验结果分析
路由器路由表攻击前后对比、
IPSecVPN流量路径攻击前后对比、真实路由器链路
状态数据库与被污染路由器链路状态数据库对比。
表4列出了客户端出口路由R3路由表项在受到路由
欺骗前后的主要参数设置。
表4R3被攻击前后路由表项的主要参数设置
Table4Settingofmainparametersofroutingtable
entryofR3beforeandafterattacking
攻击前攻击后
协议目的地址网关协议目的地址网关
O
16036
O
160
28
.18.2.031
O
28
.
.
18
1.
.2.0
O
31
.1.1.1
O
14.1.
1
1
.
.
0
0
31
.
31
.
1
.
1
.
1
.
1.6
.
1
1
.
.
1
1
O
14
.
.
1
1
.
.
1
1
.
.
0
031
.
.
1
1
.
.
1
1
.
.
1
1
由表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.8ThetrafficpathofR7andR9beforeattacking
图9攻击后R7与R9的流量路径
Fig.9ThetrafficpathofR7andR9afterattacking
攻击后R5与R6保存的关于R5的LSA如图10
所示。可以看出,R5保存的是真实的LSA,而R6保
存的实际上是攻击者构造的“抗反击LSA”,R6链路
状态数据库受到污染。
图10R5与R6保存的LSA
Fig.10LSAsavedbyR5andR6
3.3IPSecVPN密钥获取实验
3.3.1
根据上文分析可知
IPSecVPN密钥获取实验过程
,攻击者获取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参数对客户端发
150
计算机工程
2021年6月15日
送的数据进行解密,得到的数据包如图13所示。
图11标准数据包结构
Fig.11Standarddatapackstructure
图12客户端攻击程序运行结果
Fig.12Runningresultsofclientattackprogram
图13客户端发送的数据包
Fig.13Datapacksentbytheclient
攻击者运行服务器攻击程序,伪造客户端发送
协商请求数据包,通过服务器方认证,获得阶段1和
阶段2的密钥SKEYID’与KEYMAT’,如图14所示。
攻击者将客户端发送的数据包进行篡改后,利用
KEYMAT’加密后转发给服务器,服务器收到的实际
数据如图15所示。
图14服务器攻击程序运行结果
Fig.14Runningresultsofserverattackprogram
图15服务器收到的数据包
Fig.15Datapackreceivedbytheserver
3.3.2
实验
IPSec
结果
VPN
表明
密钥获取实验结果分析
,攻击者在IPSecVPN流量劫持
的基础上实现了对IPSecVPN客户端与服务器双方
的身份伪造,通过攻击程序获取了客户端与服务器
双方的通信密钥。攻击者利用获取的客户端密钥对
客户端数据解密并篡改后通过服务器端密钥重新加
密发送给服务器,服务器实际收到的是由攻击者篡
改后的数据包,至此中间人攻击完成且通信双方均
未发现攻击者。
4结束语
本文分析IPSecVPN中IKE协议激进模式和
OSPF路由选择协议的安全性漏洞,设计IPSecVPN
流量劫持算法与KEYMAT密钥获取算法,通过搭建
仿真环境并选取双LSA注入路由欺骗攻击方式,实
现跨网段IPSecVPN中间人攻击并验证了IPSec
VPN协议的脆弱性。下一步可将本文研究成果应用
在边界网络设备防护和骨干网络防御任务中,当
IPSecVPN等边界网络设备正常连接出现中断时,快
速有效检测出中断原因并评估风险等级,以抵御类
似的中间人攻击,而在数据传输的骨干网络中对于
可能存在的路由欺骗攻击,主动检测异常的链路状
态通告,找出潜在的攻击行为,保障骨干路由安全。
第47卷第6期周益旻,刘方正,杜镇宇,等:IPSecVPN安全性漏洞分析及验证
151
参考文献
[1]napplicationofVPNtechnology
based
2012
王凤领
,
on
22(
IPSec
.基于
9):
[J]
250
.
IPSec
-
Computer
252
的
.(
VPN
inChinese)
TechnologyandDevelopment,
技术的应用研究[J].计算
机技术与发展,2012,22(9):250-252.
[2]hnologyoverviewandapplication[J].
InformationCommunication,2013(10):260-261.(in
Chinese)
许敏.VPN技术综述及应用[J].信息通信,2013(
[3]
260
XU
-
Xijie.
261.
10):
ResearchonkeytechnologyintheVRNpenetrate-
defense[D].Harbin:HarbinEngineeringUniversity,2012.
(inChinese)
徐希杰.基于中间人的VPN穿透对抗关键技术研究[D].
哈尔滨:哈尔滨工程大学,2012.
[4]graphicalgorithmsforuseinthe
InternetKeyExchangeversion2(IKEv2):RFC4307[S].
MassachusettsInstituteofTechnology,2005:1-5.
[5]FELSCHD,GROTHEM,JÖRGS,gersof
keyreuse:practicalattacksonIPsecIKE[C]//Proceedings
ofUSENIXSecuritySymposium.[S.
[6]
2018
LIU
:567
l.]:USENIXPress,
Dongxi,
-583.
ZHANGLong,
modificationsonIKEprotocolwithpre-sharedkey
authentication[J].
[7]
2003
PATERSON
,E-8(2):
K
142
Journal
G.
-145
ofShanghaiJiaotongUniversity,
A
.
cryptographictouroftheIPsec
standards[J].InformationSecurity
[8]
2006
ZHAO
,11(
Erfan,
2):72
XIONG
-81.
TechnicalReport,
tivedenial-of-service
based
2019
onIKEv2protocol[J].Communications
赵尔
,
凡
52(
,熊
2)
刚
:444
.基
-448
于
.
Technology,
IKEv2反射式拒绝服务研究[J].
通信技术,2019,52(2):444-448.
[9]ZHOUMeng,istoman-in-the-middle
attackforIKEvlontheaggressivemode[J].Journalof
University
2010
周梦
,
ofElectronicScienceandTechnologyofChina,
,
39
白
(
建
1)
荣
:97
.
-
激
100
进
,
模
151
式
.(
下
in
对
Chinese)
IKEv1的中间人攻击分
析[J].电子科技大学学报,2010,39(1):97-100,151.
[10]ZHANGWeile,YUYang,TANGJun,esof
securityflawsofIKEandtest[J].ComputerEngineering
andDesign,2007,28(12):2811-2813.(inChinese)
张卫乐,余洋,汤隽,等.IKE协议安全隐患分析与验证[J].
计算机工程与设计,2007,28(12):2811-2813.
[11]KANGBH,abilitiesofVPN
usingIPSecanddefensivemeasures[J].International
Journal
2009,8(
of
7):
ADVANCED
9-18.
SCIENCEandTechnology,
[12]MAGNANIDB,CARVALHOIA,NORONHATF.
RobustoptimizationforOSPFrouting[J].IFACPapers
onLine,2016,49(12):461-466.
[13]CARIAM,pacityplanningforfault
tolerantoperationinhybridSDN/OSPFnetworks[EB/OL].
[2020-04-02].https:///abs/1604.05534.
[14]isofroutingspoofingbasedonOSPF
routingprotocol[D].Nanjing:SoutheastUniversity,2014.
(inChinese)
夏云峰.基于OSPF路由协议的路由欺骗分析[D].南京:
东南大学,2014
[15]GUOWeixing,LIUXu,tackdetection
methodbasedonARPcacheovertime[J].Computer
Engineering,2008,34(13):133-135.(inChinese)
郭卫兴,刘旭,吴灏.基于ARP缓存超时的中间人攻击检
测方法[J].计算机工程,2008,34(13):133-135.
[16]KONGZheng,ofingprinciple
and
2010
孔政
,
its
,
36
姜秀柱
(
defense
3):125
scheme[J].ComputerEngineering,
.DNS
-127
欺骗原理及其防御方案
.(inChinese)
[J].计算机
工程,2010,36(3):125-127.
[17]QINZunying,LIGuodong,andimplemen-
tationofOSPFprotocolvulnerabilityanalysisanddetection
system
58
[J].JournalofCommunications,2013,34(S2):
覃遵颖
-63.(
,
in
李国栋
Chinese)
,李卫.OSPF协议脆弱性分析与检测系
统的设计和实现[J].通信学报,2013,34(S2):58-63.
[18]LIPengfei,CHENMing,:a
generaldetectionanddefensemechanismagainstrouting
spoofingattacksonOSPFprotocol[J].Computer
TechnologyandDevelopment,2019,29(10):120-126.
(inChinese)
李鹏飞,陈鸣,钱红燕.ARSAO:一种通用的检测与防
御OSPF路由
[19]
2019
欺骗的机制[J].计算机技术与发展,
NAKIBLY
,29(10)
G,
:120
KIRSHON
-126.
A,GONIKMAND,etal.
PersistentOSPFattacks[EB/OL][.2020-04-02].https://
/.
[20]LIZhaobin,MAOFangyi,WANGYaojun,
applicationofScapyinnetworkequipmentsecuritytest[J].
JournalofBeijingInstituteofElectronicScienceand
Technology,2016,24(4):73-77.(inChinese)
李兆斌,茅方毅,王瑶君,等.Scapy在网络设备安全性测
试中的应用[J].北京电子科技学院学报,2016,24(4):
[21]
73
HAO
-77.
tionofRIProutingbasedon
GNS
2019
3
郝贤
,
[J].ResearchandExplorationinLaboratory,
云
38(
.基
7):
于
124
GNS
-129
3
,
的
166
RIP
.(
路
in
由
Chinese)
协议仿真[J].实验室
研究与探索,2019,38(7):124-129,166.
编辑陆燕菲