针对opc协议的安全防护方法和系统的制作方法

文档序号:9923854阅读:672来源:国知局
针对opc协议的安全防护方法和系统的制作方法
【技术领域】
[0001] 本发明设及工业信息技术领域,特别设及一种针对OPC协议的安全防护方法和系 统。
【背景技术】
[0002] 在工业控制领域中,为了实现工业控制系统的应用软件和硬件产品之间的互操作 性,需要在应用层面上解决系统集成和数据通信问题。为此,国际上成立了一个称为OPC基 金会的国际组织,制定了OPC标准,OPC是Object Linking and Embedding for Process Contro I的简称,它所定义的是一组接口规范,包括OPC自动化接口(Automat ion Interface)和客户化接口(化Stom Interface)两个部分,其实质是在硬件供应商和软件开 发商之间建立了一套完整的接口规则,只要遵循运套规则,数据交换对两者来说都是透明 的,硬件供应商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的 实质和操作过程。值得注意的是,OPC技术规范定义的是OPC服务器程序和客户机程序进行 接口或通讯的一种规则,它不规定如何具体来实现运种接口。现在,OPC基金会的会员已超 过220家,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司,因此 OPC标准成为事实上的国际标准。
[0003] OPC协议的核屯、是微软公司的组件对象模型C0M(component object model)和分 布式组件对象模型DCOM技术,它是一种基于客户/服务器模式的通信协议,定义了 OPC客户 端与OPC服务器之间的通信协议和数据包格式,包括一整套相关的接口、属性和方法,在 Windows应用程序和现场过程控制设备之间建立起一个桥梁,使两者很容易实现系统集成 和数据通信。因此,OPC标准已成为工业控制系统集成和互连的首选方案,绝大多数的工业 控制设备和应用软件都支持OPC协议标准,否则就会被淘汰。
[0004] 随着工业和信息化的深度融合,在电力、能源、化工、水利、制药、污水处理、石油天 然气、交通运输W及航空航天等工业企业中,通常建有企业信息网和工业控制网两种网络 系统,通过OPC协议,实现企业信息网与工业控制网的互连,用户使用企业信息网中的计算 机能够远程地监控工业控制网中的工业设备,并获取相应的生产数据。
[0005] 但是,在企业信息网与工业控制网的互连中,也存在着一些安全风险,企业信息网 中常见的安全威胁被引入到工业控制网中,如网络病毒、黑客攻击W及恶意操作等,给工业 控制网带来严重的信息安全问题,"震网"病毒事件就是典型的例子。由于只要遵循了OPC规 则的硬件供应商和软件开发商之间的数据交换就是透明的,因此引入了越来越多的安全隐 出 VQi'' O

【发明内容】

[0006] 本发明的实施方式提供一种针对OPC协议的安全防护方法及系统,W用于解决现 有工控系统间通信时延长、可靠性低的问题。
[0007] 根据本发明的一个方面,提供了一种针对OPC协议的安全防护方法,包括:
[000引对来自OPC客户端的TCP/IP报文进行TCP/IP层协议解析,确定所述TCP/IP报文的 协议类型W及所述客户端IP地址和服务器端口号;
[0009] 若所述协议类型是TCP协议,判断所述客户端IP地址和所述服务器端口号是否在 白名单中,至少根据判断结果,确定允许所述TCP/IP报文通过所述服务器端口号传输至OPC 服务器或丢弃所述文,生成日志记录;
[0010] 若所述协议类型不是TCP协议,丢弃所述TCP^巧良文,生成告警信息和日志记录。
[0011] 本实施方式中通过引入TCP/IP层协议过滤和客户端IP地址过滤有效地防止了非 授权客户端的非法访问,进而保证了工控系统的安全性。
[0012] 进一步,针对OPC协议的安全防护方法,至少根据判断结果,确定允许所述TCP/IP 报文通过所述服务器端口号传输至OP巧g务器或丢弃所述TCP^巧良文,生成日志记录包括:
[0013] 根据判断结果和所述TCP/IP报文的数据帖完整性检查结果确定允许所述TCP/IP 报文通过所述服务端器口号传输至OP巧g务器或丢弃所述TCP^巧良文,生成日志记录。
[0014] 所述数据帖完整性检查结果由W下步骤确定:
[0015] 提取所述TCP^巧良文中的TCP协议应用层数据包;
[0016] 按照DCERPC协议定义的帖结构解析所述数据包,W确定所述数据包中符合DCERPC 协议定义的格式的特征数据帖,所述特征数据帖包括Bind数据帖和Request数据帖;
[0017] 根据DCOM协议和OPC协议分别对特征数据帖进行组包,W判定所述特征数据帖的 帖完整性。
[0018] 本实施方式中通过OPC协议帖的完整性检查,可W有效地避免采用非OPC协议报文 持续向工控设备或系统装置发起通讯请求,导致工控设备和系统性能下降的情形。
[0019] 进一步,针对OPC协议的安全防护方法,还包括:
[0020] 通过帖完整性检查的数据包至少包括Bind数据帖和Request数据帖,所述方法还 包括服务接口白名单过滤:
[0021] 提取所述Bind数据帖的Abstract Syntax中的UUID,并根据服务接口白名单检查 是否为预定接口;
[0022] 提取所述Bind数据帖的化ansfer Syntax中的UUID,并根据服务接口白名单检查 是否为预定接口;
[0023] 当Abstract Syntax中的UUID和IYansfer Syntax中的UUID分别为预定接口时,则 所述Bind数据帖为合法的数据帖,否则丢弃所述Bind数据帖。
[0024] 进一步,针对OPC协议的安全防护方法,还包括:
[0025] 提取所述Request数据帖的对象接口编号OPnum,并检查所述Request数据帖是否 为对象接口可识别的数据帖;
[0026] 判断所述对象接口编号OPnum中是否包含ORPCThis对象,如果是,则提取所述 Request数据帖的UUID;
[0027] 根据服务接口白名单判断所述Request数据帖的UUID是否合法;
[00%]当所述Request数据帖是对象接口可识别的数据帖,并且所述Request数据帖的 UUID合法时,所述Request数据帖为合法数据帖,否则丢弃所述Request数据帖。
[0029]本实施方式中通过服务接口白名单过滤,对比TCP/IP报文中的数据帖所对应的客 户端IP地址W及服务接口白名单中存储的该客户端IP地址W及与该IP地址相对应的可W 访问的对象接口编号,W确定访问请求是否为合法请求,从而可W有效地防止非法客户端 对工控设备或系统的可用性破坏。
[0030] 进一步,针对OPC协议的安全防护方法,还包括:
[0031] 判断符合D C E R P C协议定义的格式的R e q U e S t数据帖的功能是否为调用 ISystemActivator接口的RemoteCreateInstance,如果是则需要记录分配的服务器端口 号,将相应的客户端IP地址和分配的服务器端口号加入客户端地址端口白名单中。
[0032 ]进一步,针对OPC协议的安全防护方法,还包括容许访问对象白名单过滤:
[0033] 判断通过服务接口白名单过滤的数据帖是控制功能帖还是非控制功能帖;
[0034] 针对非控制功能帖,提取所述通过服务接口白名单过滤的数据帖包含的要访问的 信息对象地址和相应的客户端IP地址;
[0035] 根据提取的信息对象地址和相应的客户端IP地址与容许访问对象白名单比对,W 确定所述非控制功能帖是否合法;
[0036] 针对控制功能帖,提取所述通过服务接口白名单过滤的数据帖包含的要控制的信 息对象控制值和相应的客户端IP地址;
[0037] 根据提取的信息对象控制值和相应的客户端IP地址与控制对象范围白名单比对, W确定所述控制功能帖是否合法。
[0038] 本实施方式中通过容许访问对象白名单过滤,可W有效地保护控制系统重要数据 的机密,避免系统数据被非法获取,通过提取控制操作过程包含的控制对象的值与对应的 容许控制值的范围进行比对,可W有效地保护控制操作的合法性和正确性。
[0039] 进一步,针对OPC协议的安全防护方法,在生成日志记录后还包括:
[0040] 判断所述已经建立TCP连接,如果已经建立TCP连接,则阻断所述已经建立的TCP连 接。
[0041] 另一方面,还提供一种针对OPC协议的安全防护系统,包括:
[0042] TCP/IP报文解析模块,用于对来自OPC客户端的TCP/IP报文进行TCP/IP层协议解 析,确定所述TCP^巧良文的协议类型W及所述客户端IP地址和服务器端口号;
[0043] TCP/IP报文合法性判定模块,用于当所述协议类型
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1