1. 借“假”修“真”,通过构建可控可管理的模拟仿真环境,解决现实问题。
(1)支撑安全人员学习
当前,网络安全威胁层出不穷,攻防技术越来越复杂,国家、各行业对网络安全人才培养需求日益迫切,安全人员需要可用于实操学习训练的非真实生产环境。
(2)提供测试验证、演练环境,缓解安全建设与业务运行的矛盾
表现在:关键系统在线生产环境的可靠性、准确性要求较高,未经测试的调整(例如新增设备、更新补丁、配置调整等)易引起设备故障或系统崩溃;以HW行动为代表的实战演练、应急演练活动常态化开展,但在生产环境中进行演练,容易对业务带来负面影响,造成不可控的损失。
2. 各国网络靶场持续布局
(1)国外概要(公开资料可查)
美国:NCR国家靶场、美军国防信息系统局赛博安全靶场、美军联合参谋部联合信息作战靶场、海军战术赛博靶场、陆军赛博靶场、国家SCADA测试床、爱达荷实验室关键基础设施测试靶场、美国油气基础设施测试床等。
英国:国防部联合网络靶场。
加拿大:国家仿真实验室。
日本:StarBed。
澳大利亚:校园网络测试靶场。
欧洲防务局:网络攻防测试靶场。
(2)国内概要(公开资料可查)
安码科技、博智安全、烽台科技、观安信息、锦行科技、绿盟科技、奇安信、启明星辰、赛宁网安、四叶草、易霖博、永信至诚等厂商均有网络靶场产品(源自咨询报告)。此外,还有合天网安实验室、鹏城网络靶场、贵阳国家大数据安全靶场、各科研院所靶场等。
3. 建设意义
网络靶场是支撑试验和训练的综合性平台,通过虚拟化、虚实结合仿真、安全编排、测试评估等技术,构建可控、逼真的仿真环境及培训、演练、测试等各类场景,可用于完成人才培养、竞赛考核、实战攻防演练、应急演练、系统测试、验证评估等任务。谈网络靶场,总是离不开“模拟”、“仿真”以及“Simulation”、“Emulation”,还是弄清为好。建议大家遵循主流理解,保持{模拟—Simulation}、{仿真—Emulation }的对应关系。1. Emulation(仿真)是模拟发展的高级阶段,比Simulation(模拟)更贴近“真实”。“模拟”(simulation)是通过建立真实系统的模型来研究系统在一定条件下的行为,它通过建立实际系统的数学模型并按照相同的运行机理模拟真实系统的动态行为。
它是脱离真实系统独立运行的,主要分为连续模拟(Continuous simulation)和离散事件模拟(Discrete event simulation),前者用于模拟随时间连续变化的系统,而后者则假设系统的变化由事件触发,系统状态的变化是基于离散的事件点发生的。
例如,网络模拟(Network simulation)通过构造可控、可重现网络状况的虚拟网络环境,在数学建模和统计分析的基础上对网络行为进行模拟,从而获取特定的网络特性参数,观察特定的网络行为,如实现对丢包、延时、带宽等参数的模拟。
Wiki中关于Simulation的解释:A simulator may imitate only a few of the operations and functions of the unit it simulates. Contrast with: emulate。“仿真”(Emulation)通过构造仿真系统来全部或者部分的模拟外界系统,使得仿真系统能够接受和被仿真对象一样的数据和执行同样的程序,从而获得相应的结果。Wiki中关于Emulation的解释:An emulator duplicates (provides an emulation of)the functions of one system using a different system, so that the second system behaves like (and appears to be) the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated。网络模拟:用于网络协议和算法的设计,其工作过程是纯计算过程,是模拟器内部的工作流程,常用工具包括QualNet、Simulink、Real-time digital simulator、SCADASim、NS2、NS3、OPNET、OMNET++、PRIME、matlab、MODBUS IO、OPENPlc、SimHydraulics等。网络仿真:用于测试实际的网络应用程序,和外界真实网络有交互,所构造的虚拟网络和外界真实网络是需要进行同步的,常用工具包括Openstack、EMULAB、Unity PRO-XL、Virtual Box、NetEM、Vmware Vsphere、KVM、Xen worlds、CITRIX XEN、OPENNEBULA、QEMU、Mininet、Docker、VMware ESXI、OVS、Promox VE、CORE emulator等。当前网络靶场主流为仿真型、虚实结合(混合)型靶场,可通过组成体系来统一认知靶场平台,如图2、图3所示。1. 环境:指靶场运行时环境(run-time environment),包括拓扑类型及流量生成。用户行为:通过模拟键盘、鼠标操作与业务系统进行交互,可用Netkit、AutoIT等工具。
2. 场景:指在某一环境下的具体执行条件(可由XML、JSON表示),包括目标、类型、领域、生命周期、工具、剧情。领域:传统计算机网络、工控、Iot、5G、云计算等。剧情:场景内部一个或多个storyline,例如不同角色不同任务流程及关联。3. 采集监测:对靶场数据进行采集监测,用于结果分析或态势展示。自定义:在上述四个用户角色类别中再内部细分的角色,常出现于白方。
2. 逼真性与可扩展性的提高,包括SDN、docker技术的深度应用以及对新型协议(例如工控)、新型安全领域(例如虚拟化安全)、新型目标领域(例如卫星通信、武器平台)的覆盖;3. 标准化与分布式,包括虚拟化平台统一、内外部API标准化、异地分靶场互联与资源共用;5. 实战化、体系化,使训练对抗强度贴近实网,训练状态不局限于对某项技术和武器的验证评估,训练任务不局限于事先规划好的。