面向针对性攻击的SDVN 控制层鲁棒性方案*
2022-03-07毛明,伊鹏,张震,马云
毛 明 ,伊 鹏 ,张 震 ,马 云
(1.解放军战略支援部队信息工程大学,河南 郑州 450001;2.68002 部队,甘肃 兰州 730000)
0 引言
随着车联网的蓬勃发展,车载自组织网络(Vehicular Ad-hoc Network,VANET)受到工业界和学术界的极大关注。VANET 中异构无线技术灵活性、可编程性、共存性的特点,以及5G 架构中的资源管理等可利用SDN(Software-Defined Networking)的方式来实现[1]。
软件定义车联网(Software-Defined Vehicular Networking,SDVN)结构组成与SDN 相似。其中控制平面由管理和控制整个网络的SDN 控制器组成,数据平面由各种交换设备组成,在节点间实现数据转发。数据平面又分为上层数据平面和下层数据平面。上层数据平面包括支持OpenFlow 协议的交换机和路由器,以及无线接入设施,如路边单元、基站等;下层数据平面由车辆终端用户配备的车载单元组成。与SDN 类似,尽管分布式控制平面[2]已成为SDVN 架构的主流设计,将控制功能集中于控制层仍然存在遭受恶意攻击的风险。
以软件定义方式解决车联网安全问题有效且富有挑战性,其不仅要解决传统VANET 的安全问题[3-4],同时也要解决上层数据平面以上的安全问题。
目前的研究主要针对SDN 控制平面的可靠性展开。将控制器部署问题转换为设施放置问题,被证明是一个NP 难问题[5]。研究集中在如何在网络中选择最佳的位置来放置K 个控制器,以实现优化目标功能最大化,例如控制器间的延迟、交换机-控制器的延迟、链路负载、控制器负载和弹性等[6-7]。也有研究从最小化控制器数量和平均延迟的组合方面来着手[8]。
本文首先将SDVN 的控制平面抗恶意节点攻击问题归结为整形线性规划(Integer Linear Program,ILP)问题,即针对控制层与SDVN 上层数据平面的交互与传统SDN 数据平面的一致性,将该问题建模为SDN 控制层的鲁棒性部署问题,并在综合考虑时延、路径连通度的基础上设计控制器放置方案。其次,提出一种控制层鲁棒性度量标准,并运用该度量标准衡量控制器放置方案对恶意节点攻击的有效性。
1 控制器放置方案建模
本研究的目标在于识别物理网络的关键部分,如何在控制层遭受节点攻击状态下,找到满足约束条件的最佳控制器位置,使得连接到控制器节点的交换机数量最大化,以提高控制平面应对针对性攻击的鲁棒性。
1.1 输入
dij表示节点间的时延距离,lcc表示控制器与控制器间可接受的最大延迟,lsc表示交换机与控制器间可接受的最大延迟,C={C1,C2,…}表示放置控制器的节点集合,c 表示控制器数,R 表示节点集合,E 表示路径集合。为非负整数变量,表示从交换机s 出发,经过(i,j)到达所有控制器的路径数目;V(i)为节点i 的邻接节点集合。
1.2 输出
xi,j∈{0,1}表示如果交换机j 指向控制器i,则为1,否则为0;yi∈{0,1}表示如果节点i 放置了控制器,则为1,否则为0;tii'∈{0,1}表示如果yi=yi'=1,则为1,否则为0;αij表示节点i 与j 之间的不相交路径平均数。
1.3 约束条件及放置目标
该整型线性规划的约束条件分为常规性约束条件和鲁棒性约束条件。常规性约束条件确保放置节点满足基本放置条件,鲁棒性约束确保在c-1 个控制器失联的情况下,交换机仍然有路径到达唯一幸存控制器。
常规性约束条件:
式(1)确保每个交换机在可接受时延范围内都能被控制器覆盖;式(2)、式(3)确保每个交换机都只有一个控制器管理;式(4)为控制器间时延约束;式(5)~式(7)为控制器放置约束条件;式(8)定义二进制变量。
鲁棒性约束条件:
在yi=1 的情况下,式(11)确保所有来自交换机s 的路径都不穿越控制器节点;式(9)~式(11)确保最多只有一条路径到达节点i;式(12)确保到达节点i 的路径至少为一条;式(13)确保没有路径穿越节点s 自身;式(14)定义节点变量域值。
放置目标函数如下:
其中,αij是控制器i 与其相邻交换机节点i 之间的不相交路径平均数目,本研究的目标是确保任何状态下交换机与控制器的映射数量,在控制器数目确定的情况下,应使放置目标函数最大化。
2 鲁棒的控制器部署
鲁棒的控制器部署不仅包含寻找最优控制器位置,还应根据网络流的高度动态变化实现控制器的负载均衡。因此,提出控制器域内交换机动态调整策略和鲁棒的控制器放置算法来实现鲁棒的控制器部署。
2.1 控制器域内交换机动态调整
控制器中包含流量监控模块实现流请求信息统计。由于网络中流的高度动态变化性,交换机与控制器之间的映射关系也应根据流动态变化,以确保控制器不过载。本文提出一种二次规划来选取迁移交换机和目标控制器。交换机选取应满足以下约束:
(1)选取的目标控制器容量能够容纳迁移交换机负载;
(2)应使最小数量的交换机迁移到目标控制器;
(3)迁移掉的交换机能够最大程度减少过载控制器负载。
输入:用O 表示过载控制器集合;CAPmax表示控制器最大可用容量;δupper表示控制器的负载上限比例;δlower表示为避免过载,需考虑的控制器容量百分比;REQij表示控制器i 收到的交换机j 的流请求数;输出:CON 表示目标控制器矩阵(1×(C-1)),若coni=1,则i 为目标控制器;SW 为交换机候选矩阵(1×(R-C)),若swj=1,则该交换机将被迁移。
首先定义约束条件如下:
目标函数(22)以寻求最大负载的交换机为目标,同时考虑时延约束(19),因此能够使用最小数量的交换机完成迁移;式(17)和式(21)确保必有一个交换机在过载控制器域被迁移;式(18)确保目标控制器增加迁移交换机负载后的总负载满足最大可容忍负载。
本文提出算法1,以最小数量交换机的迁移校正控制器的负载,实现网络拓扑的稳定性。二次规划的求解使用CPLEX[9]来实现。
算法1交换机重定向算法
2.2 控制器放置算法
该算法包含3 个步骤:(1)由于控制器数是给定的,利用ILP 求解器CPLEX 求出符合条件的控制器集合C;(2)由于本文的重点在于研究控制层鲁棒性,为实现控制器域的快速划分,划分工作使用完全搜索算法[10]来实现;(3)若域内控制器负载超出设定域值,则通过交换机重定向来实现负载调整。下面给出鲁棒的控制器放置(Robust Controller Placement,RCP)实现算法。
算法2鲁棒的控制器放置算法(RCP)
输入:控制器拓扑G(V,E),控制器数c,交换机节点集合S,节点间延迟dij,控制器负载δ;
3 性能评估
由于本文的目标是在攻击状态时,尽可能确保每个交换机都有到达幸存控制器的路径,因此使用网络中所有节点对的平均对端可达性(Average Terminal Reachability,ATR)作为衡量控制层鲁棒性的指标。该指标物理含义为网络中相互连通的节点对所占比例。设M为网络被分割的区域数,mi为被分割区域内的节点数,N 为网络节点总数,则ATR 公式表达如下:
当网络节点完全连通时,该取值为1;否则,对各分割区域的节点对数求和,并除以节点对总数。当节点设备被移除数目增加时,该取值将逐渐趋近于0。
3.1 鲁棒性分析
文献[11]指出,通过网络拓扑结构可以确定哪些针对性攻击将产生最大的破坏。因此,本文采取移除中心性度量值最大的节点的方法来模拟攻击。本文使用3 种攻击度量[12],分别称为度中心性(Degree Centrality Attack,DCA)、紧密中心性(Closeness Centrality Attack,CCA)和介数中心性攻击(Betweenness Centrality Attack,BCA)。其中,度中心性攻击的目标是具有最多邻居节点数的节点;紧密中心性攻击的目标是基于最短路径的最接近其他节点的节点;介数中心性攻击的目标是出现在其他节点之间最短路径数最多的节点。
Heller 等人指出单控制器已能够应对中等规模网络的正常运转[5],为确保CPLEX 求解时间可接受,参考文献[13]的结论,将控制器数c 设为5 个。为方便对比,使用Heller 的k-median 与k-center 方案与鲁棒性放置方案作对比,其中控制器容量上限δupper设为0.9,δlower设为0.7。使用两种网络拓扑来验证提出的鲁棒性方案,其中拓扑janos-us-ca 拥有39 个节点、122 条链路,平均节点度为6.26;拓扑sprint 拥有97 个节点、379 条链路,平均节点度为5.42。针对3 种不同的攻击方式,随移除节点数目变化,计算网络ATR 值。
首先对比在janos-us-ca 中ATR 值的变化,如图1所示。移除节点为10 时,当实施DCA 时,RCP 的ATR 值分别比k-median 和k-center 高22%和31%;当实施CCA时,RCP 的ATR 值分别比k-median 和k-center 高28%和36%;当实施BCA 时,RCP 的ATR 值分别比k-median和k-center 高28%和34%。当移除节点达到15 及以上时,ATR 值趋近于0。
图1 janos-us-ca 中的ATR 值变化
其次分析在sprint 中ATR 值的变化,如图2 所示。实施DCA 时,当移除节点为20 时,RCP 的ATR 值分别比k-median 和k-center 高6%和11%;当实施CCA 时,RCP的ATR 值分别比k-median 和k-center 高7%和8%;当实施BCA 时,RCP 的ATR 值分别比k-median 和k-center高4%和9%。当移除节点数达到30 及以上时,ATR 值趋近于0。
图2 sprint 中的ATR 值变化
如果用数据曲线的覆盖面积大小衡量控制层鲁棒性高低,可以得到相同的结论,即RCP 的鲁棒性要优于k-median 和k-center。
3.2 时延分析
本文定义攻击状态下的时延Dsc为:活跃交换机到控制器的平均最短路径长度与拓扑图直径的比值。记移除节点数为n,分别计算janos-us-ca 中n 取值为3、6、9时,sprint 中n 取值为5、10、15 时,两种网络拓扑的时延。实验结果如图3 所示。
图3 两种网络拓扑时延
通过对比能够发现,各放置方法在相同攻击条件下的时延特性是一致的。其中K-median 方法的时延最低,这是由于该方法以最小化平均最短路径为目标。相比其他两种方法,鲁棒性放置方法时延较高。这是由于尽管鲁棒性放置方法优化目标针对提高控制平面鲁棒性,但其也考虑了时延约束,由此带来的延迟损失在可容忍范围内。
4 结论
本文针对软件定义车联网中控制平面可能遭受的恶意节点攻击问题,提出了一种鲁棒的控制器部署方案并建模,通过约束规则确保控制平面的鲁棒性,同时使用CPLEX 工具求解,简化了算法复杂度。实验结果表明,与考虑可靠性指标的部署方法相比,该方案在应对3 种攻击时提升控制平面鲁棒性方面优于k-median 和k-center。