WIFI程序的模糊测试方法及装置制造方法及图纸

技术编号:32794161 阅读:12 留言:0更新日期:2022-03-23 19:56
本申请公开一种WIFI程序的模糊测试方法及装置,涉及模糊测试技术领域。本申请的方法包括:获取目标处理函数对应的内存地址,其中,所述目标处理函数为所述待测试WIFI程序中用于处理目标类型数据帧以进行WIFI通信的函数,所述目标处理函数中包含多个目标参数;按照预置规则生成模拟参数值集合,其中,所述模拟参数值集合中包含每个所述目标参数对应的模拟参数值;根据所述目标处理函数对应的内存地址将多个所述模拟参数值输入至所述目标处理函数中;根据所述目标处理函数对应的内存地址调用所述目标处理函数,以实现对所述目标处理函数进行模糊测试。数进行模糊测试。数进行模糊测试。

【技术实现步骤摘要】
WIFI程序的模糊测试方法及装置


[0001]本申请涉及模糊测试
,尤其涉及一种WIFI程序的模糊测试方法及装置。

技术介绍

[0002]为了保证WIFI通信的安全性,需要对WIFI协议栈进行漏洞挖掘。
[0003]目前,在对WIFI协议栈进行漏洞挖掘时,通常是先基于需要进行漏洞挖掘的WIFI协议栈编写待测试WIFI程序,再基于OTA技术对待测试WIFI程序进行模糊测试。其中,基于OTA技术对待测试WIFI程序进行模糊测试的具体过程为:先在目标终端设备中运行待测试WIFI程序,再通过其他终端设备向目标终端设备的WIFI芯片发送测试WIFI数据帧,目标终端设备的WIFI芯片在接收到测试WIFI数据帧后,将测试WIFI数据帧发送给待测试WIFI程序,以进行模糊测试。然而,在实际测试过程中,部分测试WIFI数据帧会被目标终端设备的WIFI芯片拦截,导致这些测试WIFI数据帧无法发送至待测试WIFI程序,从而导致无法对待测试WIFI程序中的某些处理函数进行模糊测试。因此,如何全面的对待测试WIFI程序进行模糊测试是至关重要的。

技术实现思路

[0004]本申请实施例提供一种WIFI程序的模糊测试方法及装置,主要目的在于全面的对待测试WIFI程序进行模糊测试。
[0005]为解决上述技术问题,本申请实施例提供如下技术方案:
[0006]第一方面,本申请提供了一种WIFI程序的模糊测试方法,所述方法应用于运行待测试WIFI程序的目标终端设备,包括:
[0007]获取目标处理函数对应的内存地址,其中,所述目标处理函数为所述待测试WIFI程序中用于处理目标类型数据帧以进行WIFI通信的函数,所述目标处理函数中包含多个目标参数;
[0008]按照预置规则生成模拟参数值集合,其中,所述模拟参数值集合中包含每个所述目标参数对应的模拟参数值;
[0009]根据所述目标处理函数对应的内存地址将多个所述模拟参数值输入至所述目标处理函数中;
[0010]根据所述目标处理函数对应的内存地址调用所述目标处理函数,以实现对所述目标处理函数进行模糊测试。
[0011]可选的,所述待测试WIFI程序中包含多个处理函数;在所述按照预置规则生成模拟参数值集合之前,包括:
[0012]通过目标HOOK框架确定每个所述处理函数对应的内存地址;
[0013]控制所述目标终端设备与其他终端设备进行WIFI通信;
[0014]根据所述目标HOOK框架和每个所述处理函数对应的内存地址监控每个所述处理函数,以获得每个所述处理函数包含的各个目标参数对应的样本参数值;
[0015]将每个所述处理函数包含的各个目标参数对应的样本参数值存储至所述目标终端设备的本地存储空间中。
[0016]可选的,所述通过目标HOOK框架确定每个所述处理函数对应的内存地址,包括:
[0017]控制所述待测试WIFI程序运行;
[0018]获取每个所述处理函数对应的函数名;
[0019]通过所述目标HOOK框架获取所述待测试WIFI程序对应的进程基址;
[0020]通过预置反编译器和每个所述处理函数对应的函数名获取每个所述处理函数对应的函数偏移值;
[0021]根据所述进程基址和每个所述处理函数对应的函数偏移值,确定每个所述处理函数对应的内存地址。
[0022]可选的,所述目标处理函数包含第一目标参数、第二目标参数、第三目标参数和第四目标参数;所述按照预置规则生成模拟参数值集合,包括:
[0023]在所述本地存储空间中获取所述第一目标参数对应的样本参数值、所述第二目标参数对应的样本参数值和所述第四目标参数对应的样本参数值;
[0024]根据预置程序和所述第二目标参数对应的样本参数值生成所述第二目标参数对应的测试参数值;
[0025]根据所述第二目标参数对应的测试参数值确定所述第三目标参数对应的测试参数值,其中,所述第三目标参数对应的测试参数值用于表明所述第二目标参数对应的测试参数值的真实字节长度;
[0026]根据所述第一目标参数对应的样本参数值、所述第二目标参数对应的测试参数值、所述第三目标参数对应的测试参数值和所述第四目标参数对应的样本参数值构建所述模拟参数值集合。
[0027]可选的,所述目标处理函数包含第一目标参数、第二目标参数、第三目标参数和第四目标参数;所述按照预置规则生成模拟参数值集合,包括:
[0028]获取所述第一目标参数对应的预置参数值、所述第二目标参数对应的预置参数值和所述第四目标参数对应的预置参数值,其中,各个所述预置参数值为预先设定的;
[0029]根据预置程序和所述第二目标参数对应的预置参数值生成所述第二目标参数对应的测试参数值;
[0030]根据所述第二目标参数对应的测试参数值确定所述第三目标参数对应的测试参数值,其中,所述第三目标参数对应的测试参数值用于表明所述第二目标参数对应的测试参数值的真实字节长度;
[0031]根据所述第一目标参数对应的预置参数值、所述第二目标参数对应的测试参数值、所述第三目标参数对应的测试参数值和所述第四目标参数对应的预置参数值构建所述模拟参数值集合。
[0032]可选的,所述根据所述目标处理函数对应的内存地址将多个所述模拟参数值输入至所述目标处理函数中,包括:
[0033]根据目标HOOK框架和所述目标处理函数对应的内存地址将多个所述模拟参数值输入至所述目标处理函数中;
[0034]所述根据所述目标处理函数对应的内存地址调用所述目标处理函数,包括:
[0035]根据所述目标HOOK框架和所述目标处理函数对应的内存地址调用所述目标处理函数。
[0036]可选的,在所述根据所述目标处理函数对应的内存地址调用所述目标处理函数之后,所述方法还包括:
[0037]通过目标HOOK框架对所述待测试WIFI程序对应的进程进行监控;
[0038]当所述目标HOOK框架出现异常时,获取进程日志;
[0039]根据所述目标HOOK框架出现异常时的时刻值,在所述进程日志中获取所述待测试WIFI程序对应的崩溃信息和崩溃上下文信息。
[0040]可选的,所述第一目标参数具体为配置信息参数,所述第一目标参数用于存储当前网卡接口信息、本地配置信息和状态机信息,所述第二目标参数具体为数据帧载体参数,所述第二目标参数具体用于存储WIFI数据帧,所述第三目标参数具体为数据帧长度参数,用于存储所述WIFI数据帧对应的真实字节长度,所述第四目标参数具体为数据帧无线配置信息参数,所述第四目标参数用于存储所述WIFI数据帧对应的速率信息、信道信息和信号强度信息。
[0041]第二方面,本申请还提供一种WIFI程序的模糊测试装置,所述装置应用于运行待测试WIFI程序的目标终端设备,包括:
[0042]第一获取单元,用于获取目标处理函数对应的内存地址,其中,所述目标处理函数为所述待测试WIFI本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种WIFI程序的模糊测试方法,其特征在于,所述方法应用于运行待测试WIFI程序的目标终端设备,包括:获取目标处理函数对应的内存地址,其中,所述目标处理函数为所述待测试WIFI程序中用于处理目标类型数据帧以进行WIFI通信的函数,所述目标处理函数中包含多个目标参数;按照预置规则生成模拟参数值集合,其中,所述模拟参数值集合中包含每个所述目标参数对应的模拟参数值;根据所述目标处理函数对应的内存地址将多个所述模拟参数值输入至所述目标处理函数中;根据所述目标处理函数对应的内存地址调用所述目标处理函数,以实现对所述目标处理函数进行模糊测试。2.根据权利要求1所述的方法,其特征在于,所述待测试WIFI程序中包含多个处理函数;在所述按照预置规则生成模拟参数值集合之前,包括:通过目标HOOK框架确定每个所述处理函数对应的内存地址;控制所述目标终端设备与其他终端设备进行WIFI通信;根据所述目标HOOK框架和每个所述处理函数对应的内存地址监控每个所述处理函数,以获得每个所述处理函数包含的各个目标参数对应的样本参数值;将每个所述处理函数包含的各个目标参数对应的样本参数值存储至所述目标终端设备的本地存储空间中。3.根据权利要求2所述的方法,其特征在于,所述通过目标HOOK框架确定每个所述处理函数对应的内存地址,包括:控制所述待测试WIFI程序运行;获取每个所述处理函数对应的函数名;通过所述目标HOOK框架获取所述待测试WIFI程序对应的进程基址;通过预置反编译器和每个所述处理函数对应的函数名获取每个所述处理函数对应的函数偏移值;根据所述进程基址和每个所述处理函数对应的函数偏移值,确定每个所述处理函数对应的内存地址。4.根据权利要求2所述的方法,其特征在于,所述目标处理函数包含第一目标参数、第二目标参数、第三目标参数和第四目标参数;所述按照预置规则生成模拟参数值集合,包括:在所述本地存储空间中获取所述第一目标参数对应的样本参数值、所述第二目标参数对应的样本参数值和所述第四目标参数对应的样本参数值;根据预置程序和所述第二目标参数对应的样本参数值生成所述第二目标参数对应的测试参数值;根据所述第二目标参数对应的测试参数值确定所述第三目标参数对应的测试参数值,其中,所述第三目标参数对应的测试参数值用于表明所述第二目标参数对应的测试参数值的真实字节长度;根据所述第一目标参数对应的样本参数值、所述第二目标参数对应的测试参数值、所
述第三目标参数对应的测试参数值和所述第四目标参数对应的样本参数值构建所述模拟参数值集合。5.根据权利要求1所述的方法,其特征在于,所述目标处理函数包含第一目标参数、第二目标参数、第三目标参数和第四目标参数;所述按照预置规则生成模拟参数值集合,包括:获取所述第一目标参数对应的预置参数值、所述第二目标参数对应的预置参数值和所述第四目标参数对应的预置参数值,其中,各个所述预置参数值为预先设定的;根据预置程序和所述第二目标参数对应的预置参数值生成所述第二目标参数对应的测试参数值;根据所述第二目标参数对应的测试参数...

【专利技术属性】
技术研发人员:孔宪梓刘跃
申请(专利权)人:网神信息技术北京股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1