刘子健 刘楚涵 张宏斌 田晓娜
收稿日期:2023-09-02
DOI:10.19850/j.cnki.2096-4706.2024.06.006
摘 要:目前网络威胁严峻,网络靶场作为网络风险评估、攻防对抗演练等场景下的安全技术验证手段备受瞩目。合理使用网络靶场内计算资源的开销,高效地完成目标网络构建是当前亟须解决的问题。文章提出了一种大规模、多粒度节点融合的动态网络构建方法,一方面通过多粒度节点协同工作的方式使用靶场内资源,扩大了网络规模;另一方面通过改进E-CCD算法,优化节点间链路添加的时间复杂度,降低网络构建时间。经验证,构建10万级节点规模的大规模网络可在235分钟内完成,可面向目前主流的分布式异构靶场。
关键词:网络靶场;大规模;多粒度;动态构建
中图分类号:TP393 文献标识码:A 文章编号:2096-4706(2024)06-0024-06
Research on Efficient Construction Method of Large-scale Network Multi-granularity Nodes for Distributed Cyber Range
LIU Zijian, LIU Chuhan, ZHANG Hongbin, TIAN Xiaona
(National Computer System Engineering Research Institute of China, Beijing 100083, China)
Abstract: The increasing severity of cyber security threats has led to a growing interest in the use of network cyber range as a means of assessing risks, conducting defensive exercises in complex scenarios. A pressing issue is how to reasonably utilize the computational resources within network cyber range to efficiently construct target networks. This paper proposes a large-scale, multi-granularity node fusion method for dynamically building networks, which leverages the computational resources by coordinating the work of multiple granularity nodes and expand the network scale. Furthermore, the method improves the E-CCD algorithm to optimize the time complexity of the inter-node link addition, thus reducing time in network construction. Results have shown that the construction of large-scale networks with a node scale of 100 000 can be completed within 235 minutes, making it applicable to mainstream distributed and heterogeneous cyber range.
Keywords: network cyber range; large-scale; multi-granularity; dynamic construction
0 引 言
隨着互联网行业的迅速发展,已由传统单一的网络环境发展到泛在的网络环境,网络靶场作为网络安全技术研究、网络安全应急演练、网络安全人员培训等网络安全服务的基础环境,被世界各国极为重视,目前,以美国为首的国家均将网络靶场建设作为支撑网络安全技术验证、网络武器研制实验和风险评估分析的重要场所[1]。因此,发挥网络靶场的优势在维护我国网络主权、加快我国向网络强国迈进的步伐和在未来网络战中占据有利地位等方面具有重要的意义[2]。
在网络靶场中大规模网络构建技术具有核心的地位,尤其针对主流的异域、异构的分布式靶场下的虚实互联网络构建技术与国外差距较大,如何高效地实现大规模网络拓扑灵活部署、合理地使用资源开销是大规模网络构建中需要解决的两个问题[3]。
本文基于云计算技术和行业专用仿真系统搭建了分布式异构靶场,完成了物理机、裸金属、全虚拟化、轻量级虚拟化、协议栈五种粒度节点协同工作的模拟网络环境构建和特定业务场景仿真。进而在资源开销、仿真效果和部署规模上达到平衡,并通过本文提出的E-CCD优化算法缩减了网络构建时间。
1 分布式异构靶场多粒度节点融合网络构建方法
在网络空间靶场有限的资源中,考虑网络规模的同时,还需关注资源的开销,采用多粒度节点融合的方法恰恰能够实现不同级别的网络节点部署,提高计算资源利用率,进而扩大网络规模。该方法结合了网络模拟、虚拟仿真、容器仿真、虚实互联等技术,对大规模网络拓扑进行统一编排和抽象描述,满足真实性与成本平衡的综合业务仿真场景。分布式异构靶场多节点融合网络构建的总体架构如图1所示。
1.1 分布式异构靶场多粒度虚拟化技术理论研究
由于多粒度节点所对应的部署需求和底层的虚拟化仿真应用程序实现均不同,需要对多粒度节点网络进行统一化的编排管理,隐藏底层虚拟化仿真应用程序的实现,以虚拟网络拓扑文件的形式描述部署。各类粒度虚拟化技术如下所述。
全虚拟化是一种计算机实体资源的虚拟化技术,全虚拟化节点是多粒度靶场中最重要的一类节点。该技术允许模拟真实完整的操作系统和实体资源,该技术虚拟出的网络节点互相之间高度隔离、各自具备完整软件、硬件结构,可完整地模拟现实网络中真实的节点。
轻量级虚拟化是相较于传统全虚拟化技术而区别的,轻量级虚拟化技术提供的是用户空间层次的隔离性,而在内核、其他部分资源上与宿主机和其他轻量级虚拟化节点共享,适用于不需要高度模拟物理环境、但需要大量、快速部署网络节点的靶场需求[4]。
离散仿真是由离散事件模拟器进行的协议栈网络构建技术,在大规模目标网络构建时,并非所有节点都在网络中发挥关键作用。在实现低资源开销,高网络构建效率时,可将虚拟网络的边缘部分使用安装有离散事件模拟器的全虚拟化节点完成。
裸金属融合了物理节点和虚拟节点各自的优势,以裸金属实例为载体,直接使用物理服务器稳定的计算能力,以及云平台内存儲、网络等资源。突破云资源与物理资源的边界,保障核心应用的高性能和稳定性的同时,又结合云平台中资源的弹性优势,该类节点用于强算力的使用场景。
1.2 分布式异构靶场多粒度融合技术实现方法
多粒度融合的网络节点包含物理主机、裸金属、虚拟机、容器、协议栈五类节点,通过应用上述不同层次的虚拟化技术,以最少的资源开销、最快的构建速度满足实际业务需求的大规模目标网络场景。行业专用靶场系统与总靶场异域、异构互联,形成多粒度节点融合的分布式异构靶场。下面从全虚拟化、轻量级虚拟化、离散模拟、裸金属和实体终端虚实互联具体实现的角度出发,论述面向多粒度节点分布式异构靶场实现方式。
1.2.1 全虚拟化粒度节点
全虚拟化节点采用KVM虚拟化技术实现,网络虚拟化技术通过OVS实现交换机节点的构建,二者结合来构建高性能、高可靠的云主机实例和虚拟网络设备,模拟出极为真实的网络和主机环境。
1.2.2 轻量级虚拟化粒度节点
轻量级虚拟化节点采用Docker轻量虚拟化技术,按照用户需求灵活构建目标网络环境以及其上的应用业务。在部署一个较复杂的业务时,采用了OVS的解决方案,使各个服务器上的Docker容器通过自身的虚拟网卡连接到OVS上后再接入网络[5]。
1.2.3 离散仿真粒度节点
离散仿真节点采用NS3协议栈模拟技术实现,虚拟网络环境中对于网络协议有高逼真度要求的部分,完整模拟环境中的节点行为,模拟应用构建、进程调度、网络监控等功能,并采用了基于原始套接字的协议栈节点流量仿真接入技术和协议栈节点按需动态追踪技术。
1.2.4 裸金属粒度节点
裸金属节点采用OpenStack体系结构中的Ironic组件实现,该组件可以直接对物理机执行节点管理,进行物理机节点的添加、删除,进行电源管理,部署系统等操作。用户通过Nova API和Nova Scheduler来启动一个裸金属实例,之后请求会通过Ironic API,连接到Ironic Conductor服务,再到对应的Driver,最后完成实例部署,为用户提供成功部署的物理机服务。
1.2.5 实体终端接入
实体机的接入依靠Vxlan隧道,打通SDN交换机与云平台各个计算节点OVS中 br-tun隧道网桥之间的链路,通过控制器对交换机进行全权掌握。vxlan隧道的构造首先分别在云平台内各个OVS虚拟交换机的隧道网桥和实体SDN上都添加相应的vtep_port端口对,这些端口对实现了实体交换机和虚拟网桥的连通,进而实现云平台中虚拟实例与实体终端的链路连通,之后在每个br-tun 隧道网桥中添加守护进程,将新增加的vtep_port信息添加进入其中的各级流表中[6]。虚实互联的物理架构图如图2所示。
图2 实体机接入物理结构
2 大规模多粒度节点融合网络高效构建方法
在各粒度节点均融入靶场环境之后,需要改进云计算环境下复杂网络灵活构建的关键算法。通过对基础设施网络节点和链路资源进行虚拟化,虚拟网络构建技术可动态、灵活创建网络拓扑,也可以动态分配带宽,为用户提供更高质的通信服务,满足未来网络的扩充改造。目前,在靶场网络拓扑扩建添加的过程中,要尽可能规避源节点到目的节点之间存在多跳而产生的网络时延,将虚拟网络的拓扑结构转化为小世界网络结构[7],降低虚拟网络的平均路径长度(APL),提高网络的平均聚类参数(ACC)。在其他网络模块的共同作用下,构建一个拓扑的基本方法架构如图3所示。
图3 拓扑生成方法架构
2.1 虚拟网络链路构建理论研究
主流基于虚拟网络拓扑构建和动态带宽分配的OpenStack多节点的大规模链路添加算法包括以下几种。
基于最大度数差链路添加算法(MaxDgd)是小世界模型的启发式算法,它通过遍历网络图中所有边来计算图中每个顶点的度数,排序选择度数最大的顶点与度数最小的顶点,在最大度差异的节点对之间来添加新链路,在一个边数为M的网络中添加一条新链路的时间复杂度为O(M)。该算法不考虑节点在当前网络位置关系,因此添加的新路径与原靶场拓扑的关系不大。与此相似的基于最大点度中心参数差的链路添加算法(MaxDCD),遍历N个节点网络中的所有节点而不是边,选择网络中最大度数数差的节点对来添加新链路构建小世界网络,该算法的时间复杂度为O(N2logN)。
基于最大介数中心参数差的链路添加算法(MaxBCD)也是通过遍历网络拓扑图中的所有节点来添加新的链路,选择最大介数中心参数差的节点对连接构成新的虚拟拓扑,时间复杂度为O(N2logN)。中介中心性的计算思想认为,网络中两个非相邻成员之间的相互作用依赖于其他成员,特别是两成员之间路径上的节点,对二者的相互作用具有控制和制约作用,因此当一个成员位于其他成员的多条最短路径上,那么该成员就是核心成员,就具有较大的中介中心性。一个特定节点的中介中心度值由通过该节点的所有最短路径数和拓扑中存在的所有最短路径数量比值所决定。
基于中心聚集系数差高效链路添加算法(E-CCD)不仅能够利用节点的连接数网络局部特征,还考虑其在整个结构中所处的位置。对于到图中其他节点的最短距离都很小,即接近中心性很高的用户来说,它更可能处于网络的核心位置,新链路的添加有更大概率与其相关。一个节点的接近中心性由拓扑中节点的数量与所有节点到该点最短路径距离和的比值计算得到:
(1)
其中N-1是为了使网络拓扑中所有节点的CC值保持均一化值。对于计算得到的所有节点CC值,选取其中最大与最小的点形成新的链路,随后更新所有的最短路径距离,以用于下一次链路添加时CC值的计算。
可见E-CCD算法能够在生成拓扑链路的时候很好地考虑到各个用户的参与重要程度与位置影响的作用,使得增改后的靶场结构最短路径和保持一个尽量小的状态,用于各节点间的快速通信。但该算法仍明显地存在着两个问题,一是每添加一条新链路后对所有节点的最短路径进行数值上的计算更新,在数量庞大的超大规模仿真靶场网络中,时间的资源消耗会非常大,因此应在算法的过程中求出最短距离情况和聚集系数受到相对影响的部分节点组,仅更新计算符合条件节点的d值的;二是由不同粒度节点搭建的不同网络之间,用户的级别不同造成双方直接的通信资源消耗大,更加漫长,需要考虑到拟连接二者间的直线距离,减少或避免跨级别网络间的链路生成[8-10]。
2.2 基于大规模多粒度靶场网络环境改进的E-CCD链路添加算法
网络拓扑即为抽象的一张复杂图,节点之间通过边相互连通,其中通信网络拓扑结构较为复杂,网络冗余高,网络端到端传输距离较大,网络平均路径长度导致平均网络时延很高。虚拟的通信网络靶场视为一个无权重无向图G = {V,E},其中V = {V1,V2,…Vn}表示G中的节点集合,网络的连接矩阵A(i,j) = 1代表图G中节点i和j有连接关系,i、j之间的最短距离d(i,j)构成了网络的最短距离矩阵D(i,j)。
算法执行开始时,对每个节点计算其中心聚集系数CC(vi),从中选取数值最大的节点作为链路连接的选择,为了防止跨量级网络节点间通信代价过大的问题,以选中的用户为基准,通过各个节点的CC值与基准间最短距离d的比值计算其他所有节点与最重要基准核心的匹配程度MD,与选中的基准节点匹配程度最高的节点则为链路生成的另一端点。在一条链路添加完毕后,为了更新最短距离矩阵的时间过长,通过不稳定节点对形成定理降低计算的复杂度,根据其他节点到添加新链路两端点最短距离变化与否,划分为稳定节点s与不稳定节点u,通过更新两组节点间的最短距离即可完成整个拓扑D的更新。最短距离d的更新,具体来说是通过计算U与S中每对节点的最新最短距离,当计算的结果小于原本D中的数值时对其进行替代。改进后算法的具體流程图如图4所示。
图4 优化的大规模多粒度靶场网络环境E-CCD链路添加算法流程
由此生成的新虚拟网络拓扑可以在满足任意两节点通信距离最短、时间最短的情况下,减少了跨级别网络间用户的直接相连造成的通信资源消耗增加,同时还使得原本E-CCD算法更新最短距离矩阵的时间减少,拓扑生成的执行速度增加。在大规模、构成类型复杂的模拟通信靶场实验环境中,优化改进的算法节约了大量构建成本,应用于新技术验证和网络安全人才培养的靶场中去。
3 实验结果与分析
基于OpenStack标准部署方案搭建的并发本地仿真实验网络,采用1台H3C S5130千兆交换机实现云平台管理网搭建,选用39台浪潮NF5270M5计算服务器,其中控制节点、网络节点、存储节点、裸金属各使用1台、全虚拟化计算节点使用10台,轻量级虚拟化节点使用20台,协议栈计算节点使用5台,并采用2台H3C S6812万兆交换机实现业务网和测量网搭建。十万规模规模级网络中含CentOS 7.5操作系统的KVM虚拟机实例2 000台、Dokcer容器实例30 000台,2.36版本的NS3协议栈模拟70 000节点规模网络,其中每个容器、协议栈主机内均可实现万级以上用户节点的创建。大规模异构靶场网络拓扑如图5所示。
异构网络间数据报文能够做到无缝互通,各级别网络通过路由器直接互相访问。节点互访情况如图6所示。
图6 节点互通访问
针对扩展靶场网络的优化算法验证,通过:
EccdAlgorithm eccdAlgorithm = new NewECCD(File jsonFile, String[] netNode, String[] nodeType, String[] clusterName, int[] nodeCount);
Boolean isSuccess = eccdAlgorithm.build();
对使用传统的E-CCD与针对复杂级别实验靶场改进的E-CCD拓扑生成算法的时间成本进行分析。
从表1中可以直观地看出,在组成节点类型多样、整体拓扑规模巨大的情况下,改进后的拓扑生成算法总体上更能减少时间的消耗。生成的拓扑规模越大,该算法优化的效果越好,大大减少了虚拟靶场环境下的实验成本。
表1 E-CCD与优化E-CCD搭建靶场时间对比
节点数量/算法 E-CCD 优化E-CCD
1 000 15 min 21 s 12 min 32 s
10 000 60 min 32 s 54 min 58 s
100 000 4 h 20 min 18 s 3 h 54 min 22 s
4 结 论
本文通过多粒度节点融合和优化的E-CCD拓扑生成算法高效完成大规模网络构建,实验表明,五种粒度节点组成的十万规模的协同靶场内互联互通,封装成API的拓扑生成算法能够灵活构建新型网络,构建的时间成本比传统的E-CCD算法缩短了10%以上,在靶场环境模拟中能够节约更多的时间开销。因此本文提出的新方法在未来网络安全行业中有重要的应用价值。
参考文献:
[1] 蓝炫勉,陈刚,李周,等.基于虚拟化技术的智能制造网络安全靶场设计 [J].自动化博览,2023,40(7):34-37.
[2] 莫媛淇,史媛,陈智慧.网络攻防靶场实战核心平台应用研究 [J].电子元器件与信息技术,2023,7(5):200-203+207.
[3] 毕晓东.网络安全虚拟仿真靶场设计与实现 [J].计算机时代,2022(10):29-32.
[4] 梁建辉,侯昱辉,刘润福,等.基于Docker的网络安全靶场设计与实现 [J].铁路计算机应用,2022,31(11):67-70.
[5] 崔轲,燕玮,刘子健,等.基于OpenStack云平台的Docker容器安全监测方法研究 [J].信息技术与网络安全,2022,41(4):65-70.
[6] 颜诗祺.面向靶场的高逼真大规模目标网络构建关键技术研究 [D].广州:广州大学,2023.
[7] 柴瑶琳.虚拟网络构建方法研究 [D].北京:北京邮电大学,2018.
[8] 李蔚恒.云边架构中大规模目标网络构建关键技术研究 [D].哈尔滨:哈尔滨工业大学,2020.
[9] 李剑锋,刘渊,王晓锋,等.基于多粒度虚拟化的虚实融合网络仿真 [J].传感器与微系统,2018,37(6):43-47.
[10] 陈琪.传送网拓扑构建与规划系统优化研究 [D].北京:北京邮电大学,2019.
作者简介:刘子健(1991—),男,本科,工程师,主要研究方向:网络安全、云计算、大数据;刘楚涵(1998—),女,博士在读,主要研究方向:网络安全、用户行为模擬;张宏斌(1988—),男,高级工程师,硕士,主要研究方向:网络安全;田晓娜(1989—),女,工程师,硕士,主要研究方向:网络安全。