首页 / 专利库 / 电脑零配件 / 中央处理器 / 一种基于Docker实现网络靶场的方法和系统

一种基于Docker实现网络靶场的方法和系统

阅读:466发布:2024-01-18

专利汇可以提供一种基于Docker实现网络靶场的方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种基于Docker实现网络靶场的方法和系统。采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;所述Docker引擎的服务 进程 调用虚拟系统资源布控Docker容器构建资源服务调控模 块 ,用于调配所述虚拟系统资源以 支撑 所述应用层创建应用程序;基于所述资源服务调控模块创建所述靶场系统应用程序。本发明能够快速实现网络靶场实验环境,快速灵活实现网络拓扑的更改,快速灵活实现靶场实验网络规模可扩展等一系列问题。,下面是一种基于Docker实现网络靶场的方法和系统专利的具体信息内容。

1.一种基于Docker实现网络靶场的系统,其特征在于,包括:虚拟化层、资源服务层以及应用层;
其中,所述虚拟化层中采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;
所述资源服务层中由所述Docker引擎的服务进程调用虚拟系统资源布控Docker容器构建资源服务调控模,用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;
所述应用层中基于所述资源服务调控模块创建所述靶场系统应用程序。
2.根据权利要求1所述一种基于Docker实现网络靶场的系统,其特征在于,所述系统资源,包括:
所述网络靶场系统的计算资源、存储资源、网络资源以及安全管理资源。
3.根据权利要求1所述一种基于Docker实现网络靶场的系统,其特征在于,所述资源服务调控模块,包括:
负载均衡单元用于对动态变化的集群各计算节点进行负载均衡;
服务发现单元用于实时存储动态变化的集群各计算节点的信息;
资源监控单元用于采集、存储各计算节点的运行状态信息;
应用编排单元用于调用所述虚拟系统资源管理所述应用层可移植的分布式应用程序
应用发布单元用于管理所述应用层的应用程序发布;
镜像单元用于获取应用层中应用程序的相关应用文件及镜像构建脚本,根据所述镜像构建脚本对所述相关应用文件镜像编译,得到Docker镜像。
镜像仓库单元用于当确定镜像事件需要同步时,将所述镜像事件同步至所述镜像仓库;
自动配置单元用于自动化配置各个基于Docker容器创建的单元同主机网络IP地址;
权限访问单元用于设置位于当前Docker单元的请求端具有对当前基于Docker创建的单元内部数据所对应的挂载路径和容器路径的访问权限;
日志管理单元用于将Docker容器生成的日志分类写入到容器根目录对应的文件夹中。
4.根据权利要求3所述一种基于Docker实现网络靶场的系统,其特征在于,所述自动配置单元,具体用于对所述资源服务调控模块中基于Docker建立的单元进行监听,当监听任一单元发生Docker事件,则将所述Docker事件通知上报给服务端,由所述服务端根据各个基于Docker建立的单元的ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给各个基于Docker建立的模块所在主机执行相应的脚本。
5.根据权利要求3所述一种基于Docker实现网络靶场的系统,其特征在于,所述负载均衡单元:其具体用于接收待执行的应用文件并将所述待执行应用文件转换为Docker镜像,启动所述Docker镜像,并根据应用层中应用程序预设的应用信息,解析并执行该待执行所述应用程序的启动命令,并将应用程序应用注册到分布式协调服务器以部署分布式协调服务器;并对所述分布式协调服务器上的应用变化情况进行监听,将应用变化情况发送至负载均衡代理器以将所述应用变化情况根据配置模版转换一定格式的配置数据并执行,并配置到通用负载均衡器。
6.根据权利要求3所述一种基于Docker实现网络靶场的系统,其特征在于,所述资源监控单元:具体用于获取各个基于Docker创建的单元中的数据,其中,数据至少包括中央处理器使用值CPU state和/或CPU核心数;根据预设规则对数据进行处理,得到各个基于Docker建立的模块的网络参数数据以供监控者对Docker进行监控。
7.根据权利要求3所述一种基于Docker实现网络靶场的系统,其特征在于,所述日志管理单元:其具体用于接收并记录创建的各个基Docker创建的单元指令中携带宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带容器文件夹挂载参数,以使宿主机创建各个基Docker的单元,并创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码;向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中;根据目标地址中的容器身份标识码从目标地址中获取Docker容器对应的文件夹,以获取文件夹中的日志。
8.根据权利要求3所述一种基于Docker实现网络靶场的系统,其特征在于,所述权限访问单元:其用于设置位于当前Docker单元的请求端具有对当前基Docker创建的单元内部数据所对应的挂载路径和容器路径的访问权限,其中,位于当前基Docker创建的单元外部的该请求端包括文件、目录、进程、注册表和服务中的任意一种,获取外部的目标请求端对当前Docker容器内部的目标数据的访问请求;根据预先设置的访问权限,判断所述目标请求端是否具有对所述目标数据所对应的目标挂载路径和目标容器路径的访问权限;在判断结果为是时,允许所述目标请求端访问所述目标挂载路径和所述容器路径所对应的所述目标数据。
9.根据权利要求1所述一种基于Docker实现网络靶场的系统,其特征在于,所述靶场系统应用程序,包括:
靶场知识库应用:其用于提供学习使用靶场相关知识的共享知识平台;
靶场管理中心应用:其用于基于Docker动态地创建模型以满足试验所需的各种不同攻防场景。
靶场评估应用:其用于记录攻防试验数据并进行处理和分析,用以评估靶场、被测系统的安全性和抗攻击性。
10.一种基于Docker实现网络靶场的方法,其特征在于,包括:
采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;
所述Docker引擎的服务进程调用虚拟系统资源布控Docker容器构建资源服务调控模块用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;
基于所述资源服务调控模块创建所述靶场系统应用程序。

说明书全文

一种基于Docker实现网络靶场的方法和系统

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种基于Docker实现网络靶场的方法和系统。

背景技术

[0002] 伴随计算、大数据和社交化网络时代的极速发展,互联网信息安全也日渐成为社会关注的焦点。2013年,360通过与多家国内重点院校合作组建网络攻防实验室、建设多级别的网络实战“靶场”,并联合举办面向高校学生的网络攻防竞技比赛,吸引年轻人关注互联网安全技术;面向给国内外各个层面的网络安全技术爱好者,邀请信息安全技术人才体验网络“打靶”,并以建设虚拟网站的方式划分出初、中、高级的“实战”场地,可供各类网络攻防训练使用。

发明内容

[0003] 本发明的实施例提供了一种基于Docker实现网络靶场的方法和系统,本发明提供如下方案:
[0004] 采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;
[0005] 所述Docker引擎的服务进程调用虚拟系统资源布控Docker容器构建资源服务调控模用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;
[0006] 基于所述资源服务调控模块创建所述靶场系统应用程序。
[0007] 根据本发明另一方面,还提供一种基于Docker实现网络靶场的系统,包括:虚拟化层、资源服务层以及应用层;
[0008] 其中,所述虚拟化层中采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;
[0009] 所述资源服务层中由所述Docker引擎的服务进程调用虚拟系统资源布控 Docker容器构建资源服务调控模块,用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;
[0010] 所述应用层中基于所述资源服务调控模块创建所述靶场系统应用程序。
[0011] 根据本发明另一方面,所述系统资源,包括:
[0012] 所述网络靶场系统的计算资源、存储资源、网络资源以及安全管理资源。
[0013] 根据本发明另一方面,所述资源服务调控模块,包括:
[0014] 负载均衡单元用于对动态变化的集群各计算节点进行负载均衡;
[0015] 服务发现单元用于实时存储动态变化的集群各计算节点的信息;
[0016] 资源监控单元用于采集、存储各计算节点的运行状态信息;
[0017] 应用编排单元用于调用所述虚拟系统资源管理所述应用层可移植的分布式应用程序
[0018] 应用发布单元用于管理所述应用层的应用程序发布;
[0019] 镜像单元用于获取应用层中应用程序的相关应用文件及镜像构建脚本,根据所述镜像构建脚本对所述相关应用文件镜像编译,得到Docker镜像。
[0020] 镜像仓库单元用于当确定镜像事件需要同步时,将所述镜像事件同步至所述镜像仓库;
[0021] 自动配置单元用于自动化配置各个基于Docker容器创建的单元同主机网络 IP地址;
[0022] 权限访问单元用于设置位于当前Docker单元的请求端具有对当前基于Docker 创建的单元内部数据所对应的挂载路径和容器路径的访问权限;
[0023] 日志管理单元用于将Docker容器生成的日志分类写入到容器根目录对应的文件夹中。
[0024] 根据本发明另一方面,所述自动配置单元,具体用于对所述资源服务调控模块中基于Docker建立的单元进行监听,当监听任一单元发生Docker事件,则将所述Docker事件通知上报给服务端,由所述服务端根据各个基于Docker 建立的单元的ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给各个基于Docker建立的模块所在主机执行相应的脚本。
[0025] 根据本发明另一方面,所述负载均衡单元:其具体用于接收待执行的应用文件并将所述待执行应用文件转换为Docker镜像,启动所述Docker镜像,并根据应用层中应用程序预设的应用信息,解析并执行该待执行所述应用程序的启动命令,并将应用程序应用注册到分布式协调服务器以部署分布式协调服务器;并对所述分布式协调服务器上的应用变化情况进行监听,将应用变化情况发送至负载均衡代理器以将所述应用变化情况根据配置模版转换一定格式的配置数据并执行,并配置到通用负载均衡器。
[0026] 根据本发明另一方面,所述资源监控单元:具体用于获取各个基于Docker 创建的单元中的数据,其中,数据至少包括中央处理器使用值CPU state和/或 CPU核心数;根据预设规则对数据进行处理,得到各个基于Docker建立的模块的网络参数数据以供监控者对Docker进行监控。
[0027] 根据本发明另一方面,所述日志管理单元:其具体用于接收并记录创建的各个基Docker创建的单元指令中携带宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带容器文件夹挂载参数,以使宿主机创建各个基Docker的单元,并创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码;向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中;根据目标地址中的容器身份标识码从目标地址中获取Docker容器对应的文件夹,以获取文件夹中的日志。
[0028] 根据本发明另一方面,所述权限访问单元:其用于设置位于当前Docker单元的请求端具有对当前基于Docker创建的单元内部数据所对应的挂载路径和容器路径的访问权限,其中,位于当前基于Docker创建的单元外部的该请求端包括文件、目录、进程、注册表和服务中的任意一种,获取外部的目标请求端对当前Docker容器内部的目标数据的访问请求;根据预先设置的访问权限,判断所述目标请求端是否具有对所述目标数据所对应的目标挂载路径和目标容器路径的访问权限;在判断结果为是时,允许所述目标请求端访问所述目标挂载路径和所述容器路径所对应的所述目标数据。
[0029] 根据本发明另一方面,所述靶场系统应用程序,包括:
[0030] 靶场知识库应用:其用于提供学习使用靶场相关知识的共享知识平台;
[0031] 靶场管理中心应用:其用于基于Docker动态地创建模型以满足试验所需的各种不同攻防场景。
[0032] 靶场评估应用:其用于记录攻防试验数据并进行处理和分析,用以评估靶场、被测系统的安全性和抗攻击性。
[0033] 由上述本发明的实施例提供的技术方案可以看出,本发明实施例采用 Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;所述Docker引擎的服务进程调用虚拟系统资源布控Docker容器构建资源服务调控模块用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;基于所述资源服务调控模块创建所述靶场系统应用程序。本发明既解决了“网络靶场”系统的计算资源、存储资源和网络资源的统一调度管理问题,又解决了“网络靶场”系统所要求的快速灵活定义网络拓扑结构,快速灵活实现网络拓扑的更改,快速灵活实现靶场实验网络规模可扩展等一系列问题。附图说明
[0034] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1为本发明实施例一提供的一种基于Docker实现网络靶场的方法的处理流程图
[0036] 图2为本发明实施例二提供的一种基于Docker实现网络靶场的系统模块图。

具体实施方式

[0037] 为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0038] 实施例一
[0039] 该实施例提供了一种基于Docker实现网络靶场的方法,如附图1所示,具体步骤如下:
[0040] 步骤11、采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;
[0041] 步骤12、所述Docker引擎的服务进程调用虚拟系统资源布控Docker容器构建资源服务调控模块,用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;
[0042] 步骤13、基于所述资源服务调控模块创建所述靶场系统应用程序。
[0043] 实施例二
[0044] 该实施例提供了一种基于Docker实现网络靶场的系统的模块如图2所示,包括:
[0045] 虚拟化层21、资源服务层22以及应用层23;
[0046] 其中,所述虚拟化层中采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;
[0047] 所述资源服务层中由所述Docker引擎的服务进程调用虚拟系统资源布控 Docker容器构建资源服务调控模块,用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;
[0048] 所述应用层中基于所述资源服务调控模块创建所述靶场系统应用程序。所述系统资源,包括:
[0049] 所述网络靶场系统的计算资源201、存储资源202、网络资源203以及安全管理资源204。
[0050] 所述资源服务调控模块221,包括:
[0051] 负载均衡单元2210用于对动态变化的集群各计算节点进行负载均衡;
[0052] 服务发现单元2211用于实时存储动态变化的集群各计算节点的信息;
[0053] 资源监控单元2212用于采集、存储各计算节点的运行状态信息;
[0054] 应用编排单元2213用于调用所述虚拟系统资源管理所述应用层可移植的分布式应用程序;
[0055] 应用发布单元2214用于管理所述应用层的应用程序发布;
[0056] 镜像单元2215用于获取应用层中应用程序的相关应用文件及镜像构建脚本,根据所述镜像构建脚本对所述相关应用文件镜像编译,得到Docker镜像。
[0057] 镜像仓库单元2216用于当确定镜像事件需要同步时,将所述镜像事件同步至所述镜像仓库;
[0058] 自动配置单元2217用于自动化配置各个基于Docker容器创建的单元同主机网络IP地址;
[0059] 权限访问单元2218用于设置位于当前Docker单元的请求端具有对当前基 Docker创建的单元内部数据所对应的挂载路径和容器路径的访问权限;
[0060] 日志管理单元2219用于将Docker容器生成的日志分类写入到容器根目录对应的文件夹中。
[0061] 所述自动配置单元2217,具体用于对所述资源服务调控模块中基于Docker建立的单元进行监听,当监听任一单元发生Docker事件,则将所述Docker事件通知上报给服务端,由所述服务端根据各个基于Docker建立的单元的ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给各个基于Docker建立的模所在主机执行相应的脚本。
[0062] 所述负载均衡单元2210:其具体用于接收待执行的应用文件并将所述待执行应用文件转换为Docker镜像,启动所述Docker镜像,并根据应用层中应用程序预设的应用信息,解析并执行该待执行所述应用程序的启动命令,并将应用程序应用注册到分布式协调服务器以部署分布式协调服务器;并对所述分布式协调服务器上的应用变化情况进行监听,将应用变化情况发送至负载均衡代理器以将所述应用变化情况根据配置模版转换一定格式的配置数据并执行,并配置到通用负载均衡器。
[0063] 所述资源监控单元2212:具体用于获取各个基于Docker创建的单元中的数据,其中,数据至少包括中央处理器使用值CPU state和/或CPU核心数;根据预设规则对数据进行处理,得到各个基于Docker建立的模块的网络参数数据以供监控者对Docker进行监控。
[0064] 所述日志管理单元2219:其具体用于接收并记录创建的各个基于Docker创建的单元指令中携带宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带容器文件夹挂载参数,以使宿主机创建各个基于Docker的单元,并创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码;向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中;根据目标地址中的容器身份标识码从目标地址中获取Docker 容器对应的文件夹,以获取文件夹中的日志。
[0065] 所述权限访问单元2218:其用于设置位于当前Docker单元的请求端具有对当前基于Docker创建的单元内部数据所对应的挂载路径和容器路径的访问权限,其中,位于当前基于Docker创建的单元外部的该请求端包括文件、目录、进程、注册表和服务中的任意一种,获取外部的目标请求端对当前 Docker容器内部的目标数据的访问请求;根据预先设置的访问权限,判断所述目标请求端是否具有对所述目标数据所对应的目标挂载路径和目标容器路径的访问权限;在判断结果为是时,允许所述目标请求端访问所述目标挂载路径和所述容器路径所对应的所述目标数据。
[0066] 所述靶场系统应用程序,包括:
[0067] 靶场知识库应用231:其用于提供学习使用靶场相关知识的共享知识平台;
[0068] 具体地,为使用靶场研究人员提供学习使用靶场相关知识的共享知识平台,这些知识包括如何设定网络设备参数、网络拓扑结构、脆弱性参数、威胁参数、拟评估指标等网络攻防参数;如何使用网络攻防试验模型;如何从试验数据库中选取不同的试验模型和试验数据,进行网络攻防试验;如何全方位地对靶场和被测系统进行安全性评估;如何增加新技术来应对可能的威胁和攻击等等。
[0069] 靶场管理中心应用232:其用于基于Docker动态地创建模型以满足试验所需的各种不同攻防场景。
[0070] 具体地,进行每次靶场试验前,通过靶场管理中心可以从模型库中选取所需试验模型,也可以利用基于现有的Docker服务动态地创建新的模型以满足试验所需的各种不同攻防场景,快速灵活部署和动态创建网络攻防试验靶场,进行预想的网络攻防试验。每次试验结束后,可动态释放分配的试验资源,由靶场管理中心完整回收并供下次试验继续使用。
[0071] 靶场评估应用233:其用于记录攻防试验数据并进行处理和分析,用以评估靶场、被测系统的安全性和抗攻击性。
[0072] 具体地,利用靶场管理中心把所有的攻防试验数据都详细地记录下来,通过靶场测试评估工具对试验数据进行处理和分析,用以评估靶场、被测系统的安全性和抗攻击性,并进一步形成和丰富网络攻防试验模型和试验数据库。
[0073] 此外,所述靶场系统应用程序还包括建立靶场攻防模型库应用为使用靶场研究人员提供大量的靶场攻防模型,并通过不断地试验各种不同攻防场景,进一步丰富靶场攻防模型库。
[0074] 所述靶场系统应用程序还包括建立靶场数据库管理系统,管理靶场攻防模型库和试验数据。用本发明实施例的系统建立网络靶场的具体过程与前述方法实施例类似,此处不再赘述。
[0075] 综上所述,本发明实施例通过采用Docker引擎对所述网络靶场系统的系统资源进行虚拟化,建立虚拟系统资源;所述Docker引擎的服务进程调用虚拟系统资源布控Docker容器构建资源服务调控模块用于调配所述虚拟系统资源以支撑所述应用层创建应用程序;基于所述资源服务调控模块创建所述靶场系统应用程序。本发明既解决了“网络靶场”系统的计算资源、存储资源和网络资源的统一调度管理问题,又解决了“网络靶场”系统所要求的快速灵活定义网络拓扑结构,快速灵活实现网络拓扑的更改,快速灵活实现靶场实验网络规模可扩展等一系列问题。
[0076] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0077] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如 ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0078] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0079] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈