本发明属于人工智能,特别涉及一种人工智能测试方法、测试平台、电子设备和存储介质。
背景技术:
1、网络靶场是一种基于虚拟化技术,对真实网络空间中的网络架构、系统设备、业务流程的运行状态及运行环境进行模拟和复现的技术或产品,以更有效地实现与网络安全相关的学习、研究、检验、竞赛、演习等行为,从而提高人员及机构的网络安全对抗水平。网络靶场包含了在线网络攻防学习环境、网络安全赛事平台、网络安全技术测评研究平台,城市级甚至国家级的网络攻防演练平台等,都可以归属于网络靶场的概念。然而,在这些可以被称为网络靶场的产品中,也存在很大的差异:支持规模的量级差异、模拟环境的复杂程度、各行业应用场景的不同、网络靶场对现实的复现程度(即仿真程度)等等。
2、由于网络靶场本身的重要性、复杂性的原因,在其投入使用之前需要进行全面的评测,而且测试涉及到许多方面,单靠网络安全人员进行测试很依赖于人员的经验能力,通常并不能全面的发现问题。另外,对于网络靶场的测试需要占据较大的存储空间,从而会影响整体的测试效率。
技术实现思路
1、针对上述问题,本发明提供了一种人工智能测试方法、测试平台、电子设备和存储介质,整个测试过程在虚拟机中进行,可以减少内存的占用,进而有效的提高了测试的效率。
2、本发明提出一种人工智能测试方法,包括:根据网络靶场特性建立测评体系,将所述测评体系接入虚拟机,并在所述测评体系中建立读写模块、测试模块及结果输出模块;对应网络靶场待测试的区域调取所述测评体系中相应的读写模块,由所述读写模块将区域数据读取至所述虚拟机中;由所述测试模块接收所述区域数据,并在所述虚拟机中对其进行测试,在测试过程中由所述虚拟机对测试过程进行监测,并实时汇报监测结果;由所述虚拟机将监测结果传输给虚拟监测器,所述虚拟监测器进行判断结果,在结果出现异常时向所述虚拟机发出中断指令,由所述虚拟机停止测试;通过所述测试模块将测试结果传输至所述结果输出模块,由所述结果输出模块将测试结果保存后发送至客户端后完成网络靶场的测试。
3、进一步的,所述根据网络靶场特性建立测评体系,将所述测评体系接入虚拟机,并在所述测评体系中建立读写模块、测试模块及结果输出模块,包括:首先将网络靶场的特性分成多个子数集,针对多个所述子数集设定对应的子测评体系;在每个所述子测评体系均建立测试模块,所述测试模块由读写模块、测试模块及结果输出模块构成;将带有所述测试模块的多个所述子测评体系进行集成,采用k-means聚类算法对多个所述子测评体系进行聚类,构成测评体系;将所述测评体系通过sdn控制器与虚拟机连接。
4、进一步的,所述对应网络靶场待测试的区域调取所述测评体系中相应的读写模块,由所述读写模块将区域数据读取至所述虚拟机中,包括:测评体系根据所述子数集的区域数据调出相应的子测评体系;由所述子测评体系中的读写模块进行读取所述子数集的数据;由所述sdn控制器将数据传输至所述虚拟机中;先在所述虚拟机中对只有读权限的被测分区或者配置为读权限的指定分区进行数据读操作,读取指定的内容并判断读取结果,正常则继续测试,异常则终止测试并上报测试结果。
5、进一步的,所述由所述测试模块接收所述区域数据,并在所述虚拟机中对其进行测试,在测试过程中由所述虚拟机对测试过程进行监测,并实时汇报监测结果,包括:由所述测试模块获取sdn控制器发送来的数据,并转化为网络数据,所述网络数据为超文本传输安全协议https数据;将转换后的网络数据发送给网络安全设备,所述网络安全设备利用人工智能模型检测转换后的网络数据是否存在bug;由sdn控制器调用全局网络资源,通过测评体系调用存储资源,并向存储资源的下发网络流表;在通过sdn交换机根据所述网络流表交换网络靶场系统内部跨物理服务器的报文,利用存储资源进行测试监测。
6、进一步的,所述由所述虚拟机将监测结果传输给虚拟监测器,所述虚拟监测器进行判断结果,在结果出现异常时向所述虚拟机发出中断指令,由所述虚拟机停止测试,包括:在虚拟监测器中建立监测标准,并根据所述监测标准设定模拟指令;将所述模拟指令连接至所述测评体系中;在所述测评体系设置指令执行模块来接收模拟指令,并执行指令操作,正常则继续测试,异常则终止测试并上报测试结果。
7、进一步的,所述通过所述测试模块将测试结果传输至所述结果输出模块,由所述结果输出模块将测试结果保存后发送至客户端后完成网络靶场的测试,包括:由所述输出模块获取待测试服务的运行配置信息,使用识别决策树对运行配置信息进行识别分类,获取分类信息;根据所述分类信息果输入至递归神经网络,判断测试是否通过;然后由人工输入自定义的待测试服务的运行配置信息,并对人工输入的运行配置信息进行检测,检测出待测试服务未明示的运行配置信息,补充完善人工输入的运行配置信息;将所述运行配置信息与所述分类信息进行对比,得到对比结果;根据所述对比结果获得测试结果,将所述测试结果保存后进行展示。
8、本发明提出一种人工智能测试平台,包括:
9、测评体系建立单元,用于根据网络靶场特性建立测评体系,将所述测评体系接入虚拟机,并在所述测评体系中建立读写模块、测试模块及结果输出模块;
10、测试数据读取单元,用于对应网络靶场待测试的区域调取所述测评体系中相应的读写模块,由所述读写模块将区域数据读取至所述虚拟机中;
11、数据测试单元,用于由所述测试模块接收所述区域数据,并在所述虚拟机中对其进行测试,在测试过程中由所述虚拟机对测试过程进行监测,并实时汇报监测结果;
12、测试监测单元,用于由所述虚拟机将监测结果传输给虚拟监测器,所述虚拟监测器进行判断结果,在结果出现异常时向所述虚拟机发出中断指令,由所述虚拟机停止测试;
13、测试结果输出单元,用于通过所述测试模块将测试结果传输至所述结果输出模块,由所述结果输出模块将测试结果保存后发送至客户端后完成网络靶场的测试;
14、sdn控制器和虚拟机;所述sdn控制器用于将所述测评体系和所述虚拟机连接。
15、本发明提出一种终端设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行上述的人工智能测试方法。
16、本发明提出一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述的人工智能测试方法。
17、本发明的有益效果是:本发明通过根据网络靶场特性建立测评体系,将测评体系接入虚拟机,在测评体系中建立读写模块、测试模块及结果输出模块,由读写模块将区域数据读取至虚拟机中,并经过测试模块接收区域数据,在虚拟机中对其进行测试,测试完成之后将测试结果传输至结果输出模块,由结果输出模块将测试结果保存后发送至客户端后完成网络靶场的测试,整个测试过程在虚拟机中进行,可以减少内存的占用,进而有效的提高了测试的效率。
1.一种人工智能测试方法,其特征在于,包括:
2.根据权利要求1所述的一种人工智能测试方法,其特征在于,所述根据网络靶场特性建立测评体系,将所述测评体系接入虚拟机,并在所述测评体系中建立读写模块、测试模块及结果输出模块,包括:
3.根据权利要求2所述的一种人工智能测试方法,其特征在于,所述对应网络靶场待测试的区域调取所述测评体系中相应的读写模块,由所述读写模块将区域数据读取至所述虚拟机中,包括:
4.根据权利要求3所述的一种人工智能测试方法,其特征在于,所述由所述测试模块接收所述区域数据,并在所述虚拟机中对其进行测试,在测试过程中由所述虚拟机对测试过程进行监测,并实时汇报监测结果,包括:
5.根据权利要求4所述的一种人工智能测试方法,其特征在于,所述由所述虚拟机将监测结果传输给虚拟监测器,所述虚拟监测器进行判断结果,在结果出现异常时向所述虚拟机发出中断指令,由所述虚拟机停止测试,包括:
6.根据权利要求5所述的一种人工智能测试方法,其特征在于,所述通过所述测试模块将测试结果传输至所述结果输出模块,由所述结果输出模块将测试结果保存后发送至客户端后完成网络靶场的测试,包括:
7.一种人工智能测试平台,其特征在于,包括:
8.根据权利要求7所述的一种人工智能测试平台,其特征在于,还包括:sdn控制器和虚拟机;所述sdn控制器用于将所述测评体系和所述虚拟机连接。
9.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行权利要求1至6任一项所述的人工智能测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的人工智能测试方法。