CN109922085B - 一种基于plc中cip协议的安全防护系统及方法 - Google Patents
一种基于plc中cip协议的安全防护系统及方法 Download PDFInfo
- Publication number
- CN109922085B CN109922085B CN201910288540.7A CN201910288540A CN109922085B CN 109922085 B CN109922085 B CN 109922085B CN 201910288540 A CN201910288540 A CN 201910288540A CN 109922085 B CN109922085 B CN 109922085B
- Authority
- CN
- China
- Prior art keywords
- module
- message
- filtering
- protocol
- cip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于PLC中CIP协议的安全防护系统及方法,包括数据采集模块:通过网络接口接入到网络中,用于采集以太网络中的数据包,得到具体的数据报文并将得到的数据报文发送至应用层过滤模块;应用层过滤模块:用于查找过滤符合CIP协议的报文,并将报文发送至DPI过滤解析模块;DPI过滤解析模块:用于解析出CIP协议中的关键命令CMD和功能码FNC,将关键命令CMD和FNC发送至白名单匹配模块;白名单匹配模块:对DPI过滤解析模块中解析出的关键命令CMD和功能码FNC与白名单中预设的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC;输出模块:根据应用层过滤模块、DPI过滤解析模块、白名单匹配模块的过滤判断,转发或者丢弃报文。
Description
技术领域
本发明涉及工业控制系统中的安全防护领域,具体涉及一种基于PLC中CIP协议的安全防护系统及方法。
背景技术
数据采集与监控(SCADA)、分布式控制系统(DCS)、过程控制系统(PCS)、可编程逻辑控制器(PLC)等工业控制广泛运用于控制我国许多关键领域的生产设备的运行,例如核设施、钢铁、化工、石油石化、电力、天然气、先进制造、水利枢纽、环境保护、铁路、城市轨道交通、民航、城市供水供气供热等。一旦工业控制系统信息安全出现漏洞,将对工业生产运行和国家经济安全造成重大隐患。工控系统网络安全不仅关系到国家关键基础设施的安全和重点行业的健康可持续发展,而且影响到社会稳定和国家安全。从2010年针对伊朗核工厂的Stuxnet病毒,到2014年席卷欧洲的Havex病毒,针对工业控制系统的网络攻击越演越烈,工业控制系统迫切需要得到安全防护。
商用防火墙是一种常见的网络安全设备,功能包括访问控制、nat、攻击防护、流量审计等,其中访问控制技术是一种实现在不同网络安全域之间的安全保障方法,对网络层和传输层数据过滤,检测数据流中每个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等,确定是否允许数据包通过。
然而,在工业控制系统中,PLC在工业网络中使用的CIP通讯协议是应用层协议,商用防火墙的访问控制方法只能完成数据包的网络层及传输层关键字段的匹配过滤,缺少针对工业协议数据包深度解析过滤的技术,无法实现对工业协议数据的深度解析与检测。
发明内容
本发明要解决的技术问题是提供一种基于PLC中CIP协议的安全防护系统及方法,解决背景技术无法对PLC使用的CIP协议有效网络防护的问题,解决工业控制系统安全防护的问题,保障工业控制系统的安全运行。
为了解决上述技术问题,本发明提供了一种基于PLC中CIP协议的安全防护系统,包括数据采集模块、应用层过滤模块、DPI过滤解析模块、白名单匹配模块、输出模块;
所述数据采集模块通过网络接口接入到网络中,用于采集以太网络中的数据包,得到具体的数据报文并将得到的数据报文发送至应用层过滤模块;
所述应用层过滤模块用于查找过滤符合CIP协议的报文,并将报文发送至DPI过滤解析模块;
所述DPI过滤解析模块用于解析出CIP协议中的关键命令CMD和功能码FNC,将关键命令CMD和功能码FNC发送至白名单匹配模块;
所述白名单匹配模块是对DPI过滤解析模块中解析出的关键命令CMD和功能码FNC与白名单中预设的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC。
本发明一个较佳实施例中,进一步包括在所述应用层过滤模块前设置有网络层、传输层报文解析模块,所述网络层、传输层报文解析模块对数据报文网络层和传输层的初步过滤。
本发明一个较佳实施例中,进一步包括所述网络层、传输层报文解析模块按ACL访问控制策略过滤,ACL访问控制策略信息包括源IP、源端口、目标IP、目标端口、协议类型五个元素中部分或全部元素,解析数据包中的源IP、源端口、目标IP、目标端口、协议类型元素和ACL策略进行匹配,若匹配成功则将报文发送至应用层过滤模块,若匹配失败则发送至输出模块丢弃报文。
本发明一个较佳实施例中,进一步包括所述应用层过滤模块按照端口号和协议指纹识别报文,首先解析出报文中的端口号,若和CIP协议端口一致则进一步检测协议指纹,否则丢弃报文;再解析报文中的协议指纹,若符合CIP协议指纹特征则进入DPI过滤解析模块进一步解析报文过滤,否则发送至输出模块丢弃报文。
本发明一个较佳实施例中,进一步包括在所述白名单匹配模块中预设有符合PLC控制设备安全运行的关键命令CMD和功能码FNC。
本发明一个较佳实施例中,进一步包括根据网络安全信息,不断跟新白名单匹配模块中预设的关键命令CMD和功能码FNC。
本发明一个较佳实施例中,进一步包括信息日志记录模块,所述信息日志记录模块用于记录丢弃报文,输出告警日志,并生成相关的分析报告。
为了解决上述技术问题,本发明提供了一种基于PLC中CIP协议的安全防护方法,包括如下步骤:
(1)将数据采集模块接入到网络中,采集以太网络中的数据包,得到具体的数据报文;
(2)将数据报文在应用层进行过滤,按照端口号和协议指纹查找过滤符合CIP协议的报文;
(3)将应用层过滤后的报文进行DPI解析过滤,解析出报文CIP协议中的关键命令CMD和功能码FNC;
(4)将DPI过滤后得到的报文CIP协议中的关键命令CMD和功能码FNC跟预设白名单中的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC;
(5)转发带有允许的关键命令CMD和功能码FNC的报文,丢弃经过应用层过滤、DPI解析过滤和白名单匹配后不符合的报文。
本发明一个较佳实施例中,进一步包括在步骤2将报文发送至应用层过滤模块前,先将报文进行网络层、传输层报文解析,在网络层和传输层按ACL访问控制策略过滤对报文初步过滤,丢弃掉在网络层和传输层不匹配的报文。
本发明一个较佳实施例中,进一步包括记录丢弃报文,输出告警日志,并生成相关的分析报告。
本发明的有益效果:
现有技术中,商用防火墙的访问控制方法只能完成数据包的网络层及传输层关键字段的匹配过滤,缺少针对工业协议数据包深度解析过滤的技术,无法实现对工业协议数据的深度解析与检测。本发明针对PLC使用的CIP工业协议进行深度解析,过滤协议中关键命令CMD和功能码FNC,防止恶意行为入侵PLC控制设备,从而对工业设备达到安全防护的效果,保障工业控制系统的安全运行。
附图说明
图1是本发明的系统模块图;
图2是本发明的流程图;
图3是本发明的方法步骤图。
图中标号说明:10、数据采集模块;20、应用层过滤模块;30、DPI过滤解析模块;40、白名单匹配模块;50、输出模块;60、信息日志记录模块;70、网络层、传输层报文解析模块70。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
参照图1所示,本发明的基于PLC中CIP协议的安全防护系统的一实施例,包括数据采集模块10、应用层过滤模块20、DPI过滤解析模块30、白名单匹配模块40、输出模块50;
一、数据采集模块10
所述数据采集模块10通过网络接口接入到网络中,用于采集以太网络中的数据包,得到具体的数据报文并将得到的数据报文发送至应用层过滤模块20。
在其他实施例中也可以通过网络数据包分析软件,如wireshark,wireshark的功能是抓取网络数据包,并尽可能显示出最为详细的网络数据包资料,Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
二、应用层过滤模块20
所述应用层过滤模块20用于查找过滤符合CIP协议的报文,并将报文发送至DPI过滤解析模块30,所述应用层过滤模块20按照端口号和协议指纹识别报文,首先解析出报文中的端口号,若和CIP协议端口一致则进一步检测协议指纹,否则丢弃报文,其中所述端口号可以为CIP协议端口44818或自定义CIP端口号;再解析报文中的协议指纹,所述CIP协议指纹包括协议id为0x006f或0x0070,协议中长度字段跟报文长度吻合,若符合CIP协议指纹特征则进入DPI过滤解析模块30进一步解析报文过滤,否则发送至输出模块50丢弃报文。
三、DPI过滤解析模块30
所述DPI过滤解析模块30用于解析出CIP协议中的关键命令CMD和功能码FNC,将关键命令CMD和功能码FNC发送至白名单匹配模块40;
所述关键命令CMD是command的缩写,所述功能码FNC是function的缩写,CMD与FNC共同确定了PLC中CIP协议的关键命令,包括protected write、read diagnosticcounters、read link parameters、set CPU mode等等。所述CIP协议是应用工业以太网PLC通信的协议,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,它已经成为一通用工业标准。
四、白名单匹配模块40
所述白名单匹配模块40是对DPI过滤解析模块30中解析出的关键命令CMD和功能码FNC与白名单中预设的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC。
具体地,在所述白名单匹配模块40中预设有符合PLC控制设备安全运行的关键命令CMD和功能码FNC,根据最新的网络安全信息,不断跟新白名单匹配模块40中预设的关键命令CMD和功能码FNC。
五、输出模块50
所述输出模块50根据应用层过滤模块20、DPI过滤解析模块30、白名单匹配模块40的过滤判断,转发或者丢弃报文。
具体地,本实施例中,还包括信息日志记录模块60,所述信息日志记录模块60用于记录输出模块50中丢弃报文,输出告警日志,并生成相关的分析报告,根据告警日志和分析报告对PLC控制设备进行维护。
作为优选实施例,在所述应用层过滤模块20前设置有网络层、传输层报文解析模块70,所述网络层、传输层报文解析模块70对数据报文网络层和传输层的初步过滤,形成了基于网络层、传输层的初步防御,较少进入到应用层协议的数据量。
所述网络层、传输层报文解析模块70按ACL访问控制策略过滤,ACL访问控制策略信息包括源IP、源端口、目标IP、目标端口、协议类型五个元素中部分或全部元素,解析数据包中的源IP、源端口、目标IP、目标端口、协议类型元素和ACL策略进行匹配,若匹配成功则将报文发送至应用层过滤模块20,若匹配失败则发送至输出模块50丢弃报文。
参照图2-3所示,本发明的基于PLC中CIP协议的安全防护方法的一实施例,包括如下步骤:
(1)将数据采集模块10接入到网络中,采集以太网络中的数据包,得到具体的数据报文;
(2)将报文进行网络层、传输层报文解析,在网络层和传输层按ACL访问控制策略过滤对报文初步过滤,ACL访问控制策略信息包括源IP、源端口、目标IP、目标端口、协议类型五个元素中部分或全部元素。解析数据包中的源IP、源端口、目标IP、目标端口、协议类型元素和ACL策略进行匹配,如匹配成功则将报文发送至应用层过滤模块20,如匹配失败则丢弃报文,输出告警日志;
(3)将数据报文在应用层进行过滤,按照端口号和协议指纹查找过滤符合CIP协议的报文,将符合CIP协议的报文发送至DPI过滤模块,将不符合CIP协议的报文丢弃,输出告警日志;
(4)将应用层过滤后的报文进行DPI解析过滤,解析出报文CIP协议中的关键命令CMD和功能码FNC;
(5)将DPI过滤后得到的报文CIP协议中的关键命令CMD和功能码FNC跟预设白名单中的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC,转发带有允许的关键命令CMD和功能码FNC的报文,丢弃和白名单匹配后不符合的报文,输出告警日志。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (7)
1.一种基于PLC中CIP协议的安全防护系统,其特征在于,包括数据采集模块、网络层、传输层报文解析模块、应用层过滤模块、过滤解析模块、白名单匹配模块、输出模块;
所述数据采集模块通过网络接口接入到网络中,用于采集以太网络中的数据包,得到具体的数据报文并将得到的数据报文发送至网络层、传输层报文解析模块;
所述网络层、传输层报文解析模块对数据报文网络层和传输层的初步过滤,所述网络层、传输层报文解析模块按访问控制策略过滤,所述访问控制策略信息包括源IP、源端口、目标IP、目标端口、协议类型五个元素中部分或全部元素,解析数据包中的源IP、源端口、目标IP、目标端口、协议类型元素和ACL策略进行匹配,若匹配成功则将报文发送至应用层过滤模块,若匹配失败则发送至输出模块丢弃报文;
所述应用层过滤模块用于查找过滤符合CIP协议的报文,并将报文发送至过滤解析模块;
所述过滤解析模块用于解析出CIP协议中的关键命令CMD和功能码FNC,将关键命令CMD和功能码FNC发送至白名单匹配模块;
所述白名单匹配模块是对过滤解析模块中解析出的关键命令CMD和功能码FNC与白名单中预设的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC;
所述输出模块根据应用层过滤模块、过滤解析模块、白名单匹配模块的过滤判断,转发或者丢弃报文。
2.如权利要求1所述的基于PLC中CIP协议的安全防护系统,其特征在于,所述应用层过滤模块按照端口号和协议指纹识别报文,首先解析出报文中的端口号,若和CIP协议端口一致则进一步检测协议指纹,否则丢弃报文;再解析报文中的协议指纹,若符合CIP协议指纹特征则进入过滤解析模块进一步解析报文过滤,否则发送至输出模块丢弃报文。
3.如权利要求1所述的基于PLC中CIP协议的安全防护系统,其特征在于,在所述白名单匹配模块中预设有符合PLC控制设备安全运行的关键命令CMD和功能码FNC。
4.如权利要求3所述的基于PLC中CIP协议的安全防护系统,其特征在于,根据网络安全信息,不断更新白名单匹配模块中预设的关键命令CMD和功能码FNC。
5.如权利要求1所述的基于PLC中CIP协议的安全防护系统,其特征在于,还包括信息日志记录模块,所述信息日志记录模块用于记录丢弃报文,输出告警日志,并生成相关的分析报告。
6.一种根据权利要求1~5任意一下基于PLC中CIP协议的安全防护系统的基于PLC中CIP协议的安全防护方法,其特征在于,包括如下步骤:
(1)将数据采集模块接入到网络中,采集以太网络中的数据包,得到具体的数据报文;
(2)将报文进行网络层、传输层报文解析,在网络层和传输层按访问控制策略过滤对报文初步过滤,丢弃掉在网络层和传输层不匹配的报文;
(3)将数据报文在应用层进行过滤,按照端口号和协议指纹查找过滤符合CIP协议的报文;
(4)将应用层过滤后的报文进行解析过滤,解析出报文CIP协议中的关键命令CMD和功能码FNC;
(5)将解析过滤后得到的报文CIP协议中的关键命令CMD和功能码FNC跟预设白名单中的关键命令CMD和功能码FNC进行特征匹配,判断是否为允许的关键命令CMD和功能码FNC;
(6)转发带有允许的关键命令CMD和功能码FNC的报文,丢弃经过应用层过滤、解析过滤和白名单匹配后不符合的报文。
7.如权利要求6所述的基于PLC中CIP协议的安全防护方法,其特征在于,记录丢弃报文,输出告警日志,并生成相关的分析报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910288540.7A CN109922085B (zh) | 2019-04-11 | 2019-04-11 | 一种基于plc中cip协议的安全防护系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910288540.7A CN109922085B (zh) | 2019-04-11 | 2019-04-11 | 一种基于plc中cip协议的安全防护系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109922085A CN109922085A (zh) | 2019-06-21 |
CN109922085B true CN109922085B (zh) | 2021-12-24 |
Family
ID=66969529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910288540.7A Active CN109922085B (zh) | 2019-04-11 | 2019-04-11 | 一种基于plc中cip协议的安全防护系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109922085B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661680B (zh) * | 2019-09-11 | 2023-03-14 | 深圳市永达电子信息股份有限公司 | 一种基于正则表达式进行数据流白名单检测的方法及系统 |
CN110620779A (zh) * | 2019-09-26 | 2019-12-27 | 中国电子科技网络信息安全有限公司 | 一种基于错误码响应的工业控制协议指令级防护方法 |
CN110971407B (zh) * | 2019-12-19 | 2022-06-24 | 江苏亨通工控安全研究院有限公司 | 基于量子秘钥的物联网安全网关通信方法 |
CN111427305B (zh) * | 2020-03-29 | 2021-09-24 | 博智安全科技股份有限公司 | 针对西门子plc漏洞挖掘的方法 |
CN111866020B (zh) * | 2020-07-31 | 2023-03-24 | 深圳市英威腾电气股份有限公司 | 一种通讯卡以及一种通讯方法 |
CN112468488B (zh) * | 2020-11-25 | 2023-05-23 | 杭州安恒信息技术股份有限公司 | 工业异常监测方法、装置、计算机设备及可读存储介质 |
CN112738063A (zh) * | 2020-12-25 | 2021-04-30 | 山东钢铁集团日照有限公司 | 一种工业控制系统网络安全监测平台 |
CN113364746B (zh) * | 2021-05-24 | 2022-08-02 | 湖南华菱涟源钢铁有限公司 | 设备识别方法、装置、设备及计算机存储介质 |
CN113709129A (zh) * | 2021-08-20 | 2021-11-26 | 绿盟科技集团股份有限公司 | 一种基于流量学习的白名单生成方法、装置和系统 |
CN117278660B (zh) * | 2023-11-21 | 2024-03-29 | 华信咨询设计研究院有限公司 | 一种基于dpdk技术的流量过滤的协议解析方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411820B (zh) * | 2015-07-29 | 2019-05-21 | 中国科学院沈阳自动化研究所 | 一种基于sdn架构的工业通信流传输安全控制方法 |
CN106899419B (zh) * | 2015-12-17 | 2020-11-10 | 北京网御星云信息技术有限公司 | 一种实现异常处理的方法、装置及请求端 |
CN109558366B (zh) * | 2018-11-15 | 2023-03-31 | 浙江国利网安科技有限公司 | 一种基于多处理器架构的防火墙 |
-
2019
- 2019-04-11 CN CN201910288540.7A patent/CN109922085B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109922085A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922085B (zh) | 一种基于plc中cip协议的安全防护系统及方法 | |
CN109739203B (zh) | 一种工业网络边界防护系统 | |
US8737398B2 (en) | Communication module with network isolation and communication filter | |
Jardine et al. | Senami: Selective non-invasive active monitoring for ics intrusion detection | |
CN107360118B (zh) | 一种高级持续威胁攻击防护方法及装置 | |
CN105812387A (zh) | 一种单向数据安全交换设备 | |
CN110401624A (zh) | 源网荷系统交互报文异常的检测方法及系统 | |
CN114567463B (zh) | 一种工业网络信息安全监测与防护系统 | |
CN111510436B (zh) | 网络安全系统 | |
CN113596028B (zh) | 一种网络异常行为的处置方法及装置 | |
KR20200118887A (ko) | 메세지를 처리하는 네트워크 프로브 및 방법 | |
CN112822151A (zh) | 面向控制网络工业计算机的多层精准主动网络攻击检测方法及系统 | |
CN110958231A (zh) | 基于互联网的工控安全事件监测平台及其方法 | |
CN214306527U (zh) | 一种燃气管网调度监控网络安全系统 | |
CN114125083B (zh) | 工业网络分布式数据采集方法、装置、电子设备及介质 | |
CN113285916B (zh) | 智能制造系统异常流量检测方法及检测装置 | |
Rajesh et al. | Detection and blocking of replay, false command, and false access injection commands in scada systems with modbus protocol | |
CN111835680A (zh) | 一种工业自动制造的安全防护系统 | |
CN114666088A (zh) | 工业网络数据行为信息的侦测方法、装置、设备和介质 | |
CN115801441A (zh) | 一种列车通信网络的安全防护系统及方法 | |
CN115865526A (zh) | 一种基于云边协同的工业互联网安全检测方法及系统 | |
Katulić et al. | Enhancing Modbus/TCP-based industrial automation and control systems cybersecurity using a misuse-based intrusion detection system | |
Feng et al. | Snort improvement on profinet RT for industrial control system intrusion detection | |
US9298175B2 (en) | Method for detecting abnormal traffic on control system protocol | |
CN104735043A (zh) | 一种阻止可疑数据包通过工业以太网攻击plc的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |