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

文档序号:9923854阅读:来源:国知局
是TCP协议,判断所述客户端IP 地址和所述服务器端口号是否在白名单中,至少根据判断结果,确定允许所述TCP/IP报文 通过所述服务器端口号传输至OP巧g务器或丢弃所述TCP^巧良文,生成日志记录;
[0044] 告警信息日志生成模块,用于当所述协议类型不是TCP协议,丢弃所述TCP/IP报 文,生成告警信息和日志记录。
[0045] 进一步,针对OPC协议的安全防护系统,还包括帖完整性检查模块,所述帖完整性 检查模块包括:
[0046] 数据包提取单元,用于提取所述TCP^巧良文中的TCP协议应用层数据包;
[0047] 特征数据帖确定单元,用于按照DCERPC协议定义的帖结构解析所述数据包,W确 定所述数据包中符合DCERPC协议定义的格式的特征数据帖,所述特征数据帖包括Bind数据 帖和Request数据帖;
[004引帖完整性确定单元,用于根据DCOM协议和OPC协议分别对特征数据帖进行组包,W 判定所述特征数据帖的帖完整性。
[0049]进一步,针对OPC协议的安全防护系统,还包括:
[0化0]第一服务接口白名单过滤单元,用于提取所述Bind数据帖的Abstract Syntax中 的UUID,并根据服务接口白名单检查是否为预定接口;
[0化1]第一服务接口白名单过滤单元,用于提取所述Bind数据帖的化ansfer Syntax中 的UUID,并根据服务接口白名单检查是否为预定接口;
[0化2] 过滤结果响应单元,用于当Abstract Syntax中的UUID和IYansfer Syntax中的 UUID分别为预定接口时,则所述Bind数据帖为合法的数据帖,否则丢弃所述Bind数据帖。
[0053] 进一步,针对OPC协议的安全防护系统,还包括:
[0054] Request数据帖识别单元,用于提取所述Request数据帖的对象接口编号OPnum,并 检查所述Request数据帖是否为对象接口可识别的数据帖;
[0055] RequeSt数据帖UUID提取单元,用于当判断所述对象接口编号OPnum中包含 ORPCThis对象时,提取所述Request数据帖的UUID;
[0056] Request数据帖UUID合法性判定单元,用于根据服务接口白名单判断所述Request 数据帖的UUID是否合法;
[0057] 判定结果响应单元,用于当所述Request数据帖是对象接口可识别的数据帖,并且 所述Request数据帖的UUID合法时,所述Request数据帖为合法数据帖,否则丢弃所述 Request数据帖。
[005引在一些实施方式中,针对OPC协议的安全防护系统,还包括:
[0059] 客户端地址端口白名单动态更新模块,其用于判断Request数据帖是否为调用 I Sys temActivator接口的RemoteCreate Instance;如果是,则将接口参数中的客户端IP地 址和分配的服务器端口号加入客户端地址端口白名单中。
[0060] 进一步,针对OPC协议的安全防护系统,还包括:
[0061 ]容许访问对象白名单过滤模块,其包括:
[0062] 帖类型判定单元,用于判断通过服务接口白名单过滤的数据帖是控制功能帖还是 非控制功能帖;
[0063] 非控制功能帖解析单元,用于提取所述通过服务接口白名单过滤的数据帖包含的 要访问的信息对象地址和相应的客户端IP地址;
[0064] 非控制功能帖合法性判定单元,用于根据提取的信息对象地址和相应的客户端IP 地址与容许访问对象白名单比对,W确定所述非控制功能帖是否合法;
[0065] 控制功能帖解析单元,用于提取所述通过服务接口白名单过滤的数据帖包含的要 控制的信息对象控制值和相应的客户端IP地址;
[0066] 控制功能帖合法性判定单元,用于根据提取的信息对象控制值和相应的客户端IP 地址与控制对象范围白名单比对,W确定所述控制功能帖是否合法。
[0067] 本发明的实施方式的针对OPC协议的安全防护方法及系统,通过协议深度分析 (TCP/IP端口过滤、协议完整性分析、服务接口过滤、动态分配IP端口过滤、对象访问范围过 滤W及控制对象参数检测),采用客户端地址端口白名单、服务接口白名单、容许访问对象 白名单、控制对象范围白名单,实现OPC协议的安全防护,并构建OPC协议防火墙的方法。
【附图说明】
[0068] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领 域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获得其他的附 图。
[0069] 图1为本发明的针对OPC协议的安全防护方法一实施方式的流程图;
[0070] 图2为本发明中的帖完整性检查一实施方式的流程图;
[0071] 图3为本发明的针对OPC协议的安全防护方法另一实施方式的流程图;
[0072] 图4为本发明的针对OPC协议的安全防护方法再一实施方式的流程图;
[0073] 图5为本发明的针对OPC协议的安全防护方法又一实施方式的流程图;
[0074] 图6为本发明的针对OPC协议的安全防护方法再一实施方式的原理图;
[0075] 图7为本发明的针对OPC协议的安全防护系统一实施方式的原理图;
[0076] 图8为本发明的针对OPC协议的安全防护系统另一实施方式的原理图。
【具体实施方式】
[0077] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0078] 需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可 W相互组合。
[0079] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个 实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间 存在任何运种实际的关系或者顺序。而且,术语"包括"、"包含",不仅包括那些要素,而且还 包括没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备所固有的要 素。在没有更多限制的情况下,由语句"包括......"限定的要素,并不排除在包括所述要素 的过程、方法、物品或者设备中还存在另外的相同要素。
[0080] 在对本发明的实施例做详细说明之前,首先说明本发明中所设及的一些相关概 念。
[0081 ] OPC协议W微软的C0M(component object model)技术为基础,采用客户/服务器 结构,应用程序为客户端(0PC Client),驱动程序部分为服务器端(0PC Server)。客户程序 通过OPC接口对服务器上的数据进行访问与控制。每个OPC Client应用程序可W连接若干 个OPC Server,每一个OPC Server也可W为若干个客户程序提供数据。不同的客户程序W 及不同的服务器程序只要合乎OPC协议标准,都可W挂接在一起协同工作,从而形成一种软 件总线结构。COM标准包括规范和实现二大部分,规范部分定义了组件之间通信的机制,运 些规范不依赖任何特定的语言和操作系统,具有语言无关性;COM标准的实现部分是COM库, COM库为COM规范的具体实现提供了一些核屯、服务。由于COMW客户/服务器模型为基础,因 此具有良好的稳定性和很强的扩展能力。
[0082] DC0M(dist;r;Lbuted component object model)是建立在COM之上的一种规范和服 务,提供了一种使COM组件加入网络环境的透明网络协议,实现了在分布式计算环境下不同 进程之间的通信与协作。
[0083] 客户程序和COM组件程序进行交互的实体是COM对象。COM对象类似C++中对象的概 念,它是某个类(class)的一个实例,包括一组属性和方法COM对象提供的方法就是COM接 口,它是一组逻辑相关函数的集合。客户程序必须通过接口才能获得COM对象的服务。
[0084] 如图1所示,根据本发明的一个方面,提供了一种针对OPC协议的安全防护方法,包 括:
[0085] Sl、对来自OPC客户端网口 TCP^巧良文进行TCP^P层协议解析,确定所述TCP/IP报 文的协议类型W及所述客户端IP地址和服务器端口号;
[0086] S2、若所述协议类型是TCP协议,判断所述客户端IP地址和所述服务器端口号是否 在白名单中,至少根据判断结果,确定允许所述TCP/IP报文通过所述服务器端口号传输至 OPC服务器或丢弃所述文,生成日志记录;
[0087
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1