APP下载

分段路由确定性安全保护方法

2021-12-14唐寅张进江逸茗马海龙荆文韬张凯

网络安全技术与应用 2021年11期
关键词:报头安全策略报文

◆唐寅 张进 江逸茗 马海龙 荆文韬 张凯

分段路由确定性安全保护方法

◆唐寅1张进1江逸茗2马海龙2荆文韬1张凯1

(1.网络通信与安全紫金山实验室 江苏 211111;2.中国人民解放军战略支援部队信息工程大学 河南 450001)

分段路由基于源路由的特性存在安全漏洞,攻击者掌握分段路由网络的拓扑信息后,可以构造攻击数据报文对网络进行精准攻击。为解决该问题,提出了分段路由确定性安全的转发方法,通过定义分段路由的安全性架构,扩展控制器功能以支持确定性路径的安全策略计算,扩展网络设备功能用于对安全策略的执行。实验结果表明,网络设备转发数据时进行安全策略检查,保证了所转发的数据包都是确定和可信的,解决了分段路由网络基于源路由特性的漏洞,弥补了当前基于分段路由的安全策略方面的缺失。

分段路由;拓扑泄露;分段路由DoS攻击;确定性安全

分段路由技术为云网融合后的网络提供了重要的技术支撑,分段路由将网络转化为以应用和服务为中心的模式,根据应用和服务的需求来定义和驱动网络。云网融合后的网络面临的新的安全风险和挑战,包括由相对封闭的网络演进为相对更开放的网络而带来的传统安全方案失效、攻击面增多的问题;云化的新系统和网元的引入带来的安全防护和运营难度急剧增加的问题;文献[1]描述了安全边界和策略的动态变化而导致安全协同难度增大的问题。

在分段路由多协议标签交换(segment routing MPLS,SR MPLS)网络中,头节点可以指定路径,封装对应的标签栈,指导数据报文的转发。SR MPLS使用标签栈表示路径,如果可以知道标签的含义,就可以知道转发对应的显式路径,参考文献[2-3]。SR MPLS相关信息泄露,攻击者可以利用这些信息,构造多种攻击报文来精确攻击网络中的链路或设备,目标网络中的链路拥塞或设备的高负载而导致无法提供正常的服务或资源访问,使目标网络拥塞甚至服务终止,参考文献[4-5]。

本文首先阐述了分段路由的安全性威胁,通过主动探测的方法获取SR MPLS网络的拓扑和标签信息,并以此为基础进行源路由的攻击;然后阐述了对此类攻击的防御方法,在软件定义网络(Software Defined Network,SDN)的SR MPLS的网络架构下,通过控制器扩展支持安全策略的下发,并定义了转发设备对安全策略的执行流程。通过该安全性架构和网络设备的安全策略提升,防止了在SR MPLS信息泄露的情况下,攻击者使用SR MPLS标签栈构造的精确攻击。

1 分段路由安全性威胁

1.1 分段路由概念

在分段路由概念中,网络路径被分为多个段,作为不同信息的标识符。分段路由将代表转发路径的段序列编码在数据包头部,随数据包传输。接收端收到数据包后,对段序列进行解析,然后进行下一步处理。使用此协议,数据包将基于源路由转发,更灵活且可扩展。分段路由可以直接应用到MPLS体系结构中,复用已有的MPLS转发平面。SR MPLS是一种高效的路由机制,每个段都被编码到一个MPLS标签中。

文献[6]描述了分段路由技术结合SDN可以实现用户对网络开放能力、集中控制能力、可视化能力的诉求。路径计算单元(Path Computation Element,PCE)获取网络中的链路状态,包含拓扑连接、端口带宽及链路负载等,控制器通过维护这些数据就具备了全网的网络状态视图。控制器负责计算隧道的转发路径,并将与路径严格对应的标签栈通过路径计算单元协议(Path Computation Element Protocol,PCEP)下发给转发器,在SR MPLS隧道的入节点上,转发器根据标签栈,即可控制报文在网络中的传输路径。

1.2 拓扑泄露方式

根据分段路由的转发机制原理,结合探测报文中对SR标签值的轮询遍历,可以实现对分段路由网络SR MPLS的拓扑和标签探测。

图1 SR网络中的MPLS标签表

如图1所示,A、B、C设备组成的SR MPLS网络域中,设备A、B、C的节点段标识(Node SID)分别为1、2、3;SR MPLS网络域各设备使用相同的分段路由全局块(Segment Routing Global Block,SRGB)60000;仅考虑Node SID的情况下,设备A和B的MPLS表如图1所示。

图2 探测第一跳的标签

根据SR MPLS域中各设备的MPLS转发表的特点,以及SR MPLS支持多层标签栈转发的原理,设计出分段路由的标签探测方式。如图2所示,探测主机尝试组装发送多个探测报文,MPLS报头的标签值从17开始遍历,IPv4报头中的ID字段和MPLS栈顶标签值相同,当探测报文的MPLS标签值为60002时,探测报文达到被测设备A,设备A查找MPLS转发表,出标签为pop,则剥离MPLS报头并转发给设备B;设备B处理数据报文,TTL减1后变为0,则节点生成回复ICMP TTL超时的消息,IPv4报头携带的ID字段为60002;探测主机接收到ICMP超时报文后,根据IPv4报头中的ID字段60002,可以知道网络中第一跳的节点标签值为60002。

图3 探测第二跳的标签

在探测出第一跳的基础上,继续探测第二跳。如图3所示,探测主机尝试组装发送多个探测报文,组装两层MPLS报头,外层MPLS标签值为探测得到的第一跳MPLS标签值60002,内层MPLS报头的标签值从17开始遍历,IPv4报头中的ID字段和MPLS栈顶标签值相同;探测报文达到被测设备A,设备A查找MPLS转发表,60002对应出标签为pop,则剥离MPLS外层报头并转发给设备B;当探测报文的内层MPLS标签值为60003时,设备B查找MPLS转发表,60003对应出标签为pop,则剥离MPLS报头并转发给设备C;设备C处理数据报文,TTL减1后变为0,则节点生成回复ICMP TTL超时的消息,IPv4报头携带的ID字段为60003;探测主机接收到ICMP超时报文后,根据IPv4报头中的ID字段60003,可以知道网络中第二跳的节点标签值为60003。

攻击者通过对标签值进行遍历来构造大量的探测包,从而将网络中设备的标签值探测出来。最终逐跳探测得到整个SR网络的标签值,并可以模拟出整个网络的拓扑,以此信息为基础构造可以进行进一步的数据报文攻击。邻接标签也可通过该方法进行探测,方法相同。

1.3 基于源路由的攻击

分段路由基于源路由的技术特征实现,将网络路径分成多个段,并为网络节点和链路分配SID;用户或应用通过对SID进行有序排列,就可以得到一条转发路径。在SR MPLS网络域中,入口节点通过在数据包前面封装MPLS标签栈,SR网络域的中间转发节点收到数据包后,根据MPLS标签栈的栈顶标签查找MPLS标签表进行转发,然后进行下一步处理。

攻击者在通过前述方式获取SR网络域的拓扑和标签信息的情况下,可以指定所发送的数据包沿途经过的部分或者全部路由器,攻击者可以利用源路由的这个特点,进行数据包的伪造而造成攻击,攻击方法参考文献[7]。

图4 基于源路由的攻击

攻击场景如图4:

(1)攻击者恶意构造多层标签栈导致环路,占用SR网络的大量带宽。

(2)攻击者构造无效流量,SR网络中间设备由于标签无效而在节点丢弃。

(3)攻击者构造错误的数据包,导致设备回复大量ICMP报文,耗尽设备的资源。

(4)攻击者为中间节点,恶意修改标签栈导致路径改变。

从攻击场景可以看出,通过构造数据报文攻击SR MPLS网络,可以影响SR网络特定链路的带宽,导致特定网络设备负载过高等,从而影响SR MPLS域的网络安全。SR MPLS基于源路由的特性,可以精确攻击到某条链路或某个节点,SR MPLS基于源路由的特性,相比于传统IP网络,攻击更精确,造成的影响较大。

2 分段路由确定性安全方法

2.1 控制器的扩展

SDN控制器的PCE基于边界网关协议的链路状态扩展(Border Gateway Protocol-Link State,BGP-LS)传递的信息,以及业务对网络的约束条件,进行路径计算,并通过PCEP协议将结果下发给SR MPLS网络的源端设备。PCE计算出完整的严格路径的标签栈后,还需要明确标签栈所对应路径的每个节点,以及每个节点上对应的入接口预期的MPLS标签栈。

文献[8]定义了转发器向PCE同步网络拓扑信息的BGP-LS协议规范,其中链路信息包括了表示接口名字的可选属性。类型字段值为1098,上报的内容为转发设备接口的名称。将该属性作为BGP-LS的必选属性,转发器通过BGP-LS上报链路信息时必须携带该属性,PCE接收到该属性后,在了解网络拓扑的基础上,还了解网络中每个节点的接口名字。

PCE计算的SR MPLS路径是单向的,且符合确定性的预期,每个节点上对应的入接口,都有预期的MPLS标签栈。PCE首先计算出SR MPLS的路径,除了为源端节点生成标签栈信息,PCE还为路径中间节点生成MPLS安全策略。

由于SR网络域中的转发路径由SDN控制器集中计算,控制器也通过BGP-LS了解SR网络的拓扑,因此控制器知道每个转发设备确定性的转发路径。控制器PCE计算完路径后,生成路径所经过转发设备的MPLS安全策略,需要将安全策略下发到转发路径上的转发设备。下发的方式可以复用SDN架构下控制器和转发设备之间的接口,如使用网络配置协议(Network Configuration Protocol,NETCONF)方式。下发的安全策略信息内容如图5。

图5 安全策略的内容

安全策略的内容包括两部分,入接口和标签栈信息。其中入接口表示转发设备上接收报文时的接口名称;标签栈信息表示接收到的MPLS数据报文必须包含的标签栈,标签栈从小到大的序列,表示从标签栈顶位置开始的顺序。该安全策略所表示的语义为:转发设备从该接口接收的MPLS数据包,MPLS标签栈中从栈顶开始的N个标签值,必须与安全策略中标签栈信息中序列1到序列N的标签值相等,这样才能保证转发的MPLS数据包的确定性安全。

2.2 转发设备安全策略的执行

SR网络域中的转发设备通过NETCONF通道接收到控制器下发的MPLS安全策略后,生成MPLS安全策略表项。设备上可能存在多个安全策略条目,且同一入接口可能会存在允许多种标签栈组合的情况,因此安全策略表项建立以入接口名字为索引的安全策略表,每个入接口都有对应MPLS标签栈的安全策略内容。

图6 SR MPLS承载不同业务的标签栈

如图6,SR MPLS可以承载不同的业务,而业务往往通过MPLS标签标识特定的业务类型或转发行为。因此MPLS标签栈中的相对外层是SR MPLS的标签;相对内层是表示业务的标签,不同业务类型使用的内层标签数量也不一样。SDN控制器的PCE算路只能计算得到表示SR转发路径的SR MPLS的标签,因此SR MPLS的安全策略,仅用于保证SR MPLS标签的安全可信。

转发设备用标签数量和标签值的数组表示安全策略内容,MPLS数据转发时,会提取完整的从栈顶到栈底的MPLS标签栈信息,其中包括了SR MPLS标签和业务标签,在SR MPLS安全策略表中进行查找匹配;由于标签数量和标签栈信息可能会多于安全策略的标签内容,在匹配安全策略时,需要用到最长匹配的规则,最长匹配通过时,则认为数据包是安全可信的。

SR MPLS数据转发整体实现流程如图7。当转发设备从某个接口接收数据包时,首先解封装二层报文头信息,根据类型字段判断报文是否为MPLS数据包;当确定是MPLS数据包,且开启了MPLS安全检查的情况下,从数据包中提取完整的MPLS标签栈信息,并在MPLS安全策略表中进行最长匹配查找,查找成功时认为匹配策略通过;匹配策略通过后,再按照MPLS转发流程进行转发,否则将数据包丢弃。

图7 转发设备MPLS安全策略执行

3 实验结果

3.1 拓扑探测发现

图8 拓扑探测实验组网

实验组网在EVE-NG仿真虚拟环境上运行。如图8,节点A、B、C、D在Segment Routing MPLS网络域中,其中节点A、B、C、D控制面使用了FRRouting路由系统平台软件,数据面使用了VPP开源软件,并基于SR和MPLS安全策略功能进行了功能开发。 SR域内运行OSPF协议并使能Segment Routing能力,节点A、B、C、D的Node SID值分别为111、222、333、444,并且使用相同的SRGB起始值16000。

探测主机直连A节点,主机的操作系统为Windows并且安装XCAP软件,本实验要通过主机来探测发现A节点所在的SR MPLS网络的拓扑和标签信息。如图9所示,通过XCAP添加MPLS报头携带的标签并设置每次增加1进行遍历;设置IPv4报头的ID并设置每次增加1进行遍历,设置TTL为1,用于探测第一跳的标签信息;并构造数据包的ICMP报头,类型为Echo Request;此后主机开启接口并发送构造的数据报文。

图9 XCAP发送探测第一跳报文格式

开启抓包工具,对接收的报文进行分析筛选,发现收到两个ICMP的超时消息,由于探测报文中将ID字段的值设置为和SR标签值相同,此时ID字段的值与SR标签值同步遍历,通过查看IPv4报头的ID字段,可以定位到对应的SR标签值。根据收到的两个ICMP超时消息中IPv4报头的ID字段,可以判断出主机连接的A节点,存在两个下一跳节点,对应于图中的B和D节点。

在探测到第一跳的基础上,继续进行第二跳的探测。如图10,MPLS报头的外层标签填入的是探测到的第一跳的MPLS标签16222,内层标签设置为每次增加1进行遍历;同时修改IPv4报头的ID字段值,使其与内层标签的值同步;由于探测第二跳的标签,还需要将IPv4报头的TTL值设置为2。

图10 XCAP发送探测第二跳报文格式

同样的,使用抓包工具从接收的报文分析筛选出ICMP超时消息,根据IPv4报头中的ID字段值得到第二跳的标签值。以此类推,可以继续进行多跳的网络节点的探测,根据逐跳的探测结果,得到SR MPLS网络的拓扑画像,攻击者最终可以了解SR MPLS网络的拓扑,以及拓扑中表示网络节点的MPLS标签信息。

3.2 攻击过程

使用探测得到的SR MPLS网络的拓扑和节点的MPLS标签信息,攻击者可以构造无效流量对SR网络进行攻击,造成网络带宽被占用。本实验构造无效流量,攻击流量在此网络拓扑中形成环路。如图11所示,构造的MPLS报头中的标签值,在对应图8中的攻击流量路径为A-B-C-D-A。在构造MPLS报头以及IPv4报头后,还可以进一步构造大量上层应用的数据,大量发送攻击报文后,SR MPLS域中的带宽资源被大量占用。在SR MPLS网络中的各节点的接口抓包,确定存在此攻击流量。

图11 XCAP构造攻击报文

3.3 确定性安全

图12 确定性安全实验组网

在图8的SR MPLS网络拓扑的基础上,增加SDN控制器以使能路径集中计算能力。如图12所示,SDN控制器基于ODL实现确定性安全策略的功能,控制器与SR MPLS网络中的节点A、B、C、D都建立NETCONF通道;节点D作为SR MPLS的入口,与控制器建立BGP-LS和PCEP连接;节点C作为SR MPLS的出口。通过ODL静态指定转发路径为D-A-B-C,对应的MPLS标签序列为(16111,16222,16333);在转发的D-A-B-C路径上,节点逐跳弹出标签进行转发。

控制器对D-A-B-C的路径有全局的视角,知道路径上每个节点的入接口预期接收的MPLS标签栈信息,对于节点A来说,eth1接口预期接收的MPLS报文的标签序列为(16222,16333),对于节点B来说,eth1接口预期接收的MPLS报文的标签序列为(16333),控制器通过NETCONF向节点A和B下发MPLS安全策略,节点接收安全策略并在本地保存。节点A和节点B上保存的安全策略如图13所示。

图13 节点接收的安全策略内容

节点B开启安全策略功能并保存安全策略,在接收报文时会进行安全策略检查。图11所示的攻击报文,节点B从接口eth1接收的攻击报文的标签序列为(16333,16444,16111),而本地保存的安全策略中的标签序列为(16333),因此在SR MPLS安全策略表中进行最长匹配查找失败,报文被丢弃,图11所示的攻击报文在节点B被丢弃终结,防止了此攻击报文对SR网络资源的大量占用。

4 结论

本文研究分析了基于SR MPLS的基于源路由的威胁漏洞,通过主动探测的方法获取SR MPLS网络的拓扑和标签信息,并以此为基础进行拓扑还原和构造攻击报文;最后对此类攻击阐述了防御的方法,基于SDN的SR MPLS的安全性架构,定义了MPLS安全策略包含的内容,并对网络设备扩展MPLS安全策略的检测功能。本文解决了当前基于SR MPLS安全策略方面的缺失,为SR MPLS的确定性路径提供了安全性保证,SR MPLS网络中节点执行安全转发策略,保证了所转发的MPLS数据包都是确定和可信的,提升了使用SR MPLS功能的完整性。

[1]张鉴,唐洪玉,刘文韬,等.面向云网融合的电信网安全防护体系参考架构[J].电信科学,2020(5):10-15.

[2]付易鹏.5G承载网分段路由技术研究[J].数字通信世界,2020(3):17-18.

[3]Pier Luigi Ventre,Stefano Salsano,Marco Polverini,Antonio Cianfrani,Ahmed Abdelsalam,Clarence Filsfifils,Pablo Camarillo,Francois Clad.Segment Routing:A Comprehensive Survey of Research Activities,Standardization Efforts,and Implementation Results[R].IEEE COMMUNICATIONS SURVEYS & TUTORIALS,VOL. 23,NO. 1,FIRST QUARTER 2021.

[4]M.Behringer.RFC 4381-Analysisof the Security of BGP/MPLS IP Virtual Private Networks (VPNs)[S] .February 2006.

[5]L. Fang,Ed.RFC 5920 - Security Framework for MPLS and GMPLS Networks[S].July 2010.

[6]何晓明.分段路由网络研究及其在流量工程中的应用[J].电信科学,2016(6):186-194.

[7]张娜娜,朱坤,朱丹丹.DoS攻击及其防范对策研究[J].互联网天地,2016(12):103-105.

[8]J.Medved,S.Previdi,A.Farrel,S.Ray.RFC7752-North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP[S].March 2016.

猜你喜欢

报头安全策略报文
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
基于飞行疲劳角度探究民航飞行员飞行安全策略
城市党报报头:政治与艺术的平衡
浅析反驳类报文要点
报业文化中的一道独特风景
一种防火墙安全策略冲突检测方法*
浅析涉密信息系统安全策略
ATS与列车通信报文分析
淡妆浓抹总相宜
——对中国晚报报头变化的研究与欣赏