SOAR剧本模型、剧本构建方法、电子设备和存储介质转让专利

申请号 : CN202111647481.1

文献号 : CN114338178B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钟竹薛洪亮黄伟

申请人 : 北京安博通科技股份有限公司

摘要 :

本申请提供了一种SOAR剧本模型、剧本构建方法、电子设备和存储介质,方法包括获取初始SOAR剧本模型;根据初始SOAR剧本模型构建剧本模型,剧本模型包括控制器、触发器、第一集合对象容器、第二集合对象容器、第三集合对象容器、第四集合对象容器、第五集合对象容器和第六集合对象容器。剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本。以解决在剧本使用的过程中,若出现需求问题时解决问题过程较长且效率低的问题。

权利要求 :

1.一种SOAR剧本构建方法,其特征在于,所述方法应用于事件管理系统,具体包括以下步骤:获取初始SOAR剧本模型;

根据所述初始SOAR剧本模型构建剧本模型,所述剧本模型包括:

控制器,被配置为执行人工审批、条件判断和定时器进程;

触发器,被配置为存放多个前置App信息并运行多个前置App,接收输入的所述前置App信息,触发进入与所述前置App信息对应的应用程序;

第一集合对象容器,被配置为存放多个App信息并运行多个App,接收输入的所述App信息,调用所述App信息对应的App接口以实现应用对接;

第二集合对象容器,被配置为存放并运行连线方向集合,所述连线方向集合包括多个节点之间的数据连线方向;

第三集合对象容器,被配置为存放并运行连线走向条件集合,所述连线走向条件集合包括多个节点之间所述数据连线方向对应的条件判断信息;所述条件判断信息用于表征是否继续执行所述数据连线方向;

第四集合对象容器,被配置为存放与目标SOAR剧本对应的基本描述信息、组织机构描述信息以及执行环境基础信息;

第五集合对象容器,被配置为存放与目标SOAR剧本对应的变量信息;所述变量信息为预设剧本数据,所述预设剧本数据用于在构建目标SOAR剧本时直接调用;

第六集合对象容器,被配置为存放与目标SOAR剧本对应的来源描述信息,所述来源描述信息用于表征所述剧本对应的来源。

2.根据权利要求1所述的方法,其特征在于,所述剧本模型还包括开始节点和结束节点,其中,所述开始节点被配置为根据预设开始动作生成,所述结束节点被配置为根据结束动作生成所述剧本。

3.根据权利要求2所述的方法,其特征在于,所述根据所述初始SOAR剧本模型构建剧本模型之后,还包括:接收输入的所述开始节点、所述App信息、所述条件判断信息、所述连线方向集合、所述变量信息和所述结束节点;其中,所述App信息输入至所述第一集合对象容器,所述条件判断信息输入至第三集合对象容器,所述连线方向集合输入至第二集合对象容器,所述变量信息输入至第五集合对象容器;

所述剧本模型根据所述开始节点、所述App信息、所述条件判断信息、所述连线方向集合、所述变量信息和所述结束节点生成所述目标SOAR剧本。

4.根据权利要求3所述的方法,其特征在于,所述剧本模型根据所述开始节点、所述App信息、所述条件判断信息、所述连线方向集合、所述变量信息和所述结束节点生成所述目标SOAR剧本,包括:根据所述连线方向集合将所述开始节点、所述App信息、所述条件判断信息、所述变量信息和所述结束节点进行依赖关系的连线操作,以生成所述目标SOAR剧本。

5.根据权利要求4所述的方法,其特征在于,还包括:

响应在所述事件管理系统的用户界面上输入的对多个标识的拖拽操作,生成所述目标SOAR剧本;其中,多个标识为与所述控制器、所述触发器、所述第一集合对象容器、所述第二集合对象容器、所述第三集合对象容器、所述第四集合对象容器、所述第五集合对象容器和所述第六集合对象容器对应的可视化标识。

6.根据权利要求5所述的方法,其特征在于,还包括:

根据所述条件判断信息对所述目标SOAR剧本中的部分或全部动作进行审批处理;经过所述审批处理的所述动作将被所述目标SOAR剧本执行,未经过所述审批处理的所述动作不被所述目标SOAR剧本执行。

7.一种事件管理系统,其特征在于,所述系统包括SOAR剧本模型,所述SOAR剧本模型包括:控制器,被配置为执行人工审批、条件判断和定时器进程;

触发器,被配置为存放多个前置App信息并运行多个前置App,接收输入的所述前置App信息,触发进入与所述前置App信息对应的应用程序;

第一集合对象容器,被配置为存放多个App信息并运行多个App,接收输入的所述App信息,调用所述App信息对应的App接口以实现应用对接;

第二集合对象容器,被配置为存放并运行连线方向集合,所述连线方向集合包括多个节点之间的数据连线方向;

第三集合对象容器,被配置为存放并运行连线走向条件集合,所述连线走向条件集合包括多个节点之间所述数据连线方向对应的条件判断信息;所述条件判断信息用于表征是否继续执行所述数据连线方向;

第四集合对象容器,被配置为存放与目标SOAR剧本对应的基本描述信息、组织机构描述信息以及执行环境基础信息;

第五集合对象容器,被配置为存放与目标SOAR剧本对应的变量信息;所述变量信息为预设剧本数据,所述预设剧本数据用于在构建目标SOAR剧本时直接调用;

第六集合对象容器,被配置为存放与目标SOAR剧本对应的来源描述信息,所述来源描述信息用于表征所述剧本对应的来源。

8.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为处理器运行时执行权利要求1至6中任一项中所述的方法。

9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6中任一项中所述的方法。

说明书 :

SOAR剧本模型、剧本构建方法、电子设备和存储介质

技术领域

[0001] 本申请涉及网络安全技术领域,尤其涉及一种SOAR剧本模型、剧本构建方法、电子设备和存储介质。

背景技术

[0002] SOAR(Security Orchestration,Automation and Response,安全编排和自动化响应)为安全编排自动化与响应,并将其看作是安全编排与自动化(SOA,Security Orchestration and Automation)、安全事件响应平台(SIRP,Security Incident Response Platform)和威胁情报平台(TIP,Threat Intelligence Platform)三种技术/工具的融合。安全编排是指将客户不同的系统或者一个系统内部不同组件的安全能力通过可编程接口API(Application Programming Interface,应用程序接口)和人工检测点,按照一定的逻辑关系组合到一起,用以完成某个特定安全操作的过程。SOAR平台可以对现有的安全能力进行灵活编排,通过编写剧本(Playbook)完成场景构建,实现自动化运营。
[0003] 其中,剧本是SOAR平台中一系列动作(Action)连接起来的,包含了安全运营完整的研判处置流程。然而,目前相关技术中使用的剧本,若出现需求问题时解决问题效率低。例如,若使用剧本中发现了需要对可疑IP地址进行封禁,但发现可疑IP地址后需进行进一步判断。若增加该判断需求则需要重新构建新的剧本并采用大量时间验证,导致解决问题过程较长且效率低。

发明内容

[0004] 本申请提供了一种SOAR剧本模型、剧本构建方法、电子设备和存储介质。以解决在剧本使用的过程中,若出现需求问题时解决问题过程较长且效率低的问题。
[0005] 第一方面,本申请提供了一种SOAR剧本构建方法,方法应用于事件管理系统,具体包括以下步骤:
[0006] 获取初始SOAR剧本模型;
[0007] 根据初始SOAR剧本模型构建剧本模型,剧本模型包括:
[0008] 控制器,被配置为执行人工审批、条件判断和定时器进程;
[0009] 触发器,被配置为存放多个前置App信息并运行多个前置App,接收输入的前置App信息,触发进入与前置App信息对应的应用程序;
[0010] 第一集合对象容器,被配置为存放多个App信息并运行多个App,接收输入的App信息,调用App信息对应的App接口以实现应用对接;
[0011] 第二集合对象容器,被配置为存放并运行连线方向集合,连线方向集合包括多个节点之间的数据连线方向;
[0012] 第三集合对象容器,被配置为存放并运行连线走向条件集合,连线走向条件集合包括多个节点之间数据连线方向对应的条件判断信息;条件判断信息用于表征是否继续执行数据连线方向;
[0013] 第四集合对象容器,被配置为存放与目标SOAR剧本对应的基本描述信息、组织机构描述信息以及执行环境基础信息;
[0014] 第五集合对象容器,被配置为存放与目标SOAR剧本对应的变量信息;变量信息为预设剧本数据,预设剧本数据用于在构建目标SOAR剧本时直接调用;
[0015] 第六集合对象容器,被配置为存放与目标SOAR剧本对应的来源描述信息,来源描述信息用于表征剧本对应的来源。
[0016] 可选的,剧本模型还包括开始节点和结束节点,其中,开始节点被配置为根据预设开始动作生成,结束节点被配置为根据结束动作生成剧本。
[0017] 可选的,根据初始SOAR剧本模型构建剧本模型之后,还包括:
[0018] 接收输入的开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点;其中,App信息输入至第一集合对象容器,条件判断信息输入至第三集合对象容器,连线方向集合输入至第二集合对象容器,变量信息输入至第五集合对象容器;
[0019] 剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本。
[0020] 可选的,剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本,包括:
[0021] 根据连线方向集合将开始节点、App信息、条件判断信息、变量信息和结束节点进行依赖关系的连线操作,以生成目标SOAR剧本。
[0022] 可选的,还包括:
[0023] 响应在事件管理系统的用户界面上输入的对多个标识的拖拽操作,生成目标SOAR剧本;其中,多个标识为与控制器、触发器、第一集合对象容器、第二集合对象容器、第三集合对象容器、第四集合对象容器、第五集合对象容器和第六集合对象容器对应的可视化标识。
[0024] 可选的,还包括:
[0025] 根据条件判断信息对目标SOAR剧本中的部分或全部动作进行审批处理;经过审批处理的动作将被目标SOAR剧本执行,未经过审批处理的动作不被目标SOAR剧本执行。
[0026] 第二方面,本申请提供了一种SOAR剧本模型,具体包括:
[0027] 控制器,被配置为执行人工审批、条件判断和定时器进程;
[0028] 触发器,被配置为存放多个前置App信息并运行多个前置App,接收输入的前置App信息,触发进入与前置App信息对应的应用程序;
[0029] 第一集合对象容器,被配置为存放多个App信息并运行多个App,接收输入的App信息,调用App信息对应的App接口以实现应用对接;
[0030] 第二集合对象容器,被配置为存放并运行连线方向集合,连线方向集合包括多个节点之间的数据连线方向;
[0031] 第三集合对象容器,被配置为存放并运行连线走向条件集合,连线走向条件集合包括多个节点之间数据连线方向对应的条件判断信息;条件判断信息用于表征是否继续执行数据连线方向;
[0032] 第四集合对象容器,被配置为存放与目标SOAR剧本对应的基本描述信息、组织机构描述信息以及执行环境基础信息;
[0033] 第五集合对象容器,被配置为存放与目标SOAR剧本对应的变量信息;变量信息为预设剧本数据,预设剧本数据用于在构建目标SOAR剧本时直接调用;
[0034] 第六集合对象容器,被配置为存放与目标SOAR剧本对应的来源描述信息,来源描述信息用于表征剧本对应的来源。
[0035] 第三方面,本申请提供了一种计算机可读的存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述SOAR剧本构建方法。
[0036] 第四方面,本申请提供了一种电子设备,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述SOAR剧本构建方法。
[0037] 由以上技术方案可知,本申请提供了一种SOAR剧本模型、剧本构建方法、电子设备和存储介质,方法包括获取初始SOAR剧本模型;根据初始SOAR剧本模型构建剧本模型,剧本模型包括控制器、触发器、第一集合对象容器、第二集合对象容器、第三集合对象容器、第四集合对象容器、第五集合对象容器和第六集合对象容器。剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本。以解决在剧本使用的过程中,若出现需求问题时解决问题过程较长且效率低的问题。

附图说明

[0038] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1示出了本申请提供的SOAR剧本构建方法的流程示意图;
[0040] 图2示出了本申请提供的生成剧本的流程示意图;
[0041] 图3示出了本申请提供的选择触发器或者设置开始节点的界面示意图;
[0042] 图4示出了本申请提供的拖拽业务需要的应用App的界面示意图;
[0043] 图5示出了本申请提供的重复拖拽业务需要的应用App的界面示意图;
[0044] 图6示出了本申请提供的拖拽控制器的界面示意图;
[0045] 图7示出了本申请提供的添加变量操作的界面示意图;
[0046] 图8示出了本申请提供的拖拽人工审批节点的界面示意图;
[0047] 图9示出了本申请提供的拖拽业务需要的应用App的界面示意图。

具体实施方式

[0048] 为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
[0049] 需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
[0050] 本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
[0051] 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其他组件。
[0052] 术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
[0053] 在一些实施例中,发现一个问题或者上级指派一个任务。通常在解决问题或执行任务都会使用一定的方式方法。例如:对一个可疑IP进行封禁。那么在封禁这个IP前,会预先查询一下该IP是否存在于黑名单中。如果该IP不存在黑名单中,需进行第二次判断,是否为未知来源的IP,如果不是未知来源的IP,那么该IP在威胁情报中是否出现过。进一步查询下威胁情报的信息。如果信息正常,则需要进行分析下该IP的大概来源、目的是哪个服务器以及请求的端口是什么等步骤。最终得出结论是正常误报,还是是问题IP需要封禁。最终决定是否下发封禁命令,下发封禁命令的操作是手动登录到防火墙操作,还是使用其他工具软件进行下发封禁操作。上述为对可疑IP进行封禁工作的一系列方式方法。
[0054] 由上述实施例可知,当解决一个安全事件或者一个问题的时候,一定会借助各种工具(如安全服务软件,数据处理软件,搜集取证软件等)或请求其他人员的帮助或准许。并且当这些问题第二次或多次出现的时候,就会形成固定的一个解决套路。或通过归纳总结形成问题解决指导图以及相关操作手册。进而,在实际工作中,当形成套路去解决问题,就可以形成剧本。通过固定操作步骤来解决安全问题或执行任务。并且剧本中可以嵌入人工介入的虚拟节点,需要人员协作和上级许可等环节也可以无缝衔接。
[0055] 剧本就是现有解决问题的方式方法,把现有解决问题或实现目标的过程进行标准化和流程化。以便于当后期再次遇到时可以快速的自动化解决。无需重复的,琐碎的人为处理,节省大量人力和物力并保障处理效率和质量。
[0056] 在一些实施例中,剧本对应到SOAR体系中,剧本就由多个应用App动作Action(借助的工具,软件,具体能力等)、多个虚拟节点(人工审批,条件判断,定时器等)以及多个连线方向(逻辑前后关系)这三大模型基础叠加其他相关联的基础业务数据构成。
[0057] 在相关技术中构建SOAR剧本时,通常需要专业的技术能力和业务理解能力,技术人员的门槛较高。其次,构建完成的SOAR剧本可移植性较差,若想进行迁移,比如从A项目迁移到B项目中,均需要进行修改,增加研发工作周期以及研发工作量。再次,由于增加研发工作周期和研发工作量以及技术人员稀缺,大概率的操作过程中均存在一定的操作错误率。最重要的,若出现需求问题时解决问题效率低。例如,若使用剧本中发现了需要对可疑IP地址进行封禁,但发现可疑IP地址后需进行进一步判断。若增加该判断需求则需要重新构建新的剧本并采用大量时间验证,导致解决问题过程较长且效率低。
[0058] 为优化上述相关技术中构建SOAR剧本的过程,
[0059] 本申请提供了一种SOAR剧本构建方法,方法应用于事件管理系统,图1为本申请提供的SOAR剧本构建方法的流程示意图。参见图1,具体包括以下步骤:
[0060] S1:获取初始SOAR剧本模型;
[0061] S2:根据初始SOAR剧本模型构建剧本模型,剧本模型包括:
[0062] 控制器,被配置为执行人工审批、条件判断和定时器进程;
[0063] 触发器,被配置为存放多个前置App信息并运行多个前置App,接收输入的前置App信息,触发进入与前置App信息对应的应用程序;
[0064] 第一集合对象容器,被配置为存放多个App信息并运行多个App,接收输入的App信息,调用App信息对应的App接口以实现应用对接;
[0065] 第二集合对象容器,被配置为存放并运行连线方向集合,连线方向集合包括多个节点之间的数据连线方向;
[0066] 第三集合对象容器,被配置为存放并运行连线走向条件集合,连线走向条件集合包括多个节点之间数据连线方向对应的条件判断信息;条件判断信息用于表征是否继续执行数据连线方向;
[0067] 第四集合对象容器,被配置为存放与目标SOAR剧本对应的基本描述信息、组织机构描述信息以及执行环境基础信息;
[0068] 第五集合对象容器,被配置为存放与目标SOAR剧本对应的变量信息;变量信息为预设剧本数据,预设剧本数据用于在构建目标SOAR剧本时直接调用;
[0069] 第六集合对象容器,被配置为存放与目标SOAR剧本对应的来源描述信息,来源描述信息用于表征剧本对应的来源。
[0070] 在一些实施例中,通过上述构建完成的剧本模型来进行剧本的生成。需要说明的是,剧本中最基本的颗粒度包括点和线。点就是节点,线就是连线方向。其中,节点的类型包括应用节点即App,示例性的,普通标准的应用App(如:Email发送App,IP归属地查询App,威胁情报查询App等)。在上述第一集合对象容器中可以预先存放多个App以及对应的App信息,在构建剧本的过程中,输入至第一集合对象容器中具体的App后形成应用节点,在剧本执行时,通过执行应用节点,执行对应的App并运行其App信息。
[0071] 进一步,节点的类型还包括控制器,控制器可以为SOAR平台内置的控制器(Builtin‑ControlUnit),控制器被配置为执行人工审批、条件判断以及定时器操作等。其中,人工审批的含义为人为进行判断和批注的操作,示例性的,在执行某个操作的时候,需要上级领导授权,这个时候就是人工审批的节点起作用的时候。在执行前先进行上级领导审批授权,如果授权就继续进行,否则就终止。
[0072] 条件判断的含义为使用固定的条件进行判断后才能执行后续节点。示例性的,发送邮件告知上级领导之前分配任务的完成具体状况。但改任务分两部分,需要这两部分一起完成后,才能发送邮件。这个时候就是条件判断节点起作用的时候。在发邮件之前,需判断这两部分是否都完成,如果都完成就发送邮件,否则阻塞。等前置条件都完成后,继续进行。
[0073] 需要说明的是,触发器、应用App和内置控制器存在一定的区别,具体区别如下:首先业务上需求不一样,目的不一样。应用App是对外的,是外部软件的对接实现。例如Email邮件相关的应用。内置控制器是系统内置的是剧本运行在某些场景下需要的一些关键元素,例如人工审批,条件判断。触发器是剧本运行的前置条件。需要在特定的数据场景下才能执行。例如Kfaka队列监听触发器。需要监听Kafka消息队列中传来特定格式的数据,才能触发运行某个剧本。
[0074] 进一步,节点的类型还包括触发器,触发器可以为SOAR平台内置的触发器(Builtin‑Trigger),在运行应用节点的过程中,存在一些应用App或数据需要与前置App进行协作,在前置App执行后触发执行对应的应用App。触发器就是用于存放多个前置App信息并运行多个前置App,当接收输入的前置App信息,触发进入与前置App信息对应的应用程序。前置App为例如,Kafka消息接收App,Email邮件监听App,Http数据接入App,文件File监听App等。
[0075] 进一步,节点的类型还包括开始节点和结束节点(Builtin‑Start/End),其中,开始节点被配置为根据预设开始动作生成,结束节点被配置为根据结束动作生成剧本。在剧本后续运行过程中,也从开始节点至结束节点的顺序进行执行。节点到节点是有方向的,剧本运行时从开始节点到结束节点,在开始节点至结束节点之间存在有大量的其他节点如应用节点,这些节点是存在先后顺序执行的。连线表示从某个节点到某个节点的。如通过源节点ID到目的节点ID等每个节点ID进行集合数据组成。在底层实现时通常构建一个调用链来存储这部分数据。
[0076] 在一些实施例中,连线方向表示为从开始节点到结束节点中间,节点与节点之间的连线。同时还包括连线走向条件,线条本身具有方向性,向下一个节点运行的时候可以附件条件,判断是否符合预设的结果,进而是否继续向前还是终止到当前节点。
[0077] 示例性的,应用App为Email应用App。应用动作即为Email App可以提供的如下功能:1、发送基础的文本内容邮件功能;2、发送文本+图片结合的邮件功能;3、发送超大附件的邮件功能;4、通过关键字搜索我的收件箱中的邮件功能;5、通过关键字搜索我已发送的邮件功能。动作参数为需要填写收件人、主题、抄送人和正文等。参数就是选择并产生对应的动作而需要填写的。动作与动作的具体功能是不一样的,存在多个不同参数。全局变量为常用的一些数据,例如:OA服务器的IP地址,收件人群组,常用联系人的电话等。全局变量可以提前预设,在需要的时候直接引用。全局变量是符合大部分场景中都会使用的一些数据,而剧本局部变量为只有当前剧本才会使用的一些关键或需要复用的数据。例如:当前剧本需要进行ssh链接一个防火墙,需要IP和端口。IP和端口在后续多个应用中可能都需要使用,这时候可以把该IP和端口设置到剧本局部变量中,在剧本任何地方都可以使用。在或者连接mysql数据库的相关参数等。
[0078] 进一步地,本申请通过基于构建完成的剧本模型,叠加根据实际需求的业务处理逻辑可以进行后续的生成剧本。本申请基于剧本模型设计以实现剧本编排自动化,以及页面UI交互拖拽,编辑方式完成剧本的构建。
[0079] 进一步地,根据初始SOAR剧本模型构建剧本模型之后,图2为本申请提供的生成剧本的流程示意图。参见图2,具体生成剧本的步骤包括:
[0080] S11:接收输入的开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点;其中,App信息输入至第一集合对象容器,条件判断信息输入至第三集合对象容器,连线方向集合输入至第二集合对象容器,变量信息输入至第五集合对象容器;
[0081] S12:剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本。
[0082] 在一些实施例中,剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本,包括:根据连线方向集合将开始节点、App信息、条件判断信息、变量信息和结束节点进行依赖关系的连线操作,以生成目标SOAR剧本。
[0083] 在一些实施例中,响应在事件管理系统的用户界面上输入的对多个标识的拖拽操作,生成目标SOAR剧本;其中,多个标识为与控制器、触发器、第一集合对象容器、第二集合对象容器、第三集合对象容器、第四集合对象容器、第五集合对象容器和第六集合对象容器对应的可视化标识。
[0084] 示例性的,在剧本模型中根据实际需求输入的业务处理逻辑可以基于在用户界面中得以具体实现时,参见图3,首先选择触发器或者设置开始节点,在本实施例中,进入剧本编排流程后默认出现开始节点(Start),且开始节点不可删除。接着,参见图4,根据实际需求选择拖拽业务需要的应用App,填写必填项参数后提交保存。接着,参见图5,可重复上述选择拖拽应用App的步骤。接着,参见图6,拖拽控制器,并选择“控制器”中的“条件”,填写条件判断信息。参数信息可以使用自定义表达式“${{应用节点名称.data.参数}}”格式,还可以自动从应用节点的上下文中获取前置应用节点的响应数据。以实现控制器进行业务逻辑判断。接着,参见图7,进行添加“变量”操作,可以添加剧本局部变量或者引用全局变量。变量数据可以应用于应用App参数填写的时候。接着,参见图8,选择拖拽“人工审批节点”,剧本中出现“人工审批节点”时,自动编排运行时会触发人工操作,需要响应的人员角色手动点击同意或者不同意按钮,并给予相应意见。接着,参见图9,拖拽应用“发送邮件应用App”,待人工审批同意后,会发送邮件给对应的人员。以上步骤,示例性的构建了一个剧本。
[0085] 以上述可知,对剧本的构成进行了一个示例性的演示,本申请不对生成的剧本进行具体限定,可根据实际情况自行设计。
[0086] 在一些实施例中。本申请提供的构建剧本逻辑过程包括:1,选择触发器或者开始节点;2,设置变量(引用全局变量或设置剧本剧本变量),该步骤可重复;3,选择应用或者控制器,该步骤可重复;4,设置应用节点、触发器或控制器的别名,其中,该步骤可重复;5,选择应用中的动作,该步骤可重复;6,填写动作需要的必填参数,可以使用表达式取值,该步骤可重复;7,连线,构建应用,触发器,控制器的逻辑关系,该步骤可重复;8,保存剧本形成剧本yaml描述文件。上述逻辑过程可根据实际情况自行设计。
[0087] 在一些实施例中,根据条件判断信息对目标SOAR剧本中的部分或全部动作进行审批处理;经过审批处理的动作将被目标SOAR剧本执行,未经过审批处理的动作不被目标SOAR剧本执行。
[0088] 在一些实施例中,本申请提供的剧本中包括并不限于多个条件判断节点(根据上一个应用执行的结构或者变量进行判断走向)、多个审批节点(标准自动化流程中需要有人工介入,需要上级审批准许等)、多个虚拟节点(可扩展的节点设计,如把人当做一个应用系统)、多个异步节点(有时候一个应用动作完成后,总要等待什么操作,需要异步执行其他应用操作)以及多个可被嵌套的子剧本(嵌套微剧本,子任务,平级剧本。剧本中可以嵌套其他剧本,补充当前剧本的安全能力)。本申请并不其进行具体限定,可根据实际情况自行设计或调整。
[0089] 在一些实施例中,剧本结构体系包括但不限于:1,基本信息;2,组织机构描述信息;3,环境基础信息;4,触发器信息;5,应用App信息;6,控制器信息;7,调用链;8,变量信息。
[0090] 在一些实施例中,剧本详细组成的部分包括并不限于:剧本版本:剧本在SOAR研发体系中,随着系统的演进会有更优,更好的版本来实现。则需要兼容历史。剧本ID:剧本的唯一标识,由32位UUID组成。剧本名称:剧本的名称。简介:剧本的简介描述。描述:剧本的详细描述,包含并不限于具体的详细处理或说明。标签:给剧本打的标签,标签支持多个。分类:剧本的分类,当剧本数量特别多的时候,就需要分门别类的管理。启动start:对应应用服务或内置的虚拟节点的ID。结束end:对应应用服务或内置的虚拟节点的ID。是否启用input外部输入:剧本在处理具体安全事件问题的时候,有时候需要外部数据来驱动前进解决。需预留的接口,以便于获取外部的数据来驱动解决。应用服务节点:剧本由多个应用服务组成这里就是存储的应用服务动作数据。Start,end部分的ID均对应于此。控制器节点:虚拟节点(人工介入,人工审批,条件判断,定时器执行等)有别于普通应用服务的节点。调用链:一个剧本是由多个App和人工介入的虚拟节点构成,应用执行有具先后顺序,也具有执行的层级顺序的。调用链为剧本中应用的执行线路图。变量:包含全局变量,剧本变量(剧本在解决实际安全问题时,有时需要一些固定或预先的信息。这时可以在剧本编排过程中提前预设好,以实现应用在执行的过程中可以直接使用变量中的数据)配置项:剧本的相关扩展配置项。
包含并不限于:相关数据配置,业务配置,人员配置等。执行组织相关信息:执行剧本的相关组织机构信息。
[0091] 在一些实施例中,应用节点数据信息包括但不限于:应用在剧本中的ID:一个剧本中可以存着多个应用,此ID在剧本中具有唯一性。应用在剧本中的名称即别名:一个剧本中可以存着多个应用,需要通过别名来区分,别名不可重复。描述:当前应用节点的详细描述,包含并不限于具体的详细处理或说明。任务类型:控制器或常规节点。页面UI渲染数据:坐标X轴和Y轴,以及应用服务请求数据信息。应用服务请求数据信息包括但不限于:应用对象:应用的完整Yaml文件结构数据。要执行的动作名称:一个应用包含多个动作,本次使用的动作名称。附加其他数据:补充完善的附加数据。
[0092] 在一些实施例中,本申请提供了一种SOAR剧本模型,模型具体包括:
[0093] 控制器,被配置为执行人工审批、条件判断和定时器进程;
[0094] 触发器,被配置为存放多个前置App信息并运行多个前置App,接收输入的前置App信息,触发进入与前置App信息对应的应用程序;
[0095] 第一集合对象容器,被配置为存放多个App信息并运行多个App,接收输入的App信息,调用App信息对应的App接口以实现应用对接;
[0096] 第二集合对象容器,被配置为存放并运行连线方向集合,连线方向集合包括多个节点之间的数据连线方向;
[0097] 第三集合对象容器,被配置为存放并运行连线走向条件集合,连线走向条件集合包括多个节点之间数据连线方向对应的条件判断信息;条件判断信息用于表征是否继续执行数据连线方向;
[0098] 第四集合对象容器,被配置为存放与目标SOAR剧本对应的基本描述信息、组织机构描述信息以及执行环境基础信息;
[0099] 第五集合对象容器,被配置为存放与目标SOAR剧本对应的变量信息;变量信息为预设剧本数据,预设剧本数据用于在构建目标SOAR剧本时直接调用;
[0100] 第六集合对象容器,被配置为存放与目标SOAR剧本对应的来源描述信息,来源描述信息用于表征剧本对应的来源。
[0101] 在一些实施例中,本申请提供了一种计算机可读的存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述SOAR剧本构建方法,在此不再赘述。
[0102] 在一些实施例中,本申请提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述SOAR剧本构建方法,在此不再赘述。
[0103] 由以上实施例可知,本申请提供了一种SOAR剧本模型、剧本构建方法、电子设备和存储介质,方法包括获取初始SOAR剧本模型;根据初始SOAR剧本模型构建剧本模型,剧本模型包括控制器、触发器、第一集合对象容器、第二集合对象容器、第三集合对象容器、第四集合对象容器、第五集合对象容器和第六集合对象容器。剧本模型根据开始节点、App信息、条件判断信息、连线方向集合、变量信息和结束节点生成目标SOAR剧本。
[0104] 本申请提供的SOAR剧本以及构建SOAR剧本的方法,可以看出在构建剧本的编辑过程操作简单,编排门槛低,无需较高的专业技术能力。只需了解需要执行的业务、如何解决问题以及执行任务的过程,通过剧本模型进行操作,可顺利且快速的开发新剧本。其次,本申请提供的剧本可移植性较高,可以很轻松方便的将剧本导出迁移,直接使用至迁移目的地。导出的包括并不限于剧本本身,还会将剧本相关的应用、场景、安全事件相关信息和剧本执行记录等。再次,操作流程轻松便捷,仅需拖拽和连线的方式,具有规范的相关应用配置,只需按照提示信息一步步填写保存即可。在应用执行过程中也非常稳定,编排剧本的错误率基本没有。最重要的是,因使用门槛较低,剧本编排便捷方便,可以流程化,高效的产出。用户完全可以自己动手编排修改现有剧本或开发新的剧本。快速的解决需求或者问题。大大提高了发现问题到响应解决的过程,提高工作效率,提高生产力。
[0105] 本说明书中各个实施例之间相同相似的部分互相参照即可,在此不再赘述。
[0106] 具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的扩展媒资显示数量方法的各实施例中的部分或全部步骤。的存储介质可为磁碟、光盘、只读存储记忆体(英文:read‑only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
[0107] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
[0108] 为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。