面向未来的网络靶场体系架构研究
2018-06-28刘智国于增明黎康盛
刘智国,于增明,王 建,张 磊,黎康盛,沈 辉
(1.中国电子信息产业集团有限公司第六研究所,北京 100083;2.国网黑龙江省电力有限公司大兴安岭供电公司,黑龙江大兴安岭 165000)
1 网络靶场的研究背景
网络靶场主要用于网络攻防演练和网络装备测试,以提高网络和信息系统的安全性。虽然在网络性能评测及仿真方面,已有众多的评测工具,但是仅仅实现了核心网络包传输及网络操作的模拟。如思科的Cisco Packet Tracer[1]是一款网络模拟学习工具,实现了模拟网络操作命令、维护和网络设备配置等。OPNET[2]产品主要面向专业人士,帮助客户进行网络拓扑、网络设备和应用的设计、实施、分析和管理。Network Simulator[3]是一个由UC Berkeley开发的用于仿真各种IP网络为主的仿真软件,可以实现离散事件模拟、仿真网络传输协议、业务源流量产生、路由队列管理机制及路由算法模拟。然而,网络靶场需要对网络节点及网络进行全量的模拟,对目标网络进行高逼真度仿真,复现真实网络环境行为,只模拟了核心功能的模拟器无法实现。
网络靶场体系架构为了达到目标环境高逼真度模拟,需包含网络拓扑设计、网络及节点虚拟化、系统互联、环境设置、数据采集、结果评估等功能。分别为:(1)网络拓扑设计:设计网络拓扑结构,并以网络符号等方式存储为文件;(2)网络及节点虚拟化:读入网络拓扑文件,将其虚拟化为物理网络,可分为节点虚拟化(如KVM)和链路虚拟化两方面。Dummynet[4]作为链路虚拟化的代表,通过一个或多个管道模拟带宽、传播时延、丢包率等链路特性,具有很高的逼真度;(3)系统互联:实现路由器、交换机等网络设备虚拟化,并节点互联,形成高逼真网络;(4)环境设置:设置网络仿真平台、背景流量、系统网络带宽等参数设置,并应用于目标虚拟化生成及仿真控制过程;(5)数据采集:试验数据采集分成物理数据采集和虚拟化数据采集;(6)结果评估:对于采集到的测试数据进行分析处理、评判攻防态势。
2 现有主流网络靶场体系架构
现有靶场主流体系架构主要有美国的Emulab[5]、DeterLab[6],英国的BreakingPoint[7]靶场,日本的Starbed[8]靶场,美国NCR靶场[9]等,分别对其体系架构介绍如下:
2.1 EmuLab[5]
Emulab是由犹他大学计算机学院Flux研究团队开发的一个网络测试床,其核心架构为一套分布式软件系统及一个基础平台架构,并提供共享平台用于研究、教育及开发分布式系统及网络,可以用于系统仿真、Internet网络模拟、无线网络仿真、对比验证。
图1 Emulab网络测试床
系统包括总线、外部分布式节点(Internet接入)、用户集中控制节点(usershost)、服务器管理节点(masterhost)、PC节点、NSE节点。总线分为两种:数据总线(Programmable patch panel)和控制总线(Control switch/Router)。PC节点共有168台,每台有5个100Mb的以太网接口:一个连接控制总线,另一个连接数据总线,其它在实验中可任意使用。NSE节点也同时和两种总线连接,用于创建虚拟机和实际业务仿真,可以模拟节点的链接和流量。服务器管理节点是许多关键服务的安全服务器,包括web服务、数据库和交换机管理服务。
Web界面作为一个可访问的门户,实验者通过它可以创建或终止一个实验,查看相应的虚拟拓扑,或者配置节点属性。在实验创建之后,实验者可以直接登录到他们分配的节点,或者用户集中控制节点,然后开始试验过程。
2.2 DeterLab[6]
DeterLab基于Emulab基础上,由南加州大学ISI和加州大学伯克利分校联合开发的计算机安全及工控系统安全测试床,用于网络安全技术研究。到目前为止,基于确定性的项目包括行为分析和防御技术,包括DDoS攻击、蠕虫和僵尸网络攻击、加密、模式检测和入侵容忍存储协议。
DeterLab由两组分布在ISI和UC Berkeley的300个实验PC集群节点组成,他们拥有共同的控制平面。仿真控制软件被配置为将两个站点的节点放置在单独的逻辑池中,一个实验可以从一个或两个集群中分配节点。
图2 Deterlab网络测试床
这些节点是由高速以太网交换机的“可编程背板”连接的,它被截断形成一个逻辑开关。每个实验PC有四个实验接口和一个控制接口连到这个开关。为了创建由实验人员指定的拓扑,“Boss”服务器上的仿真控制软件将PC节点分配给实验,并通过在交换机中设置Vlan来将它们连接起来,高容量开关硬件用于避免Vlan之间的干扰。
2.3 BreakingPoint[7]
BreakingPoint是英国Ixia公司的网络靶场系统。它支持流量生成和仿真,以创建一个互联网规模的网络靶场环境。BreakingPoint中对互联网环境仿真包括目标仿真、漏洞仿真、逃避仿真和流量仿真。BreakingPoint支持网络安全测试,它能测量硬件设备的吞吐量,发送恶意流量进行测试,并将流量发送到设备,以模拟攻击行为。
图3 BreakingPoint网络测试床
2.4 Starbed[8]
Starbed由日本情报通信研究机构(NICT)于2002 年主导研制,主要提供大规模的网络试验环境用于评估真实场景下的新技术。结构如图所示,Starbed测试网络分为实验网及管理网。实验网主要提供L2拓扑。管理网主要对试验进行全生命周期管理、并连接到全局网络。系统通过Internet和JGN2plus提供两个外部线路,将其他站点的连接或将实际的流量引入到实验网络环境中。
图4 Starbed网络测试床
2.5 美国国家靶场NCR[9]
美国“国家网络靶场”(National Cyber Range,NCR)项目是“曼哈顿计划”的五个组成部分之一,由美国国防高级研究计划局(DARPA)负责组建,国防部测试资源管理中心(TRMC)负责运营,包括测试、培训和实验社区使用的功能。通过构建可伸缩的互联网模型, 进行网络战争推演,测试涉密与非涉密网络项目的安全设备,维护美国的网络安全。
图5 美国NCR网络测试床
测试过程主要分为三个阶段。首先,在测试开始之前,NCR工作人员将使用CSTL测试规范工具构建测试平台,构建过程包括对测试平台进行分区,为测试分配系统资源,以及集成和配置共同的硬件/软件资源和网络工具,作为测试的资产描述。其次,通过NCR的数据传感器、资源管理器、范围存储库和可视化工具进行收集客户指定的事件数据。在这个过程中,范围配置以及验证工具会自动将硬件连接到适当的配置并且自动配置所需要运行的软件。最后,使用测试执行工具、流量生成工具以及特定系统执行测试队列,进行数据收集以及分析[10-11]。
2.6 美国国家SCADA测试床项目(NSTB)[12]
美国国家SCADA测试床(NSTB)创建于2003年,是美国能源部汇集阿贡、爱达荷、劳伦斯伯克利、洛斯阿拉莫斯、橡树岭、西太平洋和桑迪亚国家实验室,结合国家实验室先进的操作系统测试设施和专家的研究能力,以此来发现和解决关键安全漏洞和应对能源行业所面临的安全威胁。NSTB项目主要任务为:提高工业控制系统网络安全漏洞问题的认知能力,与企事业单位合作来识别、评估和解决当前的SCADA系统漏洞;利用测试床资源,针对现有控制系统的安全问题,测试研究与开发出短期应对方案和风险缓解策略;设计下一代工控系统安全架构,建设智能、安全、可靠的控制系统和基础设施系统;研究制定国家标准和指导方针。
2.7 基于IaaS的网络靶场[13]
图6 基于IaaS的网络靶场
南京信息系统工程重点实验室结合基础设施即服务(IaaS)云计算技术,从系统顶层设计、物理结构、逻辑组成、运行架构和优化部署等方面,提出了基于IaaS的网络靶场试验系统。根据IaaS云计算理念进行网络靶场试验系统顶层设计,通过基础设施服务化整合,提高了靶场试验环境构建的灵活性和可扩展性;提出了基于软件定义网络(SDN)技术的靶场试验网络基础设施服务化构建方法,实现了试验资源的网络一体化集成;建立了虚拟与物理资源的最优映射和调度模型,提高了硬件资源的利用率和试验环境的构建效率。
3 基于云计算的靶场体系架构
3.1 系统架构
图7 系统架构
图8 试验物理环境架构
基于我们在靶场方面的技术积累以及相关研究,我们基于云计算技术提出了xCloudbed体系架构,并在分析、评估等方面基于AI技术,实现对资源智能分配及攻防效果动态评估。对系统架构描述如下:系统整体逻辑架构方面,整个系统由物理平台层、操作系统层、Hypervisor层、云资源虚拟化层、应用层、目标网络环境层组成。其中,物理平台主要包括网络通信设备、计算设备及接口设备等,作为云平台的基础硬件层;操作系统层主要在宿主机上安装相应的操作系统、还要实现时间同步、消息分发等功能;Hypervisor层主要实现对容器及虚拟机的管理;云资源虚拟化管理层主要是指云管理操作系统及微服务管理操作系统;应用层主要实现虚拟化网络管理、应用模拟、监测评估、系统调度管理及数据管理等功能;系统目标网络环境是针对不同场景进行设计,产出相应的目标仿真环境。
3.2 试验环境物理架构
网络靶场试验环境在物理上由计算服务器、存储服务器和网络服务器(虚拟化云内部网络)等设备,与物理网络设备、物理安全防护设备通过网络互连,实现各类资源的互连互通、端口映射和流量重定向。系统的物理网络分为管理网和数据网2种,管理网实现环境配置及控制命令传输,数据网实现目标系统网络数据传输功能,管理网和数据网之间相互隔离。物理网络上部署防火墙、IPS、IDS、安全认证及审计、数据库安全防护、数据防泄漏等物理安全设备,虚拟网络内部部署虚拟防火墙、虚拟防病毒、虚拟IPS等虚拟安全设备,并连接到统一的安全管理中心,实现整体的安全运维管理。物理网络与外部网络之间边界隔离,对外提供试验接入服务。
3.3 系统交互关系
在系统流程方面,实验开始阶段相关试验员通过Web管理界面实现网络拓扑结构、任务设置、资源配置等信息,调用系统调度分系统的资源,将配置信息及运控信息传递到虚拟网络分系统、计算分系统、应用模拟分析图进行目标网络环境的生成。搭建完毕后,启动仿真过程,信息采集与处理子系统对目标网络的网络流、虚拟机内部的进程等事件进行监控,并及时通知监测评估分系统。试验结束后,由监测评估分系统进行整体攻防过程的评估,结果评判等。
图9 系统交互关系图
3.4 实现技术
从技术实现角度,运维保障分系统中主要完成的是配置管理下发,而采用的是XML进行配置描述;基础设施分系统中的总线采用的是Kafka,可以确保其具备高吞吐、高可用和可扩展的特性;数据资源存储管理分系统主要包括了采用libvmi和libvirt的带外采集技
术、基于SNMP的实物采集技术、BPF的实物网络设备采集技术和针对大小规模的关系型和非关系型数据库的存储技术;应用模拟分系统主要采用了一些套件和开源技术完成了高并发式的大规模应用模拟部署功能;虚拟网络分系统主要基于KVM、Docker等技术来实现底层环境生成的虚拟化和仿真;监测评估分系统中采用的关键技术是SVG、HighCharts等图形绘制技术,以及采用通用的JSON格式完成数据交互以便减少数据传输量节省带宽。
4 综合对比
将目前主流的靶场系统与基于云的靶场架构xCloudbed进行了综合对比,如表1所示。从执行效率角度来看,基于集群的靶场架构由于采用交换机开关切换的方式生成网络,并基于物理PC机快速构建目标环境,执行效率较高,但会受限于现有物理节点的数量及节点的系统环境,支持场景有限,动态扩展能力差。基于集群+虚拟化方式构建的靶场系统,虽然从一定程度上解决了动态扩展,但系统采用混合架构,结构比较复杂,带来了兼容性的问题。基于云及虚拟化架构的靶场环境,采用统一的虚拟化平台资源,很好地解决了动态扩展及兼容性的问题。
表1 网络靶场体系架构对比
5 未来发展方向
基于云及虚拟化架构的靶场应在未来重点对以下技术展开研究:
(1)复杂网络环境仿真的支持
实现对复杂网络环境仿真的支持,如智能制造工业场景、5G无线通信,面向未来的网络、特殊网络协议的支持,扩充平台的适应性。
(2)高效数据采集
针对中心采集程序和植入虚拟机的代理程序方式受到虚拟机自身运行状况影响的问题,实现虚拟化带外数据采集技术,从虚拟机外部进行数据采集,获取虚拟机内部的运行状态。
(3)背景流量模拟
针对测试环境中网络流量行为模拟及背景流量生成的问题,实现海量用户并发访问互联网应用的用户行为模拟,并能定制化生成含有特定内容、地址等的网络应用流量。
(4)网络靶场自身安全与隔离
目前云环境中由于共享物理及资源,特别是Docker技术提供的微服务,由于和操作系统共享,存在很多的安全问题。保障网络空间安全试验训练系统与互联网隔离、测试任务与任务之间隔离、运行数据与对外服务隔离是未来一个研究方向。
(5)与人工智能结合的分析及预测技术
主要实现对靶场采集数据进行大数据深度分析,自动生成攻防态势预测图、攻防手法分析、靶场网络自优化等。利用深度学习及蜜罐技术、威胁情报感知技术,预测网络攻击发展趋势,自动扩充测试工具,完善攻防手段。
总之,随着云计算、虚拟化、人工智能技术的不断成熟,基于云的靶场体系架构将成为一个新的热点研究方向。
[1] JANITOR J, JAKAB F, KNIEWALD K. Visual learning tools for teaching/learning computer networks: Cisco Networking Academy and Packet Tracer[C]// Sixth International Conference on NETWORKING and Services, IEEE Computer Society, 2010:351-355.
[2] CHCANG X. Network simulations with OPNET[C]// Simulation Conference Proceedings. IEEE, 2002:307-314 vol.1.
[3] LIU N, CAROTHERS C, COPE J, et al. Model and simulation of exascale communication networks[J]. Journal of Simulation, 2012, 6(4):227-236.
[4] CARBONE M, RIZZO L. Dummynet revisited[J]. Acm Sigcomm Computer Communication Review, 2010, 40(2):12-20.
[5] HIBLER M, RICCI R, STOLLER L, et al. Large-scale virtualization in the emulab network testbed[C]//USENIX Annual Technical Conference.2008: 113-128.
[6] MIRKOVIC J, BENZEL T. Teaching cybersecurity with DeterLab[J].Security & Privacy, IEEE, 2012, 10(1): 73-76.
[7] WINTER H. System security assessment using a cyber range[C]//System Safety, incorporating the Cyber Security Conference 2012,7th IET International Conference on. IET, 2012: 1-5.
[8] MIYACHI T, MIWA S, HASEGAWA S, et al. Hands-on environments for network technologies on StarBED[J]. Educational technology research, 2011, 34(1): 107-118.
[9] PRIDMORE L, LARDIERI P, HOLLISTER R. National Cyber Range (NCR) automated test tools: Implications and application to network-centric support tools[C]//AUTOTESTCON, IEEE, 2010: 1-4.
[10] 方滨兴, 贾焰, 李爱平,等. 网络空间靶场技术研究[J]. 信息安全学报, 2016, 1(3):1-9.
[11] 韩卫国, 徐明迪. 面向赛博空间的网络靶场建设思路[J]. 计算机与数字工程, 2015(8):1465-1470.
[12] Department of Energy,National SCADA Tested[Z/OL].(2012-07-01),https://www.energy.gov/oe/technology-development/energy-delivery-systems-cybersecurity/national-scada-test-bed
[13] 李大伟. 基于IaaS的网络靶场试验系统设计与实现[J]. 指挥信息系统与技术, 2015, 6(5):1-6.