针对PLC设备协议栈的深层次漏洞挖掘方法和系统与流程

文档序号:37546835发布日期:2024-04-08 13:51阅读:13来源:国知局
针对PLC设备协议栈的深层次漏洞挖掘方法和系统与流程

本技术涉及工业控制设备安全领域,尤其涉及一种针对plc设备协议栈的深层次漏洞挖掘方法和系统。


背景技术:

1、随着数字化技术的发展,可编程逻辑控制器(programmable logic controller,简称plc)已经广泛应用于能源、制造等各个工业领域,其位于工业互联网的核心地位,链接了实际生产和生产控制。plc设备的安全可控是保证各个工业系统正常、稳定运行的的重要基础和保障,其协议栈是沟通plc与其他工控设备的桥梁,因此plc设备协议栈的安全威胁不容小觑,需要挖掘plc设备协议栈的漏洞,降低安全隐患。

2、相关技术中,针对plc设备的自动化漏洞挖掘技术主要包括两类,第一类是采用模糊测试技术,它通过将自动或半自动生成的随机数据输入到程序中并监控程序异常来发现可能的缺陷和漏洞。然而,该类方案需要根据协议规则编写测试脚本,通常需要对协议有充分的了解,或者要求可以获取到源码信息,因此在进行漏洞挖掘前需要进行较多的准备工作,需要获取较多的信息,检测效率较低,不能充分适用于商用plc设备的测试。第二类是基于漏洞指纹库技术,通过与已知漏洞信息进行匹配进而发现新的漏洞。但已披露漏洞中,针对协议的漏洞披露较少,对公有协议关注不足。因此,该类方案无法充分挖掘针对plc设备协议方面的漏洞。

3、因此,如何以更高的效率全面挖掘plc设备协议栈漏洞成为目前亟需解决的问题。


技术实现思路

1、本技术的目的旨在至少在一定程度上解决上述的技术问题之一。

2、为此,本技术的第一个目的在于提出一种针对plc设备协议栈的深层次漏洞挖掘系统。区别于传统的简单进行漏洞库匹配的挖掘方法,根据协议跨层交互漏洞挖掘方法、深层次漏洞挖掘方法进行漏洞探测,并与集成的公有、私有协议已披露漏洞的漏洞库进行匹配,进而发现漏洞。可适用于市场上主流plc设备协议栈的漏洞挖掘测试。

3、本技术的第二个目的在于提出一种针对plc设备协议栈的深层次漏洞挖掘方法。

4、本技术的第三个目的在于提出一种非临时性计算机可读存储介质。

5、为达上述目的,本技术第一方面实施例提出了一种针对plc设备协议栈的深层次漏洞挖掘系统,该系统包括:

6、漏洞挖掘模块、漏洞分析模块、漏洞利用模块、数据库模块和交互模块,其中,

7、所述交互模块,用于获取待测设备的设备信息,并向用户展示漏洞挖掘结果;

8、所述数据库模块存储各种plc设备的协议栈信息,所述数据库模块用于在漏洞挖掘过程中与相关模块进行数据交互;

9、所述漏洞挖掘模块集成专有协议和公有协议的已发现漏洞的漏洞利用程序,所述漏洞利用程序按照协议的漏洞类型进行划分,所述漏洞挖掘模块用于根据所述设备信息和所述待测设备的协议栈信息,调用相应的漏洞利用程序对所述待测设备进行测试;

10、所述漏洞分析模块,用于探测待测设备在测试后的状态,将设备状态和所述漏洞挖掘模块输出的测试结果,与漏洞指纹进行匹配,判断所述待测设备是否存在漏洞;

11、所述漏洞利用模块,用于根据当前已挖掘的漏洞获取更高等级的访问权限,以实现基于所述访问权限挖掘所述待测设备的深层次漏洞。

12、另外,本技术实施例的针对plc设备协议栈的深层次漏洞挖掘系统还具有如下附加的技术特征:

13、可选地,在一些实施例中,所述漏洞挖掘模块集成的所述漏洞利用程序,包括:协议单层的漏洞的漏洞利用程序、协议跨层交互中的漏洞的漏洞利用程序和所述深层次漏洞的漏洞利用程序;所述漏洞挖掘模块,具体用于根据所述漏洞利用程序的类型,依次调用对应的漏洞利用程序对所述待测设备进行测试。

14、可选地,在一些实施例中,所述数据库模块,包括:设备指纹子数据库、漏洞信息子数据库和工作日志子数据库,其中,所述设备指纹子数据库,用于存储所述各种plc设备的协议栈信息;所述漏洞信息子数据库,用于存储漏洞模式,并根据实时的漏洞挖掘结果进行更新;所述工作日志子数据库,用于存储漏洞挖掘系统的运行信息和漏洞挖掘日志。

15、可选地,在一些实施例中,该系统还包括:协议解析模块,所述协议解析模块用于在未确定所述待测设备的协议栈信息的情况下,通过与所述待测设备进行数据交互,解析出所述待测设备的协议栈信息,并将解析出的协议栈信息发送至所述设备指纹子数据库。

16、为实现上述目的,本发明第二方面实施例提出了一种针对plc设备协议栈的深层次漏洞挖掘方法,该方法应用于上述第一方面实施例的针对plc设备协议栈的深层次漏洞挖掘系统,该方法包括:

17、获取待测设备的设备信息,并在数据库模块中查询所述设备信息对应的协议栈信息,在查询出所述协议栈信息的情况下,将所述协议栈信息和所述设备信息输入漏洞挖掘模块;

18、通过所述漏洞挖掘模块根据所述待测设备的状态,调用相应的漏洞利用程序对所述待测设备进行测试,直至所述漏洞挖掘模块中集成的全部相关的漏洞利用程序均被调用完毕;

19、在对所述待测设备进行测试的过程中,通过漏洞分析模块探测所述待测设备的设备状态,将所述设备状态和所述漏洞挖掘模块输出的测试结果,与漏洞指纹进行匹配,判断所述待测设备是否存在漏洞;

20、在存在漏洞的情况下,通过漏洞利用模块根据初步挖掘出的漏洞获取更高等级的访问权限,以触发所述漏洞挖掘模块调用深层次漏洞的漏洞利用程序对所述待测设备进行测试,并获取全部的测试结果。

21、另外,本技术实施例的针对plc设备协议栈的深层次漏洞挖掘方法还具有如下附加的技术特征:

22、可选地,在一些实施例中,所述调用相应的漏洞利用程序对所述待测设备进行测试,包括:依次调用各个协议单层的漏洞的漏洞利用程序对所述待测设备进行测试;在所述协议单层的漏洞测试完成后,依次调用各个协议跨层交互中的漏洞的漏洞利用程序对所述待测设备进行测试;在获得所述更高等级的访问权限的情况下,根据所述更高等级的访问权限调用所述深层次漏洞的漏洞利用程序对所述待测设备进行测试。

23、可选地,在一些实施例中,所述漏洞挖掘模块输出的测试结果,包括测试报文,所述通过漏洞分析模块探测所述待测设备的设备状态,包括:探测所述待测设备的链路层、网络层和传输层的连通性;检测所述待测设备的各个功能性指标是否正常。

24、可选地,在一些实施例中,在未查询出所述协议栈信息的情况下,通过协议解析模块解析出所述待测设备的协议栈信息,所述通过协议解析模块解析出所述待测设备的协议栈信息,包括:通过所述协议解析模块与所述待测设备进行数据交互,并抓取交互产生的数据包;通过预设的协议解析工具对所述数据包进行解析,依次解析出协议栈中每层的协议,并将解析出的原始数据进行转换处理。

25、可选地,在一些实施例中,所述获取待测设备的设备信息,包括:在交互模块的人机交互界面,获取用户输入的所述待测设备的ip地址信息和版本型号信息。

26、为实现上述目的,本发明第三方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面实施例中任一所述的针对plc设备协议栈的深层次漏洞挖掘方法。

27、本技术的实施例提供的技术方案至少带来以下有益效果:

28、本技术采用更完善的漏洞挖掘方法及自动化的漏洞利用方法,在对每层协议进行漏洞探测的基础上,还对协议跨层交互中可能存在的安全隐患进行挖掘;自动利用浅层漏洞获取一定权限后进行深层次漏洞挖掘,能够更加充分的挖掘协议栈漏洞;采用了集成工控专有协议和公有协议的各种已披露漏洞的plc协议栈漏洞库,plc协议栈漏洞库更加全面,提高了漏洞挖掘的全面性。从而,本技术通过协议跨层交互漏洞挖掘、深层次漏洞挖掘和多类型漏洞集成的漏洞库进行匹配,可以对plc设备协议栈的漏洞进行更加完善和充分的挖掘,可适用于市场上各种主流plc设备协议栈的漏洞挖掘测试,降低了对测试设备的限制,提高漏洞挖掘的全面性、充分性和适用性。并且,本技术无需耗费大量时间来了解学习相关协议的语法语义规则及状态机构建,可以快速对plc设备的协议栈进行漏洞挖掘和风险检测,提高了plc协议栈漏洞挖掘的效率,降低了漏洞挖掘耗费的成本。

29、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1