本公开涉及计算机,具体涉及信息安全,特别是涉及一种漏洞测试方法、装置、设备、介质和程序产品。
背景技术:
1、随着信息技术和通信技术的逐步融合,当今的物联网已经成为应用广泛的互联架构。物联网技术的快速发展带来了许多机遇和挑战,它呼吁各个行业加大研究力度,在新研究下不可避免地产生新的协议、架构以及服务,这些都是物联网所急需应对的挑战。全球每年针对物联网的安全事件都呈现出急剧上升的趋势,安全漏洞已成为物联网安全受到威胁的根本原因。目前物联网所受到的威胁主要有三种类型,一是物联网任何设备的漏洞;二是与物联网设备通信仂、议的漏洞;三是确保物联网架构不会遭到破坏。
2、物联网中具有特定ip地址并能够连接到网络中的一切设备进行通信均会用到网络协议,而网络协议是物联网中设备之间的一组通信规则,在整个网络中起着至关重要的作用,一旦网络协议中存在安全漏洞将导致难以估计的严重后果。自20世纪90年代初引入模糊测试技术以来,模糊测试在网络协议领域有着广泛的应用。现有的协议模糊测试方法,更倾向于从预先准备的数据集中,收集其中的部分数据作为训练数据集。这个过程限制了模糊测试方法的使用范围。此外,对于未知的专有协议,这些方法会失去优势,导致模糊测试效果差、挖掘漏洞的效率低。
技术实现思路
1、鉴于上述问题,本公开提供了一种漏洞测试方法、装置、设备、介质和程序产品。
2、根据本公开的第一个方面,提供一种漏洞测试方法,所述方法包括:
3、获取数据样本,对所述数据样本进行变异,生成变异数据;
4、对所述变异数据进行数据转换,生成第一测试用例,同时将所述变异数据导入数据集中;
5、将所述第一测试用例输入对抗网络模型进行训练,输出第二测试用例;
6、将所述第二测试用例进行突变点融合操作,生成第三测试用例;
7、对所述第三测试用例进行变异,生成第四测试用例;
8、将所述第四测试用例导入所述数据集中;以及
9、从所述数据集中选取第五测试用例,利用所述第五测试用例对目标对象进行测试。
10、根据本公开的实施例,该方法还包括:
11、基于测试结果,获取能触发崩溃的第五测试用例;
12、将所述能触发崩溃的第五测试用例进行变异,生成第六测试用例;以及
13、将所述第六测试用例导入所述数据集中。
14、根据本公开的实施例,对所述变异数据进行数据转换,生成第一测试用例包括:
15、对数据集形式的变异数据进行编码,得到二进制数据;
16、对所述二进制数据进行转码,得到字符串数据;以及
17、对所述字符串数据进行矩阵转换,得到矩阵形式的第一测试用例。
18、根据本公开的实施例,将所述第一测试用例输入对抗网络模型进行训练,输出第二测试用例包括:
19、将所述第一测试用例作为真实数据输入生成器网络,生成虚假数据;
20、将所述第一测试用例和所述虚假数据输入判别器网络,所述判别器网络对所述第一测试用例和所述虚假数据进行区分,得到损失值;
21、如果损失值未达到预设阈值,则生成器网络继续生成虚假数据,判别器网络继续对所述第一测试用例和生成器网络生成虚假数据进行区分,直至损失值达到预设阈值;
22、获取损失值达到预设阈值时的虚假数据作为所述第二测试用例;以及
23、输出所述第二测试用例。
24、根据本公开的实施例,将所述第二测试用例进行突变点融合操作,生成第三测试用例包括:
25、对所述数据集中的数据中的协议报文中每个字段的突变频率进行计数,生成突变点;
26、标记敏感突变点,其中,所述标记敏感突变点具体包括:设定突变点阈值,如果突变点大于所述突变点阈值,则标记为所述敏感突变点;
27、获取第二测试用例;以及
28、将标记为敏感突变点的字段融合到所述第二测试用例,生成第三测试用例。
29、根据本公开的实施例,所述标记敏感突变点,还具体包括:
30、如果突变点小于或等于所述突变点阈值,则将突变点小于或等于所述突变阈值的突变点生成随机数;以及
31、如果突变点小于或等于所述突变阈值的突变点的随机数小于或等于设定的随机数阈值,则标记为所述敏感突变点。
32、根据本公开的实施例,对所述第三测试用例进行变异,生成第四测试用例包括:
33、对所述第三测试用例进行字符串转换,将所述第三测试用例转换为字符串形式的第三测试用例;
34、将所述字符串形式的第三测试用例转码为二进制形式的第三测试用例;
35、将所述二进制形式的第三测试用例进行反编码得到数据集形式的第三测试用例;以及
36、将所述数据集形式的第三测试用例进行变异,生成第四测试用例。
37、根据本公开的实施例,从所述数据集中选取第五测试用例,利用所述第五测试用例对目标对象进行测试,包括:对所述数据集中的数据设定选取优先级,其中,所述第六测试用例的选取优先级最高,所述变异数据的选取优先级最低。
38、根据本公开的第二方面提供了一种漏洞测试装置,包括:
39、第一生成模块,用于获取数据样本,对所述数据样本进行变异,生成变异数据;
40、第二生成模块,用于将所述变异数据导入数据集中并对所述变异数据进行数据转换,生成第一测试用例;
41、第三生成模块,用于将所述第一测试用例输入对抗网络模型进行训练,输出第二测试用例;
42、第四生成模块,用于将所述第二测试用例进行突变点融合操作,生成第三测试用例;
43、第五生成模块,用于对所述第三测试用例进行变异,生成第四测试用例;
44、第一导入模块,用于将所述第四测试用例导入所述数据集中;以及
45、测试模块,用于从所述数据集中选取第五测试用例,利用所述第五测试用例对目标对象进行测试。
46、根据本公开的第三方面提供了一种电子设备,包括:
47、一个或多个处理器;
48、存储装置,用于存储一个或多个程序,
49、其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述漏洞测试方法。
50、根据本公开的第四方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述漏洞测试方法。
51、根据本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述漏洞测试方法。
1.一种漏洞测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1或2所述的方法,其特征在于,对所述变异数据进行数据转换,生成第一测试用例包括:
4.根据权利要求1或2所述的方法,其特征在于,将所述第一测试用例输入对抗网络模型进行训练,输出第二测试用例包括:
5.根据权利要求4所述的方法,其特征在于,将所述第二测试用例进行突变点融合操作,生成第三测试用例包括:
6.根据权利要求5所述的方法,其特征在于,所述标记敏感突变点,还具体包括:
7.根据权利要求2所述的方法,其特征在于,对所述第三测试用例进行变异,生成第四测试用例包括:
8.根据权利要求2所述的方法,其特征在于,从所述数据集中选取第五测试用例,利用所述第五测试用例对目标对象进行测试,包括:对所述数据集中的数据设定选取优先级,其中,所述第六测试用例的选取优先级最高,所述变异数据的选取优先级最低。
9.一种漏洞测试装置,包括:
10.一种电子设备,包括:
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1~8中任意一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。。