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

文档序号:9923854阅读:来源:国知局
>[0130] 本实施方式的包括W下步骤:
[0131] SOI.从外部网口获取数据请求包;
[0132] S02. TCP^P白名单过滤,针对接收到的TCP^巧良文,进行TCP^P层协议分析;
[0133] S03.对于非TCP协议的数据包或者客户端IP地址及服务器端口号不在客户端地址 端口白名单中的,则产生告警和日志记录,并丢弃该包,如果已建立TCP连接,则阻断该连 接;
[0134] S04.对于通过TCP/IP白名单过滤的帖,提取出TCP协议应用层数据,尝试按DCERPC 定义的帖结构进行组包;
[0135] S05.如果提取出TCP协议应用层数据符合协议定义的格式,则为合法的完整帖,否 则为错误帖,则丢弃,并产生日志记录;
[0136] S06.根据DCOM协议和OPC协议对获取的数据请求包进行组包分析;
[0137] S07.根据S06中进行组包分析的结果判断数据请求包是否为完整的DCOM帖和OPC 帖,如果是则并产生日志记录和告警信息,并阻断TCP连接;
[013引S08.匹配服务接口白名单;
[0139] S09.针对DC邸PC的Bind帖,提取Bind帖包含的UUID,并与服务接口白名单表进行 匹配,如果失败,则产生日志记录及告警信息,返回丢弃该包,并阻断TCP^P连接,产生日志 记录;
[0140] SlO .对于接受的Request帖,判断其应用功能是否为调用ISystemActivator接口 的RemoteCreateInstance,如果是则执行步骤S14、S15、S16记录分配的服务器端口号及相 应的客户端IP地址,生成响应报文,并且将客户端地址和分配的服务器端口号加入客户端 地址白名单中;
[0141 ] Sll.容许访问对象白名单过滤,针对非控制功能帖,提取帖包含的口EM的TAG信息 对象地址并与客户端IP地址一起,与容许访问对象白名单比对,如果不在白名单范围内,贝U 产生告警和日志记录,丢弃该包,并阻断TCP^P连接,如果通过白名单过滤,正常响应。
[0142] S12.控制对象白名单过滤,针对控制功能帖,提取帖包含的口 EM的TAG信息对象及 控制值,并与客户端IP地址一起,与控制对象范围白名单进行匹配,如果控制对象没有定 义,或控制对象控制值不在容许范围,则产生告警和日志记录,丢弃该包,并阻断TCP/IP连 接,如果通过白名单过滤,则正常响应。
[0143] S113.根据TCP^P协议对通过控制对象白名单过滤的控制功能帖进行组包并发送 至内部网口。
[0144] 如图7所示,另一方面,本发明还提供一种针对OPC协议的安全防护系统,包括:
[0145] TCP/IP报文解析模块,用于对来自OPC客户端的TCP/IP报文进行TCP/IP层协议解 析,确定所述TCP^巧良文的协议类型W及所述客户端IP地址和服务器端口号;
[0146] TCP/IP报文合法性判定模块,用于当所述协议类型是TCP协议,判断所述客户端IP 地址和所述服务器端口号是否在白名单中,至少根据判断结果,确定允许所述TCP/IP报文 通过所述服务器端口号传输至OP巧g务器或丢弃所述TCP^巧良文,生成日志记录;
[0147] 告警信息日志生成模块,用于当所述协议类型不是TCP协议,丢弃所述TCP/IP报 文,生成告警信息和日志记录。
[0148] 本实施方式中通过引入TCP/IP层协议过滤和客户端IP地址过滤有效地防止了非 授权客户端的非法访问,进而保证了工控系统的安全性。
[0149] 如图8所示,在一些实施方式中,针对OPC协议的安全防护系统,还包括帖完整性检 查模块,所述帖完整性检查模块包括:
[0150] 数据包提取单元,用于提取所述TCP^巧良文中的TCP协议应用层数据包;
[0151] 特征数据帖确定单元,用于按照DCERPC协议定义的帖结构解析所述数据包,W确 定所述数据包中符合DCERPC协议定义的格式的特征数据帖,所述特征数据帖包括Bind数据 帖和Request数据帖;
[0152] 帖完整性确定单元,用于根据DCOM协议和OPC协议分别对特征数据帖进行组包,W 判定所述特征数据帖的帖完整性。
[0153] 本实施方式中通过OPC协议帖的完整性检查,可W有效地避免采用非OPC协议报文 持续向工控设备或系统装置发起通讯请求,导致工控设备和系统性能下降的情形。
[0154] 进一步,针对OPC协议的安全防护系统,还包括:
[01巧]第一服务接口白名单过滤单元,用于提取所述Bind数据帖的Abstract Syntax中 的UUID,并根据服务接口白名单检查是否为预定接口;
[0156]第一服务接口白名单过滤单元,用于提取所述Bind数据帖的化ansfer Syntax中 的UUID,并根据服务接口白名单检查是否为预定接口;
[0157] 过滤结果响应单元,用于当Abstract Syntax中的UUID和IYansfer Syntax中的 UUID分别为预定接口时,则所述Bind数据帖为合法的数据帖,否则丢弃所述Bind数据帖。
[0158] 进一步,针对OPC协议的安全防护系统,还包括:
[0159] Request数据帖识别单元,用于提取所述Request数据帖的对象接口编号OPnum,并 检查所述Request数据帖是否为对象接口可识别的数据帖;
[0160] RequeSt数据帖UUID提取单元,用于当判断所述对象接口编号OPnum中包含 ORPCThis对象时,提取所述Request数据帖的UUID;
[0161] Request数据帖UUID合法性判定单元,用于根据服务接口白名单判断所述Request 数据帖的UUID是否合法;
[0162] 判定结果响应单元,用于当所述Request数据帖是对象接口可识别的数据帖,并且 所述Request数据帖的UUID合法时,所述Request数据帖为合法数据帖,否则丢弃所述 Request数据帖。
[0163] 在一些实施方式中,针对OPC协议的安全防护系统,还包括:
[0164] 客户端地址端口白名单动态更新模块,其用于判断Request数据帖是否为调用 I Sys temActivator接口的RemoteCreate Instance;如果是,则将接口参数中的客户端IP地 址和分配的服务器端口号加入客户端地址端口白名单中。
[0165] 进一步,针对OPC协议的安全防护系统,还包括:
[0166] 容许访问对象白名单过滤模块,其包括:
[0167] 帖类型判定单元,用于判断通过服务接口白名单过滤的数据帖是控制功能帖还是 非控制功能帖;
[0168] 非控制功能帖解析单元,用于提取所述通过服务接口白名单过滤的数据帖包含的 要访问的信息对象地址和相应的客户端IP地址;
[0169] 非控制功能帖合法性判定单元,用于根据提取的信息对象地址和相应的客户端IP 地址与容许访问对象白名单比对,W确定所述非控制功能帖是否合法;
[0170] 控制功能帖解析单元,用于提取所述通过服务接口白名单过滤的数据帖包含的要 控制的信息对象控制值和相应的客户端IP地址;
[0171] 控制功能帖合法性判定单元,用于根据提取的信息对象控制值和相应的客户端IP 地址与控制对象范围白名单比对,W确定所述控制功能帖是否合法。
[0172] 由于DCOM通讯机制的原因,一个OPC客户端与服务端TCP通讯的服务器端口号是动 态分配的,因此在本实施方式中根据Request数据帖的功能类型类实时的更新针对不同OPC 客户端的IP地址所分配的服务器端口号,动态建立客户端IP端口与服务器端口号相对应的 客户端地址端口白名单,W实现对OP抗方问请求的合法性的正确判定,并W此为基础实施更 高协议层次的白名单安全防护机制。
[0173] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可W采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所设及的动作和模块并不一定是本发明 所必须的。
[0174] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可W参见其他实施例的相关描述。
[0175] W上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可 W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W不是物理单 元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的需要选择其 中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性 的劳动的情况下,即可W理解并实施。
[0176] 通过W
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1