[发明专利]针对虚拟机监视器进行模糊测试的方法和系统有效
申请号: | 202111068455.3 | 申请日: | 2021-09-13 |
公开(公告)号: | CN113836008B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 潘高宁;林性伟;张旭鸿;贾永康;纪守领;吴春明;应鑫磊;王嘉水;武延军 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F13/28;G06F9/455 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁;周良玉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 虚拟机 监视器 进行 模糊 测试 方法 系统 | ||
1.一种对虚拟机监视器进行模糊测试的方法,通过模糊测试系统执行,所述模糊测试系统包括,代理模块和测试模块,所述测试模块维护种子数据池,所述方法包括:
通过所述代理模块,截获目标虚拟设备发出的直接内存存取DMA读请求;
将所述DMA读请求重定向至存储第一数据的目标位置,其中所述第一数据是所述测试模块根据种子数据池中的种子数据生成的测试用数据。
2.根据权利要求1所述的方法,其中,所述代理模块集成在所述虚拟机监视器内部。
3.根据权利要求1所述的方法,其中,所述目标虚拟设备是可由客户端用户访问的虚拟设备。
4.根据权利要求1所述的方法,还包括:
所述测试模块从所述种子数据池中读取第一种子数据,对所述第一种子数据进行变异处理,生成所述第一数据,存储至所述目标位置。
5.根据权利要求4所述的方法,其中,从所述种子数据池中读取所述第一种子数据包括:
从种子数据的队列中顺次读取种子数据作为所述第一种子数据;或者,
从所述种子数据池中随机读取种子数据作为所述第一种子数据。
6.根据权利要求1所述的方法,其中,所述目标位置存储测试数据集,所述测试数据集包含若干项测试用数据,所述若干项测试用数据由所述测试模块根据所述种子数据池中的若干种子数据生成。
7.根据权利要求1所述的方法,其中,所述种子数据池包括,与数据对象的多种对象类型对应的多个种子集;
所述方法还包括:
所述代理模块确定所述DMA读请求所针对的DMA对象的目标对象类型;
所述测试模块从所述多个种子集中确定与所述目标对象类型对应的目标种子集,从所述目标种子集中读取第一种子数据,对所述第一种子数据进行变异处理,生成所述第一数据,存储至所述目标位置。
8.根据权利要求1所述的方法,其中,所述种子数据池包括,与数据对象的多种对象类型对应的多个种子集;所述测试模块根据所述多个种子集分别生成有多个测试数据集;
所述方法还包括,确定所述DMA读请求所针对的DMA对象的目标对象类型;
将所述DMA读请求重新定向至存储第一数据的目标位置,包括:
在所述多个测试数据集中确定与所述目标对象类型对应的目标测试数据集,将该目标测试数据集的存储位置确定为所述目标位置。
9.根据权利要求7或8所述的方法,其中,所述目标虚拟设备为虚拟USB,所述多种对象类型包括,qh队列头,td传输描述符,last-td。
10.根据权利要求1所述的方法,还包括:
截获所述目标虚拟设备发出的DMA写请求;
根据所述写请求获取第二数据,将所述第二数据添加到所述种子数据池中。
11.根据权利要求10所述的方法,其中,所述种子数据池包括,与数据对象的多种对象类型对应的多个种子集;
将所述第二数据添加到所述种子数据池中,包括:
确定所述第二数据对应的对象类型;将第二数据添加到与该对象类型对应的种子集中。
12.根据权利要求1所述的方法,还包括:
检测所述虚拟机监视器基于所述第一数据运行的覆盖代码;
在所述覆盖代码使得所述模糊测试的代码覆盖率提升的情况下,将所述第一数据添加到所述种子数据池中。
13.一种模糊测试系统,用于对虚拟机监视器进行模糊测试,所述模糊测试系统包括,代理模块和测试模块,所述测试模块维护种子数据池;
所述代理模块配置为,截获目标虚拟设备发出的直接内存存取DMA读请求;将所述DMA读请求重定向至存储第一数据的目标位置,其中所述第一数据是所述测试模块根据种子数据池中的种子数据生成的测试用数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111068455.3/1.html,转载请声明来源钻瓜专利网。