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

文档序号:9923854阅读:来源:国知局
] S3、若所述协议类型不是TCP协议,丢弃所述TCP/IP报文,生成告警信息和日志记 5? O
[008引在本实施方式中客户端地址端口白名单中存储有发送TCP/IP报文的客户端的客 户单IP地址W及与该地址相对应的可W访问的服务器端口号,通过引入TCP/IP层协议过滤 和客户端IP地址过滤,当TCP/IP报文为非TCP协议的信息时或者客户端IP地址W及对应的 服务器端口号不在白名单中时,阻断该TCP/IP报文访问相应服务器端口号的请求,从而有 效地防止了非授权客户端的非法访问,进而保证了工控系统的安全性。
[0089] 在一些实施方式中,至少根据判断结果,确定允许所述TCP/IP报文通过所述服务 器端口号传输至OP巧S务器或丢弃所述TCP^巧良文,生成日志记录包括:
[0090] 根据判断结果和所述TCP/IP报文的数据帖完整性检查结果确定允许所述TCP/IP 报文通过所述服务端器口号传输至OP巧g务器或丢弃所述TCP^巧良文,生成日志记录。
[0091] 如图2所示,数据帖完整性检查结果由W下步骤确定:
[0092] S21、提取所述TCP^巧良文中的TCP协议应用层数据包;
[0093] S22、按照DCERPC协议定义的帖结构解析所述数据包,W确定所述数据包中符合 DCERPC协议定义的格式的特征数据帖,所述特征数据帖包括Bind数据帖和Request数据帖;
[0094] S23、根据DCOM协议和OPC协议分别对特征数据帖进行组包,W判定所述特征数据 帖的帖完整性。
[00M]本实施方式中通过OPC协议帖的完整性检查,可W有效地避免采用非OPC协议报文 持续向工控设备或系统装置发起通讯请求,导致工控设备和系统性能下降的情形。
[0096] 如图3所示,在一些实施方式中,针对OPC协议的安全防护方法,所述方法还包括服 务接口白名单过滤:
[0097] S31.提取Bind数据帖的Abstract Syntax中的UUID,并根据服务接口白名单检查 是否为预定接口;
[0098] S32.提取Bind数据帖的化ansfer Syntax中的UUID,并根据服务接口白名单检查 是否为预定接口;
[0099] S33.当Abstract Syntax中的UUID和IYansfer Syntax中的UUID分别为预定接口 时,贝化ind数据帖为完整合法的数据帖,否则丢弃Bind数据帖,并生成日志记录。
[0100] 如图4所示,在一些实施方式中,所述服务接口白名单过滤还包括:
[0101] S41.提取Request数据帖的对象接口编号OPnum,并检查Request数据帖是否为对 象接口可识别的数据帖;
[0102] S42 .判断所述对象接口编号OPnum中是否包含ORPCThis对象,如果是,则提取 Request数据帖的UUID;
[0103] S43.根据服务接口白名单判断Request数据帖的UUID是否合法;
[0104] S44.当Request数据帖是对象接口可识别的数据帖,并且Request数据帖的UUID合 法时,所述Request数据帖为合法数据帖,否则丢弃所述符合DCERPC协议定义的格式的 Request数据帖,并生成日志记录。
[0105] 本实施方式中通过服务接口白名单过滤,对比TCP/IP报文中的数据帖所对应的客 户端IP地址W及服务接口白名单中存储的该客户端IP地址W及与该IP地址相对应的可W 访问的对象接口编号,W确定访问请求是否为合法请求,从而可W有效地防止非法客户端 对工控设备或系统的可用性破坏。
[0106] 进一步,针对OPC协议的安全防护方法,还包括:
[0107] 判断TCP/IP报文中包含的Reque St数据帖是否为调用I Sy StemActivator接口的 RemoteCreateInstance,如果是则需要记录分配的服务器端口号,并且将相应的客户端IP 地址和分配的服务器端口号加入客户端地址端口白名单中。
[0108] ISystemActivator是DCOM定义的一个接口,RemoteCreateInstance是 ISystemActivator的一种调用方法,RemoteCreateInstance请求服务器提供服务端口,月良 务器在收到包含Remote化eatelnstance请求的请求包后新建TCP连接。
[0109] 由于DCOM通讯机制的原因,一个OPC客户端与服务端TCP通讯的服务器端口号是动 态分配的,因此在本实施方式中根据Request数据帖的功能类型类实时的更新针对不同OPC 客户端的IP地址所分配的服务器端口号,动态建立客户端IP端口与服务器端口号相对应的 客户端地址端口白名单,W实现对OP抗方问请求的合法性的正确判定,并W此为基础实施更 高协议层次的白名单安全防护机制。
[0110] 如图5所示,在一些实施方式中,针对OPC协议的安全防护方法,还包括容许访问对 象白名单过滤:
[0111] S51.判断通过服务接口白名单过滤的数据帖是控制功能帖还是非控制功能帖;
[0112] S52.针对非控制功能帖,提取所述通过服务接口白名单过滤的数据帖包含的要访 问的信息对象地址和相应的客户端IP地址;
[0113] S53.根据提取的信息对象地址和相应的客户端IP地址与容许访问对象白名单比 对,W确定所述非控制功能帖是否合法;
[0114] S54.针对控制功能帖,提取所述通过服务接口白名单过滤的数据帖包含的要控制 的信息对象控制值和相应的客户端IP地址;
[0115] S55.根据提取的信息对象控制值和相应的客户端IP地址与控制对象范围白名单 比对,W确定所述控制功能帖是否合法。
[0116] 进一步,针对OPC协议的安全防护方法,在生成日志记录后还包括:
[0117] 判断所述已经建立TCP连接,如果已经建立TCP连接,则阻断所述已经建立的TCP连 接。
[0118] 本发明提供的针对OPC协议的安全防护方法,通过协议深度分析(TCP/IP端口过 滤、协议完整性分析、服务接口过滤、动态分配IP端口过滤、TAG对象访问范围过滤W及TAG 控制对象参数检测),采用客户端地址端口白名单、服务接口白名单、TAG容许访问对象白名 单、TAG控制对象范围白名单,实现OPC协议的安全防护,并构建OPC协议防火墙的方法。
[0119] 通过引入TCP/IP层协议过滤和OPC协议层动态分配IP端口过滤,可W有效地防止 非授权客户端的非法访问;通过OPC协议帖的完整性检查,可W有效地避免采用非OPC协议 报文持续向工控设备或系统装置发起通讯请求,导致工控设备和系统性能下降的情形;通 过服务接口白名单过滤,可W有效地防止对工控设备或系统的可用性破坏;通过TAG容许访 问对象白名单过滤,可W有效地保护控制系统重要数据的机密,避免系统数据被非法获取; 通过提取控制操作过程包含的控制对象的TAG值与对应的容许控制值的范围进行比对,可 W有效地保护控制操作的合法性和正确性。
[0120] 在本发明中,由于采用了Iinux平台自主开发了DCOM和OPC接口,避免了传统OPC开 发中的安全性受制于Windows操作系统,要求客户端和服务器端都有相同的用户名和密码, 且该用户名还需要具备管理员权限等常见OPC问题,同时对于RPC的缓冲区溢出等DCOM漏桐 做了检查。
[0121] 由于针对0PC,从操作系统层到TCP/IP和DCERPC、DC0M、0PC协议层进行多层次的安 全防护,可W有效地抵御针对采用OPC协议的工控设备或系统的各种攻击,确保采用OPC协 议的各种工控设备和系统的保密性、完整性和可用性,有效地避免了传统的采用OPC协议的 工控设备或系统不具备安全防范机制导致的安全风险。
[0122] 如图6所示,在一些实施方式中,本发明的针对OPC协议的安全防护方法包含W下 步骤:
[0123] 在本实施方式的所有步骤之前首先针对外部OPC客户端的请求,预先定义W下参 数:
[0124] 1. 1客户端地址端口白名单:建立容许客户端访问的服务器端口号的客户端地址 端口,白名单存储有客户端IP地址和W及每一个客户端IP地址对应的客户端可W访问的服 务器端口号;
[0125] 1.2预先建立服务接口白名单表,结构如下表所示:
[0127] 服务接口白名单W客户端IP地址及对应的DC0M/0PC接口为单位,预先定义客户端 容许访问的接口集;
[0128] 1.3容许访问对象白名单:W客户端IP地址、信息对象地址(0PC Server、Group、 Item)为单位,定义容许客户端访问的信息对象地址集;
[0129] 1.4控制对象范围白名单:W客户端IP地址、控制对象地址(0PC ServeiNGroup、 Item)为单位,定义客户端容许操作的控制对象及容许的控制值的范围。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1