网络靶场实现方法、装置、设备、介质及系统制造方法及图纸

技术编号:23193369 阅读:27 留言:0更新日期:2020-01-24 17:07
本发明专利技术公开了一种网络靶场实现方法,涉及计算机安全技术领域,用于解决现有各题型难以在一个平台实现的问题,该方法包括以下步骤:接收题目及用户id;判断题目是否可复用:当题目可复用时,将题目下发至PaaS,并生成做题环境;当题目不可复用时,判断当前做题人数:当前做题人数超过预设人数时,进入排队;当前做题人数未超过预设人数时,将题目下发至PaaS,并生成做题环境;生成题目的访问指令。本发明专利技术还公开了一种网络靶场实现装置、电子设备、计算机存储介质和系统。本发明专利技术通过PaaS化实现了Linux和Windows系统不同题型的同平台实现。

Implementation method, device, equipment, medium and system of network shooting range

【技术实现步骤摘要】
网络靶场实现方法、装置、设备、介质及系统
本专利技术涉及计算机安全
,尤其涉及一种网络靶场实现方法、装置、设备、介质及系统。
技术介绍
随着全球信息安全问题的增多,计算机安全防御技术变得越来越重要,因此,出现了网络攻防靶场平台,通过搭建漏洞环境,或者提供CTF题目,供用户进行网络安全防御的训练。目前常用的攻防靶场平台的构建方式有三种,通过物理机、虚拟机或者Docker容器的方式完成平台的搭建。物理机部署漏洞攻防场景,存在部署不灵活,费用昂贵,场景复现困难,题目场景权限监控管理困难;漏洞环境全部通过虚拟机实现,过于重量级,造成大量非必要开销,场景复原不友好,管理不友好;通过Docker容器技术进行部署,常常需要重复使用中间件,且对于windows内核的环境不支持。目前要搭建漏洞环境,或是CTF题目涉及到各种底层平台、技术栈,对于Linux和Windows跨系统的做题场景难以通过一个平台实现。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种网络靶场实现方法,其通过将底层环境PaaS化,进而搭建出网络靶场。本专利技术的目的之一采用以下技术方案实现:一种网络靶场实现方法,包括以下步骤:接收题目及用户id;判断题目是否可复用:当题目可复用时,将题目下发至PaaS,并生成做题环境;当题目不可复用时,判断当前做题人数:当前做题人数超过预设人数时,进入排队;当前做题人数未超过预设人数时,将题目下发至PaaS,并生成做题环境;所述的PaaS通过第一组件、第二组件、第三组件及第四组件搭建,所述第一组件用于通过Docker生成Linux内核题型的镜像环境,所述第二组件用于通过Vagrant生成Windows内核题型的虚拟机环境,第三组件用于通过Docker生成Linux内核且需要IO转发题型的镜像环境,第四组件用于通过Windows生成Windows内核且需要IO转发题型的镜像环境;生成题目的访问指令。进一步地,所述第一组件包括Docker和Nginx中间件,所述第二组件包括Vagrant和用于连接题目网络环境的VPN,所述的第三组件包括Docker和Golang认证转发模块,所述第四组件包括Windows和AppJailLauncher认证转发模块。进一步地,生成题目的访问指令,包括以下步骤:当题目为基于Linux内核的题型时,调用第一组件,Nginx作为中间件,根据题目和用户id生成哈希值,根据该哈希值构造子域名,将根域名加上子域名作为题目的访问指令;;当题目为基于Windows内核的题型时,调用第二组件,生成连接至VPN的随机账号密码,所述VPN为连接题目网络环境的VPN,所述的随机账号密码作为题目的访问指令;当题目为基于Linux内核且需要IO转发的题型时,调用第三组件,生成哈希值口令,通过Golang将所述的哈希值口令及题目转发至TCP端口,所述哈希值口令作为题目的访问指令;当题目为基于Windows内核且需要IO转发的题型时,调用第四组件,生成哈希值口令,通过AppJailLauncher将所述的哈希值口令及题目转发至TCP端口,所述哈希值口令作为题目的访问指令。进一步地,生成题目的访问指令之后,还包括以下步骤:将访问指令返回给用户id对应的操作界面;接收所述操作界面输入的访问指令;验证所述的访问指令:当题目为基于Linux内核的题型时,访问指令为根域名和子域名,验证成功,则通过Nginx反代到题目镜像环境中;当题目为基于Windows内核的题型时,访问指令为随机账号密码,验证成功,则匹配对应的VPN,通过该VPN访问题目;当题目为基于Linux内核且需要IO转发的题型时,访问指令为哈希值口令,验证成功,则转到题目对应的TCP端口;当题目为基于Windows内核且需要IO转发的题型时,访问指令为哈希值口令,验证成功,则转到题目对应的TCP端口;验证失败,则返回错误信息到所述操作界面。进一步地,当做题时间超过预设时间或接收到提交结果指令时,回收题目的访问指令;当题目不可复用时,还要回收题目的容器,并根据下一个排队的用户id及题目,将题目下发至PaaS,并生成做题环境。进一步地,接收题目及用户id,还包括以下步骤:根据题目,匹配题目库中的题目类型、题目名称、题目描述及题目得分。本专利技术的目的之二在于提供一种网络靶场实现装置,其通过将底层环境PaaS化,进而通过一个平台实现跨系统的做题场景。本专利技术的目的之二采用以下技术方案实现:一种网络靶场实现装置,其特征在于,其包括:接收模块,用于接收题目及用户id;环境生成模块,用于判断题目是否可复用:当题目可复用时,将题目下发至PaaS,并生成做题环境;当题目不可复用时,判断当前做题人数:当前做题人数超过预设人数时,进入排队;当前做题人数未超过预设人数时,将题目下发至PaaS,并生成做题环境;指令生成模块,用于生成题目的访问指令。本专利技术的目的之三在于提供执行专利技术目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的网络靶场实现方法。本专利技术的目的之四在于提供存储专利技术目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的网络靶场实现方法。本专利技术的目的之五在于提供一种网络靶场实现系统,其包括:客户端和远程服务器;其中,所述客户端用于发送所选题目及用户id;所述远程服务器用于:接收题目及用户id;判断题目是否可复用:当题目可复用时,将题目下发至PaaS,并生成做题环境;当题目不可复用时,判断当前做题人数:当前做题人数超过预设人数时,进入排队;当前做题人数未超过预设人数时,将题目下发至PaaS,并生成做题环境;生成题目的访问指令。相比现有技术,本专利技术的有益效果在于:本专利技术通过四个组件搭建底层PaaS,实现了各种跨系统、全题型的兼容,实现了题目场景的高效部署,并降低了攻防靶场的开发成本,并通过排队实现了题目的复用机制。附图说明图1是实施例一的网络靶场实现方法的流程图;图2是实施例二的底层PaaS架构图;图3是实施例三的访问指令验证方法的流程图;图4是实施例四的网络靶场实现装置的结构框图;图5是实施例五的电子设备的结构框图。具体实施方式以下将结合附图,对本专利技术进行更为详细的描述,需要说明的是,以下参照附图对本专利技术进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。实施例一实施例一提供了一种网络靶场实现方本文档来自技高网...

【技术保护点】
1.一种网络靶场实现方法,其特征在于,包括以下步骤:/n接收题目及用户id;/n判断题目是否可复用:/n当题目可复用时,将题目下发至PaaS,并生成做题环境;/n当题目不可复用时,判断当前做题人数:/n当前做题人数超过预设人数时,进入排队;/n当前做题人数未超过预设人数时,将题目下发至PaaS,并生成做题环境;/n所述的PaaS通过第一组件、第二组件、第三组件及第四组件搭建,所述第一组件用于通过Docker生成Linux内核题型的镜像环境,所述第二组件用于通过Vagrant生成Windows内核题型的虚拟机环境,第三组件用于通过Docker生成Linux内核且需要IO转发题型的镜像环境,第四组件用于通过Windows生成Windows内核且需要IO转发题型的镜像环境;/n生成题目的访问指令。/n

【技术特征摘要】
1.一种网络靶场实现方法,其特征在于,包括以下步骤:
接收题目及用户id;
判断题目是否可复用:
当题目可复用时,将题目下发至PaaS,并生成做题环境;
当题目不可复用时,判断当前做题人数:
当前做题人数超过预设人数时,进入排队;
当前做题人数未超过预设人数时,将题目下发至PaaS,并生成做题环境;
所述的PaaS通过第一组件、第二组件、第三组件及第四组件搭建,所述第一组件用于通过Docker生成Linux内核题型的镜像环境,所述第二组件用于通过Vagrant生成Windows内核题型的虚拟机环境,第三组件用于通过Docker生成Linux内核且需要IO转发题型的镜像环境,第四组件用于通过Windows生成Windows内核且需要IO转发题型的镜像环境;
生成题目的访问指令。


2.如权利要求1所述的网络靶场实现方法,其特征在于,所述第一组件包括Docker和Nginx中间件,所述第二组件包括Vagrant和用于连接题目网络环境的VPN,所述的第三组件包括Docker和Golang认证转发模块,所述第四组件包括Windows和AppJailLauncher认证转发模块。


3.如权利要求2所述的网络靶场实现方法,其特征在于,生成题目的访问指令,包括以下步骤:
当题目为基于Linux内核的题型时,调用第一组件,Nginx作为中间件,根据题目和用户id生成哈希值,根据该哈希值构造子域名,将根域名加上子域名作为题目的访问指令;
当题目为基于Windows内核的题型时,调用第二组件,生成连接至VPN的随机账号密码,所述VPN为连接题目网络环境的VPN,所述的随机账号密码作为题目的访问指令;
当题目为基于Linux内核且需要IO转发的题型时,调用第三组件,生成哈希值口令,通过Golang将所述的哈希值口令及题目转发至TCP端口,所述哈希值口令作为题目的访问指令;
当题目为基于Windows内核且需要IO转发的题型时,调用第四组件,生成哈希值口令,通过AppJailLauncher将所述的哈希值口令及题目转发至TCP端口,所述哈希值口令作为题目的访问指令。


4.如权利要求3所述的网络靶场实现方法,其特征在于,生成题目的访问指令之后,还包括以下步骤:
将访问指令返回给用户id对应的操作界面;
接收所述操作界面输入的访问指令;
验证所述的访问指令:
当题目为基于Linux内核的题型时,访问指令为根域...

【专利技术属性】
技术研发人员:段吉瑞
申请(专利权)人:光通天下网络科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1