CN111294333B - 一种开放式的自适应漏洞演练平台的构建系统 - Google Patents
一种开放式的自适应漏洞演练平台的构建系统 Download PDFInfo
- Publication number
- CN111294333B CN111294333B CN202010035751.2A CN202010035751A CN111294333B CN 111294333 B CN111294333 B CN 111294333B CN 202010035751 A CN202010035751 A CN 202010035751A CN 111294333 B CN111294333 B CN 111294333B
- Authority
- CN
- China
- Prior art keywords
- data
- drilling
- subsystem
- module
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种开放式的自适应漏洞演练平台的构建系统。流量控制子系统对各漏洞演练角色的访问流量进行控制,漏洞演练角色包括攻击方、防御方、演练监控方和平台监控方,安全子系统对控制后的访问流量进行过滤和对用户信息进行验证,防御验证子系统从过滤后的流量中提取代码,并根据提取的代码创建受限环境运行代码;监控子系统监控各漏洞演练角色数据、演练环境数据和演练平台自身数据,数据采集子系统采集攻击验证结果数据、防御验证结果数据、日志数据、演练评价数据和流量数据;数据转发子系统接收上述数据并将数据转发给第三方外部服务。本发明能够解决不同类型的漏洞演练训练形式需要不同的演练平台的问题和能够同时支持多种漏洞演练模式。
Description
技术领域
本发明涉及漏洞演练平台的构建领域,特别是涉及一种开放式的自适应漏洞演练平台的构建系统。
背景技术
随着互联网不断渗透到国家、人民生活的方方面面,网络安全显得越来越重要。而与此同时,网络对抗也变得越来越激烈。为了提高网络安全研究人员在面对网络攻击时的应对能力,靶场技术应运而生。2008年DAPRA(美国国防部高级研究计划局)牵头主导,联合60多家企业、研究机构参与建设“国家网络靶场”。2012年10月起,美国国防部(DOD)实验资源管理中心(TRMC)正式从DARPA接管NCR,标志着NCR从实验室演示阶段正式进入部署应用阶段。英国、日本、加拿大等国也纷纷开展网络靶场项目。
靶场技术用于模拟真实的网络攻防场景,需要综合考虑通信、管理、监控、安全性、数据、网络结构等方方面面的事情,需要考虑大规模网络仿真、网络流量/服务和用户行为模拟、试验平台采集和效果评估、试验平台安全及管理等多项技术,拥有较大规模和较为复杂的虚拟环境。传统的靶场技术虽然能够较好的仿真和模拟现实网络环境,但是过于庞杂。现有的靶场技术大多侧重于网络拓扑的仿真,需提前设置好靶场环境,然后攻防双方需在预设的固定的环境中进行攻防对抗,无法对于演练强度有很好的动态控制。现有的靶场技术往往是针对于单一演练模式进行演练,无法同时支持传统CTF线上解题、AWD、CGC等多种漏洞演练模式。现有的靶场技术在进行防御时,多采用源码级别的修复方式,不支持以非代码修补的方式进行防御。
发明内容
本发明的目的是提供一种开放式的自适应漏洞演练平台的构建系统,能够解决不同类型的漏洞演练训练形式需要不同的演练平台的问题,以及能够同时支持传统CTF线上解题、AWD、CGC等多种漏洞演练模式。
为实现上述目的,本发明提供了如下方案:
一种开放式的自适应漏洞演练平台的构建系统,包括:流量控制子系统、防御验证子系统、安全子系统、监控子系统、数据采集子系统和数据转发子系统,所述流量控制子系统用于对各漏洞演练角色的访问流量进行控制,所述漏洞演练角色包括攻击方、防御方、演练监控方和平台监控方,所述流量控制子系统与所述安全子系统连接,同时所述流量控制子系统与所述数据采集子系统连接,所述流量控制子系统用于将所有原始流量数据发送给所述数据采集子系统,所述安全子系统用于对控制后的访问流量进行过滤和对用户信息进行验证,所述安全子系统与所述防御验证子系统连接,所述防御验证子系统用于从过滤后的流量中提取代码,并根据提取的代码创建受限环境运行代码和确定防御验证结果数据;
所述监控子系统用于监控各漏洞演练角色数据、演练环境数据和演练平台自身数据,所述数据采集子系统用于采集攻击验证结果数据、防御验证结果数据、日志数据、演练评价数据和流量数据,所述数据采集子系统与所述防御验证子系统连接;所述监控子系统和所述数据采集子系统分别与所述数据转发子系统连接,所述数据转发子系统用于接收所述各所述漏洞演练角色数据、演练环境数据、所述演练平台自身数据、所述攻击验证结果数据、所述防御验证结果数据、所述日志数据、所述演练评价数据和所述流量数据,并将所述所述漏洞演练角色数据、演练环境数据、所述演练平台自身数据、所述攻击验证结果数据、所述防御验证结果数据、日志数据、所述演练评价数据和所述流量数据转发给第三方外部服务。
可选的,所述流量控制子系统包含演练强度控制模块、反向代理模块、负载均衡模块、演练环境访问接口和配置访问接口,各漏洞演练角色通过所述演练环境访问接口和所述配置访问接口来访问各演练环境和配置平台内部服务,各漏洞演练角色的访问流量经过所述演练强度控制模块,所述演练强度控制模块通过动态加载、卸载通用WAF脚本和DVE相关针对性攻击缓解脚本来进行演练强度控制处理,得到处理后的流量,并将所述处理后的流量传递给所述反向代理模块,所述反向代理模块对流量进行反向代理后,传递给所述负载均衡模块,所述负载均衡模块根据预设的负载均衡算法进行负载均衡,得到均衡流量,并将所述均衡流量传递给所述安全子系统。
可选的,所述安全子系统包括身份认证模块、ACL模块、Bot检测模块和黑/白名单模块,所述身份认证模块接收所述负载均衡模块发送的均衡流量,并对用户进行身份认证,然后将用户信息和所述均衡流量传递给所述ACL模块,所述ACL模块根据预先配置对访问进行限制,然后将所述均衡流量传递给所述Bot检测模块,所述Bot检测模块检测用户是否是Bot,然后将所述均衡流量传递给所述黑/白名单模块,所述黑/白名单模块根据黑/白名单对所述均衡流量进行过滤,并将过滤完的流量传递给所述防御验证子系统。
可选的,所述防御验证子系统包括代码检测模块和代码安全运行模块,所述代码检测模块接收所述过滤完的流量,并从所述过滤完的流量中提取防御方提供的检测代码与拦截代码,并对所述检测代码和所述拦截代码进行检测得到检测通过的代码,将所述检测通过的代码发送至所述代码安全运行模块,所述代码安全运行模块创建受限环境运行代码。
可选的,所述监控子系统包括平台监控模块和演练监控模块,所述平台监控模块实时监控平台本身的关键负载和性能指标得到第一监控数据,并将所述监控数据传递给所述数据转发子系统;所述演练监控模块实时监控演练过程中各漏洞演练角色、演练环境中的各项数据指标得到第二监控数据,并将所述第二监控数据传递给所述数据转发子系统。
可选的,所述数据采集子系统包括攻击验证结果采集模块、防御验证结果采集模块、日志采集模块、演练评价数据采集模块和流量采集模块,所述攻击验证结果采集模块采集攻击验证结果数据,并将所述攻击验证结果数据传递给所述数据转发子系统,所述防御验证结果采集模块采集防御验证结果数据,并将所述防御验证结果数据传递给数据转发子系统,所述日志采集模块采集各项日志数据,并将各所述日志数据传递给数据转发子系统,所述演练评价数据采集模块采集演练评价所需的各项演练数据,并将所述演练数据传递给所述数据转发子系统,所述流量采集模块采集演练中流量数据,并将所述流量数据传递给所述数据转发子系统。
可选的,所述数据转发子系统包括通信通道建立模块和数据转发模块,所述通信通道建立模块与外部服务建立专属通信通道,并将所述通信通道传递给所述数据转发模块,所述数据转发模块将从所述数据采集子系统中各模块采集到的数据、所述监控子系统中各模块传递的监控数据和所述通信通道建立模块传递的通信通道转发给第三方外部服务,所述第三方外部服务包括攻击验证服务和演练人员能力评价服务。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开一种开放式的自适应漏洞演练平台的构建系统。该系统包括:流量控制子系统、防御验证子系统、安全子系统、监控子系统、数据采集子系统和数据转发子系统。流量控制子系统对各漏洞演练角色的访问流量进行控制,漏洞演练角色包括攻击方、防御方、演练监控方和平台监控方,安全子系统对控制后的访问流量进行过滤和对用户信息进行验证,防御验证子系统从过滤后的流量中提取代码,并根据提取的代码创建受限环境运行代码;监控子系统监控各漏洞演练角色数据、演练环境数据和演练平台自身数据,数据采集子系统采集攻击验证结果数据、防御验证结果数据、日志数据、演练评价数据和流量数据;数据转发子系统接收上述数据并将数据转发给第三方外部服务。本发明能够解决不同类型的漏洞演练训练形式需要不同的演练平台的问题和能够同时支持多种漏洞演练模式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明开放式的自适应漏洞演练平台的构建系统组成结构示意图;
图2为本发明漏洞演练示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种开放式的自适应漏洞演练平台的构建系统,能够解决不同类型的漏洞演练训练形式需要不同的演练平台的问题,以及能够同时支持传统CTF线上解题、AWD、CGC等多种漏洞演练模式。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为方便本领域普通技术人员更加清楚的理解本发明,现对发明中涉及到的专业术语进行解释:
靶场:网络靶场是针对网络攻防演练和网络新技术评测的重要基础设施,用来提高网络和信息系统的稳定性和安全性。其主要功能包括:(1)网络攻防武器评测验证,(2)支持人员培训与竞演,(3)科学试验和新技术验证。
漏洞演练环境:漏洞演练环境相比靶场,应用范围更聚焦,针对演练的核心内容——漏洞本身去进行演练,更加简化。
CTF(Capture The Flag):在网络安全领域中指安全人员之间进行技术竞技的一种比赛。常见于线上选拨比赛,参赛队伍需要运用安全相关的理论知识及技术来解决问题,并获取一串被称为flag的字符串进行提交,以此来获取分数特点,每一道题目都有相应的分值,同一类题目中难度越大分值越高。
AWD(AttackWith Defence):CTF比赛的一种形式,常用于CTF线下赛。初始时刻,所有参赛队伍拥有相同的系统环境(包含若干服务,可能位于不同的机器上),常称为gamebox,参赛队伍挖掘网络服务漏洞并攻击对手服务获取flag来得分,修补自身服务漏洞进行防御从而防止扣分(一般来说防御只能避免丢分,当然有的比赛在防御上可以得分)。
CGC(Cyber Grand Challenge):CTF比赛的一种形式,常用于CTF线下赛。比赛过程全自动,无任何人工干预,考验机器自动漏洞挖掘、自动软件加固、自动漏洞利用和自动网络防护水平,对Linux二进制程序进行漏洞挖掘,所有参赛队都没有程序源码。
Docker技术:容器技术的一种,并且在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。
反向代理:反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
现有的一些靶场构建方法使用SDN技术,例如专利一种实现网络靶场系统的方法及网络靶场管理系统中,通过云计算管理平台调用计算资源和存储资源,通过SDN控制器定义网络拓扑、复制子网、隔离网络。这些方法侧重于靶场网络的组织和构建,但是没有对于多种漏洞演练模式同时有很好的支持。
一些网络靶场的实现方法依赖于Docker技术,例如专利一种基于Docker实现网络靶场的方法和系统,能够快速实现构建网络靶场实验环境、更改网络拓扑、拓展靶场实验网络。该方法与使用SDN技术类似,侧重于靶场网络的组织和构建,一方面不能在漏洞演练的过程中实时进行防御演练强度控制,另一方面不能同时支持传统CTF线上解题、AWD、CGC等多种漏洞演练模式。与此类似的另一些网络靶场侧重于对于关键基础设施和工业控制的复现和仿真,对于云原生应用没有很好地支持,例如专利应用于网络靶场的网络仿真拓扑的构建方法及系统,网络化分布式数控系统靶场设计方法。
一些网络靶场系统中主要包括身份认证模块、资源管理模块和应用构建模块。例如专利一种网络靶场云平台系统、构建方法、设备和介质,侧重于强调通过身份认证模块将用户和网络靶场之间建立联系,并提供对于靶场模拟环境的安全保护。该系统的安全性保护机制相对简单,在真实的漏洞对抗演练环境中,并不能对于靶场本身的安全性有很好的保障,并且缺少有效的监控机制,无法对于攻防过程中的行为进行有效的监控,并且也没有支持进行防御演练强度控制。
另一些信息安全攻防体系架构将整个体系架构分为安全防护区、蜜网区、攻击操作区、靶场区和木马分析区。整个体系架构功能众多,可实现性较强。但是其并不能支持自动化攻防验证,并且结构过于庞杂,没有实现同时支持传统CTF线上解题、AWD、CGC等多种漏洞演练模式。
针对上述问题,本发明提出一种开放式的自适应漏洞演练平台的构建系统。图1为本发明开放式的自适应漏洞演练平台的构建系统组成结构示意图,如图1所示,一种开放式的自适应漏洞演练平台的构建系统包括:流量控制子系统1、防御验证子系统2、安全子系统3、数据采集子系统4、监控子系统5和数据转发子系统6,所述流量控制子系统1用于对各漏洞演练角色的访问流量进行控制,所述漏洞演练角色包括攻击方、防御方、演练监控方和平台监控方,所述流量控制子系统1与所述安全子系统3连接,同时所述流量控制子系统1与所述数据采集子系统4连接,所述流量控制子系统1用于将所有原始流量数据发送给所述数据采集子系统4,所述安全子系统3用于对控制后的访问流量进行过滤和对用户信息进行验证,所述安全子系统3与所述防御验证子系统2连接,所述防御验证子系统2用于从过滤后的流量中提取代码,并根据提取的代码创建受限环境运行代码和确定防御验证结果数据;
所述监控子系统5用于监控各漏洞演练角色数据、演练环境数据和演练平台自身数据,所述数据采集子系统4用于采集攻击验证结果数据、防御验证结果数据、日志数据、演练评价数据和流量数据,所述数据采集子系统4与所述防御验证子系统2连接;所述监控子系统5和所述数据采集子系统4分别与所述数据转发子系统6连接,所述数据转发子系统6用于接收所述各所述漏洞演练角色数据、演练环境数据、所述演练平台自身数据、所述攻击验证结果数据、所述防御验证结果数据、所述日志数据、所述演练评价数据和所述流量数据,并将所述所述漏洞演练角色数据、演练环境数据、所述演练平台自身数据、所述攻击验证结果数据、所述防御验证结果数据、日志数据、所述演练评价数据和所述流量数据转发给第三方外部服务。图2为本发明漏洞演练示意图。
所述流量控制子系统1包含演练强度控制模块、反向代理模块、负载均衡模块、演练环境访问接口和配置访问接口,各漏洞演练角色通过所述演练环境访问接口和所述配置访问接口来访问各演练环境和配置平台内部服务,各漏洞演练角色的访问流量经过所述演练强度控制模块,所述演练强度控制模块通过动态加载、卸载通用WAF脚本和DVE相关针对性攻击缓解脚本来进行演练强度控制处理,得到处理后的流量,并将所述处理后的流量传递给所述反向代理模块,所述反向代理模块对流量进行反向代理后,传递给所述负载均衡模块,所述负载均衡模块根据预设的负载均衡算法进行负载均衡,得到均衡流量,并将所述均衡流量传递给所述安全子系统3。
所述安全子系统3包括身份认证模块、ACL模块、Bot检测模块和黑/白名单模块,所述身份认证模块接收所述负载均衡模块发送的均衡流量,并对用户进行身份认证,然后将用户信息和所述均衡流量传递给所述ACL模块,所述ACL模块根据预先配置对访问进行限制,然后将所述均衡流量传递给所述Bot检测模块,所述Bot检测模块检测用户是否是Bot,然后将所述均衡流量传递给所述黑/白名单模块,所述黑/白名单模块根据黑/白名单对所述均衡流量进行过滤,并将过滤完的流量传递给所述防御验证子系统2。
所述防御验证子系统2包括代码检测模块和代码安全运行模块,所述代码检测模块接收所述过滤完的流量,并从所述过滤完的流量中提取防御方提供的检测代码与拦截代码,并对所述检测代码和所述拦截代码进行检测得到检测通过的代码,将所述检测通过的代码发送至所述代码安全运行模块,所述代码安全运行模块创建受限环境运行代码。
所述监控子系统5包括平台监控模块和演练监控模块,所述平台监控模块实时监控平台本身的关键负载和性能指标得到第一监控数据,并将所述监控数据传递给所述数据转发子系统6;所述演练监控模块实时监控演练过程中各漏洞演练角色、演练环境中的各项数据指标得到第二监控数据,并将所述第二监控数据传递给所述数据转发子系统6。
所述数据采集子系统4包括攻击验证结果采集模块、防御验证结果采集模块、日志采集模块、演练评价数据采集模块和流量采集模块,所述攻击验证结果采集模块采集攻击验证结果数据,并将所述攻击验证结果数据传递给所述数据转发子系统6,所述防御验证结果采集模块采集防御验证结果数据,并将所述防御验证结果数据传递给数据转发子系统6,所述日志采集模块采集各项日志数据,并将各所述日志数据传递给数据转发子系统6,所述演练评价数据采集模块采集演练评价所需的各项演练数据,并将所述演练数据传递给所述数据转发子系统6,所述流量采集模块采集演练中流量数据,并将所述流量数据传递给所述数据转发子系统6。
所述数据转发子系统6包括通信通道建立模块和数据转发模块,所述通信通道建立模块与外部服务建立专属通信通道,并将所述通信通道传递给所述数据转发模块,所述数据转发模块将从所述数据采集子系统4中各模块采集到的数据、所述监控子系统5中各模块传递的监控数据和所述通信通道建立模块传递的通信通道转发给第三方外部服务,所述第三方外部服务包括攻击验证服务和演练人员能力评价服务。
通过上述各个子系统实现了平台对外服务、平台对内服务和平台集成服务。
平台对外服务所提供的主要功能有演练环境访问接口、配置访问接口、负载均衡、演练强度控制、防御验证和反向代理等。其中,演练环境访问接口、配置访问接口、负载均衡服务、演练强度控制服务和反向代理服务属于流量控制子系统1提供的服务。防御验证服务属于防御验证子系统2提供的服务。
演练环境访问接口主要用于对外提供漏洞演练环境的统一访问方式。所有的漏洞演练环境都由平台提供统一的访问入口,这样就可以做到集中管理和集中控制。在演练过程中,攻击方和防御方可通过演练环境访问接口来对于多种漏洞演练环境进行访问。
配置访问接口用于提供对于漏洞演练环境的编排方式、漏洞演练环境的访问方式、身份验证、反向代理等的配置接口。所有配置接口通过管理员API的方式提供,也可使用RESTful风格的管理接口查看平台的运行时情况。在演练之前或者演练时,演练监控方均可通过配置访问接口动态控制演练环境的变化,使得演练效果更加逼真。
演练强度控制指可以在演练时动态控制对抗强度。各漏洞演练角色的访问流量会先经过演练强度控制模块。因为对于所有流量有统一的管理方式,所以可以通过加通用WAF脚本和DVE相关针对性攻击缓解脚本来实现。在演练过程中,演练监控方可按需动态加载和卸载这些脚本来实现演练强度控制。当演练强度需要发生变化时,防御方通过加载这些脚本来提升攻击难度,或者卸载一些脚本来降低攻击难度。攻击方需要绕过这些通用防御措施来达到其攻击目的。为了实现演练强度控制,需要做到能够统一管理所有攻击流量和动态加载相关控制脚本。OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。基于OpenResty可以实现动态加载相关演练强度控制脚本。KONG是基于OpenResty二次开发的一个面向「云原生应用」的API网关应用,支持Lua语言开发运行时插件。基于KONG可以用反向代理的方式将多种漏洞演练环境连接起来,并拥有统一的管理和访问方式。所以,基于KONG进行二次开发可以较好地满足需求。演练强度控制模块在对所有访问流量处理之后,传递给反向代理模块。
反向代理功能依赖于Nginx原生的能力,可以支持HTTP代理、socks代理、websocket代理等(根据需要进行添加);所有的漏洞演练环境通过反向代理的方式对外提供统一的访问方式,并且所有的漏洞演练环境也可在演练过程中动态变换,最大程度仿真真实攻防过程中的情景。反向代理模块对从演练强度控制模块获得的流量进行反向代理后,传递给负载均衡模块。
负载均衡可将流量均衡分配给多个上游服务。同时支持基于DNS的负载均衡和基于环平衡器的负载均衡。可通过管理员API的方式动态配置权重,并且不需要重启服务或者重新加载。为整个平台提供了较强的鲁棒性和自适应性保证。负载均衡模块可以根据预设的负载均衡算法进行负载均衡,然后传递给安全子系统3。
防御验证可以提供让防御方队伍上传的「检测」与「拦截」代码「受限制」地在平台上运行起来,可以实现模仿CGC模式的自动防御或攻击缓解(非代码修补)。当需要进行防御验证时,需要做到三点:
能够对于特定目标的所有流量进行统一管理。
能够动态加载防御方提供的「检测」与「拦截」代码。
防御方提供的代码能够「受限制」地在平台上运行。
代码检测模块获得安全子系统3中黑/白名单模块传递的针对于特定目标的所有流量,需要从中提取防御方提供的「检测」与「拦截」代码。第一点和第二点的实现方式与上述进行演练强度控制类似,基于KONG进行二次开发即可实现提取防御方提供的「检测」与「拦截」代码。之后代码检测模块将检测通过的代码交给代码安全运行模块。代码安全运行模块创建「受限制」的环境运行代码。
对于「受限制」运行防御方代码,需要明确其非预期行为,对其非预期行为进行限制。防御方提供的代码,可能存在如下几种非预期行为:1.代码编写错误;2.代码消耗了过多的时间和资源;3.代码尝试进行越权操作等。
在代码安全运行模块中,对于第一种非预期行为,操作步骤如下:
使用代码静态分析工具来对其进行分析,如针对于Lua的代码静态分析工具有Luacheck等。
对于第二种非预期行为,操作步骤如下:
使用rlimit等工具对于内存、时间、文件句柄进行限制。
使用docker等容器技术创建沙盒来进行限制等。
对于第三种非预期行为,操作步骤如下:
进行必要的访问控制。例如将脚本文件本身设置为程序的运行用户只读不可写或者将程序限制在指定目录中运行等。
进行必要的系统调用控制。如使用ptrace之类的调试器附着上程序,监控所有的系统调用,进行白名单+计数器(比如exec和open)过滤等。
进行必要的权限控制。如使用受限用户来运行脚本文件或者监控程序使用root权限运行,完成必要准备后fork并切换为受限用户(比如nobody)来运行程序等。
平台对内服务的功能主要包括了安全模块和监控,用于提供运行时安全服务。
安全模块属于安全子系统3,主要包括身份认证、ACL、Bot检测和白名单/黑名单IP。安全子系统3的操作步骤如下:
在整个平台中可以创建多种不同角色的用户。每一个用户在访问平台服务时需要进行身份验证。
启用身份验证功能。身份认证模块获得流量控制子系统1中的流量,并对用户进行身份认证,然后将用户信息和流量传递给ACL模块。
在启用身份验证功能后,可以使用ACL功能。ACL支持通过使用任意ACL组名称将用户列入白名单或将其列入黑名单来限制对服务或路由的访问,然后将流量传递给Bot检测模块。
启用Bot检测。Bot检测模块检测用户是否是Bot,用于保护服务或路由免受大多数常见机器人的攻击,然后将流量传递给黑/白名单模块。
启用黑白名单机制。安全模块具有将自定义客户端列入白名单和列入黑名单的能力,同时也支持针对于IP进行自定义白名单或者黑名单的机制。黑/白名单模块根据黑/白名单对于流量进行过滤,然后将过滤完的流量传递给防御验证子系统2。
监控功能主要分为平台监控功能和演练监控功能两部分。平台监控功能由平台监控模块提供,主要用于实时监控平台本身的关键负载和性能等指标。监控功能备选的技术方案有prometheus、suricata、zeek、iptables等。之后平台监控模块将监控数据传递给数据转发子系统6。演练监控功能由演练监控模块提供,主要用于在演练过程中进行监控,操作步骤如下:
动态监控攻击方的攻击行为和防御方的防御行为。
动态监控漏洞演练环境中的文件、进程和网络等内容。
为演练监控方提供评价数据的来源。
在获得各项监控数据后,演练监控模块将监控数据传递给数据转发子系统6。
平台集成服务功能主要包括攻击验证结果采集、防御验证结果采集、日志采集、流量采集、演练评估数据采集和数据转发等功能。其中,攻击验证结果采集服务、防御验证结果采集服务、日志采集服务、流量采集服务、演练评估数据采集服务属于数据采集子系统4提供的服务,数据转发服务属于数据转发子系统6提供的服务。
在数据采集子系统4中,支持对攻击验证结果、防御验证结果、日志、流量和演练评估数据等信息进行采集,数据采集功能可以使用packetbeat、ELK、prometheus等工具和方案实现。攻击验证结果采集模块、防御验证结果采集模块、日志采集模块、演练评价数据采集模块和流量采集模块等完成数据采集后,将其传递给数据转发子系统6。
在数据转发子系统6中,通信通道建立模块与外部服务建立专属通信通道,并将通信通道传递给数据转发模块,数据转发模块获得数据采集子系统4中各模块采集到的数据、监控子系统5中各模块传递的监控数据和通信通道建立模块传递的通信通道,通过专属通信通道将数据转发给第三方外部服务,包括攻击验证服务和演练人员能力评价服务。支持与外部第三方服务相集成。通过建立专属通信通道,支持外部进行自动化攻击验证和演练人员能力评价,以此来实现类CGC模式的演练场景。数据转发模块可以使用packetbeat、ELK等工具和方案实现。
本发明相比于现有技术,具有如下优点:
1.相比于靶场环境,更加聚焦漏洞演练本身。靶场环境相比于漏洞演练环境,是一个相对更大的概念,包含的功能点更多,而漏洞演练环境则更为聚焦漏洞研究本身,针对于演练的核心内容——漏洞本身去进行演练,更加简化和轻量级。
2.开放式、自适应的架构设计。本发明同时支持传统CTF线上解题、AWD、CGC等多种漏洞演练模式,而现有的技术方案无法同时支持这三类漏洞演练模式,所以本发明的架构是一个开放式的架构,可拓展性极高。在整个平台中,演练强度控制、负载均衡等均可以根据演练需求动态进行变化,并且所有变化均为透明的,即不需要重启服务或者重新加载服务来进行变化,自适应性较强。
3.支持防御验证。传统的演练方式在进行防御时,多采用源码级别的修复方式,而本方案不仅支持源代码级别的修复方式,同时支持从流量上以非代码修补的方式进行防御。因为在实际的工作中,当发现漏洞需要修补时,很多情况下并不支持进行源码级修复然后重启服务等方式,需要在不对服务本身做任何变动的情况下进行热修复。所以对于非代码修补能力的训练显得非常重要,而本方案的防御验证功能能够满足非代码修补演练需求。
4.能够进行动态防御演练强度控制。现有的靶场方案大多是提前设置好靶场环境,然后在预置的固定的环境中进行训练。攻防双方在进行演练期间,演练强度是固定不变的。而本方案突出强调了演练强度控制的概念,高程度仿真了真实情况下加入一些通用防护规则情况下的攻防环境,并且能够根据演练需求,在演练期间动态进行演练强度的控制。
5.支持多样化验证攻击方攻击能力。传统的演练环境中,攻防双方在演练期间是完全实时的,即在攻击的同时进行防御。而在本发明中,除同时支持实时演练外,还能够支持异步运行攻击方提供的攻击脚本,结合防御验证模块,可以在攻防演练双方均没有进行操作的情况下,运行双方的攻防脚本,实现自动化攻防。此外,本发明新加入轮次的概念,对于攻击方而言,在每轮时间内可以进行攻击,对于防御方,本方案支持防御验证和动态防御演练强度控制,使得防御方的修复工作可以在任意指定时间运行,所以可以在每一轮开始前,由平台加载运行修复方案,之后再去评判本轮攻防双方的攻击脚本和修复方案哪个生效,因此,本发明支持演练双方进行一轮一轮的攻防操作,使得演练的对抗性更强,并且也能锻炼双方在轮次间的较短时间内开发攻防脚本的能力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的系统及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种开放式的自适应漏洞演练平台的构建系统,其特征在于,包括:流量控制子系统、防御验证子系统、安全子系统、监控子系统、数据采集子系统和数据转发子系统,所述流量控制子系统用于对各漏洞演练角色的访问流量进行控制,所述漏洞演练角色包括攻击方、防御方、演练监控方和平台监控方,所述流量控制子系统与所述安全子系统连接,同时所述流量控制子系统与所述数据采集子系统连接,所述流量控制子系统用于将所有原始流量数据发送给所述数据采集子系统,所述安全子系统用于对控制后的访问流量进行过滤和对用户信息进行验证,所述安全子系统与所述防御验证子系统连接,所述防御验证子系统用于从过滤后的流量中提取代码,并根据提取的代码创建受限环境运行代码和确定防御验证结果数据;
所述监控子系统用于监控各漏洞演练角色数据、演练环境数据和演练平台自身数据,所述数据采集子系统用于采集攻击验证结果数据、防御验证结果数据、日志数据、演练评价数据和流量数据,所述数据采集子系统与所述防御验证子系统连接;所述监控子系统和所述数据采集子系统分别与所述数据转发子系统连接,所述数据转发子系统用于接收所述各所述漏洞演练角色数据、演练环境数据、所述演练平台自身数据、所述攻击验证结果数据、所述防御验证结果数据、所述日志数据、所述演练评价数据和所述流量数据,并将所述漏洞演练角色数据、演练环境数据、所述演练平台自身数据、所述攻击验证结果数据、所述防御验证结果数据、日志数据、所述演练评价数据和所述流量数据转发给第三方外部服务;
流量控制子系统包含演练强度控制模块、反向代理模块、负载均衡模块、演练环境访问接口和配置访问接口,各漏洞演练角色通过所述演练环境访问接口和所述配置访问接口来访问各演练环境和配置平台内部服务,各漏洞演练角色的访问流量经过所述演练强度控制模块,所述演练强度控制模块 通过动态加载通用WAF脚本和DVE相关针对性攻击缓解脚本来进行演练强度控制处理,得到处理后的流量,或者通过动态卸载通用WAF脚本和DVE相关针对性攻击缓解脚本来进行演练强度控制处理,得到处理后的流量,并将所述处理后的流量传递给所述反向代理模块,所述反向代理模块对流量进行反向代理后,传递给所述负载均衡模块,所述负载均衡模块根据预设的负载均衡算法进行负载均衡,得到均衡流量,并将所述均衡流量传递给所述安全子系统。
2.根据权利要求1所述的开放式的自适应漏洞演练平台的构建系统,其特征在于,所述安全子系统包括身份认证模块、ACL模块、Bot检测模块和黑/白名单模块,所述身份认证模块接收所述负载均衡模块发送的均衡流量,并对用户进行身份认证,然后将用户信息和所述均衡流量传递给所述ACL模块,所述ACL模块根据预先配置对访问进行限制,然后将所述均衡流量传递给所述Bot检测模块,所述Bot检测模块检测用户是否是Bot,然后将所述均衡流量传递给所述黑/白名单模块,所述黑/白名单模块根据黑/白名单对所述均衡流量进行过滤,并将过滤完的流量传递给所述防御验证子系统。
3.根据权利要求2所述的开放式的自适应漏洞演练平台的构建系统,其特征在于,所述防御验证子系统包括代码检测模块和代码安全运行模块,所述代码检测模块接收所述过滤完的流量,并从所述过滤完的流量中提取防御方提供的检测代码与拦截代码,并对所述检测代码和所述拦截代码进行检测得到检测通过的代码,将所述检测通过的代码发送至所述代码安全运行模块,所述代码安全运行模块创建受限环境运行代码。
4.根据权利要求1所述的开放式的自适应漏洞演练平台的构建系统,其特征在于,所述监控子系统包括平台监控模块和演练监控模块,所述平台监控模块实时监控平台本身的关键负载和性能指标得到第一监控数据,并将所述监控数据传递给所述数据转发子系统;所述演练监控模块实时监控演练过程中各漏洞演练角色、演练环境中的各项数据指标得到第二监控数据,并将所述第二监控数据传递给所述数据转发子系统。
5.根据权利要求1所述的开放式的自适应漏洞演练平台的构建系统,其特征在于,所述数据采集子系统包括攻击验证结果采集模块、防御验证结果采集模块、日志采集模块、演练评价数据采集模块和流量采集模块,所述攻击验证结果采集模块采集攻击验证结果数据,并将所述攻击验证结果数据传递给所述数据转发子系统,所述防御验证结果采集模块采集防御验证结果数据,并将所述防御验证结果数据传递给数据转发子系统,所述日志采集模块采集各项日志数据,并将各所述日志数据传递给数据转发子系统,所述演练评价数据采集模块采集演练评价所需的各项演练数据,并将所述演练数据传递给所述数据转发子系统,所述流量采集模块采集演练中流量数据,并将所述流量数据传递给所述数据转发子系统。
6.根据权利要求1所述的开放式的自适应漏洞演练平台的构建系统,其特征在于,所述数据转发子系统包括通信通道建立模块和数据转发模块,所述通信通道建立模块与外部服务建立专属通信通道,并将所述通信通道传递给所述数据转发模块,所述数据转发模块将从所述数据采集子系统中各模块采集到的数据、所述监控子系统中各模块传递的监控数据和所述通信通道建立模块传递的通信通道转发给第三方外部服务,所述第三方外部服务包括攻击验证服务和演练人员能力评价服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010035751.2A CN111294333B (zh) | 2020-01-14 | 2020-01-14 | 一种开放式的自适应漏洞演练平台的构建系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010035751.2A CN111294333B (zh) | 2020-01-14 | 2020-01-14 | 一种开放式的自适应漏洞演练平台的构建系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111294333A CN111294333A (zh) | 2020-06-16 |
CN111294333B true CN111294333B (zh) | 2022-06-10 |
Family
ID=71021213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010035751.2A Active CN111294333B (zh) | 2020-01-14 | 2020-01-14 | 一种开放式的自适应漏洞演练平台的构建系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111294333B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786983B (zh) * | 2020-06-24 | 2023-04-25 | 国家计算机网络与信息安全管理中心 | 一种虚拟化攻防对抗环境构建方法 |
CN111526061B (zh) * | 2020-07-06 | 2020-11-24 | 南京赛宁信息技术有限公司 | 网络靶场实战演练场景的监控流量调度系统与方法 |
CN112448857A (zh) * | 2021-02-01 | 2021-03-05 | 博智安全科技股份有限公司 | 靶场的构建方法、装置、设备及存储介质 |
CN113254138B (zh) * | 2021-06-08 | 2024-06-18 | 中国传媒大学 | 一种漏洞靶场防御方演练过程可视化的方法和系统 |
CN113377399A (zh) * | 2021-06-11 | 2021-09-10 | 中国工商银行股份有限公司 | 不停机系统演练验证方法及装置 |
CN113162954B (zh) * | 2021-06-23 | 2021-09-03 | 西南石油大学 | 靶机的创建方法以及网络攻防训练系统 |
CN116186711B (zh) * | 2023-01-05 | 2023-12-12 | 永信至诚科技集团股份有限公司 | 网络攻防竞赛中的测试应用的防御结果确定方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282170A (zh) * | 2015-11-04 | 2016-01-27 | 国网山东省电力公司电力科学研究院 | 一种适应于电力行业的信息安全攻防演练比赛系统 |
CN109067770A (zh) * | 2018-09-05 | 2018-12-21 | 高新兴科技集团股份有限公司 | 物联网系统的流量攻击控制方法及计算机存储介质 |
-
2020
- 2020-01-14 CN CN202010035751.2A patent/CN111294333B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282170A (zh) * | 2015-11-04 | 2016-01-27 | 国网山东省电力公司电力科学研究院 | 一种适应于电力行业的信息安全攻防演练比赛系统 |
CN109067770A (zh) * | 2018-09-05 | 2018-12-21 | 高新兴科技集团股份有限公司 | 物联网系统的流量攻击控制方法及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
基于蜜网的网络攻防平台的设计与实现;章英等;《微计算机信息》;20071231;正文第45-46页 * |
多数据中心基于流量感知的DDoS攻击消除策略;齐星等;《计算机工程与应用》;20181231;正文第88-95页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111294333A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111294333B (zh) | 一种开放式的自适应漏洞演练平台的构建系统 | |
KR101460589B1 (ko) | 사이버전 모의 훈련 관제 서버 | |
CN112383546B (zh) | 一种处理网络攻击行为的方法、相关设备及存储介质 | |
US11991203B2 (en) | Method and system for generating stateful attacks | |
JP2018535802A (ja) | ミッションベースの、ゲームによって実現されるサイバートレーニングシステム、および方法 | |
KR101534194B1 (ko) | 침입자 행동패턴을 반영한 사이버보안 교육훈련시스템 및 방법 | |
CN104796416A (zh) | 一种僵尸网络的模拟方法及系统 | |
CN109344624A (zh) | 基于云端协作的渗透测试方法、平台、设备及存储介质 | |
KR102381277B1 (ko) | 사이버 공격을 방어하기 위한 보안 방법 및 장치 | |
Kim et al. | Becoming invisible hands of national live-fire attack-defense cyber exercise | |
CN111092912A (zh) | 安全防御方法及装置 | |
CN114329484A (zh) | 一种目标网安全风险自动评估方法、装置、设备及介质 | |
Almutairi et al. | Generalized stochastic petri net model based security risk assessment of software defined networks | |
Meier et al. | Towards an AI-powered Player in Cyber Defence Exercises | |
Lin et al. | Effective proactive and reactive defense strategies against malicious attacks in a virtualized honeynet | |
Zhao et al. | Network security model based on active defense and passive defense hybrid strategy | |
KR101200055B1 (ko) | 합동전력군사지휘소용 지휘통제통신컴퓨터감시정찰 종합운용체계 및 데이터 센터 시스템에 대한 실시간 해킹 및 침입 방지 시스템 | |
CN114915467A (zh) | 一种网络安全攻防演练的实现系统及方法 | |
CN111541694B (zh) | 一种采用融合式技术解决网络安全的方法 | |
Aliyev | Using honeypots to study skill level of attackers based on the exploited vulnerabilities in the network | |
Tudosi et al. | Design and Implementation of an Automated Dynamic Rule System for Distributed Firewalls. | |
Barika et al. | Agent IDS based on misuse approach | |
Gu et al. | Basic network construction and network security design analysis of cloud computing | |
Li et al. | Research and Application of Information Security Offense and Defense Exercise in Electric Power Industry | |
Neff | Verification and validation of the Malicious Activity Simulation Tool (MAST) for network administrator training and evaluation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |