本申请涉及网络安全,尤其涉及一种物联网web服务的安全测试方法、装置及设备。
背景技术:
1、物联网设备指连接到网络的嵌入式设备,广泛应用于交通、工业、家居生活等多个领域,其中,物联网设备提供的web服务是漏洞的高发地带,攻击者根据web服务漏洞可以攻击物联网设备,因此,物联网web服务安全问题日益凸显。
2、当前,用于通用web服务的安全测试方法,通过脚本文件模拟对系统进行攻击的行为,记录并分析响应结果,确定web服务漏洞。物联网设备具有特殊性,例如,物联网设备web服务基于c/c++语言开发不同于现有的基于java、php、python等脚本语言开发的web服务,物联网web接口功能也不同于现有的接口等等。因此,上述传统的web安全测试方法应用于物联网设备,存在无法对物联网web服务的所有功能进行安全测试等问题,导致安全测试效率低,效果差。
技术实现思路
1、本申请实施例提供一种物联网web服务的安全测试方法、装置及设备,通过将模糊测试引入物联网web服务的安全测试,根据适用于物联网web服务的规则生成测试数据,并根据监控结果确定潜在漏洞,可以在未知物联网web程序源码的情况下,对物联网web服务进行全面的自动化测试,提高了安全测试的效率以及效果。
2、第一方面,本申请提供一种物联网web服务的安全测试方法,该方法应用于安全测试设备。该方法包括:安全测试设备获取第一数据,其中,第一数据是安全测试设备获取的物联网web服务的请求或者响应;对第一数据进行变异,得到第一测试数据;将第一测试数据发送给物联网设备,其中,物联网设备用于提供物联网web服务;接收物联网设备发送的第一监控结果,第一监控结果包括第一异常情况、第一错误信息或者第一程序覆盖率中的一个或者多个,并根据第一监控结果判断物联网web服务是否存在漏洞。
3、在上述过程中,安全测试设备将模糊测试技术引入物联网web服务的安全检测方法中。安全测试设备根据适用于物联网web服务的第一规则,在第一数据的基础上进行变异,向物联网设备发送第一测试数据,通过接收物联网设备根据第一测试数据生成的第一监控结果,确定物联网web服务存在的漏洞。安全测试设备通过生成多个非预期的测试数据,可以更大程度地提高程序覆盖率,对物联网web服务进行全面的测试,减少现有的安全测试技术存在的不适用物联网web服务的应用场景以及无法检测出特有问题的情况,从而提高安全测试的效果。安全测试设备通过监控结果中的异常情况以及错误信息确定物联网web服务可能存在的漏洞,相较于现有技术,不需要根据响应结果进行漏洞分析,过程更加简单,可以提高安全测试效率。
4、在一种可能的实施方式中,在获取第一数据之后,安全测试设备还识别第一数据中的第一参数,其中,第一参数影响物联网设备的运行。安全测试设备通过识别第一参数,可以确定后续第一数据变异过程中进行变异的数据,以及变异使用的第一规则,尽可能影响物联网web服务的运行,可以提高安全测试的效率,更大程度地提升物联网web服务的程序覆盖率。
5、在一种可能的实施方式中,安全测试设备根据第一规则对第一数据进行变异,得到第一测试数据,其中,第一规则是安全测试设备根据第一参数确定的。安全测试设备根据第一参数确定第一规则,可以保证第一规则适用于物联网web服务的安全测试,从而保证根据第一规则变异得到的第一测试数据可以对物联网web服务的功能进行全面的检测,提升安全测试的效果。
6、在一种可能的实施方式中,在将第一测试数据发送给物联网设备之后,安全测试设备除接收第一监控结果外,还接收物联网设备发送的第一响应。
7、在一种可能的实施方式中,安全测试设备在第一监控结果中的程序覆盖率提升的情况下,将所述第一响应发送给所述物联网设备。第一监控结果中的程序覆盖率提升说明该第一监控结果对应的第一测试数据覆盖到了物联网设备web程序中的未知部分。安全测试设备将第一响应发送给物联网设备,可以增加测试数据的类型,更大程度地提高程序覆盖率,检测物联网web服务的未知漏洞,提高安全测试效率。
8、在一种可能的实施方式中,在第一测试数据未完成所有变异的情况下,安全测试设备将第一测试数据进行变异,得到第二测试数据;将第二测试数据发送至物联网设备。安全测试设备在第一测试数据的基础上继续进行变异,得到的第二测试数据可以检测不同的web服务漏洞,可以提升程序覆盖率,获得更好的安全测试效果。
9、第二方面,本申请提供一种安全测试装置,应用于安全测试设备,该安全测试装置包括获取模块、变异模块、发送模块和接收模块。其中,获取模块,用于获取第一数据,其中,第一数据是获取模块获取的物联网web服务的请求或者响应;变异模块,用于对第一数据进行变异,得到第一测试数据;发送模块,用于将第一测试数据发送给物联网设备,其中,物联网设备用于提供物联网web服务;接收模块,用于接收物联网设备发送的第一监控结果,第一监控结果包括第一异常情况、第一错误信息或者第一程序覆盖率中的一个或者多个,并根据第一监控结果判断物联网web服务是否存在漏洞。
10、第三方面,本申请提供了一种计算设备集群,计算设备集群包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行第一方面提供的方法。
11、第四方面,本申请提供了一种包含指令的计算机程序产品,当指令被计算设备集群运行时,使得计算设备集群执行第一方面的方法。
12、第五方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行第一方面提供的方法。
13、本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
1.一种物联网web服务的安全测试方法,其特征在于,应用于安全测试设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述获取第一数据之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述第一数据进行变异,得到第一测试数据包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,在将所述第一测试数据发送给物联网设备之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述接收所述物联网设备发送的第一监控结果之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种安全测试装置,应用于安全测试设备,其特征在于,所述安全测试装置包括获取模块、变异模块、发送模块和接收模块:
8.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
9.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1所述的方法。
10.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1所述的方法。