网络空间安全靶场技术研究及系统架构设计
2020-04-08赵静
赵静
摘要:目前网络安全靶场已经成为支撑网络空间安全技术验证、网络工具试验、攻防对抗演练和网络风险评估的重要手段。构建可脱离实体设备与环境、计算与存储资源灵活共享的虚拟化平台,形成针对现场网络空间网络和设备的仿真实验环境,提升虚拟演练培训服务能力。同时可利用靶场开展对抗演习、实战教学、工具测评等活动,让工作人员在实施任务前在接近真实的场景中开展演练,学习各种先前积累的技战法经验,有效提升工作人员解决实际问题的能力。
关键词:网络空间安全;靶场;场景;虚拟化;数据采集与分析;SDN
中图分类号:TP393.08
文献标识码:A
文章编号:1009-3044(2020)03-0051-04
1 概述
我国网络安全问题严重,每年的经济损失达数百亿美元。网络空间对抗形势日趋严峻,网络环境已由单纯互联网发展到了泛在网络空间。网络靶场是针对网络攻防演练和网络新技术评测的重要基础设施。网络靶场研究成果如能很好推广,定可以提高企业的核心竞争力以及网民的安全意识与能力,从而极大地减少经济损失。因此网络空间靶场系统有广阔的应用前景,且具有很高的社会和经济效益。
2 应用场景
网络空间靶场系统的专用测试场景能够提供以往难以想象的真实度,把工具和设备带到接近真实的网络空间中开展测试。主要提供安全防护类应用、综合演练类应用、决策评估类应用等。
安全防护类应用主要包括:关键信息基础设施仿真及防护演练和核心业务系统安全性评测等方面。系统通過安全测试评估、应急响应演练、灾难处置演练、攻防对抗演练等手段,模拟木马植入、数据窃取、DDoS和APT攻防过程,迅速找到管理体系、系统架构、技术防御体系等方面的安全缺陷,进而使得团队实战技能和协同能力得到提升,评估选取最优渗透战法。综合演练类应用主要包括:基于真实场景的大规模战术级对抗演练和实战攻击任务基础环境快速构建等方面。决策评估类应用主要包括:基于真实场景的网络空间装备评测、大规模战略级联合作战演练和城市级信息基础设施协同安全演练等方面。
所有业务的开展是基于靶场系统的基础能力,也就是仿真网络与信息系统环境的快速构建。这里面几个资源库是其核心,一是虚拟靶标库,包含了操作系统和各种网络服务,二是漏洞库,包含各种信息安全漏洞的复现环境,三是可以根据客户需求灵活构建的实体靶标库。有了这些资源,在靶场系统中简单的通过鼠标拖拽的方式就能快速构建仿真环境。对目标信息在靶场中快速还原,开展演练或战术推演活动,提高团队渗透技能、协同能力,选取最优渗透战法,降低特种任务执行风险。
3 系统相关技术研究
在网络空间中,要做到基于平台虚拟化的漏洞复现、场景仿真和动态资源调配,需要用到计算虚拟化技术、网络虚拟化技术、数据采集与分析技术和虚实结合组网技术等。
3.1 计算虚拟化技术
虚拟机是对计算机系统的仿真,可以实现一台物理计算机上模拟多台计算机的运行任务,操作系统和应用共享一台或多台主机硬件资源,每台虚拟机有自己的操作系统,硬件资源是虚拟化的。管理程序(hypervisor)负责创建、运行虚拟机,它连接了硬件资源和虚拟机,完成计算资源的虚拟化。容器运行在宿主操作系统之上,共享操作系统内核和库文件等。共享组件是只读的,通过共享操作系统资源能减少复现操作系统所需计算资源,意味着一台宿主机仅安装好操作系统就可以运行多个容器任务。容器是轻量的,占用空间较少,而且能够实现秒级启动。相比容器,虚拟机启动时间比较长,占用磁盘空间更大。同虚拟机相比,容器仅需操作系统、支撑程序和库文件就可运行应用,这意味同样的宿主机容器可以比虚拟机数量多几倍。虚拟化技术与容器技术对比如图1所示。
开源虚拟机技术KVM提供Linux下x86硬件平台上的全功能虚拟化解决方案,是主流云计算技术的首选。开源容器技术Docker在不包含完整的操作系统的情况下就能运行普通应用,更加轻量级,可移植性更好,是当今PaaS平台的基石。
为了兼顾虚拟机和容器两种技术的优点,本系统将采用hypervisor与容器混合的虚拟化解决方案:Hypervisor技术能够提供接近物理主机特性的虚拟主机,实现对各类不同的操作系统、各种不同的硬件设备的仿真,非常适合操作系统层的仿真需求;而容器技术虽然无法仿真操作系统特性,但能够极大的降低虚拟化的硬件成本,极高的提升虚拟应用的启动速度,非常适用应用层的仿真需求。可以使用虚拟化抽象层将两种不同的技术封装为统一的向上接口,使用驱动的方式实现对各种不同底层虚拟化实现的支持。因此在本系统中,经过充分的调研分析,拟采用KVM实现虚拟机技术,采用Docker实现容器技术。
3.2 网络虚拟化技术
VLAN技术由802.1Q标准所定义,它将同一网络划分为多个逻辑上的虚拟子网,并规定当收到广播报文时,仅仅在其所在VLAN中进行广播从而防止广播报文泛滥。随着虚拟化技术的发展,很多场景下都需要采用单个物理设备虚拟多台虚拟机的方式来进行组网,而VLAN技术最多支持4094个tag,因此已经无法满足需求,而且它也无法解决多租户网络地址重叠的问题以及虚拟化技术导致交换机中的MAC表异常庞大导致影响交换机的转发性能等问题。
VXLAN(虚拟可扩展局域网)是一种隧道模式的网络覆盖技术,这种技术能够使用户扩跨越不同的网络为虚拟机创建逻辑网络,可以较好地解决VLAN的上述问题。它可以通过将第2层扩展到第3层网络来构建大型的多租户数据中心,同时将虚拟网络与物理基础设施分离,并实现网络可靠性和可扩展性,可以使用VXLAN技术创建多达1600万个网络。
SDN(软件定义网络)是一种软件集中控制、网络开放的三层体系架构。SDN网络架构如图2。SDN控制平面和转发平面分离的思想非常适用于网络靶场的构建。一是网络靶场中的各种网络场景通常是非持久性的,灵活地对现有的网络结构进行重构和改造是一项重要的应用指标;二是网络靶场需要接入各种网络空间设备,这些设备需要实现动态的同虚拟节点的混合组网,这对网络配置的灵活性也提出了极高的要求。
本系统拟采用上述三种技术混合的网络虚拟化技术。VLAN技术,用于支持传统的网络组网方式,提高同各类物理网络的兼容性;VXLAN用于实现虚拟化平台内部的网络通信;SDN用来实现灵活的拓扑构造以及虚实结合组网等功能。
3.3 靶场数据采集与分析相关技术
通过分析仿真过程中产生的各类数据,可以交给自动化评估模型引擎实现系统自动判定,也可以交给裁判主观判定,还可以输出给可视化展示系统。演练过程中需要采集的重要数据按主体可以分为网络流量、主机行为等两种,为了确保采集性能、降低用户配置的复杂程度,网络流量、主机行为等数据的采集尽量使用带外的方式执行,尽量少在终端(虚拟机)中安装自定义的代理程序。
3.3.1 流量数据采集
网络流量采集可以使用策略采集、网元采集两种方式。策略采集由控制节点接收用户指令后,对虚拟网元f一般是虚拟交换机)下发采集策略,将流量通过隧道或其他形式转发至分析节点,完成虚拟流量采集。网元采集的方式是在hypervisor上运行agent代理,同时启动专用的流量分析虚拟机。Agent接收控制节点的指令,完成网络配置,将流量导人流量分析虚拟机,完成流量采集。与策略采集方案的不同之处在于,虚拟网元的配置不直接由控制器完成,并且采集的流量无须通过隧道等方式发送,而是直接进入本地虚拟机,减少网络带宽的占用。
对上述的两种方案进行对比,使用网元采集更适合靶场系统使用。通过在每个hypervisor上运行代理程序,实现了一个分布式的采集架构,将数据采集工作负荷均攤到每个计算节点中,具备更好的效率和稳定性,且不存在瓶颈。
3.3.2 主机行为数据采集
主机行为的采集可以在终端主机上安装应用层Agent,或者使用virtio驱动直接由hypervisor层采集两种形式。在主机上安装应用层最重要的缺陷是,当网络无法连通或者网络结构极为复杂时,难以实现向一个中心服务器报告采集数据的功能。所以使用virtio驱动进行主机层面的数据采集是比较理想的方案。通过Virtio技术,只需要在所有的虚拟机上安装QEMUG uestAgent,便可以实现多种操作系统的带外主机信息采集功能。
3.3.3 网络流量数据分析
同数据采集相对应,数据分析包含了网络流量分析、主机行为分析两个大类。在靶场系统中,主要涉及的技术是深度数据包检测(Deep packet inspection,DPI)技术。DPI是一种特殊的网络技术,一般网络设备只会查看以太网头部、IP头部而不会分析TCP/UDP里面的内容这种被称为浅数据包检测;与之对应的DPI会检查TCP/UDP里面的内容,所以称为DPI。
演练过程中需要重点分析的数据主要是各种应用系统在正常运行过程中产生的正常业务流量和攻击方执行攻击动作所产生的恶意流量,根据这些流量的相应特征,判断靶场内的任务目标达成情况、所使用的工具或技术以及部分工具的运行机理等。同时,这些流量经过进一步的清洗后,提取出重要的部分,转译成实时攻防态势系统的可视化数据流,用于驱动靶场内的攻防可视化展示。
3.3.4 主机行为数据分析
攻防演练过程中,主机上发生的事件往往是判定任务执行成功或成败的关键,这也是靶场系统自动化判定机制最重要的数据支撑和来源。需要针对目标系统中的各个主机在整个演练过程中所采集到的主机行为进行深入的分析,才能够由系统自动判定任务的执行效果,并给出详细的任务执行报告。
主机行为的数据分析相对网络数据包的分析来说相对简单,它是同演练科目强相关的。以“获取目标操作系统或应用软件特定访问权限”这一任务目标为例,我们可以通过主机行为监测到的数据,判定以下行为符合任务预期,只要有一项完成便判定任务执行成功:完成一次SSH连接、成功登录到RDP远程桌面、获取数据库系统远程访问权限、获取WWW服务的后台管理权限等。所以,主机行为的分析要结合特定的上下文进行定制,并没有标准化的分析技术可遵循。
3.4 虚实结合组网技术
靶场系统对虚实结合组网的应用要求不仅仅只是实现连通这样简单,而是需要将虚拟设备和物理设备抽象成同样的主体去使用,使用这些设备灵活的构成各种各样的拓扑结构。在分析了现在的各种技术的优劣之后,选用虚拟交换机和SDN技术混合组网的基础架构方案。这种方案不仅仅能够较好地解决各种虚拟设备和物理设备的接入问题,而且利用SDN技术的先天优势可以解决网络结构动态配置和调整的问题。此外这种方案部署更加方便、对物理网络要求更低,也非常有利于后续的扩展和配置。虚实结合方案如图3所示。
4 架构设计
4.1 网络部署方式
系统分为弹性计算区、系统管控区、物理设备接入区和演练接入区等几个主要的网络区域。根据演练的场地、形式、规模等要素,演练接人区可以设置一个或多个,该区域通过防火墙同弹性计算区相连接;弹性计算区是系统的核心区,它包含了计算节点集群和靶场应用服务器,计算节点集群可以根据演练活动的规模动态的增加或减少计算节点,靶场应用服务器提供演练活动所依赖的各个应用系统;系统管控区主要包含可视化系统以及裁判、运维人员席位。系统网络部署方式如图4所示。
4.2 靶场云
靶场系统主要由网络环境构建与仿真、数据采集、数据评估、态势显示、数据存储、运维管理六个基础部件和背景流量发生器、自动攻击引擎、工具库和知识库四个增强部件组成。系统私有云构建方式如图5所示。
IaaS(基础设施层)提供网络环境仿真与构建、数据采集等功能;DaaS(数据层)提供数据存储与知识库;PaaS(平台层),包含流量发生器、自动攻击引擎以及多类型探针代理;SaaS(软件应用层),则包含运维管理、数据中继、探针管理、场景管理、任务管理、态势可视化等多累用户层应用。而靶场云主要提供私有云抽象、物理设备抽象、异型数据采集融合、态势引擎、横向扩展等功能接口,因此靶场云架构设计时要考虑虚拟机并发问题、实体设备接入问题、动态扩展能力、仿真度高低问题。
4.3 功能架构
靶场功能由计算虚拟化模块、网络虚拟化模块、靶场监控模块和靶场应用模块等四个主要模块构成。功能架构图如图6所示。
计算虚拟化模块用来支持使用KVM虚拟机、Docker容器等技术提供隔离的计算资源,使用一个统一的虚拟化抽象层同上层应用沟通,即应用在调取计算资源时,并不需要关心是使用KVM还是Docker实现的底层虚拟化技术,这不仅对开发人员很友好,而且能够非常方便的扩充新的虚拟化技术。
网络虚拟化模块用于在靶场中生成符合训练意图和要求的仿真网络,使用虚拟网络交换机连接各种虚拟节点并组成虚拟网络;使用设备接入交换机,将仿真网络同物理存在的网络相连接,方便接入各种实体设备。
靶场监控模块实时监控靶场中存在的各种虚拟资源的运行参数、各虚拟计算资源的内部运行状态以及网络流量,并能够为流量分析模块提供这些数据以进行进一步的分析。同时,监控模块获取的数据也能够同可视化系统进行对接,将靶场内的网络流量和相关活动转译为可视化数据流展示到大屏幕上。
靶场应用模块构建在上述三个系统模块之上,包含用户接入、任务管理、场景管理以及效能评估等功能,为最终用户提供各种应用层功能和人机交互界面。支持多种场景和各类效能评估模板的管理,能够满足各类不同目的的训练活动的需求。
5 系统实现
系统拟采用B/S结构,能够避免c/s架构频繁升级客户端程序、运行平台受限等问题,利用最新的HTML5、WebGL等技术,能够给用户带来良好的使用体验。由于研究的系统为大型专用系统数据库应用,对稳定性、可靠性要求较高,故考虑选用MariaDB作为平台数据库。所有接口拟采用RESTful架构。该结构清晰、符合標准、易于理解、扩展方便。RESTful从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。采用RESTful接口后,前后台都可以很方便获取资源,修改资源,删除资源等等。借此设计的靶场仿真原型图如图7所示。
6 结论
系统通过私有云构建、虚实结合、可视化拓扑编辑、场景自由剪切拼接、规模弹性扩展来实现大规模网络快速构建;采用“异型数据采集与融合”开放性架构,按需部署采集探针,可对靶场环境内外及系统硬件进行全维数据采集和数据融合,提供数据访问接口,进而实现全维数据采集评估;通过里程碑快照实现、不同场景里程碑任意切换、极速重现来实现全时域场景重现和回放;基于拓扑结构态势、事件级攻防行为态势、效果态势、城市级靶场态势、多维情报数据展示来实现多维态势展示;使用ATT&CK等行为知识库,结合AI技术,构建行为仿真智能引擎,还原最为真实的对手行为模式和攻击技术。通过在靶场系统中模拟真实业务系统,将以往风险极大的针对生产系统的测试工作放到靶场中进行,再将靶场中发现的问题在生产环境中修复,从而实现业务系统的整体安全性提升。
参考文献:
[1]方滨兴,贾焰,李爱平,等,网络空间靶场技术研究[J].信息安全学报,2016,1(3):1-9.
[2]安彩虹.网络靶场中动态可配置虚拟网络技术研究与实现[D].长沙:国防科学技术大学,2015.
[3]吴怡晨,王轶骏,薛质.面向网络空间的攻防靶场设计[J].通信技术,2017,50(10):2349-2356.
[4]刘智国,于增明,王建,等.面向未来的网络靶场体系架构研究[J].信息技术与网络安全,2018,37(6):41-46.
[5]韩挺,李鑫,韩耀明.网络空间安全靶场设计研究[J].信息安全研究,2018,4(5):430-432.
[6]李炜,余慧英,吴华颖,网络空间博弈中的场景研究[J].信息安全研究,2018,4(5):415-419.
[7]耿如月,面向用户数据安全的软件定义云存储研究[D].北京:北京邮电大学,2017.
[8]沈雪石,网络空间攻防技术发展动向分析[J].国防科技,2017,38(4):42-46.