PLC固件级漏洞的检测方法、装置、电子设备及存储介质[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201911200503.2
(22)申请日 2019.11.29
(71)申请人 哈尔滨安天科技集团股份有限公司
地址 150028 黑龙江省哈尔滨市哈尔滨高
新技术产业开发区科技创新城创新创
业广场7号楼(世坤路838号)
(72)发明人 王乃青 郑瑞 肖新光 
(51)Int.Cl.
G05B  19/05(2006.01)
(54)发明名称PLC固件级漏洞检测方法、装置、电子设备及存储介质(57)摘要本发明实施例公开了一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质,涉及工控安全技术领域,能够及时发现PLC的固件级漏洞,进而提高工业生产的安全性。包括:探测待检测PLC的相关信息;利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;基于测试结果给出固件升级版本及防护建议;其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、
漏洞信息和风险信息。权利要求书2页  说明书7页  附图3页CN 111026012 A 2020.04.17
C N  111026012
A
1.一种PLC固件级漏洞的检测方法,其特征在于,包括:
探测待检测PLC的相关信息;
利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;
基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;
基于测试结果给出固件升级版本及防护建议;
其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。
2.如权利要求1所述的方法,其特征在于,所述探测待检测PLC的相关信息,具体包括:
获取待检测PLC周期性发送给上位机的第一响应包;
根据工控协议对所述第一响应包进行解包操作进而获取关键数据段;
利用获取的关键数据段构造请求相关信息的数据包;
将请求相关信息的数据包发送给待检测PLC;
获取待检测PLC发送给上位机的第二响应包;
解析第二响应包获取相关信息。
3.如权利要求2所述的方法,其特征在于,所述根据工控协议对所述第一响应包进行解包操作进而获取关键数据段,具体包括:
将所述第一响应包与对应的工控协议库进行匹配,使用正则表达式进行解包操作,利用group获取关键数据段;其中,所述关键数据段,包括:端口号、协议或者域名。
4.如权利要求1-3任一所述的方法,其特征在于,所述基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果,具体包括:
基于待检测PLC的硬件信息中的出厂日期,筛选漏洞库中发现时间在出厂日期后的漏洞信息并构造漏洞数据包对待检测PLC进行漏洞测试;
或者,使用同一厂商的不同系列产品的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;
或者,使用不同厂商的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;
或者,对待检测PLC相关的上位机进行操作系统漏洞测试;
基于上述漏洞测试结果生成测试文档。
5.一种PLC固件级漏洞的检测装置,其特征在于,包括:
设备信息探测模块,用于探测待检测PLC的相关信息;
漏洞信息匹配模块,用于利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;
漏洞测试记录模块,用于基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;
固件升级防护模块,用于基于测试结果给出固件升级版本及防护建议;
其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。
6.如权利要求5所述的装置,其特征在于,所述设备信息探测模块,具体用于:
获取待检测PLC周期性发送给上位机的第一响应包;
根据工控协议对所述第一响应包进行解包操作进而获取关键数据段;
利用获取的关键数据段构造请求相关信息的数据包;
将请求相关信息的数据包发送给待检测PLC;
获取待检测PLC发送给上位机的第二响应包;
解析第二响应包获取相关信息。
7.如权利要求6所述的装置,其特征在于,所述根据工控协议对所述第一响应包进行解包操作进而获取关键数据段,具体包括:
将所述第一响应包与对应的工控协议库进行匹配,使用正则表达式进行解包操作,利用group获取关键数据段;其中,所述关键数据段,包括:端口号、协议或者域名。
8.如权利要求5-7任一所述的装置,其特征在于,所述漏洞测试记录模块,具体用于:
基于待检测PLC的硬件信息中的出厂日期,筛选漏洞库中发现时间在出厂日期后的漏洞信息并构造漏洞数据包对待检测PLC进行漏洞测试;
或者,使用同一厂商的不同系列产品的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;
或者,使用不同厂商的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;
或者,对待检测PLC相关的上位机进行操作系统漏洞测试;
基于上述漏洞测试结果生成测试文档。
9.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行权利要求1-4任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1-4任一所述的方法。
PLC固件级漏洞的检测方法、装置、电子设备及存储介质
技术领域
[0001]本发明涉及工业安全技术领域,尤其涉及一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质。
背景技术
[0002]PLC是控制领域中的核心设备,PLC广泛应用在石油石化、水利、电力、食品加工和污水处理等工业领域,主要用于数据收集、数据分析和生产控制等方面。但是在当前工业生产中,PLC也面对着许多不容忽视的安全隐患。由于国内的工业企业主要应用的是国际知名的PLC而国内的PLC很少见,所以
我国工业企业PLC方面存在着很多安全隐患。PLC在工业环境安装之后基本处于长期运转的状态,并不会针对其进行漏洞检测及固件升级,久而久之导致PLC控制器本身的固件版本极低很容易被攻击。而且在近几年中针对PLC的攻击的事件也屡次出现,PLC安全事关经济发展、社会稳定和国家安全,针对PLC的安全研究是一件迫在眉睫的事情。
发明内容
[0003]有鉴于此,本发明实施例提供了一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质,能够及时发现PLC的固件级漏洞,进而提高工业生产的安全性。
[0004]本发明实施例提供一种PLC固件级漏洞的检测方法,包括:
[0005]探测待检测PLC的相关信息;
[0006]利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;
[0007]基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;
[0008]基于测试结果给出固件升级版本及防护建议;
[0009]其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。[0010]进一步地,所述探测待检测PLC的相关信息,具体包括:
[0011]获取待检测PLC周期性发送给上位机的第一响应包;
[0012]根据工控协议对所述第一响应包进行解包操作进而获取关键数据段;
[0013]利用获取的关键数据段构造请求相关信息的数据包;
[0014]将请求相关信息的数据包发送给待检测PLC;
[0015]获取待检测PLC发送给上位机的第二响应包;
[0016]解析第二响应包获取相关信息。
[0017]进一步地,所述根据工控协议对所述第一响应包进行解包操作进而获取关键数据段,具体包括:
[0018]将所述第一响应包与对应的工控协议库进行匹配,使用正则表达式进行解包操作,利用group获取关键数据段;其中,所述关键数据段,包括:端口号、协议或者域名。
[0019]上述方法实施例中,所述基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果,具体包括:
[0020]基于待检测PLC的硬件信息中的出厂日期,筛选漏洞库中发现时间在出厂日期后的漏洞信息并构造漏洞数据包对待检测PLC进行漏洞测试;
[0021]或者,使用同一厂商的不同系列产品的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;
[0022]或者,使用不同厂商的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;[0023]或者,对待检测PLC相关的上位机进行操作系统漏洞测试;
[0024]基于上述漏洞测试结果生成测试文档。
[0025]第二方面,本发明实施例提供一种PLC固件级漏洞的检测装置,包括:
[0026]设备信息探测模块,用于探测待检测PLC的相关信息;
[0027]漏洞信息匹配模块,用于利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;
[0028]漏洞测试记录模块,用于基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;
[0029]固件升级防护模块,用于基于测试结果给出固件升级版本及防护建议;[0030]其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。[0031]进一步地,所述设备信息探测模块,具体用于:
[0032]获取待检测PLC周期性发送给上位机的第一响应包;
[0033]根据工控协议对所述第一响应包进行解包操作进而获取关键数据段;
[0034]利用获取的关键数据段构造请求相关信息的数据包;
[0035]将请求相关信息的数据包发送给待检测PLC;
[0036]获取待检测PLC发送给上位机的第二响应包;
[0037]解析第二响应包获取相关信息。
[0038]进一步地,所述根据工控协议对所述第一响应包进行解包操作进而获取关键数据段,具体包括:
[0039]将所述第一响应包与对应的工控协议库进行匹配,使用正则表达式进行解包操作,利用group获取
关键数据段;其中,所述关键数据段,包括:端口号、协议或者域名。[0040]上述装置实施例中,所述漏洞测试记录模块,具体用于:
[0041]基于待检测PLC的硬件信息中的出厂日期,筛选漏洞库中发现时间在出厂日期后的漏洞信息并构造漏洞数据包对待检测PLC进行漏洞测试;
[0042]或者,使用同一厂商的不同系列产品的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;
[0043]或者,使用不同厂商的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;[0044]或者,对待检测PLC相关的上位机进行操作系统漏洞测试;
[0045]基于上述漏洞测试结果生成测试文档。
[0046]第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置

本文发布于:2024-09-21 22:53:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/415650.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:漏洞   信息   检测   测试   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议