CN115203709A - 安全指标验证系统的构建方法、装置、计算机设备及介质 - Google Patents
安全指标验证系统的构建方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN115203709A CN115203709A CN202211125478.8A CN202211125478A CN115203709A CN 115203709 A CN115203709 A CN 115203709A CN 202211125478 A CN202211125478 A CN 202211125478A CN 115203709 A CN115203709 A CN 115203709A
- Authority
- CN
- China
- Prior art keywords
- docker
- mirror image
- parameter
- image
- operated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种安全指标验证系统的构建方法、装置、计算机设备及介质,涉及自动测试技术领域,其中,该方法包括:接收测试请求,测试请求包括待测试的各项安全指标;根据待测试的各项安全指标和当前运行的容器环境,确定待运行的镜像;基于待运行的镜像,根据资源冲突规避原则配置镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成配置文件;根据配置文件,构建安全指标验证系统。该方案配置的镜像和容器的相关信息可以规避资源冲突,有利于实现自动解决并发场景下的资源冲突问题;可以降低配置参数的操作复杂度,能够便捷地调整参数,灵活验证,实现了参数模糊配置,无需测试人员知晓参数,可以避免削弱验证效果。
Description
技术领域
本发明涉及自动测试技术领域,特别涉及一种安全指标验证系统的构建方法、装置、计算机设备及介质。
背景技术
目前,快速搭建验证系统的方法主要是构建docker镜像,启动对应容器,再对渗透测试人员提供服务。该模式下存在两个问题:一是参数问题,若在docker镜像的构建阶段固定参数,则整体验证系统容易存在资源冲突(如端口等),若在容器启动阶段配置参数,则增加了测试人员的操作复杂度,且测试人员已知参数将削弱验证效果;二是并发问题,当多个测试人员或自动测试装置请求启动容器时,服务器将启动多个相同容器,即重复构建多个相同容器,造成服务器资源浪费,并容易引起资源冲突。
发明内容
有鉴于此,本发明实施例提供了一种验证系统的构建方法,以解决现有技术中搭建验证系统时存在的参数调整便捷性低、资源冲突以及资源浪费的技术问题。该方法包括:
接收测试请求,所述测试请求包括待测试的各项安全指标;
根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像;
基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成可被docker实用工具解析的配置文件;
根据配置文件,构建安全指标验证系统。
本发明实施例还提供了一种验证系统的构建装置,以解决现有技术中搭建验证系统时存在的参数调整便捷性低、资源冲突以及资源浪费的技术问题。该装置包括:
请求接收模块,用于接收测试请求,所述测试请求包括待测试的各项安全指标;
镜像确定模块,用于根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像;
配置文件生成模块,用于基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成可被docker实用工具解析的配置文件;
验证系统构建模块,用于根据配置文件,构建安全指标验证系统。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的验证系统的构建方法,以解决现有技术中搭建验证系统时存在的参数调整便捷性低、资源冲突以及资源浪费的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的验证系统的构建方法的计算机程序,以解决现有技术中搭建验证系统时存在的参数调整便捷性低、资源冲突以及资源浪费的技术问题。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:通过根据待测试的各项安全指标和当前运行的容器环境,确定出待运行的docker镜像,基于待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,来生成配置文件,进而根据配置文件,构建安全指标验证系统。由于通过根据待测试的各项安全指标和当前运行的容器环境,确定出待运行的docker镜像,使得在满足测试需求的条件下,可以避免重复构建容器导致的服务器资源浪费的问题;同时,在生成配置文件的过程中,是根据资源冲突规避原则配置docker镜像和容器的相关信息,使得配置的docker镜像和容器的相关信息可以规避资源冲突,有利于实现自动解决并发场景下的资源冲突问题;根据参数模糊原则配置环境信息,实现了为参数配置提供参考、依据,可以降低配置参数的操作复杂度,进而使得能够便捷地调整参数,实现了灵活验证,也进一步节省了服务器资源,同时,参数模糊原则的使用实现了参数模糊配置,无需测试人员知晓参数,可以避免削弱验证效果,因此,上述安全指标验证系统的构建方法能够满足大规模并发场景下的自动测试需求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种验证系统的构建方法的流程图;
图2是本发明实施例提供的一种应用上述安全指标验证系统的构建方法进行测试的业务流程示意图;
图3是本发明实施例提供的一种应用上述安全指标验证系统的构建方法进行测试的原理示意图;
图4是本发明实施例提供的一种计算机设备的结构框图;
图5是本发明实施例提供的一种验证系统的构建装置的结构框图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中,提供了一种验证系统的构建方法,如图1所示,该方法包括:
步骤S101:接收测试请求,所述测试请求包括待测试的各项安全指标;
步骤S102:根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像;
步骤S103:基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成可被docker实用工具解析的配置文件;
步骤S104:根据配置文件,构建安全指标验证系统。
由图1所示的流程可知,在本发明实施例中,通过根据待测试的各项安全指标和当前运行的容器环境,确定出待运行的docker镜像,基于待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,来生成配置文件,进而根据配置文件,构建安全指标验证系统。由于通过根据待测试的各项安全指标和当前运行的容器环境,确定出待运行的docker镜像,使得在满足测试需求的条件下,可以避免重复构建容器导致的服务器资源浪费的问题;同时,在生成配置文件的过程中,是根据资源冲突规避原则配置docker镜像和容器的相关信息,使得配置的docker镜像和容器的相关信息可以规避资源冲突,有利于实现自动解决并发场景下的资源冲突问题;根据参数模糊原则配置环境信息,实现了为参数配置提供参考、依据,可以降低配置参数的操作复杂度,进而使得能够便捷地调整参数,实现了灵活验证,也进一步节省了服务器资源,同时,参数模糊原则的使用实现了参数模糊配置,无需测试人员知晓参数,可以避免削弱验证效果,因此,上述安全指标验证系统的构建方法能够满足大规模并发场景下的自动测试需求。
具体实施时,上述在生成可被docker实用工具解析的配置文件的过程中,docker实用工具可以是任意一种docker实用工具,进而生成可被对应的docker实用工具解析的配置文件。例如,docker实用工具可以是Compose,此时生成可被docker实用工具Compose解析的docker-compose配置文件。
具体实施时,为了实现测试管理,在接收测试人员或自动测试装置发送的测试请求中可以包括用户信息,以便实现验证用户身份。
具体实施时,为了实现在满足测试需求的情况下,尽量减少系统开销,在本实施例中,提出了通过当前运行的容器环境优化输入的待测试的安全指标,并优化待运行的docker镜像,例如,根据当前运行的容器环境,获取当前运行的容器所支持的安全指标,在处理测试请求的阶段中,系统运行环境暂时保持不变,以防止对优化结果造成影响;
从所述待测试的各项安全指标中移除所述当前运行的容器所支持的安全指标,剩下的待测试的各项安全指标形成待覆盖指标集合;
根据docker镜像与docker镜像所支持的安全指标的预设对应关系,选出支持所述待覆盖指标集合中安全指标的所有docker镜像,形成镜像集合;其中,所述选出的docker镜像至少支持所述待覆盖指标集合中的一项安全指标;
从所述镜像集合中,选出满足安全指标的测试需求且系统开销最小的docker镜像作为待运行的docker镜像。
具体实施时,通过以下步骤实现docker镜像优化,以选出满足安全指标的测试需求且系统开销最小的docker镜像作为待运行的docker镜像:
循环执行以下步骤,直至所述待覆盖指标集合为空结束循环,将必需项镜像集合中的docker镜像确定为待运行的docker镜像:
从所述待覆盖指标集合当前包括的安全指标中确定出必需项,所述必需项是所述镜像集合中只有一个docker镜像支持的安全指标,将所述镜像集合中支持所述必需项的docker镜像作为必需项镜像;将必需项镜像加入所述必需项镜像集合中,从所述待覆盖指标集合中删除所述必需项;
针对每个所述必需项镜像,计算所述必需项镜像支持的除了所述必需项之外的安全指标与所述待覆盖指标集合当前包括的安全指标的交集,在所述待覆盖指标集合中删除所述交集包括的安全指标;
针对所述待覆盖指标集合当前包括的安全指标,从所述镜像集合中选出支持安全指标数量最多的docker镜像;
若选出的docker镜像为多个,将多个docker镜像中系统开销最小的docker镜像加入所述必需项镜像集合。
具体实施时,docker镜像筛选与优化的过程,可以通过以下步骤实现,以选出满足安全指标的测试需求且系统开销最小的docker镜像作为待运行的docker镜像:
1. 分析当前系统中正在运行的docker容器(该阶段中系统运行环境暂时保持不变,防止对优化结果造成影响),获得其能够支持的安全指标,测试请求中包括的待测试的各项安全指标为待覆盖安全指标,待覆盖安全指标组成上述待覆盖指标集合,从待覆盖安全指标中将与正在运行的docker容器所支持的安全指标重叠的安全指标移除;
2. docker镜像与docker镜像所支持的安全指标的预设对应关系可以存储在镜像知识库中,从镜像知识库中选出所有支持至少一项剩余的待覆盖安全指标(即待覆盖指标集合中当前剩余的安全指标)的docker镜像,选出的各docker镜像组成上述镜像集合,该镜像集合中的docker镜像可以通过列表的形式呈现,即镜像集合呈现为镜像列表;
3. 将剩余的待覆盖安全指标中只有一个docker镜像支持的安全指标视为必需项,将其对应的docker镜像在本次测试中视为必需项镜像,即为待运行的docker镜像,将必需项镜像加入必需项镜像集合,并将必需项的安全指标从待覆盖安全指标(即上述待覆盖指标集合)中移除;
4. 计算必需项镜像支持的除了必需项之外的其他安全指标与当前剩余的待覆盖安全指标的交集,从当前剩余的待覆盖安全指标(即上述待覆盖指标集合)中移除该交集;
5. 对于当前剩余的待覆盖安全指标,选出所有队列中支持待覆盖安全指标数量最多的docker镜像,若存在多个候选项,则从多个候选docker镜像中选出其中系统开销(例如,内存占用等)最小的docker镜像,该选出的系统开销最小的docker镜像即为待运行的docker镜像,并将其加入上述必需项镜像集合;
6. 重复第4和第5步,直到覆盖全部安全指标,即上述待覆盖指标集合为空,循环结束,最终必需项镜像集合中的docker镜像,即形成了能够满足安全指标测试需求且系统开销最小的docker镜像列表。
具体实施时,得到待运行的docker镜像之后,即可根据资源冲突规避原则和参数模糊原则生成可被docker实用工具Compose解析的docker-compose配置文件,例如,在生成docker-compose配置文件的过程中,通过以下方式基于资源冲突规避原则规避端口冲突的问题,例如,可以在资源冲突规避原则中预先定义docker镜像与映射端口的预设对应关系,进而在实际构建安全指标验证系统时即可根据资源冲突规避原则中的docker镜像与映射端口的预设对应关系,确定出各个所述待运行的docker镜像的映射端口;
然后,确定每个所述待运行的docker镜像的每个映射端口是否存在占用的情况(例如,系统可以通过查询消息来确定端口是否被占用),若是,即说明被占用的端口存在冲突,则为映射端口被占用的所述待运行的docker镜像重新随机分配端口,此时系统可以采用任意方法为映射端口被占用的所述待运行的docker镜像重新随机分配端口;若否,则说明不存在端口占用的情况,无需重新分配端口。
具体实施时,在生成配置文件的过程中,通过以下方式基于资源冲突规避原则规避 docker容器名称冲突的问题,例如,针对名称被占用的docker容器,从所述资源冲突规避原则中的预设标识中随机选出一个标识,采用docker容器的数据库主键和选出的标识对docker容器重新命名。
具体的,在资源冲突规避原则中可以预先存储字符、字符串等形式的多个标识,在实际构建安全指标验证系统的过程中,如果有docker容器名称冲突,系统会报错,根据报错即可确定出名称被占用的docker容器,进而可以从资源冲突规避原则中预先存储的字符、字符串等形式的标识中随机选出一个标识,将名称被占用的docker容器的数据库主键和随机选出一个标识拼接,实现为名称被占用的docker容器重新命名,可以规避docker容器名称冲突的问题。
具体实施时,在生成配置文件的过程中,通过以下方式基于资源冲突规避原则规避docker依赖的嵌套的问题,例如,梳理所述待运行的docker镜像的依赖关系,针对存在依赖嵌套关系的所述待运行的docker镜像,从资源冲突规避原则内预存的经过去耦合消除依赖嵌套关系的docker镜像中,选择与存在依赖嵌套关系的所述待运行的docker镜像支持相同安全指标的docker镜像,采用选择的docker镜像替换存在依赖嵌套关系的所述待运行的docker镜像。
具体的,在资源冲突规避原则中可以预先存储经过去耦合消除依赖嵌套关系的docker镜像,资源冲突规避原则预存的docker镜像中会有与存在依赖嵌套关系的待运行的docker镜像覆盖指标相同的docker镜像,只是可能系统开销相对较大,但是,是不存在依赖需求的docker镜像,因此,在实际构建安全指标验证系统的过程中,针对存在依赖的嵌套的所述待运行的docker镜像,可以从资源冲突规避原则存储的经过去耦合消除依赖嵌套关系的docker镜像中,选择与存在依赖嵌套关系的待运行的docker镜像支持相同安全指标的docker镜像,并用选出的docker镜像替换存在依赖嵌套关系的待运行的docker镜像,以实现对其进行优化。
具体实施时,在生成配置文件的过程中,通过以下方式基于参数模糊原则配置环境信息,以实现参数配置的灵活性、便捷性,且实现模糊配置参数,避免削弱验证效果。
例如,根据所述参数模糊原则中预设的参数类型,确定待配置参数的参数类型,其中,所述参数类型包括端口类参数、固定参数、有限可变参数以及任意可变参数,其中,所述有限可变参数为存在固定选项的参数,所述任意可变参数包括字符串类参数;
针对所述待配置参数中的端口类参数,从所述参数模糊原则中的预设整数范围内随机选择且未被选过的整数作为端口类参数;
针对所述待配置参数中的固定参数,采用所述参数模糊原则中的固定参数;
针对所述待配置参数中的有限可变参数,从所述参数模糊原则中有限可变参数对应的选项中选择选项;
针对所述待配置参数中的任意可变参数,采用随机生成算法生成任意可变参数。
具体的,在参数模糊原则中可以预先定义、存储各个参数类型对应的参数,并为各个参数类型对应的参数提供相应的配置信息。
例如,端口类参数可以是端口号等参数,针对端口号参数可以提供一个从1至65535的整数范围,在实际构建安全指标验证系统的过程中,针对端口号参数,可以从1至65535的整数范围中直接随机选择一个且未被选过的整数(即避免一个整数被重复选择,造成端口冲突)来配置端口号参数。
例如,固定参数可以是固定且不应变更的参数,针对固定参数可以提供各个固定参数对应的固定配置信息,在实际构建安全指标验证系统的过程中,针对固定参数,直接根据参数模糊原则中提供的固定配置信息配置对应的固定参数即可。
例如,有限可变参数可以是存在固定选项的参数,比如,on、off等参数,针对有限可变参数,可以提供每个有限可变参数对应的候选的固定选项,在实际构建安全指标验证系统的过程中,针对有限可变参数,根据不同的测试需求从参数模糊原则中提供的每个有限可变参数对应的候选的固定选项中,为每个有限可变参数选择一个固定选项即可完成配置。
例如,任意可变参数可以是字符串类参数等形式的随机的参数,针对任意可变参数,可以提供每个任意可变参数对应的字符串随机生成算法,在实际构建安全指标验证系统的过程中,针对任意可变参数,根据不同的测试需求,采用参数模糊原则中提供的每个任意可变参数对应的字符串随机生成算法,为每个任意可变参数随机生成字符串即可完成配置,且实现了不同测试的参数配置的定制化。字符串随机生成算法可以采用现有的算法实现,本申请不做任何限定。
具体实施时,可以预先搭建一个docker镜像知识库,该docker镜像知识库可以存储docker镜像与docker镜像所支持的安全指标的预设对应关系、上述资源冲突规避原则的相关内容和上述参数模糊原则的相关内容。
具体实施时,生成配置文件之后,即可根据配置文件构建安全指标验证系统,进而进行测试流程。
具体实施时,由于上述配置文件的生成方式,使得实现了针对不同测试定制配置文件,进而在测试完成后,系统可以保存配置文件,和/或,系统可以输出所述配置文件,将配置文件输出给测试人员或自动测试装置,以便后续可以快速复现测试环境。
具体实施时,在测试完成后,还可以根据测试过程中的报错、测试的新的安全指标等反馈情况,完善、优化docker镜像知识库中的相关信息。
具体实施时,上述安全指标验证系统的构建方法可以运行在服务器等实施测试的设备上。
具体实施时,以下结合图2、图3来介绍实施上述安全指标验证系统的构建方法的过程:
1.基础docker镜像知识库准备:可以由安全研究人员搭建一个包含上述资源冲突规避原则和参数模糊原则等内容的docker镜像知识库,将docker镜像知识库存储在数据库中。
2.启动验证系统:测试人员或自动测试装置基于测试需求(包括本次测试中需要验证的各项安全指标),通过用户接口向服务器发送启动系统的测试请求并验证身份,其中,用户接口是为测试人员或自动测试装置提供的与系统交互的接口,可以获取用户信息并验证用户身份;获取用户输入并进行标准化处理,可以向输出验证系统构建所需的用户信息和标准化参数;可以向用户提供数据库查询功能。
3.服务器处理测试请求:服务器基于测试请求输入的测试需求和当前正在运行的容器环境,从docker镜像知识库中筛选出docker镜像,并优化得到待运行的docker镜像,待运行的docker镜像形成一个docker镜像列表;基于该docker镜像列表,根据docker镜像知识库中的资源冲突规避原则和参数模糊原则,定制docker-compose配置文件,并构建安全指标验证系统,同时,通过用户管理功能记录用户身份信息与测试环境配置,在用户启动或退出验证系统时避免对其他用户造成影响。
4.测试:测试人员或自动测试装置基于验证系统进行测试流程。
5.退出验证系统:测试完成后,测试人员或自动测试装置退出验证系统,服务器验证用户身份并停止验证系统,通过用户接口向测试人员或自动测试装置提供测试环境的完整docker-compose配置文件,以便快速复现测试环境。
6.镜像知识库完善:安全研究人员可以基于测试反馈,优化和完善镜像知识库的相关内容。
在本实施例中,提供了一种计算机设备,如图4所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的验证系统的构建方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的验证系统的构建方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种验证系统的构建装置,如下面的实施例所述。由于验证系统的构建装置解决问题的原理与验证系统的构建方法相似,因此验证系统的构建装置的实施可以参见验证系统的构建方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本发明实施例的验证系统的构建装置的一种结构框图,如图5所示,该装置包括:
请求接收模块501,用于接收测试请求,所述测试请求包括待测试的各项安全指标;
镜像确定模块502,用于根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像;
配置文件生成模块503,用于基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成可被docker实用工具解析的配置文件;
验证系统构建模块504,用于根据配置文件,构建安全指标验证系统。
在一个实施例中,镜像确定模块,包括:
指标获取单元,用于根据当前运行的容器环境,获取当前运行的容器所支持的安全指标;
指标优化单元,用于从所述待测试的各项安全指标中移除所述当前运行的容器所支持的安全指标,剩下的待测试的各项安全指标形成待覆盖指标集合;
镜像筛选单元,用于根据docker镜像与docker镜像所支持的安全指标的预设对应关系,选出支持所述待覆盖指标集合中安全指标的所有docker镜像,形成镜像集合;其中,所述选出的docker镜像至少支持所述待覆盖指标集合中的一项安全指标;
镜像优化单元,用于从所述镜像集合中,选出满足安全指标的测试需求且系统开销最小的docker镜像作为待运行的docker镜像。
在一个实施例中,镜像优化单元,具体用于循环执行以下步骤,直至所述待覆盖指标集合为空结束循环,将必需项镜像集合中的docker镜像确定为待运行的docker镜像:
从所述待覆盖指标集合当前包括的安全指标中确定出必需项,所述必需项是所述镜像集合中只有一个docker镜像支持的安全指标,将所述镜像集合中支持所述必需项的docker镜像作为必需项镜像;将必需项镜像加入所述必需项镜像集合中,从所述待覆盖指标集合中删除所述必需项;
针对每个所述必需项镜像,计算所述必需项镜像支持的除了所述必需项之外的安全指标与所述待覆盖指标集合当前包括的安全指标的交集,在所述待覆盖指标集合中删除所述交集包括的安全指标;
针对所述待覆盖指标集合当前包括的安全指标,从所述镜像集合中选出支持安全指标数量最多的docker镜像;
若选出的docker镜像为多个,将多个docker镜像中系统开销最小的docker镜像加入所述必需项镜像集合。
在一个实施例中,配置文件生成模块,包括:
镜像端口单元,用于根据资源冲突规避原则中的docker镜像与映射端口的预设对应关系,确定出各个所述待运行的docker镜像的映射端口;
确定每个所述待运行的docker镜像的每个映射端口是否存在占用的情况,若是,则为映射端口被占用的所述待运行的docker镜像重新随机分配端口。
在一个实施例中,配置文件生成模块,包括:
docker容器命名单元,用于针对名称被占用的docker容器,从所述资源冲突规避原则中的预设标识中随机选出一个标识,采用docker容器的数据库主键和选出的标识对docker容器重新命名。
在一个实施例中,配置文件生成模块,包括:
docker镜像关系优化单元,用于梳理所述待运行的docker镜像的依赖嵌套关系;针对存在依赖嵌套关系的所述待运行的docker镜像,从资源冲突规避原则内预存的经过去耦合消除依赖嵌套关系的docker镜像中,选择与存在依赖嵌套关系的所述待运行的docker镜像支持相同安全指标的docker镜像,采用选择的docker镜像替换存在依赖嵌套关系的所述待运行的docker镜像。
在一个实施例中,配置文件生成模块,包括:
参数类型确定单元,用于根据所述参数模糊原则中预设的参数类型,确定待配置参数的参数类型,其中,所述参数类型包括端口类参数、固定参数、有限可变参数以及任意可变参数,其中,所述有限可变参数为存在固定选项的参数,所述任意可变参数包括字符串类参数;
端口类参数配置单元,用于针对所述待配置参数中的端口类参数,从所述参数模糊原则中的预设整数范围内随机选择且未被选过的整数作为端口类参数;
固定参数配置单元,用于针对所述待配置参数中的固定参数,采用所述参数模糊原则中的固定参数;
有限可变参数配置单元,用于针对所述待配置参数中的有限可变参数,从所述参数模糊原则中有限可变参数对应的选项中选择选项;
任意可变参数配置单元,用于针对所述待配置参数中的任意可变参数,采用随机生成算法生成任意可变参数。
在一个实施例中,上述装置还包括:
配置环境管理模块,用于在测试完成后,保存和/或输出所述配置文件。
本发明实施例实现了如下技术效果:通过根据待测试的各项安全指标和当前运行的容器环境,确定出待运行的docker镜像,基于待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,来生成配置文件,进而根据配置文件,构建安全指标验证系统。由于通过根据待测试的各项安全指标和当前运行的容器环境,确定出待运行的docker镜像,使得在满足测试需求的条件下,可以避免重复构建容器导致的服务器资源浪费的问题;同时,在生成配置文件的过程中,是根据资源冲突规避原则配置docker镜像和容器的相关信息,使得配置的docker镜像和容器的相关信息可以规避资源冲突,有利于实现自动解决并发场景下的资源冲突问题;根据参数模糊原则配置环境信息,实现了为参数配置提供参考、依据,可以降低配置参数的操作复杂度,进而使得能够便捷地调整参数,实现了灵活验证,也进一步节省了服务器资源,同时,参数模糊原则的使用实现了参数模糊配置,无需测试人员知晓参数,可以避免削弱验证效果,因此,上述安全指标验证系统的构建方法能够满足大规模并发场景下的自动测试需求。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种验证系统的构建方法,其特征在于,包括:
接收测试请求,所述测试请求包括待测试的各项安全指标;
根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像;
基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成可被docker实用工具解析的配置文件;
根据所述配置文件,构建安全指标验证系统。
2.如权利要求1所述的验证系统的构建方法,其特征在于,根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像,包括:
根据当前运行的容器环境,获取当前运行的容器所支持的安全指标;
从所述待测试的各项安全指标中移除所述当前运行的容器所支持的安全指标,剩下的待测试的各项安全指标形成待覆盖指标集合;
根据docker镜像与docker镜像所支持的安全指标的预设对应关系,选出支持所述待覆盖指标集合中安全指标的所有docker镜像,形成镜像集合;其中,所述选出的docker镜像至少支持所述待覆盖指标集合中的一项安全指标;
从所述镜像集合中,选出满足安全指标的测试需求且系统开销最小的docker镜像作为待运行的docker镜像。
3.如权利要求2所述的验证系统的构建方法,其特征在于,从所述镜像集合中,选出满足安全指标的测试需求且系统开销最小的docker镜像作为待运行的docker镜像,包括:
循环执行以下步骤,直至所述待覆盖指标集合为空结束循环,将必需项镜像集合中的docker镜像确定为待运行的docker镜像:
从所述待覆盖指标集合当前包括的安全指标中确定出必需项,所述必需项是所述镜像集合中只有一个docker镜像支持的安全指标,将所述镜像集合中支持所述必需项的docker镜像作为必需项镜像;将必需项镜像加入所述必需项镜像集合中,从所述待覆盖指标集合中删除所述必需项;
针对每个所述必需项镜像,计算所述必需项镜像支持的除了所述必需项之外的安全指标与所述待覆盖指标集合当前包括的安全指标的交集,在所述待覆盖指标集合中删除所述交集包括的安全指标;
针对所述待覆盖指标集合当前包括的安全指标,从所述镜像集合中选出支持安全指标数量最多的docker镜像;
若选出的docker镜像为多个,将多个docker镜像中系统开销最小的docker镜像加入所述必需项镜像集合。
4.如权利要求1至3中任一项所述的验证系统的构建方法,其特征在于,基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像的相关信息,包括:
根据资源冲突规避原则中的docker镜像与映射端口的预设对应关系,确定出各个所述待运行的docker镜像的映射端口;
确定每个所述待运行的docker镜像的每个映射端口是否存在占用的情况,若是,则为映射端口被占用的所述待运行的docker镜像重新随机分配端口。
5.如权利要求1至3中任一项所述的验证系统的构建方法,其特征在于,基于所述待运行的docker镜像,根据资源冲突规避原则配置容器的相关信息,包括:
针对名称被占用的docker容器,从所述资源冲突规避原则中的预设标识中随机选出一个标识,采用docker容器的数据库主键和选出的标识对docker容器重新命名。
6.如权利要求1至3中任一项所述的验证系统的构建方法,其特征在于,基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像的相关信息,包括:
梳理所述待运行的docker镜像的依赖嵌套关系;
针对存在依赖嵌套关系的所述待运行的docker镜像,从资源冲突规避原则内预存的经过去耦合消除依赖嵌套关系的docker镜像中,选择与存在依赖嵌套关系的所述待运行的docker镜像支持相同安全指标的docker镜像,采用选择的docker镜像替换存在依赖嵌套关系的所述待运行的docker镜像。
7.如权利要求1至3 中任一项所述的验证系统的构建方法,其特征在于,根据参数模糊原则配置环境信息,包括:
根据所述参数模糊原则中预设的参数类型,确定待配置参数的参数类型,其中,所述参数类型包括端口类参数、固定参数、有限可变参数以及任意可变参数,其中,所述有限可变参数为存在固定选项的参数,所述任意可变参数包括字符串类参数;
针对所述待配置参数中的端口类参数,从所述参数模糊原则中的预设整数范围内随机选择且未被选过的整数作为端口类参数;
针对所述待配置参数中的固定参数,采用所述参数模糊原则中的固定参数;
针对所述待配置参数中的有限可变参数,从所述参数模糊原则中有限可变参数对应的选项中选择选项;
针对所述待配置参数中的任意可变参数,采用随机生成算法生成任意可变参数。
8.如权利要求1至3中任一项所述的验证系统的构建方法,其特征在于,还包括:
在测试完成后,保存和/或输出所述配置文件。
9.一种验证系统的构建装置,其特征在于,包括:
请求接收模块,用于接收测试请求,所述测试请求包括待测试的各项安全指标;
镜像确定模块,用于根据所述待测试的各项安全指标和当前运行的容器环境,确定待运行的docker镜像;
配置文件生成模块,用于基于所述待运行的docker镜像,根据资源冲突规避原则配置docker镜像和容器的相关信息,根据参数模糊原则配置环境信息,生成可被docker实用工具解析的配置文件;
验证系统构建模块,用于根据所述配置文件,构建安全指标验证系统。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的验证系统的构建方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至8中任一项所述的验证系统的构建方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125478.8A CN115203709B (zh) | 2022-09-16 | 2022-09-16 | 安全指标验证系统的构建方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125478.8A CN115203709B (zh) | 2022-09-16 | 2022-09-16 | 安全指标验证系统的构建方法、装置、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115203709A true CN115203709A (zh) | 2022-10-18 |
CN115203709B CN115203709B (zh) | 2023-01-10 |
Family
ID=83571930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211125478.8A Active CN115203709B (zh) | 2022-09-16 | 2022-09-16 | 安全指标验证系统的构建方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203709B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992115A (zh) * | 2024-04-02 | 2024-05-07 | 建信金融科技有限责任公司 | 系统配置处理方法、装置、设备、介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528200A (zh) * | 2016-10-08 | 2017-03-22 | 广州视睿电子科技有限公司 | 一种基于docker compose的持续集成方法及装置 |
CN107704309A (zh) * | 2017-09-21 | 2018-02-16 | 中智关爱通(上海)科技股份有限公司 | 基于Docker构建标准化运行环境的方法及系统 |
CN108038051A (zh) * | 2017-11-03 | 2018-05-15 | 深圳市牛鼎丰科技有限公司 | 微服务的发布方法、装置、计算机设备和存储介质 |
US20180189296A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Multimedia analytics in Spark using Docker |
CN108427641A (zh) * | 2018-01-29 | 2018-08-21 | 中国互联网络信息中心 | 一种基于Docker容器的多任务调度自动化测试方法及系统 |
CN114327779A (zh) * | 2021-12-30 | 2022-04-12 | 北京瑞莱智慧科技有限公司 | 一种应用运行环境搭建方法、装置及存储介质 |
CN114546819A (zh) * | 2020-11-26 | 2022-05-27 | 龙芯中科技术股份有限公司 | 代码处理方法、装置、电子设备及可读介质 |
-
2022
- 2022-09-16 CN CN202211125478.8A patent/CN115203709B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528200A (zh) * | 2016-10-08 | 2017-03-22 | 广州视睿电子科技有限公司 | 一种基于docker compose的持续集成方法及装置 |
US20180189296A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Multimedia analytics in Spark using Docker |
CN107704309A (zh) * | 2017-09-21 | 2018-02-16 | 中智关爱通(上海)科技股份有限公司 | 基于Docker构建标准化运行环境的方法及系统 |
CN108038051A (zh) * | 2017-11-03 | 2018-05-15 | 深圳市牛鼎丰科技有限公司 | 微服务的发布方法、装置、计算机设备和存储介质 |
CN108427641A (zh) * | 2018-01-29 | 2018-08-21 | 中国互联网络信息中心 | 一种基于Docker容器的多任务调度自动化测试方法及系统 |
CN114546819A (zh) * | 2020-11-26 | 2022-05-27 | 龙芯中科技术股份有限公司 | 代码处理方法、装置、电子设备及可读介质 |
CN114327779A (zh) * | 2021-12-30 | 2022-04-12 | 北京瑞莱智慧科技有限公司 | 一种应用运行环境搭建方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992115A (zh) * | 2024-04-02 | 2024-05-07 | 建信金融科技有限责任公司 | 系统配置处理方法、装置、设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115203709B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9742640B2 (en) | Identifying compatible web service policies | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
US9830385B2 (en) | Methods and apparatus for partitioning data | |
CN115203709B (zh) | 安全指标验证系统的构建方法、装置、计算机设备及介质 | |
CN114077602B (zh) | 数据迁移方法和装置、电子设备、存储介质 | |
US11769067B2 (en) | Topology-based migration assessment | |
CN108037984A (zh) | 数据分析的资源管理方法、系统以及可读存储介质 | |
CN114756466A (zh) | 一种测试用例获取方法、装置及存储介质 | |
CN111090401B (zh) | 存储设备性能预测方法及装置 | |
US20230262507A1 (en) | Entities and methods for enabling control of a usage of collected data in multiple analytics phases in communication networks | |
CN113435489B (zh) | 部署系统的方法、装置、计算机可读存储介质及处理器 | |
US8347315B1 (en) | Configuration console for messaging middleware | |
CN110928860B (zh) | 数据迁移方法和装置 | |
CN114722118A (zh) | 数据同步方法和系统、计算机可读存储介质 | |
CN115905206A (zh) | 多租户数据隔离方法、装置、设备及存储介质 | |
CN110990280A (zh) | 一种测试数据自动生成系统及方法 | |
CN112817635B (zh) | 一种模型处理方法和数据处理系统 | |
CN111338752B (zh) | 容器调整方法及装置 | |
CN118013084A (zh) | 一种基于递归算法的业务列表分级改造方法、设备及介质 | |
CN117435510B (zh) | 自动化测试方法、终端设备及计算机可读存储介质 | |
CN116881880B (zh) | 时空数据管理系统及时空数据服务化资源协同调度方法 | |
CN117555953A (zh) | 基于表配置的大数据表导出的方法、装置及电子设备 | |
CN117093203A (zh) | 模块的管理方法、装置、电子设备及可读存储介质 | |
CN114697322A (zh) | 一种基于云端业务处理的数据筛选方法 | |
CN118118262A (zh) | 防火墙的配置文件的分析方法、装置以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |