模糊测试方法、装置、介质、电子设备及计算机程序产品与流程

文档序号:35498727发布日期:2023-09-20 03:08阅读:17来源:国知局
模糊测试方法、装置、介质、电子设备及计算机程序产品与流程

本技术涉及软件测试,具体而言,涉及一种云原生平台中虚拟机的模糊测试方法、装置、计算机可读介质、电子设备及计算机程序产品。


背景技术:

1、随着虚拟化技术的发展,虚拟机的应用越来越广泛。以qemu为代表的虚拟机已经普遍应用于云计算领域中,因此,对虚拟机进行测试来挖掘虚拟机的漏洞是保证云安全的重要手段之一。

2、然而,虚拟机通常能够同时模拟多个设备,现有的测试方案只能实现通用测试,无法对虚拟机模拟的单个设备进行针对性地测试,这会导致测试过程中无法及时触发某个设备的代码,这就导致了测试效率十分低下。


技术实现思路

1、本技术的实施例提供了一种云原生平台中虚拟机的模糊测试方法、装置、计算机可读介质、电子设备及计算机程序产品,进而至少在一定程度上可以对由虚拟机模拟的设备进行针对性地测试,并提高模糊测试的效率。

2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。

3、根据本技术实施例的一个方面,提供了一种云原生平台中虚拟机的模糊测试方法,所述方法包括:运行云原生平台中由虚拟机模拟得到的待测试设备;获取所述待测试设备的目标设备标识信息和目标内存空间信息;根据所述目标设备标识信息获取所述待测试设备的设备结构体,并根据所述设备结构体中的可操作属性构造目标结构体;其中,所述设备结构体为属性集合,所述属性集合包括至少一个可操作属性;在所述待测试设备的目标内存空间信息指示的目标内存空间中对所述虚拟机执行模糊测试流程;其中,所述模糊测试流程包括:获取随机种子数据;基于所述随机种子数据对所述目标结构体进行赋值来得到赋值后目标结构体;根据所述赋值后目标结构体随机执行所述待测试设备的设备处理流程。

4、根据本技术实施例的一个方面,提供了一种云原生平台中虚拟机的模糊测试装置,所述装置包括:运行单元,用于运行云原生平台中由虚拟机模拟得到的待测试设备;信息获取单元,用于获取所述待测试设备的目标设备标识信息和目标内存空间信息;获取和构造单元,用于根据所述目标设备标识信息获取所述待测试设备的设备结构体,并根据所述设备结构体中的可操作属性构造目标结构体;其中,所述设备结构体为属性集合,所述属性集合包括至少一个可操作属性;执行单元,用于在所述待测试设备的目标内存空间信息指示的目标内存空间中对所述虚拟机执行模糊测试流程;其中,所述模糊测试流程包括:获取随机种子数据;基于所述随机种子数据对所述目标结构体进行赋值来得到赋值后目标结构体;根据所述赋值后目标结构体随机执行所述待测试设备的设备处理流程。

5、在本技术的一些实施例中,基于前述方案,所述执行单元配置为:获取与当前模糊测试流程中待执行的设备处理流程匹配的随机种子数据。

6、在本技术的一些实施例中,基于前述方案,所述模糊测试流程是重复执行的,所述执行单元配置为:对目标随机种子数据进行随机变异,得到新随机种子数据,其中,所述目标随机种子数据是在目标模糊测试流程中获取到的随机种子数据,所述目标模糊测试流程是已经执行完成的模糊测试流程;基于所述新随机种子数据对所述目标结构体进行赋值,得到赋值后目标结构体。

7、在本技术的一些实施例中,基于前述方案,所述执行单元配置为:若在执行所述目标模糊测试流程时覆盖到的代码为首次覆盖到的代码,则对所述目标随机种子数据中的目标部分进行随机变异,其中,所述目标部分是所述目标随机种子数据中对所述目标结构体进行赋值的部分。

8、在本技术的一些实施例中,基于前述方案,所述执行单元还用于:在所述模糊测试流程的执行时长达到预定最大等待时间时,若所述虚拟机仍未发生崩溃,则重新执行所述模糊测试流程。

9、在本技术的一些实施例中,基于前述方案,在获取所述待测试设备的目标设备标识信息和目标内存空间信息之前,所述信息获取单元还用于:判断系统环境参数的参数值中是否包括所述预定最大等待时间,其中,获取所述待测试设备的目标设备标识信息和目标内存空间信息是在所述系统环境参数的参数值中包括所述预定最大等待时间的情况下进行的。

10、在本技术的一些实施例中,基于前述方案,所述执行单元还用于:获取随机种子数据,并确定所述随机种子数据的数据长度;若所述随机种子数据的数据长度未达到预定最小数据长度,则重新获取随机种子数据,直至获取到的随机种子数据的数据长度达到所述预定最小数据长度。

11、在本技术的一些实施例中,基于前述方案,所述信息获取单元配置为:获取测试设备标识信息和与所述测试设备标识信息对应的内存空间标识信息;通过将所述测试设备标识信息与由所述虚拟机模拟而成的设备的标识信息进行对比,得到目标设备标识信息;根据所述内存空间标识信息获取所述待测试设备的内存空间信息,并从所述内存空间信息中获取目标内存空间信息。

12、在本技术的一些实施例中,基于前述方案,在获取所述待测试设备的目标设备标识信息和目标内存空间信息之前,所述信息获取单元还用于:判断系统环境参数的参数值中是否包括测试设备标识信息,其中,通过将所述测试设备标识信息与由所述虚拟机模拟而成的设备的标识信息进行对比,得到目标设备标识信息是在所述系统环境参数的参数值中包括测试设备标识信息的情况下进行的。

13、在本技术的一些实施例中,基于前述方案,在执行模糊测试流程之前,所述信息获取单元还用于:获取直接存储器访问读写空间的基地址,所述直接存储器访问读写空间用于存储随机种子数据;所述执行单元配置为:根据所述基地址从所述直接存储器访问读写空间获取随机种子数据。

14、在本技术的一些实施例中,基于前述方案,所述执行单元配置为:获取随机数;根据所述随机数随机进入所述待测试设备的设备处理流程,并根据所述赋值后目标结构体执行所述设备处理流程。

15、根据本技术实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的云原生平台中虚拟机的模糊测试方法。

16、根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的云原生平台中虚拟机的模糊测试方法。

17、根据本技术实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上述实施例中所述的云原生平台中虚拟机的模糊测试方法。

18、在本技术的一些实施例所提供的技术方案中,通过先获取由云原生平台中虚拟机模拟而成的待测试设备的目标设备标识信息和目标内存空间信息,从而能够根据目标设备标识信息得到待测试设备的设备结构体,在此基础上,继续根据设备结构体中的可操作属性构造目标结构体,并在目标内存空间信息指示的目标内存空间中执行模糊测试流程,每次执行的模糊测试流程中既包括基于获取到的随机种子数据对目标结构体进行赋值来得到赋值后目标结构体的步骤,还包括利用赋值后目标结构体随机执行待测试设备的设备处理流程步骤,进而进行对虚拟机的模糊测试。因此,整个方案能够对待测试设备的随机一个设备处理流程进行随机数据的输入,从而实现了模糊测试;在本方案中,一方面,还可以对由虚拟机模拟的单个设备进行针对性地测试,另一方面,通过先根据设备结构体中的可操作属性构造的目标结构体,并对目标结构体进行随机赋值,再利用赋值后目标结构体进行设备处理流程的执行,显著提高了测试数据的有效性,大大提高了对云原生平台中虚拟机的模糊测试的效率。

19、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1