CN104734903A - 基于动态跟踪技术的opc协议的安全防护方法 - Google Patents

基于动态跟踪技术的opc协议的安全防护方法 Download PDF

Info

Publication number
CN104734903A
CN104734903A CN201310719266.7A CN201310719266A CN104734903A CN 104734903 A CN104734903 A CN 104734903A CN 201310719266 A CN201310719266 A CN 201310719266A CN 104734903 A CN104734903 A CN 104734903A
Authority
CN
China
Prior art keywords
opc
port
server
data
address
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.)
Granted
Application number
CN201310719266.7A
Other languages
English (en)
Other versions
CN104734903B (zh
Inventor
尚文利
赵剑明
万明
张华良
曾鹏
于海斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CN201310719266.7A priority Critical patent/CN104734903B/zh
Publication of CN104734903A publication Critical patent/CN104734903A/zh
Application granted granted Critical
Publication of CN104734903B publication Critical patent/CN104734903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于动态跟踪技术的OPC协议的安全防护方法,该方法一端连接一个或多个OPC客户端、另一端连接一个或多个OPC服务器,通过设计的数据捕获、数据包解析分析的OPC包,之后进行动态跟踪与端口的授权管理,跟踪OPC数据包端口内容,在建立连接之后对流经的数据包基于端口及协议进行监控,阻止不合法的数据包通过。该方法的设备只需简单接入OPC客户端与OPC服务器端之间即可,无需其他配置操作,即可以保证OPC通信网络的安全性。

Description

基于动态跟踪技术的OPC协议的安全防护方法
技术领域
本发明涉及一种基于动态跟踪技术的OPC协议的安全防护方法,属于工业控制网络安全领域。
背景技术
随着过程自动化的发展,自动化***厂商希望能够集成不同厂家的不同硬件设备和软件产品,各家设备之间实现互操作,工业现场的数据能从车间级汇入到整个企业信息***中。OPC是一种能够有效地进行数据访问和管理的开放标准,能在工业控制环境中各个数据源之间灵活地进行通信。
OPC在电力行业、石化行业、楼宇控制等很多领域都有应用,能对PLC、DCS、Historian数据库等很多设备进行有效的访问与整合,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。
但OPC协议(OPC DA,OPC HAD和OPC A&E)基于微软的DCOM协议,DCOM协议是在网络安全问题被广泛认识之前设计的。因此,这些协议给控制***的安全性和可靠性提出了极大的挑战。
大多数TCP和UDP通讯协议都使用单一的标准化端口号,例如Modbus TCP通常使用502端口。客户端设备建立对服务器设备502端口的连接,然后发送数据到服务器设备,或者接受来自服务器设备的数据。使用防火墙来保护这些客户端和服务器设备相对而言比较简单,只需设置防火墙,仅允许指定端口号的上的通讯,阻止其他所有的网络通讯即可。
OPC Classic协议就不是如此简单了,建立OPC连接需要以下两步:
(1)客户端通过135端口查询服务器以获取通讯所需的TCP端口号;
(2)客户端使用第一步获取到的端口号连接到服务器,访问目标数据。
实际数据连接(步骤2)使用的端口号是由OPC服务器以一个虚拟随机序列动态分配的,因此没有办法提前知道服务器返回给客户端的端口号。
正因如此,传统的防火墙在保护OPC服务器时,不得不允许OPC客户端和OPC服务器之间如此大范围内的任何端口号的TCP连接。在这种情况下,防火墙提供的安全保障被降至最低。因此,目前绝大多数的OPC服务器都在没有任何防火墙保护的情况下运行,从而很容易受到恶意软件和其他安全威胁的攻击。
发明内容
有鉴于此,本发明的目的是提供一种保证OPC通信安全的方法,基于动态跟踪技术,解决OPC协议因为DCOM技术的安全脆弱点所产生的安全威胁,保证应用OPC技术的工业控制网络通信的安全性。
本发明为实现上述目的所采用的技术方案是:一种基于动态跟踪技术的OPC协议的安全防护方法,包括以下步骤:
数据捕获与协议解析:利用Linux内核的Netfilter机制采集工业控制***中OPC通讯流量,按照数据包信息进行协议判断,只解析OPC协议的数据信息,解析出源IP地址、目的IP地址、源端口号、目的端口号、服务器分配的端口号;
端口跟踪:跟踪客户端OPC请求信息,在服务器返回OPC应答信息中包括服务器端通过一个虚拟随机序列动态分配的TCP端口号,在协议解析过程中对解析出来的动态分配TCP端口进行记录;
端口授权管理:对合法的TCP端口分配交互过程进行授权,即打开安全防护设备正常通讯所需最小权力的端口,并对交互过程维护;
访问控制:对经过TCP端口授权的交互通信信息的放行,并对该交互通信信息的传输过程进行访问控制防护,阻止未经TCP端口授权的数据传输及控制命令传送;阻止不符合DCE/RPC协议标准的请求及响应。
所述OPC协议解析出的数据信息被存储下来。
所述端口授权管理还包括:定期检测TCP端口授权是否有效,关闭达到时间限制的打开端口。
所述关闭达到时间限制的打开端口根据源IP地址、目的IP地址、所需端口号,关闭这个端口号的端口。
所述访问控制允许域名解析通讯通过,允许通过其计算机名访问OPC服务器,允许OPC客户端和OPC服务器之间的NetBIOS名字服务和NetBIOS数据报服务。
本发明在深入理解OPC协议及DCOM基础上设计,有很好的稳定扩展性及实用性,只需简单接入OPC客户端与OPC服务器端之间即可,无需其他配置操作,即可以保证OPC通信网络的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,均应落入本发明的保护范围。
图1为本发明的整体功能示意图;
图2为本发明的基本模型流程图;
图3为本发明中基于白明单方式进行访问控制的功能示意图;
图4为本发明中动态跟踪与端口管理功能流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
为了防护OPC通信的安全,并且在不改变工业控制***拓扑结构的情况下,本发明用于下述情形:一端连接一个或多个OPC客户端、另一端连接一个或多个OPC服务器,通过对两端流经的数据流进行处理来保证安全性。
参见图1,示出了本发明基于动态跟踪技术的OPC协议安全防护方法的基本思想及实现原理,参见图2,示出了本方法的基本模型流程图及结构,本发明的方法在具体实施时,工作主要流程如下:
步骤一:利用Netfilter机制捕获流量数据包,注册钩子函数,截获网络接口数据流量sk_buff,包括OPC协议的数据流,而不是通过拷贝网卡数据包进行安全防护。
步骤二:对于客户端捕获的数据,设计协议解析功能OPC_check,它支持OPC DA、OPC XML-DA、OPC HDA和OPC A&E协议,判断数据包流量是否是135端口,如果是135端口数据,认为客户端发起OPC连接请求,解析数据包内容源IP地址、目的IP地址、源端口号、目的端口号;对于服务器端捕获的数据,经过协议解析OPC_check,判断是否是端口135回应请求信息的数据包,如果是解析数据包内容源IP地址、目的IP地址、源端口号、目的端口号、及其中包含返回的OPC服务器端通过一个虚拟随机序列动态分配的一个端口号;如果为其它信息,转到访问控制模块信息进行处理。
步骤三:将服务器端捕获的内容源IP地址、目的IP地址、源端口号、目的端口号、及服务器端分配的端口号,根据客户端捕获的源IP地址、目的IP地址、源端口号、目的端口号进行相关性判断,如果存在,并且分配的端口号不同,则在相同的双向链表存储位置之后建立一个新链表,如果存在,但分配的端口号相同,但这种情况基本不会发生,则关闭已打开的端口号,让OPC客户端从新与服务器端进行连接;如果不存在,则基于服务器端解析的信息新建存储空间;
其中存储空间是一个双向链表结构,链表内容也是个双向链表结构。
步骤四:基于存储内容,参见图3设计了端口授权管理模块,它先判断端口是否已打开,如果没有打开,则授权打开存储内容中服务器端分配的端口号,如果已打开,则关闭端口连接,让OPC客户端与服务器端重新建立连接。并且基于访问时间先后改变双向链表次序,用于在新进程中定时检查是否有长时间不活动,但还打开的端口,其中对放在前面的端口信息,检测、关闭达到限制的端口。
其中授权管理模块每条命令在打开与关闭端口时都要向访问控制模块中的规则信息添加或删除规则。
步骤五:设计基于白名单的访问控制模块,参见图4,其中规则信息主要包含源IP地址、目的IP地址、端口号信息、及匹配规则动作,默认策略为阻止一些流量信息,即能阻止非法端口数据的数据传输及控制命令传送,阻止不否符合DCE/RPC协议标准的请求及响应;端口授权管理不仅能添加访问控制规则,同时具有删除规则的能力。
其中例外规则为添加了允许域名解析通讯通过,允许通过其计算机名访问OPC服务器,允许OPC客户端和OPC服务器之间的NetBIOS名字服务和NetBIOS数据包服务。

Claims (5)

1.一种基于动态跟踪技术的OPC协议的安全防护方法,其特征在于,包括以下步骤:
数据捕获与协议解析:利用Linux内核的Netfilter机制采集工业控制***中OPC通讯流量,按照数据包信息进行协议判断,只解析OPC协议的数据信息,解析出源IP地址、目的IP地址、源端口号、目的端口号、服务器分配的端口号;
端口跟踪:跟踪客户端OPC请求信息,在服务器返回OPC应答信息中包括服务器端通过一个虚拟随机序列动态分配的TCP端口号,在协议解析过程中对解析出来的动态分配TCP端口进行记录;
端口授权管理:对合法的TCP端口分配交互过程进行授权,即打开安全防护设备正常通讯所需最小权力的端口,并对交互过程维护;
访问控制:对经过TCP端口授权的交互通信信息的放行,并对该交互通信信息的传输过程进行访问控制防护,阻止未经TCP端口授权的数据传输及控制命令传送;阻止不符合DCE/RPC协议标准的请求及响应。
2.根据权利要求1所述的基于动态跟踪技术的OPC协议的安全防护方法,其特征在于,所述OPC协议解析出的数据信息被存储下来。
3.根据权利要求1所述的基于动态跟踪技术的OPC协议的安全防护方法,其特征在于,所述端口授权管理还包括:定期检测TCP端口授权是否有效,关闭达到时间限制的打开端口。
4.根据权利要求3所述的基于动态跟踪技术的OPC协议的安全防护方法,其特征在于,所述关闭达到时间限制的打开端口根据源IP地址、目的IP地址、所需端口号,关闭这个端口号的端口。
5.根据权利要求1所述的基于动态跟踪技术的OPC协议的安全防护方法,其特征在于,所述访问控制允许域名解析通讯通过,允许通过其计算机名访问OPC服务器,允许OPC客户端和OPC服务器之间的NetBIOS名字服务和NetBIOS数据报服务。
CN201310719266.7A 2013-12-23 2013-12-23 基于动态跟踪技术的opc协议的安全防护方法 Active CN104734903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310719266.7A CN104734903B (zh) 2013-12-23 2013-12-23 基于动态跟踪技术的opc协议的安全防护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310719266.7A CN104734903B (zh) 2013-12-23 2013-12-23 基于动态跟踪技术的opc协议的安全防护方法

Publications (2)

Publication Number Publication Date
CN104734903A true CN104734903A (zh) 2015-06-24
CN104734903B CN104734903B (zh) 2018-02-06

Family

ID=53458358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310719266.7A Active CN104734903B (zh) 2013-12-23 2013-12-23 基于动态跟踪技术的opc协议的安全防护方法

Country Status (1)

Country Link
CN (1) CN104734903B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959289A (zh) * 2016-06-06 2016-09-21 中国东方电气集团有限公司 一种基于自学习的OPC Classic协议的安全检测方法
CN106789281A (zh) * 2016-12-28 2017-05-31 青岛海天炜业过程控制技术股份有限公司 一种opc协议通信过程中实现断线重连的方法
CN108259478A (zh) * 2017-12-29 2018-07-06 中国电力科学研究院有限公司 基于工控终端设备接口hook的安全防护方法
CN108848067A (zh) * 2018-05-28 2018-11-20 北京威努特技术有限公司 智能学习并预置只读白名单规则的opc协议安全防护方法
CN109474540A (zh) * 2018-09-12 2019-03-15 北京奇安信科技有限公司 一种识别opc流量的方法及装置
CN111131310A (zh) * 2019-12-31 2020-05-08 奇安信科技集团股份有限公司 访问控制方法、装置、***、计算机设备和存储介质
CN111142480A (zh) * 2019-12-09 2020-05-12 南京国电南自维美德自动化有限公司 一种过程控制站安全通讯方法、***及分散控制***
CN112003861A (zh) * 2020-08-24 2020-11-27 宝牧科技(天津)有限公司 一种用于opc da数据包低时延穿透安全设备的方法
CN112383445A (zh) * 2020-10-27 2021-02-19 上海市共进通信技术有限公司 基于netfilter和netlink实现家庭网关数据访问监控的方法及***
CN114006809A (zh) * 2021-10-09 2022-02-01 北京天融信网络安全技术有限公司 调整工控防火墙数据传输的方法、装置、设备和存储介质
CN115221490A (zh) * 2022-09-20 2022-10-21 陕西天视致远航空技术有限公司 一种端口信息加固计算机及其端口信息加固方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713584A (zh) * 2004-06-25 2005-12-28 上海宝信软件股份有限公司 内网ip地址发现与阻断***及方法
WO2008091775A2 (en) * 2007-01-23 2008-07-31 Nabors Global Holdings, Ltd. Method, device and system for drilling rig modification
CN102694815A (zh) * 2012-06-04 2012-09-26 浙江中控技术股份有限公司 一种安全防护方法、控制单元及工业控制***
CN102984170A (zh) * 2012-12-11 2013-03-20 清华大学 一种工业控制网络安全过滤***及方法
CN103036870A (zh) * 2012-10-26 2013-04-10 青岛海天炜业自动化控制***有限公司 基于工业协议OPC Classic的无IP分布式工业防火墙深度检查算法
CN103457948A (zh) * 2013-08-29 2013-12-18 网神信息技术(北京)股份有限公司 工业控制***及其安全装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713584A (zh) * 2004-06-25 2005-12-28 上海宝信软件股份有限公司 内网ip地址发现与阻断***及方法
WO2008091775A2 (en) * 2007-01-23 2008-07-31 Nabors Global Holdings, Ltd. Method, device and system for drilling rig modification
CN102694815A (zh) * 2012-06-04 2012-09-26 浙江中控技术股份有限公司 一种安全防护方法、控制单元及工业控制***
CN103036870A (zh) * 2012-10-26 2013-04-10 青岛海天炜业自动化控制***有限公司 基于工业协议OPC Classic的无IP分布式工业防火墙深度检查算法
CN102984170A (zh) * 2012-12-11 2013-03-20 清华大学 一种工业控制网络安全过滤***及方法
CN103457948A (zh) * 2013-08-29 2013-12-18 网神信息技术(北京)股份有限公司 工业控制***及其安全装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959289A (zh) * 2016-06-06 2016-09-21 中国东方电气集团有限公司 一种基于自学习的OPC Classic协议的安全检测方法
CN106789281A (zh) * 2016-12-28 2017-05-31 青岛海天炜业过程控制技术股份有限公司 一种opc协议通信过程中实现断线重连的方法
CN106789281B (zh) * 2016-12-28 2019-12-31 青岛海天炜业过程控制技术股份有限公司 一种opc协议通信过程中实现断线重连的方法
CN108259478B (zh) * 2017-12-29 2021-10-01 中国电力科学研究院有限公司 基于工控终端设备接口hook的安全防护方法
CN108259478A (zh) * 2017-12-29 2018-07-06 中国电力科学研究院有限公司 基于工控终端设备接口hook的安全防护方法
CN108848067A (zh) * 2018-05-28 2018-11-20 北京威努特技术有限公司 智能学习并预置只读白名单规则的opc协议安全防护方法
CN108848067B (zh) * 2018-05-28 2021-05-25 北京威努特技术有限公司 智能学习并预置只读白名单规则的opc协议安全防护方法
CN109474540A (zh) * 2018-09-12 2019-03-15 北京奇安信科技有限公司 一种识别opc流量的方法及装置
CN109474540B (zh) * 2018-09-12 2022-06-10 奇安信科技集团股份有限公司 一种识别opc流量的方法及装置
CN111142480A (zh) * 2019-12-09 2020-05-12 南京国电南自维美德自动化有限公司 一种过程控制站安全通讯方法、***及分散控制***
CN111131310A (zh) * 2019-12-31 2020-05-08 奇安信科技集团股份有限公司 访问控制方法、装置、***、计算机设备和存储介质
CN112003861A (zh) * 2020-08-24 2020-11-27 宝牧科技(天津)有限公司 一种用于opc da数据包低时延穿透安全设备的方法
CN112383445A (zh) * 2020-10-27 2021-02-19 上海市共进通信技术有限公司 基于netfilter和netlink实现家庭网关数据访问监控的方法及***
CN114006809A (zh) * 2021-10-09 2022-02-01 北京天融信网络安全技术有限公司 调整工控防火墙数据传输的方法、装置、设备和存储介质
CN114006809B (zh) * 2021-10-09 2023-11-28 北京天融信网络安全技术有限公司 调整工控防火墙数据传输的方法、装置、设备和存储介质
CN115221490A (zh) * 2022-09-20 2022-10-21 陕西天视致远航空技术有限公司 一种端口信息加固计算机及其端口信息加固方法
CN115221490B (zh) * 2022-09-20 2024-02-23 陕西天视致远航空技术有限公司 一种端口信息加固计算机及其端口信息加固方法

Also Published As

Publication number Publication date
CN104734903B (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
CN104734903A (zh) 基于动态跟踪技术的opc协议的安全防护方法
Zhou et al. A fog computing based approach to DDoS mitigation in IIoT systems
CN109479013B (zh) 计算机网络中的业务的日志记录
CN108259425A (zh) 攻击请求的确定方法、装置及服务器
CN106161453B (zh) 一种基于历史信息的SSLstrip防御方法
CN104394122A (zh) 一种基于自适应代理机制的http业务防火墙
CN107911376A (zh) 一种非入侵式的web***单点登录和访问控制实现方法
US20190327208A1 (en) Network traffic mangling application
KR20150090925A (ko) 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법
US20230115046A1 (en) Network security system for preventing unknown network attacks
CN105407106A (zh) 一种接入控制方法和装置
CN110602134B (zh) 基于会话标签识别非法终端访问方法、装置及***
CN105959289A (zh) 一种基于自学习的OPC Classic协议的安全检测方法
Ovaz Akpinar et al. Development of the ECAT preprocessor with the trust communication approach
CN112822146A (zh) 网络连接的监控方法、装置、***和计算机可读存储介质
AU2018208696B2 (en) Microkernel gateway server
KR101087291B1 (ko) 인터넷을 사용하는 모든 단말을 구분하는 방법 및 시스템
KR101522139B1 (ko) DNS 서버 선별 차단 및 Proxy를 이용한 DNS 주소 변경 방법
US20160205135A1 (en) Method and system to actively defend network infrastructure
CN109889552A (zh) 电力营销终端异常流量监控方法、***及电力营销***
CN116232659A (zh) 数据处理方法、设备及可读存储介质
CN113194088B (zh) 访问拦截方法、装置、日志服务器和计算机可读存储介质
CN110581843B (zh) 一种拟态Web网关多应用流量定向分配方法
CN103812850B (zh) 控制病毒访问网络的方法及装置
Kailanya et al. Dynamic deep stateful firewall packet analysis model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant