-
公开(公告)号:CN114328173B
公开(公告)日:2022-08-05
申请号:CN202111257121.0
申请日:2021-10-27
Applicant: 清华大学
IPC: G06F11/36
Abstract: 本发明提供一种软件模糊测试方法和装置、电子设备及存储介质,其中所述方法包括:从被测程序源代码中识别出被测程序的状态,被测程序的状态包括状态变量以及状态变量值域范围;基于状态变量,在被测程序源代码被编译时进行代码插桩,得到插桩后的被测程序;基于插桩后的被测程序,获取代码插桩的反馈信息,反馈信息包括代码覆盖信息、状态变量写入信息;基于反馈信息、被测程序的状态,对被测程序源代码进行多维度反馈的模糊测试。本发明在软件模糊测试过程中,跟踪状态变量,通过遗传算法筛选输入测试用例,以期覆盖更多状态变量值域范围,从而尽可能多的遍历被测软件的代码和程序状态,发现更多潜在的安全漏洞,提高漏洞发现的几率。
-
公开(公告)号:CN115357513B
公开(公告)日:2023-06-13
申请号:CN202211085263.8
申请日:2022-09-06
Applicant: 清华大学
IPC: G06F11/36
Abstract: 本申请提供一种程序模糊测试方法、装置、设备及存储介质。该方法包括:获取代码插桩后的被测程序,代码插桩在被测程序的源代码中的位置为网络数据I/O交互同步点的位置。利用M个测试用例,对代码插桩后的被测程序进行模糊测试,M为大于或等于1的整数,每个测试用例包括至少两条I/O交互请求消息,代码插桩用于发送反馈信息,反馈信息用于指示发送I/O交互请求消息、根据模糊测试的执行情况,获取代码插桩后的被测程序的模糊测试的结果。本申请的方法,使得模糊测试器能够及时向被测程序发送I/O交互请求消息,提高了测试效率。
-
公开(公告)号:CN115357513A
公开(公告)日:2022-11-18
申请号:CN202211085263.8
申请日:2022-09-06
Applicant: 清华大学
IPC: G06F11/36
Abstract: 本申请提供一种程序模糊测试方法、装置、设备及存储介质。该方法包括:获取代码插桩后的被测程序,代码插桩在被测程序的源代码中的位置为网络数据I/O交互同步点的位置。利用M个测试用例,对代码插桩后的被测程序进行模糊测试,M为大于或等于1的整数,每个测试用例包括至少两条I/O交互请求消息,代码插桩用于发送反馈信息,反馈信息用于指示发送I/O交互请求消息、根据模糊测试的执行情况,获取代码插桩后的被测程序的模糊测试的结果。本申请的方法,使得模糊测试器能够及时向被测程序发送I/O交互请求消息,提高了测试效率。
-
公开(公告)号:CN114328173A
公开(公告)日:2022-04-12
申请号:CN202111257121.0
申请日:2021-10-27
Applicant: 清华大学
IPC: G06F11/36
Abstract: 本发明提供一种软件模糊测试方法和装置、电子设备及存储介质,其中所述方法包括:从被测程序源代码中识别出被测程序的状态,被测程序的状态包括状态变量以及状态变量值域范围;基于状态变量,在被测程序源代码被编译时进行代码插桩,得到插桩后的被测程序;基于插桩后的被测程序,获取代码插桩的反馈信息,反馈信息包括代码覆盖信息、状态变量写入信息;基于反馈信息、被测程序的状态,对被测程序源代码进行多维度反馈的模糊测试。本发明在软件模糊测试过程中,跟踪状态变量,通过遗传算法筛选输入测试用例,以期覆盖更多状态变量值域范围,从而尽可能多的遍历被测软件的代码和程序状态,发现更多潜在的安全漏洞,提高漏洞发现的几率。
-
-
-