CN110912921B - 一种工业控制系统安全数据校验系统及方法 - Google Patents
一种工业控制系统安全数据校验系统及方法 Download PDFInfo
- Publication number
- CN110912921B CN110912921B CN201911219941.3A CN201911219941A CN110912921B CN 110912921 B CN110912921 B CN 110912921B CN 201911219941 A CN201911219941 A CN 201911219941A CN 110912921 B CN110912921 B CN 110912921B
- Authority
- CN
- China
- Prior art keywords
- data packet
- terminal unit
- request data
- request
- delay value
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种工业控制系统安全数据校验系统及方法,用时间隐蔽信道调整相邻数据包的时间间隔以表示校验信息,从而建立主终端单元和远程终端单元之间的时间隐蔽信道,完成Modbus‑TCP数据包发送和接收认证信息过程,其中校验信息通过不限类型的哈希算法生成,即可以通过对Modbus‑TCP数据包的时延进行检测,在通信时延和时间隐蔽信道的校验信息不符合时,阻断主终端单元和远程终端单元之间的通讯,并产生告警,实现了能抵御多种网络攻击、不易被基于内容检测方法识别且支持国产密码算法。
Description
技术领域
本申请涉及工业控制系统安全技术领域,尤其涉及一种工业控制系统安全数据校验系统及方法。
背景技术
数据采集与监控系统(SCADA,Supervisory Control And Data Acquisition)是工业控制系统的重要组成部分,传统SCADA均将接口通过物理方式锁定在指定范围,导致设计和部署时仅考虑功能性和稳定性,对安全性的考虑有所欠缺。在实际运作的工业控制系统中,攻击者通过系统后台漏洞或人为疏忽渗透到SCADA内部网络中,对正常运作的工业控制系统进行数据篡改等网络攻击,从而隐蔽地对工业设备造成持续的物理破坏。
针对工业控制系统的数据篡改攻击,已有学者提出多个解决方法:安全层(ModbusSec)将流控制传输协议(SCTP,StreamControlTransmissionProtoco)和Modbus协议结合并附加消息验证码,生成Modbus认证方法。虽然SCTP协议本身对拒绝服务攻击、中间人攻击有良好的防御能力,但该认证方法为对称加密认证结构,密钥单一,对未授权命令及重放攻击的抵御能力较弱;Sec_Modbus协议采用对称加密和数字签名技术实现保密性要求及认证,使用SHA-256哈希算法计算消息的摘要,利用同步性原理和哈希函数的单向性设计,实现基于哈希链的防重放攻击方法,但该方法需要更改原始系统所使用的通信协议,存在兼容性问题,且未支持国产密码算法;利用TCP存储型隐蔽信道,对Modbus数据进行哈希校验,存在被基于内容的检测方法进行针对性检测的风险。
综上,如何实现能抵御多种网络攻击、不易被基于内容检测方法识别、支持国产密码算法的SCADA数据校验方法,是亟待本领域人员解决的技术问题。
发明内容
本申请实施例提供了一种工业控制系统安全数据校验系统及方法,实现了能抵御多种网络攻击、不易被基于内容检测方法识别且支持国产密码算法。
有鉴于此,本申请第一方面提供了一种工业控制系统安全数据校验系统,所述系统包括:
主终端单元、远程终端单元、第一校验端和第二校验端;
所述主终端单元与所述远程终端单元依次通过第一路由器和第二路由器网络连接;
所述第一校验端与所述第一路由器网络连接;
所述第二校验端与所述第二路由器网络连接;
所述第一校验端拦截所述主终端单元发送的第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据所述第一运算结果生成第一校验码,并得到第一时延值,在等待所述第一时延值的时间后,向所述远程终端单元转发所述第一请求数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述主终端单元发送的请求数据包;
所述第二校验端拦截所述远程终端单元待接收的所述第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据所述第二运算结果生成第二校验码,并得到第二时延值,在拦截到所述远程终端单元发送的第一响应数据包后,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述远程终端单元待接收的请求数据包;
所述第一校验端拦截所述主终端单元待接收的第二响应数据包并记录第一拦截时间,将所述第一拦截时间与第二拦截时间作差后,得到第三时延值,比较所述第三时延值与所述第一时延值,当所述第三时延值除以二的值与所述第一时延值相同时,立即向所述主终端单元转发所述第二响应数据包,否则阻断所述主终端单元与所述远程终端单元之间的通讯,并生成SCADA系统告警信息,其中,所述第二拦截时间为在拦截所述第二响应数据包之前一个拦截的所述主终端单元待接收的响应数据包的拦截时间。
可选地,所述第一校验端以及所述第二校验端利用Ettercap和Scapy工具,使用中间人攻击实现对所述主终端单元以及所述远程终端单元的数据包拦截。
可选地,所述第一校验端拦截所述主终端单元发送的第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据所述第一运算结果生成第一校验码,并得到第一时延值,在等待所述第一时延值的时间后,向所述远程终端单元转发所述第一请求数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述主终端单元发送的请求数据包具体包括:
所述第一校验端拦截所述主终端单元发送的第一请求数据包p1;
所述第一校验端解析所述第一请求数据包p1中的Modbus-TCP数据包并得到所述第一请求数据包p1的数据域di;
所述第一校验端将所述第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过预设哈希算法进行哈希运算,生成对应位数的哈希码作为第一运算结果,将所述第一运算结果中每隔预设间隔位数取1个数,组合生成6位二进制的第一校验码,将所述第一校验码与预设系数相乘后得到第一时延值,其中,所述第二请求数据包p2为在所述第一请求数据包p1之前一个获取的所述主终端单元发送的请求数据包;
所述第一校验端在等待所述第一时延值的时间后,向所述远程终端单元转发所述第一请求数据包。
可选地,所述远程终端单元的ON/OFF单元初始设置为OFF。
可选地,所述第二校验端拦截所述远程终端单元待接收的第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据所述第二运算结果生成第二校验码,并得到第二时延值,在拦截到所述远程终端单元发送的第一响应数据包后,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述远程终端单元待接收的请求数据包具体包括:
所述第二校验端拦截所述远程终端单元待接收的所述第一请求数据包p1;
所述第二校验端向所述远程终端单元发送第一修改数据包将所述远程终端单元的ON/OFF单元为ON;
所述第二校验端解析所述第一请求数据包p1中的Modbus-TCP数据包并得到所述第一请求数据包p1的数据域di;
所述第二校验端将所述第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过预设哈希算法进行哈希运算,生成对应位数的哈希码作为第二运算结果,将所述第二运算结果中每隔预设间隔位数取1个数,组合生成6位二进制的第二校验码,将所述第二校验码与预设系数相乘后得到第二时延值,其中,所述第二请求数据包p2为在所述第一请求数据包p1之前一个获取的所述远程终端单元待接收的请求数据包;
所述第二校验端在拦截到所述远程终端单元发送的第一响应数据包r1后,向所述远程终端单元发送第二修改数据包将所述远程终端单元的ON/OFF单元为OFF,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包r1。
可选地,所述第一校验端拦截所述主终端单元待接收的第二响应数据包并记录第一拦截时间,将所述第一拦截时间与第二拦截时间作差后,得到第三时延值,比较所述第三时延值与所述第一时延值,当所述第三时延值除以二的值与所述第一时延值相同时,立即向所述主终端单元转发所述第二响应数据包,否则阻断所述主终端单元与所述远程终端单元之间的通讯,并生成SCADA系统告警信息,其中,所述第二拦截时间为在拦截所述第二响应数据包之前一个拦截的所述主终端单元待接收的响应数据包的拦截时间具体包括:
所述第一校验端拦截所述主终端单元待接收的第二响应数据包r2;
所述第一校验端记录第一拦截时间t1;
所述第一校验端将所述第一拦截时间t1与第二拦截时间t2作差后,得到第三时延值,其中,所述第二拦截时间为在拦截所述第二响应数据包之前一个拦截的所述主终端单元待接收的响应数据包的拦截时间;
所述第一校验端比较所述第三时延值与所述第一时延值,当所述第三时延值除以二的值与所述第一时延值相同时,立即向所述主终端单元转发所述第二响应数据包,否则阻断所述主终端单元与所述远程终端单元之间的通讯,并生成SCADA系统告警信息。
本申请第二方面提供一种工业控制系统安全数据校验方法,所述方法包括:
拦截主终端单元发送的第一请求数据包;
解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据所述第一运算结果生成第一校验码,并得到第一时延值,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述主终端单元发送的请求数据包;
在等待所述第一时延值的时间后,向远程终端单元转发所述第一请求数据包;
拦截所述主终端单元待接收的第二响应数据包并记录第一拦截时间;
将所述第一拦截时间与第二拦截时间作差后,得到第三时延值,其中,所述第二拦截时间为在拦截所述第二响应数据包之前一个拦截的所述主终端单元待接收的响应数据包的拦截时间;
比较所述第三时延值与所述第一时延值,当所述第三时延值除以二的值与所述第一时延值相同时,立即向所述主终端单元转发所述第二响应数据包,否则阻断所述主终端单元与所述远程终端单元之间的通讯,并生成SCADA系统告警信息。
本申请第三方面提供一种工业控制系统安全数据校验方法,所述方法包括:
拦截远程终端单元待接收的第一请求数据包;
解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据所述第二运算结果生成第二校验码,并得到第二时延值,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述远程终端单元待接收的请求数据包;
在拦截到所述远程终端单元发送的第一响应数据包后,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种工业控制系统安全数据校验系统,用时间隐蔽信道调整相邻数据包的时间间隔以表示校验信息,从而建立主终端单元和远程终端单元之间的时间隐蔽信道,完成Modbus-TCP数据包发送和接收认证信息过程,其中校验信息通过不限类型的哈希算法生成,即可以通过对Modbus-TCP数据包的时延进行检测,在通信时延和时间隐蔽信道的校验信息不符合时,阻断主终端单元和远程终端单元之间的通讯,并产生告警,实现了能抵御多种网络攻击、不易被基于内容检测方法识别且支持国产密码算法。
附图说明
图1为本申请实施例中一种工业控制系统安全数据校验系统的系统架构图;
图2为本申请实施例中一种工业控制系统安全数据校验系统的时延示意图;
图3为本申请实施例中一种工业控制系统安全数据校验系统中Modbus-TCP协议格式示意图;
图4为本申请实施例中一种工业控制系统安全数据校验方法的一个实施例的流程示意图;
图5为本申请实施例中一种工业控制系统安全数据校验方法的另一个实施例的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,本申请应用于工业控制系统安全数据校验系统,请参阅图1,图1为本申请实施例中工业控制系统安全数据校验系统的系统架构图,如图1所示,图1中包括主终端单元、两个路由器、若干个远程终端单元、搭载了第一校验端的PC1和搭载了第二校验端的PC2,其中PC1和与主终端单元直接连接的路由器连接,PC2和与远程终端单元连接的路由器连接;
在配置主站侧局域网时,可以将SCADA系统中主终端单元MTC与一个路由器Rounter1通过LAN直连,Rounter1不接入互联网,配置主终端单元MTC轮询周期为5000*N毫秒,单个“请求-响应”超时时间为1000毫秒;
在配置从站侧局域网时,可以将SCADA系统中的若干个远程终端单元RTU与一个路由器Rounter2通过LAN直连,Rounter2不接入互联网,远程终端单元RTU中ON/OFF单元均初始设置为OFF;
在配置流量拦截校验设备时,可以将搭载了第一校验端的PC1接入路由器Rounter1,搭载了第二校验端的PC2接入路由器Rounter2,并利用Ettercap和Scapy辅助工具,使用中间人攻击(MITM)实现SCADA系统中数据包的拦截,其过滤条件设置为源端口或目的端口为502,通信协议为如图3所示的Modbus-TCP协议或TCP协议。
本申请设计了一种工业控制系统安全数据校验系统及方法,实现了能抵御多种网络攻击、不易被基于内容检测方法识别且支持国产密码算法。
为了便于理解,本申请实施例提供了一种工业控制系统安全数据校验系统,其时延示意图如图2所示,具体为:
第一校验端拦截主终端单元发送的第一请求数据包,解析第一请求数据包中的Modbus-TCP数据包并得到第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据第一运算结果生成第一校验码,并得到第一时延值,在等待第一时延值的时间后,向远程终端单元转发第一请求数据包,其中,第二请求数据包为在第一请求数据包之前一个获取的主终端单元发送的请求数据包;
具体地:
第一校验端拦截主终端单元发送的第一请求数据包p1;
第一校验端解析第一请求数据包p1中的Modbus-TCP数据包并得到第一请求数据包p1的数据域di;
第一校验端将第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过预设哈希算法进行哈希运算,生成对应位数的哈希码作为第一运算结果,将第一运算结果中每隔预设间隔位数取1个数,组合生成6位二进制的第一校验码,将第一校验码与预设系数相乘后得到第一时延值,其中,第二请求数据包p2为在第一请求数据包p1之前一个获取的主终端单元发送的请求数据包;
第一校验端在等待第一时延值的时间后,向远程终端单元转发第一请求数据包。
需要说明的是,本申请实施例中第一校验端采用的预设哈希算法可以为任意一种哈希算法,兼容国际传统哈希算法(MD5、SHA-1等)以及国产哈希算法(SM2、SM3等);
以采用SM2哈希算法为例,第一校验端将第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过SM2哈希算法将生成256位哈希码作为第一运算结果,从256位哈希码中每间隔42位取1个数,组合生成6位二进制的第一校验码,将第一校验码与预设系数100毫秒相乘后得到第一时延值。
第二校验端拦截远程终端单元待接收的第一请求数据包,解析第一请求数据包中的Modbus-TCP数据包并得到第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据第二运算结果生成第二校验码,并得到第二时延值,在拦截到远程终端单元发送的第一响应数据包后,等待第二时延值的时间,向主终端单元转发第一响应数据包,其中,第二请求数据包为在第一请求数据包之前一个获取的远程终端单元待接收的请求数据包;
具体地:
第二校验端拦截远程终端单元待接收的第一请求数据包p1;
第二校验端向远程终端单元发送第一修改数据包将远程终端单元的ON/OFF单元为ON;
第二校验端解析第一请求数据包p1中的Modbus-TCP数据包并得到第一请求数据包p1的数据域di;
第二校验端将第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过预设哈希算法进行哈希运算,生成对应位数的哈希码作为第二运算结果,将第二运算结果中每隔预设间隔位数取1个数,组合生成6位二进制的第二校验码,将第二校验码与预设系数相乘后得到第二时延值,其中,第二请求数据包p2为在第一请求数据包p1之前一个获取的远程终端单元待接收的请求数据包;
第二校验端在拦截到远程终端单元发送的第一响应数据包r1后,向远程终端单元发送第二修改数据包将远程终端单元的ON/OFF单元为OFF,等待第二时延值的时间,向主终端单元转发第一响应数据包r1。
需要说明的是,第二校验端采用与第一校验端相同的预设哈希算法进行哈希运算,同样也对第二运算结果采用相同的间隔进行取数,生成第二校验码,最后由第二校验码和相同的预设系数相乘确定第二时延值。
第一校验端拦截主终端单元待接收的第二响应数据包并记录第一拦截时间,将第一拦截时间与第二拦截时间作差后,得到第三时延值,比较第三时延值与第一时延值,当第三时延值除以二的值与第一时延值相同时,立即向主终端单元转发第二响应数据包,否则阻断主终端单元与远程终端单元之间的通讯,并生成SCADA系统告警信息,其中,第二拦截时间为在拦截第二响应数据包之前一个拦截的主终端单元待接收的响应数据包的拦截时间;
具体地:
第一校验端拦截主终端单元待接收的第二响应数据包r2;
第一校验端记录第一拦截时间t1;
第一校验端将第一拦截时间t1与第二拦截时间t2作差后,得到第三时延值,其中,第二拦截时间为在拦截第二响应数据包之前一个拦截的主终端单元待接收的响应数据包的拦截时间;
第一校验端比较第三时延值与第一时延值,当第三时延值除以二的值与第一时延值相同时,立即向主终端单元转发第二响应数据包,否则阻断主终端单元与远程终端单元之间的通讯,并生成SCADA系统告警信息。
需要说明的是,校验码的作用是为了防止数据被篡改,前后对比数据的校验码相同则数据不变,校验码不同则数据被篡改,数据篡改的范围包括数据包内容或长度的改变。本申请将校验码乘上预设系数作为时延值,从而隐蔽地传输校验码,可以根据时延值的不同确定数据是否被篡改了。
本申请实施例中,提供了一种工业控制系统安全数据校验系统,用时间隐蔽信道调整相邻数据包的时间间隔以表示校验信息,从而建立主终端单元和远程终端单元之间的时间隐蔽信道,完成Modbus-TCP数据包发送和接收认证信息过程,其中校验信息通过不限类型的哈希算法生成,即可以通过对Modbus-TCP数据包的时延进行检测,在通信时延和时间隐蔽信道的校验信息不符合时,阻断主终端单元和远程终端单元之间的通讯,并产生告警,实现了能抵御多种网络攻击、不易被基于内容检测方法识别且支持国产密码算法。
如图4所示,本申请实施例提供了一种工业控制系统安全数据校验方法的一个实施例的流程示意图,主要应用于搭载了第一校验端的PC1上,具体为:
401、拦截主终端单元发送的第一请求数据包;
402、解析第一请求数据包中的Modbus-TCP数据包并得到第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据第一运算结果生成第一校验码,并得到第一时延值,其中,第二请求数据包为在第一请求数据包之前一个获取的主终端单元发送的请求数据包;
403、在等待第一时延值的时间后,向远程终端单元转发第一请求数据包;
404、拦截主终端单元待接收的第二响应数据包并记录第一拦截时间;
405、将第一拦截时间与第二拦截时间作差后,得到第三时延值,其中,第二拦截时间为在拦截第二响应数据包之前一个拦截的主终端单元待接收的响应数据包的拦截时间;
406、比较第三时延值与第一时延值,当第三时延值除以二的值与第一时延值相同时,立即向主终端单元转发第二响应数据包,否则阻断主终端单元与远程终端单元之间的通讯,并生成SCADA系统告警信息。
如图5所示,本申请实施例提供了一种工业控制系统安全数据校验方法的另一个实施例的流程示意图,主要应用于搭载了第二校验端的PC2上,具体为:
501、拦截远程终端单元待接收的第一请求数据包;
502、解析第一请求数据包中的Modbus-TCP数据包并得到第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据第二运算结果生成第二校验码,并得到第二时延值,其中,第二请求数据包为在第一请求数据包之前一个获取的远程终端单元待接收的请求数据包;
503、在拦截到远程终端单元发送的第一响应数据包后,等待第二时延值的时间,向主终端单元转发第一响应数据包。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法具体工作过程,可以参考前述系统实施例中的对应交互过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (6)
1.一种工业控制系统安全数据校验系统,其特征在于,包括:
主终端单元、远程终端单元、第一校验端和第二校验端;
所述主终端单元与所述远程终端单元依次通过第一路由器和第二路由器网络连接;
所述第一校验端与所述第一路由器网络连接;
所述第二校验端与所述第二路由器网络连接;
所述第一校验端拦截所述主终端单元发送的第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据所述第一运算结果生成第一校验码,并得到第一时延值,在等待所述第一时延值的时间后,向所述远程终端单元转发所述第一请求数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述主终端单元发送的请求数据包;
所述第二校验端拦截所述远程终端单元待接收的所述第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据所述第二运算结果生成第二校验码,并得到第二时延值,在拦截到所述远程终端单元发送的第一响应数据包后,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述远程终端单元待接收的请求数据包;
所述第一校验端拦截所述主终端单元待接收的第二响应数据包并记录第一拦截时间,将所述第一拦截时间与第二拦截时间作差后,得到第三时延值,比较所述第三时延值与所述第一时延值,当所述第三时延值除以二的值与所述第一时延值相同时,其中,时延为相邻请求数据包的时间差,立即向所述主终端单元转发所述第二响应数据包,否则阻断所述主终端单元与所述远程终端单元之间的通讯,并生成SCADA系统告警信息,其中,所述第二拦截时间为在拦截所述第二响应数据包之前一个拦截的所述主终端单元待接收的响应数据包的拦截时间。
2.根据权利要求1所述的工业控制系统安全数据校验系统,其特征在于,所述第一校验端以及所述第二校验端利用Ettercap和Scapy工具,使用中间人攻击实现对所述主终端单元以及所述远程终端单元的数据包拦截。
3.根据权利要求1所述的工业控制系统安全数据校验系统,其特征在于,所述第一校验端拦截所述主终端单元发送的第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据所述第一运算结果生成第一校验码,并得到第一时延值,在等待所述第一时延值的时间后,向所述远程终端单元转发所述第一请求数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述主终端单元发送的请求数据包具体包括:
所述第一校验端拦截所述主终端单元发送的第一请求数据包p1;
所述第一校验端解析所述第一请求数据包p1中的Modbus-TCP数据包并得到所述第一请求数据包p1的数据域di;
所述第一校验端将所述第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过预设哈希算法进行哈希运算,生成对应位数的哈希码作为第一运算结果,将所述第一运算结果中每隔预设间隔位数取1个数,组合生成6位二进制的第一校验码,将所述第一校验码与预设系数相乘后得到第一时延值,其中,所述第二请求数据包p2为在所述第一请求数据包p1之前一个获取的所述主终端单元发送的请求数据包;
所述第一校验端在等待所述第一时延值的时间后,向所述远程终端单元转发所述第一请求数据包。
4.根据权利要求1所述的工业控制系统安全数据校验系统,其特征在于,所述远程终端单元的ON/OFF单元初始设置为OFF。
5.根据权利要求4所述的工业控制系统安全数据校验系统,其特征在于,所述第二校验端拦截所述远程终端单元待接收的所述第一请求数据包,解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据所述第二运算结果生成第二校验码,并得到第二时延值,在拦截到所述远程终端单元发送的第一响应数据包后,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述远程终端单元待接收的请求数据包具体包括:
所述第二校验端拦截所述远程终端单元待接收的所述第一请求数据包p1;
所述第二校验端向所述远程终端单元发送第一修改数据包将所述远程终端单元的ON/OFF单元为ON;
所述第二校验端解析所述第一请求数据包p1中的Modbus-TCP数据包并得到所述第一请求数据包p1的数据域di;
所述第二校验端将所述第一请求数据包p1的数据域di与第二请求数据包p2的数据域di-1作异或后,通过预设哈希算法进行哈希运算,生成对应位数的哈希码作为第二运算结果,将所述第二运算结果中每隔预设间隔位数取1个数,组合生成6位二进制的第二校验码,将所述第二校验码与预设系数相乘后得到第二时延值,其中,所述第二请求数据包p2为在所述第一请求数据包p1之前一个获取的所述远程终端单元待接收的请求数据包;
所述第二校验端在拦截到所述远程终端单元发送的第一响应数据包r1后,向所述远程终端单元发送第二修改数据包将所述远程终端单元的ON/OFF单元为OFF,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包r1。
6.一种工业控制系统安全数据校验方法,其特征在于,包括:
拦截主终端单元发送的第一请求数据包;
解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第一运算结果,根据所述第一运算结果生成第一校验码,并得到第一时延值,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述主终端单元发送的请求数据包;
在等待所述第一时延值的时间后,向远程终端单元转发所述第一请求数据包;
拦截远程终端单元待接收的第一请求数据包;
解析所述第一请求数据包中的Modbus-TCP数据包并得到所述第一请求数据包的数据域,与第二请求数据包的数据域作异或后进行哈希运算,得到第二运算结果,根据所述第二运算结果生成第二校验码,并得到第二时延值,其中,所述第二请求数据包为在所述第一请求数据包之前一个获取的所述远程终端单元待接收的请求数据包;
在拦截到所述远程终端单元发送的第一响应数据包后,等待所述第二时延值的时间,向所述主终端单元转发所述第一响应数据包;
拦截所述主终端单元待接收的第二响应数据包并记录第一拦截时间;
将所述第一拦截时间与第二拦截时间作差后,得到第三时延值,其中,所述第二拦截时间为在拦截所述第二响应数据包之前一个拦截的所述主终端单元待接收的响应数据包的拦截时间;
比较所述第三时延值与所述第一时延值,当所述第三时延值除以二的值与所述第一时延值相同时,其中,时延为相邻请求数据包的时间差,立即向所述主终端单元转发所述第二响应数据包,否则阻断所述主终端单元与所述远程终端单元之间的通讯,并生成SCADA系统告警信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219941.3A CN110912921B (zh) | 2019-11-29 | 2019-11-29 | 一种工业控制系统安全数据校验系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219941.3A CN110912921B (zh) | 2019-11-29 | 2019-11-29 | 一种工业控制系统安全数据校验系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912921A CN110912921A (zh) | 2020-03-24 |
CN110912921B true CN110912921B (zh) | 2022-02-15 |
Family
ID=69822012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911219941.3A Active CN110912921B (zh) | 2019-11-29 | 2019-11-29 | 一种工业控制系统安全数据校验系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912921B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394683B (zh) * | 2020-11-24 | 2022-03-11 | 桂林电子科技大学 | 一种利用工控系统的文件传输方法 |
CN112650172B (zh) * | 2020-12-17 | 2021-08-20 | 山东云天安全技术有限公司 | 一种工业控制系统的安全认证方法及设备 |
CN113660195B (zh) * | 2021-06-29 | 2023-07-25 | 上海电力大学 | 一种基于104规约的aes-rsa抗中间人攻击方法 |
CN114745221B (zh) * | 2022-03-22 | 2023-09-26 | 深圳渊联技术有限公司 | Modbus通信系统及通信方法 |
CN116506077B (zh) * | 2023-06-28 | 2023-10-20 | 微网优联科技(成都)有限公司 | 一种信号处理方法及基于xpon的通信系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624706A (zh) * | 2012-02-22 | 2012-08-01 | 上海交通大学 | 一种dns隐蔽信道的检测方法 |
CN103634098A (zh) * | 2013-12-04 | 2014-03-12 | 重庆大学 | 基于时间间隔的信息隐藏方法 |
WO2015179865A1 (en) * | 2014-05-23 | 2015-11-26 | The George Washington University | System and method for uncovering covert timing channels |
CN107332723A (zh) * | 2016-04-28 | 2017-11-07 | 华为技术有限公司 | 隐蔽通道的检测方法和检测设备 |
CN109040115A (zh) * | 2018-09-06 | 2018-12-18 | 中国科学院软件研究所 | 一种区块链网络环境下的隐蔽通信方法 |
CN109120604A (zh) * | 2018-07-26 | 2019-01-01 | 扬州大学 | 一种基于包排序ip隐通道的数据校验方法 |
CN109194643A (zh) * | 2018-08-29 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据传输、报文解析方法、装置及设备 |
CN109547443A (zh) * | 2018-11-28 | 2019-03-29 | 甘肃农业大学 | 一种网络存储型隐信道的检测方法 |
CN110096013A (zh) * | 2019-05-24 | 2019-08-06 | 广东工业大学 | 一种工业控制系统的入侵检测方法及装置 |
-
2019
- 2019-11-29 CN CN201911219941.3A patent/CN110912921B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624706A (zh) * | 2012-02-22 | 2012-08-01 | 上海交通大学 | 一种dns隐蔽信道的检测方法 |
CN103634098A (zh) * | 2013-12-04 | 2014-03-12 | 重庆大学 | 基于时间间隔的信息隐藏方法 |
WO2015179865A1 (en) * | 2014-05-23 | 2015-11-26 | The George Washington University | System and method for uncovering covert timing channels |
CN107332723A (zh) * | 2016-04-28 | 2017-11-07 | 华为技术有限公司 | 隐蔽通道的检测方法和检测设备 |
CN109120604A (zh) * | 2018-07-26 | 2019-01-01 | 扬州大学 | 一种基于包排序ip隐通道的数据校验方法 |
CN109194643A (zh) * | 2018-08-29 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据传输、报文解析方法、装置及设备 |
CN109040115A (zh) * | 2018-09-06 | 2018-12-18 | 中国科学院软件研究所 | 一种区块链网络环境下的隐蔽通信方法 |
CN109547443A (zh) * | 2018-11-28 | 2019-03-29 | 甘肃农业大学 | 一种网络存储型隐信道的检测方法 |
CN110096013A (zh) * | 2019-05-24 | 2019-08-06 | 广东工业大学 | 一种工业控制系统的入侵检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110912921A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110912921B (zh) | 一种工业控制系统安全数据校验系统及方法 | |
Yuan et al. | Privacy-preserving deep packet inspection in outsourced middleboxes | |
CA2867654C (en) | Detecting network intrusion using a decoy cryptographic key | |
US7590855B2 (en) | Steganographically authenticated packet traffic | |
CN108965215B (zh) | 一种多融合联动响应的动态安全方法与系统 | |
US20080005558A1 (en) | Methods and apparatuses for authentication and validation of computer-processable communications | |
CN101296227B (zh) | 基于报文偏移量匹配的IPSec VPN协议深度检测方法 | |
Lucena et al. | Syntax and semantics-preserving application-layer protocol steganography | |
CN101795271A (zh) | 网络安全打印系统及打印方法 | |
CN104837150B (zh) | IPv6无线传感网安全测试系统 | |
CN113824705B (zh) | 一种Modbus TCP协议的安全加固方法 | |
CN111988289B (zh) | Epa工业控制网络安全测试系统及方法 | |
Tanveer et al. | REAP-IIoT: Resource-efficient authentication protocol for the industrial Internet of Things | |
Cherifi et al. | A practical implementation of unconditional security for the IEC 60780-5-101 SCADA protocol | |
Huang et al. | A secure communication over wireless environments by using a data connection core | |
Nast et al. | Performance analysis of a secured bacnet/ip network | |
Lashkari et al. | Wired equivalent privacy (WEP) | |
CN112202773B (zh) | 一种基于互联网的计算机网络信息安全监控与防护系统 | |
CN104079578A (zh) | 取证数据隐蔽传输的方法及系统 | |
CN112291248A (zh) | 一种防护HTTPS DDoS攻击的方法及设备 | |
KR101089269B1 (ko) | 보안 기능을 제공하는 안전한 에스아이피 프로토콜을 이용한 공격 탐지 방법 및 시스템 | |
Cherukuri et al. | Integrity of IoT network flow records in encrypted traffic analytics | |
Goh et al. | Towards intrusion detection for encrypted networks | |
CN111083129A (zh) | 一种数据安全传输方法、异构数据传输层及系统 | |
Bozkurt et al. | Exploring the Vulnerabilities and Countermeasures of SSL/TLS Protocols in Secure Data Transmission Over Computer Networks |
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 |