基于OPC协议的工控网络系统防护浅析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

一、协议概述

提到OPC协议,大家想到最多的就是OPC Classic 3.0,实际上现在OPC协议有两个大类,一种是基于微软COM/DCOM技术的“Classic”,另一种是基于Web service的OPC UA。前者在DCOM协议之上,诞生较早,已广泛应用在各种工业控制系统现场,成为工业自动化领域的事实标准。后者与前者比出生较晚,但在设计时考虑了安全因素,有了加密机制,不过目前应用范围较小。本文主要讨论的是前者在工控系统中的防护。

微软的DCOM协议是在网络安全问题被广泛认识之前设计的,而基于DCOM协议的OPC Classic基本没有增加任何安全相关的特性,几乎所有著名的工业自动化软件(包括HMI软件、先进控制与优化软件、监控平台软件、综合集成软件等)都是基于windows平台开发,都采用或部分采用了OPC技术,所以对使用OPC协议进行通信的工控系统进行防护也变得复杂和困难。

二、动态端口

与大多数应用层协议不同,OPC的基础协议DCOM协议使用动态端口机制,在真正建立数据连接之前通讯双方还需要协商需要使用的端口。示例图如下:

  OPC动态端口协商过程

上图中,OPC客户端使用5568作为源端口首先向OPC服务器的135端口发起连接,连接成功后再经过OPC服务器分配新端口1118,并通过接口ISystemActivator的方法RemoteCreateInstance的应答报文返回给客户端,之后客户端使用5569作为源端口向服务器的1118端口发起新的连接用来后面的真正数据的传输。

三、面临的安全威胁

基于OPC协议的工控网络系统面临各种各样的威胁。在“两网”融合的大背景下,工业控制系统的隔离性被打破,面临来自网络的威胁空前加剧。无用端口的开放、工业软件依赖的操作系统本身存在的安全漏洞、工业协议本身安全性的缺失等等都将给工业控制网络带来巨大的安全隐患。在真正接入到企业管理网、互联网之前,基于OPC协议的工业控制系统必须加入相应的安全设备进行防护,才能提高自身网络的安全。由于OPC协议不同与传统的IT应用层协议,对OPC协议的解析深度决定了安全产品在工业控制系统安全防护中的真正作用。

四、防护方案简介

1. 传统IT系统防火墙

如果在基于OPC协议的工业控制系统中安装传统IT系统防火墙(以下简称:传统防火墙)进行防护,由于传统防火墙不支持OPC协议的任何解析,为了能够保证OPC业务的正常使用,不得不开放OPC服务器的所有可开放端口,而OPC服务器可以分配的端口号范围很广-如果OPC服务器安装在Windows Server 2008,超过16000个端口号都可能被使用,早期的Windows版本则超过了48000个端口号。

  传统防火墙部署示意图

上图中传统防火墙安装在企业管理网和生产控制网的边界进行防护,由于OPC服务器可能使用任何可使用的端口来进行真正的数据连接,而具体使用的端口号在响应客户端请求的应答报文中。传统防火墙无法识别出OPC服务器具体使用的端口号,为确保OPC客户端可以正常连接OPC服务器,防火墙需要配置全部端口可访问,这样的传统防火墙形同虚设,生产控制网的门口大开,几乎安全暴露在攻击者面前。

2. 端口防护工业防火墙

区别与传统防火墙,近年来发展起来的专门用于防护工业控制现场的工业级防火墙基本支持了OPC的深度解析,但依据解析深度的不同,在OPC协议为基础的网络中,工业防火墙的防护能力也有所不同。

对OPC进行简单解析的工业防火墙可以跟踪OPC连接建立的动态端口,最小化的开放工业控制网络的端口。如下图:

  端口防护级工业防火墙部署示意图

端口防护级工业防火墙同样部署在企业生产网和生产控制网的边界,此时配置策略只需要配置开放OPC服务器的135端口,当OPC客户端与服务器建立连接时,端口防护级防火墙跟踪并解析OPC服务器与OPC客户端协商出来的动态端口,然后自动将动态端口加入到防火墙的开放端口中,从而最小化开放生产控制网的端口,与传统防火墙相比,防护能力有了进一步提升。

3. 指令防护工业防火墙

端口防护工业防火墙相比传统防火墙虽然提升了防护能力,但攻击者仍然可以通过建立的数据通道发送恶意的OPC操作指令,所以仅仅做到动态端口跟踪还无法保证基于OPC协议的工业控制系统的安全。所以对OPC协议的进一步解析,催生了指令级防护工业防火墙,这也是目前市面上主流的工业防火墙。OPC协议的深度解析要求也加入到了工业防火墙国家标准的草稿中(此标准尚未正式发布)。下图是指令级防护工业防火墙的典型部署:

  指令级防护工业防火墙部署图

部署在企业管理网和生产控制网边界处的指令级工业防火墙,深度解析OPC协议到指令级别,不仅可以跟踪OPC服务器和OPC客户端之间协商的动态端口,最小化开放生产控制网的端口,还对OPC客户端与OPC服务器之间传输的指令请求进行实时检测,对于不符合安全要求的操作指令进行拦截和报警,极大提升了基于OPC协议的工业控制系统的网络安全。

除了做到指令防护外,还有更人性化一点的工业防火墙内置只读模板,满足使用OPC协议的大部分业务场景,因为使用OPC协议的工业控制现场一般只是用来采集数据,使用只读模板来防护完全满足现场安全要求。工业防火墙内置的只读模板一键部署,安全、方便,降低管理员维护成本,有效保障工业控制系统数据不被恶意篡改。

4. 优缺点比较

  五、结论

随着国家网络安全法的颁布和国家“中国制造2025”战略的要求,逐渐打破物理隔离的工业生产网络对安全的需求越来越迫切。对于生产现场有OPC协议的企业来讲,综合自身实力选择适合自己的安全防护产品显得越来越重要。而对OPC协议的解析到指令级还不够,后续还需要深度解析到OPC协议操作指令所操作的对象是否在安全范围内,对操作对象的值进行安全检测,确保OPC协议发送的每一个字节都是可识别、可控制、安全无害的。


本文转自d1net(转载)

相关文章
|
12天前
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
48 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
16天前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
47 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
|
14天前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
133 73
|
16天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
66 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
16天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
60 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
11天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
24 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
6天前
|
网络协议 安全
网络中IP地址与域名系统
网络中IP地址与域名系统
21 3
|
15天前
|
SQL 存储 安全
网络安全与信息安全:从漏洞到防护的全方位解析
【9月更文挑战第20天】在数字化时代,网络安全和信息安全的重要性日益凸显。本文将深入探讨网络安全的多个方面,包括常见的安全漏洞、加密技术的应用以及提升个人安全意识的方法。我们将通过实例分析,揭示网络攻击者如何利用安全漏洞进行入侵,同时展示如何使用加密技术保护数据安全。此外,我们还将讨论如何通过教育和实践提高大众的安全意识,以减少安全威胁的发生。文章旨在为读者提供一套全面的网络安全知识体系,帮助他们在日益复杂的网络环境中保护自己的信息资产。
下一篇
无影云桌面