本申请属于漏洞挖掘,具体涉及一种漏洞挖掘方法及装置、电子设备和可读存储介质。
背景技术:
1、随着工业互联网的发展,工控设备的网络化程度不断提高,这也增加了工控设备受到网络攻击的风险。因此,漏洞挖掘技术在工控设备安全领域扮演着至关重要的角色。
2、相关技术中,通常基于fuzzing(模糊测试,一种自动化测试技术)来检测工控设备的异常行为和潜在漏洞,比如,检测工控设备的缓冲区溢出、逻辑错误、拒绝服务等漏洞。
3、然而,相关技术中在基于fuzzing对工控设备进行漏洞挖掘时,工控设备的输入数据的场景覆盖率较低,工控设备的输入数据无法充分覆盖被测试设备的可能输入情况,会导致部分漏洞无法被发现,降低了漏洞挖掘的全面性和准确性。
技术实现思路
1、本申请实施例的目的是提供一种漏洞挖掘方法及装置、电子设备和可读存储介质,能够提高漏洞挖掘的全面性和准确性。
2、第一方面,本申请实施例提供了一种漏洞挖掘方法,该方法包括:获取被测试设备的第一协议数据报文;对第一协议数据报文进行数据变异,得到第二协议数据报文;对第二协议数据报文进行语义分析,得到第三协议数据报文;根据第三协议数据报文对被测试设备进行测试,得到被测试设备的设备状态信息;根据被测试设备的设备状态信息确定被测试设备的漏洞信息。
3、第二方面,本申请实施例提供了一种漏洞挖掘装置,该装置包括:获取单元,用于获取被测试设备的第一协议数据报文;处理单元,用于对第一协议数据报文进行数据变异,得到第二协议数据报文;处理单元,还用于对第二协议数据报文进行语义分析,得到第三协议数据报文;处理单元,还用于根据第三协议数据报文对被测试设备进行测试,得到被测试设备的设备状态信息;处理单元,还用于根据被测试设备的设备状态信息确定被测试设备的漏洞信息。
4、第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的漏洞挖掘方法的步骤。
5、第四方面,本申请实施例提供了一种可读存储介质,该可读存储介质上存储有程序或指令,程序或指令被处理器执行时实现如第一方面的漏洞挖掘方法的步骤。
6、第五方面,本申请实施例提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的漏洞挖掘方法的步骤。
7、第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面的漏洞挖掘方法的步骤。
8、在本申请实施例提供的漏洞挖掘方法中,获取被测试设备的第一协议数据报文;对第一协议数据报文进行数据变异,得到第二协议数据报文;对第二协议数据报文进行语义分析,得到第三协议数据报文;根据第三协议数据报文对被测试设备进行测试,得到被测试设备的设备状态信息;根据被测试设备的设备状态信息确定被测试设备的漏洞信息。通过上述漏洞挖掘方法,对获取到的被测试设备的第一协议数据报文进行数据变异,得到第二协议数据报文,进而对第二协议数据报文进行语义分析,得到第三协议数据报文,再基于第三协议数据报文对被测试设备进行测试,并基于被测试设备在测试过程中的设备状态信息挖掘被测试设备的漏洞信息。这样,能够在被测试设备的原始协议数据报文的基础上,通过数据变异提高协议数据报文的多样性,以及通过语义分析提高协议数据报文的真实性,便于更全面、更有效地发现被测试设备中的潜在漏洞,提高漏洞挖掘的准确性和全面性。
1.一种漏洞挖掘方法,其特征在于,包括:
2.根据权利要求1所述的漏洞挖掘方法,其特征在于,所述根据所述第三协议数据报文对所述被测试设备进行测试,得到所述被测试设备的设备状态信息,包括:
3.根据权利要求1所述的漏洞挖掘方法,其特征在于,所述根据所述被测试设备的设备状态信息确定所述被测试设备的漏洞信息,包括:
4.根据权利要求1所述的漏洞挖掘方法,其特征在于,所述对所述第一协议数据报文进行数据变异,得到第二协议数据报文,包括:
5.根据权利要求1所述的漏洞挖掘方法,其特征在于,所述对所述第二协议数据报文进行语义分析,得到第三协议数据报文,包括:
6.根据权利要求5所述的漏洞挖掘方法,其特征在于,所述根据所述被测试设备的网络协议的代码格式,确定语义变异策略,包括:
7.根据权利要求5或6所述的漏洞挖掘方法,其特征在于,所述漏洞挖掘方法还包括:
8.一种漏洞挖掘装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的漏洞挖掘方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的漏洞挖掘方法的步骤。