[发明专利]一种适用于网络靶场构建的异步函数流程控制方法有效
申请号: | 202010157263.9 | 申请日: | 2020-03-09 |
公开(公告)号: | CN111399815B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 杨亦松;李昆;刑元;单联强;温泉;刘康涛;夏旸;唐舸轩 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/20 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 网络 靶场 构建 异步 函数 流程 控制 方法 | ||
本发明涉及一种适用于网络靶场构建的异步函数流程控制方法,属于信息安全技术领域。本发明严格遵守Promise/A+规范中的函数命名规则,并对Promise/A+规范进行扩展封装。该方法基于PHP语言实现,依靠PHP语言中“接口”特性实现,抛弃了将Promise/A+规则作为父类的实现方法,从而保证可靠性,并根据网络靶场构建的实际需求,设计了应对异步环境中大规模链式请求和大规模并发请求的流程控制机制,提高了网络靶场的构建效率及可靠性,最终实现了一套完善的适用于网络靶场构建的异步函数流程控制方法。
技术领域
本发明属于信息安全技术领域,具体涉及一种适用于网络靶场构建的异步函数流程控制方法。
背景技术
网络靶场作为应对网络安全威胁、网络对抗技术装备试验、网络攻防战法演练、培育生成网络攻防对抗能力的重要基础设施,被众多网络安全部门所应用。目前网络靶场的底层构建大多基于OpenStack、CEPH、OpenVswitch等开源架构构建。这些开源架构对外提供基于HTTP请求的API接口,如创建网络,创建存储卷,软件定义网络等功能。网络靶场的构建需要同步或异步的调用这些外部API接口来完成相应的功能。由于网络靶场的构建流程复杂,因此需要严格的流程控制机制来保证接口调用的安全性和可靠性。若不建立函数流程控制机制,程序在异步调用外部API接口的过程中会频繁出现回调函数,甚至多层嵌套的回调函数。大量出现的多层嵌套回调函数容易造成回调地狱问题,给网络靶场后期扩展和代码维护造成困难。更严重的是,在多层嵌套的回调函数中,系统将回调函数交给所嵌套的第三方编译器来处理,放弃了对函数的控制权,同时也丢失了回调函数的返回值和内存栈信息,存在严重的安全性问题。因此这种回调函数方式不符合网络靶场的构建要求。如何构建一套适用于网络靶场构建的异步函数流程控制方法是一个亟需解决的问题。
Promise/A+规范的推出,解决了回调函数安全性问题,即把多层嵌套的异步回调函数,转化为顺序异步函数,使程序重新获得嵌套函数中丢失的返回值和内存栈信息,从而控制程序的执行流程。Promise/A+规范为异步流程控制提供了新的解决思路,很多WEB构建框架都基于Promise/A+规范设计了自己的异步流程控制机制。但是Promise/A+规范与这些流程控制机制,并不完全适用于网络靶场的构建。究其原因主要有以下几方面:
1Promise/A+标准并没有规定回调函数转化的具体的实现机制,没有给出捕获异常的方法,所以无法直接使用Promise/A+标准来规范程序流程。
2目前很多架构将Promise/A+规则作为父类实现,当Promise/A+规则实现类被子类继承,子类可以修改父类中所包含的变量值,在特定情况下将影响程序的可靠性。
3目前流行的流程控制机制架大多扩展了Promise/A+规范中的命名方式,甚至对Promise/A+规范中规定的方法名称做出了修改。这种修改可能与后续的Promise/A+标准相冲突,对程序后期扩展和维护将造成困难。
4现有架构实现Promise/A+规则的过程中,并没有考虑网络靶场构建的实际需求,没有考虑异步情况下大规模并发请求函数和大规模链式请求函数的流程控制问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种适用于网络靶场构建的异步函数流程控制方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种适用于网络靶场构建的异步函数流程控制方法,包括以下步骤:
步骤一、设计异步函数流程控制机制类图;
步骤二、基于步骤一,用程序设计的方法对Promise/A+规则进行类定义和封装实现;
步骤三、基于步骤二,设计Promise/A+规则协程模式实现流程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010157263.9/2.html,转载请声明来源钻瓜专利网。