PLC固件级漏洞的检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:23850499 阅读:70 留言:0更新日期:2020-04-18 08:24
本发明专利技术实施例公开了一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质,涉及工控安全技术领域,能够及时发现PLC的固件级漏洞,进而提高工业生产的安全性。包括:探测待检测PLC的相关信息;利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;基于测试结果给出固件升级版本及防护建议;其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。

Detection method, device, electronic equipment and storage medium of PLC firmware level vulnerability

【技术实现步骤摘要】
PLC固件级漏洞的检测方法、装置、电子设备及存储介质
本专利技术涉及工业安全
,尤其涉及一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质。
技术介绍
PLC是控制领域中的核心设备,PLC广泛应用在石油石化、水利、电力、食品加工和污水处理等工业领域,主要用于数据收集、数据分析和生产控制等方面。但是在当前工业生产中,PLC也面对着许多不容忽视的安全隐患。由于国内的工业企业主要应用的是国际知名的PLC而国内的PLC很少见,所以我国工业企业PLC方面存在着很多安全隐患。PLC在工业环境安装之后基本处于长期运转的状态,并不会针对其进行漏洞检测及固件升级,久而久之导致PLC控制器本身的固件版本极低很容易被攻击。而且在近几年中针对PLC的攻击的事件也屡次出现,PLC安全事关经济发展、社会稳定和国家安全,针对PLC的安全研究是一件迫在眉睫的事情。
技术实现思路
有鉴于此,本专利技术实施例提供了一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质,能够及时发现PLC的固件级漏洞,进而提高工业生产的安全性。本专利技术实施例提供一种PLC固件级漏洞的检测方法,包括:探测待检测PLC的相关信息;利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;基于测试结果给出固件升级版本及防护建议;其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。进一步地,所述探测待检测PLC的相关信息,具体包括:获取待检测PLC周期性发送给上位机的第一响应包;根据工控协议对所述第一响应包进行解包操作进而获取关键数据段;利用获取的关键数据段构造请求相关信息的数据包;将请求相关信息的数据包发送给待检测PLC;获取待检测PLC发送给上位机的第二响应包;解析第二响应包获取相关信息。进一步地,所述根据工控协议对所述第一响应包进行解包操作进而获取关键数据段,具体包括:将所述第一响应包与对应的工控协议库进行匹配,使用正则表达式进行解包操作,利用group获取关键数据段;其中,所述关键数据段,包括:端口号、协议或者域名。上述方法实施例中,所述基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果,具体包括:基于待检测PLC的硬件信息中的出厂日期,筛选漏洞库中发现时间在出厂日期后的漏洞信息并构造漏洞数据包对待检测PLC进行漏洞测试;或者,使用同一厂商的不同系列产品的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;或者,使用不同厂商的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;或者,对待检测PLC相关的上位机进行操作系统漏洞测试;基于上述漏洞测试结果生成测试文档。第二方面,本专利技术实施例提供一种PLC固件级漏洞的检测装置,包括:设备信息探测模块,用于探测待检测PLC的相关信息;漏洞信息匹配模块,用于利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;漏洞测试记录模块,用于基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;固件升级防护模块,用于基于测试结果给出固件升级版本及防护建议;其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。进一步地,所述设备信息探测模块,具体用于:获取待检测PLC周期性发送给上位机的第一响应包;根据工控协议对所述第一响应包进行解包操作进而获取关键数据段;利用获取的关键数据段构造请求相关信息的数据包;将请求相关信息的数据包发送给待检测PLC;获取待检测PLC发送给上位机的第二响应包;解析第二响应包获取相关信息。进一步地,所述根据工控协议对所述第一响应包进行解包操作进而获取关键数据段,具体包括:将所述第一响应包与对应的工控协议库进行匹配,使用正则表达式进行解包操作,利用group获取关键数据段;其中,所述关键数据段,包括:端口号、协议或者域名。上述装置实施例中,所述漏洞测试记录模块,具体用于:基于待检测PLC的硬件信息中的出厂日期,筛选漏洞库中发现时间在出厂日期后的漏洞信息并构造漏洞数据包对待检测PLC进行漏洞测试;或者,使用同一厂商的不同系列产品的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;或者,使用不同厂商的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试;或者,对待检测PLC相关的上位机进行操作系统漏洞测试;基于上述漏洞测试结果生成测试文档。第三方面,本专利技术实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任一所述的PLC固件级漏洞的检测方法。第四方面,本专利技术的实施例还提供计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一实现方式所述的PLC固件级漏洞的检测方法。本专利技术实施例提供的一种PLC固件级漏洞的检测方法、装置、电子设备及存储介质,区别于传统工业从固件入手进行漏洞检测的方法,通过获取待检测PLC相关信息,并与漏洞库进行匹配,进而获取漏洞信息,基于漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试,进而实现对同公司不同系列,不同公司不同系列的PLC进行模糊测试,对PLC测试后的行为进行整理,提供相应防护方案,从而达到更好的防护效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术的一种工控系统中PLC固件级漏洞的检测方法的一实施例方法流程图;图2为本专利技术的一种探测待检测PLC的相关信息的方法的一实施例方法流程图;图3为本专利技术的一种工控系统中PLC固件级漏洞的检测装置的一实施例结构示意图;图4为本专利技术电子设备一个实施例的结构示意图。具体实施方式下面结合附图对本专利技术实施例进行详细描述。应当明确,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属本文档来自技高网...

【技术保护点】
1.一种PLC固件级漏洞的检测方法,其特征在于,包括:/n探测待检测PLC的相关信息;/n利用所述相关信息匹配漏洞库,获取漏洞信息和风险信息;/n基于获取的漏洞信息构造漏洞数据包对待检测PLC进行漏洞测试并记录测试结果;/n基于测试结果给出固件升级版本及防护建议;/n其中,相关信息包括:厂商信息、硬件信息、固件信息、系统版本或者系统日志;所述漏洞库中记录有发现时间、厂商信息、硬件类型、固件版本、漏洞信息和风险信息。/n

【技术特征摘要】
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进行漏洞测试并...

【专利技术属性】
技术研发人员:王乃青郑瑞肖新光
申请(专利权)人:哈尔滨安天科技集团股份有限公司
类型:发明
国别省市:黑龙;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1