Opc安全网关系统的制作方法

文档序号:8433824阅读:666来源:国知局
Opc安全网关系统的制作方法
【技术领域】
[0001]本发明属于网络信息安全领域,特别是涉及一种OPC安全网关系统。
【背景技术】
[0002]在工业控制领域中,为了实现工业控制系统的应用软件和硬件产品之间的互操作性,需要在应用层面上解决系统集成和数据通信问题。为此,国际上成立了一个称为OPC基金会的国际组织,制定了 OPC 标准,OPC 是 Object Linking and Embedding for ProcessControl的简称。现在,OPC基金会的会员已超过220家,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司,因此OPC标准成为事实上的国际标准。
[0003]OPC标准的核心是微软公司的组件对象模型COM和分布式组件对象模型DCOM技术,它是一种基于客户/服务器模式的通信协议,定义了 OPC客户端与OPC服务器之间的通信协议和数据包格式,包括一整套相关的接口、属性和方法,在Windows应用程序和现场过程控制设备之间建立起一个桥梁,使两者很容易实现系统集成和数据通信。因此,OPC标准已成为工业控制系统集成和互连的首选方案,绝大多数的工业控制设备和应用软件都支持OPC标准,否则就会被淘汰。
[0004]随着工业和信息化的深度融合,在电力、能源、化工、水利、制药、污水处理、石油天然气、交通运输以及航空航天等工业企业中,通常建有企业信息网和工业控制网两种网络系统,通过OPC协议,实现企业信息网与工业控制网的互连,用户使用企业信息网中的计算机能够远程地监控工业控制网中的工业设备,并获取相应的生产数据。
[0005]另一方面,在企业信息网与工业控制网的互连中,也存在着一些安全风险,企业信息网中常见的安全威胁被引入到工业控制网中,如网络病毒、黑客攻击以及恶意操作等,给工业控制网带来严重的信息安全问题,“震网”病毒事件就是典型的例子。
[0006]由于工业控制系统与普通信息系统在系统结构和通信协议上存在一些差异,现有的防火墙等网络安全产品并不能直接应用于工业控制系统中,需要研宄和开发适合于工业控制系统的网络安全技术和产品,确保工业控制系统的信息安全。

【发明内容】

[0007]为了克服现有企业信息网与工业控制网的互连中安全性差的不足,本发明提供一种OPC安全网关系统。该系统包括OPC客户端安全认证模块、OPC数据包合规性检查模块、OPC数据包内容检查模块、异常事件检测和报警模块、日志记录与安全审计模块、网络资产识别和管理模块、系统管理接口模块和远程管理工具。企业信息网的信息通过OPC安全网关系统进入工业控制网,OPC安全网关系统对其通信行为进行安全认证,对数据包进行合格性检查和内容检查,识别和滤除恶意的通信行为及OPC数据包,并将OPC数据包转发给目标节点。防止非法用户入侵工业控制网,防止异常或变异OPC数据包攻击工业控制网,防止通过虚假命令对工业控制网进行攻击和破坏。可以提高企业信息网与工业控制网的互连中的安全性。
[0008]本发明解决其技术问题所采用的技术方案是:一种OPC安全网关系统,其特点是包括OPC客户端安全认证模块、OPC数据包合规性检查模块、OPC数据包内容检查模块、异常事件检测和报警模块、日志记录与安全审计模块、网络资产识别和管理模块、系统管理接口和远程管理工具。
[0009]OPC客户端安全认证模块采用白名单策略,事先将允许与OPC服务器通信的OPC客户端及用户名列入白名单中。在OPC客户端与OPC服务器建立连接时,通过解析OPC数据包,提取出OPC数据包中所包含的OPC客户端及用户信息,然后依据白名单进行检查,禁止任何未列入白名单中的OPC客户端及用户名与OPC服务器进行通信,防止非法用户入侵工业控制网。
[0010]OPC数据包合规性检查模块通过建立OPC协议规范与通信规则,用于检查OPC数据包类型及格式是否符合OPC协议规范。在OPC客户端与OPC服务器数据通信过程中,通过解析OPC数据包,提取出OPC数据包类型及格式,然后依据OPC协议规范与通信规则进行检查,滤除任何违反OPC协议规范与通信规则的异常或变异OPC数据包,防止异常或变异OPC数据包攻击工业控制网。
[0011]OPC数据包内容检查模块。在工业控制系统中,OPC客户端按照规定的命令格式通过OPC数据包向OPC服务器发送控制命令,OPC服务器执行控制命令并将执行结果返回给OPC客户端。根据工业控制系统的控制命令及其格式,事先将允许使用的控制命令及其格式列入白名单中。在OPC客户端与OPC服务器数据通信过程中,通过解析客户端的OPC数据包,提取出OPC数据包中的控制命令,然后依据白名单进行检查,滤除任何未列入白名单中的控制命令及其格式,防止通过虚假命令对工业控制网及其工控设备进行攻击和破坏。
[0012]以上三项检测通过后,OPC安全网关系统允许OPC客户端与OPC服务器建立连接,并将OPC数据包转发给目标节点。
[0013]异常事件检测和报警模块。在OPC客户端与OPC服务器数据通信过程中,对于OPC安全网关系统检测出任何违反安全策略的异常事件和数据包,包括安全认证未通过、合规性检查未通过以及内容检查未通过,阻断本次通信操作,并发出报警信息,报警方式有屏幕显示、手机短信以及电子邮件,同时将异常事件详细信息记录在日志文件中,供日后查询、审计和追溯。
[0014]日志记录与安全审计模块。在OPC客户端与OPC服务器数据通信过程中,OPC安全网关系统在其日志文件中详细记录两类信息:正常通信行为信息和异常通信行为信息,并根据异常事件的严重程度标识出不同的危险等级。日志文件采用标准日志格式进行滚动记录,日志文件即将记满时给出提示信息,要求及时备份日志文件。
[0015]网络资产识别和管理模块。在OPC客户端与OPC服务器数据通信过程中,OPC安全网关系统从OPC数据包中提取并识别出相关工控设备的工作状态和资产信息,为监测和管理工控设备运行状态提供基础。
[0016]系统管理接口包括角色分离的系统管理员和安全审计员,系统管理员主要负责白名单和安全策略建立与编辑、异常事件报警信息处理、检查算法更新和维护、网络资产监测和管理以及系统配置与管理等操作;安全审计员主要负责日志信息查询、审计以及备份操作。
[0017]远程管理工具为用户提供基于C/S三层结构的工业安全网关管理平台,包括安全配置管理、系统运行管理、异常事件管理、网络资产管理以及日志查询、安全审计功能。系统管理员和安全审计员的角色和账户是分开设置的,各自单独登录和身份鉴别,构成相互制约的监督机制,确保工业安全网关管理的安全性和可信性。
[0018]本发明的有益效果是:该系统包括OPC客户端安全认证模块、OPC数据包合规性检查模块、OPC数据包内容检查模块、异常事件检测和报警模块、日志记录与安全审计模块、网络资产识别和管理模块、系统管理接口模块和远程管理工具。企业信息网的信息通过OPC安全网关系统进入工业控制网,OPC安全网关系统对其通信行为进行安全认证,对数据包进行合格性检查和内容检查,识别和滤除恶意的通信行为及OPC数据包,并将OPC数据包转发给目标节点。防止非法用户入侵工业控制网,防止异常或变异OPC数据包攻击工业控制网,防止通过虚假命令对工业控制网进行攻击和破坏。提高了企业信息网与工业控制网的互连中的安全性。
[0019]下面结合附图和【具体实施方式】对本发明作详细说明。
【附图说明】
[0020]图1是OPC安全网关系统部署示意图。
[0021]图2是本发明OPC安全网关系统结构图。
【具体实施方式】
[0022]参照图1-2。本发明所涉及的基本概念如下:
[0023]1.0PC通信过程。
[0024]识别OPC通信行为是OPC安全网关系统的重要功能,它涉及到OPC协议特定的通信过程。OPC通信过程主要分为两个阶段。
[0025](I)OPC通信发起阶段。在发起阶段,OPC客户端向OPC服务器发起通信,获取服务器的基本信息和绑定信息,具体操作流程如下:
[0026]①OPC客户端使用随机端口(如14963)向OPC服务器135端口发起TCP连接请求,经过三次握手,建立TCP连接;
[0027]②OPC客户端使用bind请求包向OPC服务器发送绑定请求;绑定接口为1XIDResolve,其接口标识符为:99fcfec4-5260-101b-bbcb-00aa0021347a ;
[0028]③OPC服务器使用bind-ack应答包向OPC客户端返回绑定结果,其中包含有绑定是否成功的标志;
[0029]④OPC客户端调用接口 1XIDResolve中的serverAlive2函数,向OPC服务器请求执行远程过程调用;
[0030]⑤OPC服务器返回serverAlivd函数的执行结果,其中包括OPC服务器的基本信息和绑定信息。
[0031](2)创建远程对象实例阶段。OPC客户端获取了 OPC服务器的基本信息后,OPC客户端便可以向OPC服务器发起数据通信,创建远程对象实例,具体操作流程如下:
[0032]①OPC客户端使用14964端口向OPC服务器的135端口发起TCP连接请求,经过三次握手,建立TCP连接。
[0033]②OPC客户端使用bind请求包向OPC服务器发送绑定请求;绑定接口为IsystemActivator,其接口标识符为:000001a0-0000-0000-c000-000000000046 ;
[0034]③OPC服务器用bind-ack应答包向OPC客户端返回绑定结果,其中包含有绑定是否成功的标志;
[0035]④OPC客户端利用Auth3请求包向OPC服务器发送认证信息,包括OPC客户端的域名、用户名、主机名以及认证信息等;
[0036]⑤OPC客户端调用接口 IsystemActivator 的 RemoteCreateInstance 函数,向 OPC服务器请求执行远程过程调用,创建OPC Server Browser对象实例;
[0037]⑥OPC服务器返回RemoteCreateInstance函数的执行结果,其中包括OPC服务器动态分配的端口号。
[0038]2.动态端口解析。
[0039]在OPC客户端与OPC服务器通信
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1