掌桥专利:专业的专利平台
掌桥专利
首页

一种跨靶场任务协同的实现方法、系统、设备和存储介质

文献发布时间:2024-01-17 01:28:27


一种跨靶场任务协同的实现方法、系统、设备和存储介质

技术领域

本发明涉及网络靶场技术领域,具体涉及一种跨靶场任务协同的实现方法、系统、设备和存储介质。

背景技术

网络靶场是一种基于虚拟化技术,对真实网络空间中的网络架构、系统设备、业务流程的运行状态及运行环境进行模拟和复现的技术或产品。各行业、不同级别的企事业单位均高度重视网络靶场建设,将其作为安全能力建设的重要支撑手段,形成了覆盖不同级别、不同行业、不同技术实现线路的网络靶场共存的现状,如何实现不同技术线路的网络靶场的任务的协同是当前迫切需要解决的问题。

发明内容

鉴于上述问题,本发明实施例一种跨靶场任务协同的实现方法、系统、设备和存储介质,将协同任务分成内外两部分,并实现不同网络靶场在消息源和API接口两个层面对接,最终完成协同任务,解决现有的技术问题。

为解决上述技术问题,本发明提供以下技术方案:

第一方面,本发明提供一种跨靶场任务协同的实现方法,所述方法包括如下步骤:

发布定义完成的协同任务;

接收发布的协同任务,将协同任务拆分为网络靶场的内部对接任务和外部对接任务;

筛选与协同任务相关且与网络靶场相匹配的消息源;

筛选与协同任务需求相关且网络靶场能够提供的API接口;

根据消息源和API接口利用虚拟化服务单元执行内部对接任务;

根据消息源和API接口分别通过事件总线和API网关执行外部对接任务。

一实施例中,所述发布定义完成的协同任务包括:

通过描述协同任务的基本信息、扩展内容、任务类型、任务过程、消息接收方式和API接收方式,完成协同任务的定义;

采用订阅发布方式将定义完成的协同任务发送至指定网络靶场或其他网络靶场,发布的内容包括协同任务、消息源和API接口。

一实施例中,所述根据消息源和API接口利用虚拟化服务单元执行内部对接任务包括:

构建虚拟化服务单元;

利用虚拟化服务单元执行网络靶场的数据采集、资源访问和资源管理,将网络靶场在协同任务过程中不同维度的数据连通;

将构建的虚拟化服务单元替换为网络靶场适用的虚拟化服务单元来适配网络靶场环境并等待被API网关调用;

所述虚拟化服务单元为虚拟机或容器。

一实施例中,所述根据消息源和API接口分别通过事件总线和API网关执行外部对接任务包括:

消息源和API接口分别通过事件总线和API网关向系统任务发起方共享,提供协同任务过程中的消息同步、远程观摩和文件共享;

调用API网关的对端开发服务开展网络靶场的协同任务。

第二方面,本发明提供一种跨靶场任务协同的实现系统,所述系统包括:

协同任务发布模块:用于发布定义完成的协同任务;

协同任务拆分模块:用于接收发布的协同任务,将协同任务拆分为网络靶场的内部对接任务和外部对接任务;

第一筛选模块:用于筛选与协同任务相关且与网络靶场相匹配的消息源;

第二筛选模块:用于筛选与协同任务需求相关且网络靶场能够提供的API接口;

第一对接模块:用于根据消息源和API接口利用虚拟化服务单元执行内部对接任务;

第二对接模块:用于根据消息源和API接口分别通过事件总线和API网关执行外部对接任务。

一实施例中,所述协同任务发布模块具体用于:

通过描述协同任务的基本信息、扩展内容、任务类型、任务过程、消息接收方式和API接收方式,完成协同任务的定义;

采用订阅发布方式将定义完成的协同任务发送至指定网络靶场或其他网络靶场,发布的内容包括协同任务、消息源和API接口。

一实施例中,所述第一对接模块具体用于:

构建虚拟化服务单元;

利用虚拟化服务单元执行网络靶场的数据采集、资源访问和资源管理,将网络靶场在协同任务过程中不同维度的数据连通;

将构建的虚拟化服务单元替换为网络靶场适用的虚拟化服务单元来适配网络靶场环境并等待被API网关调用;

所述虚拟化服务单元为虚拟机或容器。

一实施例中,所述第二对接模块具体用于:

消息源和API接口分别通过事件总线和API网关向系统任务发起方共享,提供协同任务过程中的消息同步、远程观摩和文件共享;

调用API网关的对端开发服务开展网络靶场的协同任务。

第三方面,本发明提供一种电子设备,包括:

处理器、存储器、与网关通信的接口;

存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行第一方面任一项提供的一种跨靶场任务协同的实现方法。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行第一方面任一项提供的一种跨靶场任务协同的实现方法。

从上述描述可知,本发明通过发布定义完成的协同任务,接收发布的协同任务,将协同任务拆分为网络靶场的内部对接任务和外部对接任务,筛选消息源和API接口,根据消息源和API接口利用虚拟化服务单元执行内部对接任务,根据消息源和API接口分别通过事件总线和API网关执行外部对接任务。将协同任务分为内外两部分,使得网络靶场间在资源服务和API接口层面实现对接,进而完成协同任务。

附图说明

图1所示为本发明一实施例提供的跨靶场任务协同的实现方法流程示意图;

图2所示为本发明一实施例提供的跨靶场任务协同的实现系统的结构示意图;

图3所示为本发明一实施例中的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

基于现有技术的缺点,本发明实施例提供了一种控制方法的具体实施方式,如图1所示,该方法包括如下步骤:

S110:发布定义完成的协同任务。

具体地,此步骤主要是完成不同网络靶场间协同任务的定义和发布,将定义完成的协同任务发布至互联互通的网络靶场或者供其他需要进行协同任务对接的网络靶场进行接收。

协同任务定义的方式为:通过描述协同任务的基本信息、扩展内容、任务类型、任务过程、消息接收方式和API接收方式,完成协同任务的定义。基本信息包括协同任务的名称、目标和任务详情说明等。扩展内容包括协同任务所需的外部资源获取、协同任务过程中的通讯、协同任务执行过程中反馈信息的方式、协同任务数据最终交付和任务过程中网络靶场的远程验证调用方式等,并且扩展内容可根据实际需求在协同任务定义过程中进行扩展完善。通过对任务过程的描述,使得网络靶场可以充分了解协同任务的主要执行过程。通过对消息接收方式和API接收方式的描述,为不同网络靶场分别在消息层和行为层提供对应对接基础。

协同任务发布的方式为:采用订阅发布方式将定义完成的协同任务发送至指定网络靶场或其他网络靶场,发布的内容包括协同任务、消息源和API接口。也就是说,定义完成的协同任务可以对接多个网络靶场,发布的协同任务储存至消息对列,通过消息队列发送至指定网络靶场或其他网络靶场。协同任务的发布方则无需对协同任务发布后进行任何改变,网络靶场是否执行协同任务发布方也无需触发任何动作,并且当其中一个网络靶场出现故障时,其他网络靶场可以继续执行自己的协同任务而不受影响。在协同任务发布过程中,发布方网络靶场无需等待对接网络靶场的处理结果就可以继续执行自身的任务,进而降低延迟。当需协同任务量增大时,协同任务定义过程可按照自身的最大处理能力进行处理,定义完成的协同任务全部存储在消息队列中,将某一段时间的超高流量分摊到更长的一段时间内消化,避免发生系统性崩溃。

S120:接收发布的协同任务,将协同任务拆分为网络靶场的内部对接任务和外部对接任务。

具体地,此步骤主要是接收定义完成的协同任务,并将协同任务拆分为对内和对外两部分。在接收协同任务后需要了解协同任务的内并查阅其详细信息,将协同任务拆分为内部对接任务和外部对接任务,例如网络靶场本身的进展情况、数据同步、结果同步以及对外业务访问等。

S130:筛选与协同任务相关且与网络靶场相匹配的消息源。

具体地,此步骤是为了定义消息源。要求消息源与协同任务的诉求相关,并且与网络靶场相匹配,进而便于在消息层实现网络靶场的对接。消息源包括但不限于网络靶场中的消息队列、http网关、数据库、日志服务、应用引擎等以及对接方式。对接的主体包括但不限于网络靶场内的集中管理系统、核心组件、虚拟化管理平台、任务关键实体设备、数据存储设备或数据库。并且将筛选出的消息源,在协同任务持续过程中同步各项信息。

S140:筛选与协同任务需求相关且网络靶场能够提供的API接口。

具体地,此步骤是为了定义API接口。要求API接口与协同任务的诉求相关,并且网络靶场能够提供,进而便于在行为层实现网络靶场的对接。API接口包括但不限于网络靶场中的通用网络协议(如FTP服务、http服务等)以及其他专用协议访问时需要代理实现的(如工业控制协议、需要专用客户端软件访问的、非基于TCP/IP协议栈的、可提供集成访问环境和模拟协议的终端/代理)。

S150:根据消息源和API接口利用虚拟化服务单元执行内部对接任务。

具体地,此步骤是通过资源管理提供网络靶场可管控或能支持的消息层(消息源)、行为层(API接口)的资源接入形态及模式,以当前网络靶场的基础资源定义或基础组成单元方式,实现消息层、行为层的对接。

为了实现上述的目的,需要构建虚拟化服务单元,虚拟化服务单元为虚拟机或容器等。通过虚拟化服务单元统一与网络靶场进行对接,虚拟化服务单元可被网络靶场现有的基础元素构成,进而与网络靶场进行整合和构建,最终融入其中或者实现配置管理。

利用虚拟化服务单元执行网络靶场的数据采集、资源访问和资源管理,将网络靶场在协同任务过程中不同维度的数据连通,实现网络靶场内部在消息层的互联互通。上述的资源管理包括镜像资源、容器资源、数据资源的管理。其中镜像资源是指各类虚拟机资源,该类资源可作为虚拟化的资源,可灵活的同时接入网络靶场和对外被API网关所调用,提供包括访问终端以及使用特定的程序访问网络靶场;可提供非tcp/ip协议,非通用协议客户端的访问方式等。容器资源是指各类服务类应用,包括但不限于ftp服务,web服务,telnet服务等网络靶场可被直接访问的tcp/ip协议或通用的协议;也可运行消息队列的环境,用于采集网络靶场的消息数据。数据资源是指任务过程所需的需要提供给外部的数据,或者获取到的外部提供的数据存放,或者存储任务中的过程或结果数据,可通过API网关发布出去。

将构建的虚拟化服务单元替换为网络靶场适用的虚拟化服务单元来适配网络靶场环境并等待被API网关调用,实现网络靶场内部在行为层的互联互通。也就是说,虚拟化服务单元可以被不同的网络靶场下载后进行更新,更新后进行再度上传,保障可适配当前的网络靶场环境,并适配通用的技术组件为后续供API网关进行调用打下基础。更为确切的说,构建的虚拟化服务单元是为了与网络靶场进行整合和构建并融入其中,通过这种方式与不同的网络靶场进行整合对接,对接后不同的网络靶场可在消息层和行为层进行互动,执行内部对接任务。

S160:根据消息源和API接口分别通过事件总线和API网关执行外部对接任务。

具体地,消息源和API接口分别通过事件总线和API网关向系统任务发起方共享,提供协同任务过程中的消息同步、远程观摩和文件共享;

调用API网关的对端开发服务开展网络靶场的协同任务。

也就是说,构建完成的网络靶场内部对接的消息源和API接口资源,分别通过事件总线、API网关对协同任务发起方共享,提供协同任务过程中的消息同步、远程观摩(VNC/RPD)、文件共享(SFTP/FTP)、其他其他服务,直至协同任务结束。

本领域技术人员可理解的是:事件总线允许不同的网络靶场之间进行彼此通信而又不需要相互依赖,达到解耦的目的。事件是由事件源和事件处理组成的,定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于他的对象都会得到通知并被自动更新。发布订阅模式中有两个关键字——通知和更新。被观察者状态改变通知观察者做出相应更新。解决的是当对象改变时需要通知其他对象做出相应改变的问题。

API网关:可以放在两个网络靶场之间,API网关作为系统的唯一入口,进入系统的所有请求都需要经过API网关。当系统外部的应用或者客户端访问系统的时候,需要判断他们的权限。如果传输协议不一致,需要对协议进行转换;如果调用水平扩展的服务,需要做负载均衡;一旦请求流量超出系统承受的范围,需要做限流操作。针对每个请求以及回复,系统会记录响应的日志只要是涉及到对系统的请求,并且能够从业务中抽离出来的功能,都有可能在API网关上实现。

本发明通过发布定义完成的协同任务,接收发布的协同任务,将协同任务拆分为网络靶场的内部对接任务和外部对接任务。筛选消息源和API接口,根据消息源和API接口利用虚拟化服务单元执行内部对接任务,根据消息源和API接口分别通过事件总线和API网关执行外部对接任务。将协同任务分为内外两部分,使得网络靶场间在资源服务和API接口层面实现对接,进而完成协同任务。

基于同一发明构思,本申请实施例还提供了跨靶场任务协同的实现系统,可以用于实现上述实施例所描述的跨靶场任务协同的实现方法,如下面的实施例所述。由于系统解决问题的原理与方法相似,因此系统的实施可以参见方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

如图2所示,本发明提供了一种跨靶场任务协同的实现系统,在图2中该系统包括:

协同任务发布模块210:用于发布定义完成的协同任务;

协同任务拆分模块220:用于接收发布的协同任务,将协同任务拆分为网络靶场的内部对接任务和外部对接任务;

第一筛选模块230:用于筛选与协同任务相关且与网络靶场相匹配的消息源;

第二筛选模块240:用于筛选与协同任务需求相关且网络靶场能够提供的API接口;

第一对接模块250:用于根据消息源和API接口利用虚拟化服务单元执行内部对接任务;

第二对接模块260:用于根据消息源和API接口分别通过事件总线和API网关执行外部对接任务。

本发明一实施例跨靶场任务协同的实现系统,协同任务发布模块210具体用于:

通过描述协同任务的基本信息、扩展内容、任务类型、任务过程、消息接收方式和API接收方式,完成协同任务的定义;

采用订阅发布方式将定义完成的协同任务发送至指定网络靶场或其他网络靶场,发布的内容包括协同任务、消息源和API接口。

本发明一实施例跨靶场任务协同的实现系统,第一对接模块250具体用于:

构建虚拟化服务单元;

利用虚拟化服务单元执行网络靶场的数据采集、资源访问和资源管理,将网络靶场在协同任务过程中不同维度的数据连通;

将构建的虚拟化服务单元替换为网络靶场适用的虚拟化服务单元来适配网络靶场环境并等待被API网关调用;

虚拟化服务单元为虚拟机或容器。

本发明一实施例跨靶场任务协同的实现系统,第二对接模块260具体用于:

消息源和API接口分别通过事件总线和API网关向系统任务发起方共享,提供协同任务过程中的消息同步、远程观摩和文件共享;

调用API网关的对端开发服务开展网络靶场的协同任务。

本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图3,电子设备300具体包括如下内容:

处理器310、存储器320、通信单元330和总线340;

其中,处理器310、存储器320、通信单元330通过总线340完成相互间的通信;通信单元330用于实现服务器端设备以及终端设备等相关设备之间的信息传输。

处理器310用于调用存储器320中的计算机程序,处理器执行计算机程序时实现上述实施例中的跨靶场任务协同的实现方法中的全部步骤。

本领域普通技术人员应理解:存储器可以是,但不限于,随机存取存储器(RandomAccessMemory,简称:RAM),只读存储器(ReadOnlyMemory,简称:ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,简称:PROM),可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,简称:EPROM),电可擦除只读存储器(ElectricErasableProgrammable Read-OnlyMemory,简称:EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。

处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行前述任一方法实施例提供的跨靶场任务协同的实现方法。

本领域普通技术人员应理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质,具体的介质类型本申请不做限制。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

技术分类

06120116230846