[发明专利]PLC控制逻辑攻击检测方法及装置在审
申请号: | 202111306385.0 | 申请日: | 2021-11-05 |
公开(公告)号: | CN114371682A | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 孙利民;孙怡亭;刘俊矫;陈新 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G05B23/02 | 分类号: | G05B23/02 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 陈新生 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | plc 控制 逻辑 攻击 检测 方法 装置 | ||
本发明提供一种PLC控制逻辑攻击检测方法、装置及存储介质,其中方法包括:获取PLC基线程序;对所述PLC基线程序进行反编译处理和文本分析,确定基线程序特征信息;所述基线程序特征信息包括基线程序梯级信息;基于所述基线程序特征信息生成白名单规则;基于所述白名单规则进行PLC控制逻辑攻击检测。本发明通过提取PLC基线程序进行解析获取包括基线程序梯级在内的基线程序特征信息,生成细粒度的白名单规则,通过实时对PLC程序解析得到的程序特征信息与白名单规则进行比对,实现了PLC控制逻辑攻击的自动化检测,并将检测精度定位到具体的程序块和梯级号,提升了检测精度。
技术领域
本发明涉及工业控制技术领域,尤其涉及一种PLC控制逻辑攻击检测方法及装置。
背景技术
可编程逻辑控制器(Programmable Logic Controller,PLC)在工业控制系统(Industrial Control System,ICS)中起着至关重要的作用。
由于PLC设备存在的认证缺陷以及PLC采用的通信协议被公开,因此攻击者只需掌握通信协议的构造方式并接入工控网络中,就可以对PLC设备发送指令,对PLC设备进行攻击。其中,针对PLC 控制逻辑的攻击会造成最为严重的破坏。目前针对PLC控制逻辑攻击的检测通过两个方面进行,一是利用公开的工控系统协议规范和格式,对数据包进行深度解析,从而实现异常的检测;二是通过 PLC代码的形式化验证技术,对PLC控制逻辑攻击进行检测。
但是,上述方案只能针对特定的PLC编程语言,无法获得精准的检测信息,并且需要技术人员定义特定于域的安全属性,无法实现检测过程的全自动化。
发明内容
针对现有技术存在的上述问题,本发明实施例提供一种PLC控制逻辑攻击检测方法。
本发明提供一种PLC控制逻辑攻击检测方法,包括:
获取PLC基线程序;所述PLC基线程序为PLC未遭受控制逻辑攻击时运行的控制程序;
对所述PLC基线程序进行反编译处理和文本分析,确定基线程序特征信息;所述基线程序特征信息包括基线程序梯级信息;
基于所述基线程序特征信息生成白名单规则;
基于所述白名单规则进行PLC控制逻辑攻击检测。
可选地,所述获取PLC基线程序,包括:
根据PLC设备对应的通信协议构造控制程序上载数据包获取所述PLC基线程序。
可选地,所述对所述PLC基线程序进行反编译处理和文本分析,确定基线程序特征信息,包括:
将二进制的所述PLC基线程序通过预设映射数据库进行反编译处理,得到指令表IL语言控制程序;
对所述IL语言控制程序进行文本分析,确定所述基线程序特征信息。
可选地,所述白名单规则包括程序列表白名单,程序块属性白名单和程序内容白名单;所述程序列表白名单为基线程序的列表集合;所述程序块属性白名单为基线程序块的元信息集合;所述程序内容白名单为基线程序块的梯级信息集合。
可选地,所述基于所述白名单规则进行PLC控制逻辑攻击检测,包括:
按照预设周期实时获取PLC程序;
将二进制的所述PLC程序进行反编译处理和文本分析后与所述白名单规则进行比对,确定PLC控制逻辑攻击检测结果。
可选地,所述基于所述白名单规则进行PLC控制逻辑攻击检测,包括:
监控具有PLC程序下载功能码或PLC数据读写功能码的数据包;
解析所述数据包获取对应的二进制的PLC程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111306385.0/2.html,转载请声明来源钻瓜专利网。