一种基于SDN架构的工业通信流传输安全控制方法与流程

文档序号:11138550阅读:486来源:国知局
本发明涉及工业控制系统网络安全
技术领域
:,更具体的说是涉及一种基于SDN架构的工业通信流传输安全控制方法。
背景技术
::随着网络技术的发展,现有的网络结构已经不能满足急剧膨胀的网络规模和不断丰富的应用类型需求,世界各国已经开展未来网络体系架构的研究,并取得了一些进展。软件定义网络(SoftwareDefinedNetwork,SDN)得到了工业界和学术界的广泛重视,它是一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制平面与数据平面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。SDN将控制功能从网络设备中分离出来,在SDN交换机上维护流表(flowtable)结构,数据报文按照流表进行转发,而流表的生成、维护、配置则由管理控制器来管理。流表结构将网络处理层次扁平化,使得网络数据的处理满足细粒度的处理要求。在这种控制转发分离架构下,网络的逻辑控制功能和高层策略可以通过管理控制器灵活地进行动态管理和配置,可在不影响传统网络正常流量的情况下,在现有的网络中实现和部署新型网络架构,SDN的基本网络架构如图1所示。目前国内外的工业界已经开展了对SDN网络在工业控制系统中的应用研究,美国能源部(DOE)于2013年10月开展了基于SDN的工业网络研究项目,目的是将基于SDN的流控制器引入到能源系统,满足能源输送系统的信息传输与交换目标,构建一个能够维持关键功能、抵御攻击事件、具有弹性的能源输送系统,并且工业4.0也将SDN网络作为用于工业通信的重要研究内容。数据通信的传输控制技术也可称作通信的访问控制技术,是一种网络中控制数据流传输的安全保障方法,一般应用于各种防火墙的设计中,尤其是基于包过滤的防火墙。它能增强网络内部的安全性,可以确定合法的数据通信允许传输,非法的数据通信被丢弃。访问控制通过检查流经的每一个数据报文,进行数据解析,与预设的访问控制规则进行匹配,根据规则的先后顺序进行一一比较,执行符合规则的处理操作,从而保护网络的通信安全。一般访问控制的处理操作包括两种:一种是阻止传输流通过;另一种是允许传输流通过。工业控制系统的通信流传输控制要面向于多种工业专有通信协议,例如,Modbus/TCP、OPC、DNP3等,而这些协议都是一种应用层协议,因此需要深度包解析技术对各种工业专有通信协议的应用数据进行深度分析,在此基础上,实现工业通信数据流的传输控制。技术实现要素:有鉴于此,本发明的目的是提供一种基于SDN架构的工业通信流传输安全控制方法,符合“纵深防御”的思想,解决基于SDN网络架构的工业控制系统脆弱性和安全防护问题,保障工业控制系统的安全运行。本发明的进一步目的是提供一种基于SDN架构的工业通信流传输安全控制方法,针对工业控制系统中使用的工业专有通信协议,完成应用数据的深度解析,实现工业通信数据流的传输控制,检测与阻止异常的入侵行为,保护工业控制系统中关键基础设施的安全。本发明为实现上述目的所采用的技术方案是:一种基于SDN架构的工业通信流传输控制方法,包括以下步骤:步骤一:当SDN交换机收到工控终端发送的工业通信数据流后,首先进行数据报文解析,与自身存储的流表进行逐条匹配,若与某条匹配,转到步骤二;若与流表全不匹配,转到步骤三;步骤二:SDN交换机检查流表中相应匹配条目的安全控制标识是否为1,若为1,则将流ID、工业通信协议类型和数据报文中的应用层信息发送给管理控制器,请求对通信内容进行检测,转到步骤四;若为0,SDN交换机按照流表的动作执行相应的操作;步骤三:SDN交换机将数据报文发送至管理控制器,管理控制器解析该数据报文,利用内部的基本服务功能为该数据报文制定流的传输路径,计算转发流表信息,分配流ID,然后通过内部的流安全控制模块判断是否需要对该条数据流进行管控,若需要则将流表信息中的安全控制标识置1;否则,置0,然后将流表信息发送给路径上的所有SDN交换机;步骤四:流安全控制模块对数据报文中的应用层信息按照不同工业通信协议进行深度解析,将解析结果与工业规则策略库中的每一条工业规则策略进行匹配,若匹配成功,则将检测结果发送给SDN交换机,转到步骤五;若匹配不成功,则告知SDN交换机将该整个工业通信数据流做丢弃处理;步骤五:SDN交换机按照检测结果对工业通信数据流进行进一步处理。所述流表的表项结构包括包头域、计数器、安全控制标识和动作部分;所述包头域用于数据报文匹配;所述计数器用于统计匹配数据报文个数;所述安全控制标识用于判断是否需要进行流安全控制;所述动作用于展示匹配数据报文的处理方式。所述流表的动作包括转发、丢弃、排队和/或修改域。所述管理控制器的基本服务功能用于基本的网络管理,包括网络拓扑管理、网络设备注册、路由计算、Qos保障,能够通过维护整个网络视图来维护整个网络的基本信息,为每一个通信数据流计算路由路径信息,制定转发流表信息,分配流ID,并能将流表信息发送给路径上的每个SDN交换机。所述将流表信息发送给路径上的所有SDN交换机,仅仅该传输路径上第一个SDN交换机的流表信息中安全控制标识置1,其他SDN交换机的流表信息中安全控制标识都置为0。所述流安全控制模块,用于完成两个功能,包括:(1)对于首次收到某一工业通信数据流的数据报文,根据工业规则策略库判断是否需要对该流进行安全传输管控,即在制定转发流表信息时是否需要设置安全控制标识;(2)对于需要进行流安全传输管控的数据报文,按照不同的工业通信协议规约进行报文应用层内容的深度解析,与预设置工业规则策略进行匹配,执行工业规则策略的规定的控制处理操作。所述工业规则策略库用于存储用户设置的所有工业规则策略,工业规则策略库通过用户自定义添加,用户可以对每一条工业规则策略进行修改、更新、删除操作;其中的每一条工业规则策略包括规则ID、源IP地址、目的IP地址、工业通信协议类型、协议规约规定的关键字段信息内容以及处理操作部分。所述工业通信协议类型包括Modbus/TCP、Modbus/UDP、DNP3、OPC、Profinet、IEC60870-5-104、MMS、GOOSE通用的工业通信协议。所述理控制器的流安全控制模块要保存工业规则策略的规则ID与流ID的对应关系,这种对应关系为一对一、或一对多的方式,便于通过流ID查找相应的工业规则策略。根据权利要求1所述的一种基于SDN架构的工业通信流传输控制方法,其特征在于,所述管理控制器中流安全控制模块的检测结果反映了相应工业规则策略规定的控制处理操作,包括丢弃和按流表中动作处理两种方式。本发明具有以下优点及有益效果:1.经由上述技术方案可知,与现有技术相比,本发明公开提供了一种基于SDN架构的工业通信流传输控制方法,在SDN技术的基础上,增加了工业通信数据的检查与控制机制,保障了工业终端不会受到非法访问,保障了基于SDN架构工业控制系统的安全性。2.该方法符合“纵深防御”的基本安全思想,通过工业规则策略的设置,能够支持对工业控制系统进行重点安全区域的划分,实现不同区域之间流的传输控制。3.该方法在管理控制器上设计了流安全控制模块,支持对工业通信专有协议的深度解析,满足工业控制系统中这种内容深层次检测的特殊通信安全需求,同时在管理控制器上实现流安全控制模块,降低了SDN交换机的计算负载,增加了网络整体的安全可扩展性,并且用户自定义的工业规则策略设置方式提高了用户对网络安全的管理控制能力。附图说明图1为本发明中SDN网络基本架构示意图;图2为本发明的基本模型示意图;图3为本发明实施例中SDN交换机流表中表项结构示意图;图4为本发明的执行过程实施例示意图;图5为本发明的流表信息生成过程示意图;图6为本发明的匹配流程示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的方法属于软件定义网络(SDN)的范畴。软件定义网络是目前一种新型的网络创新架构,它将传统固定式的路由配置变换成灵活的软件形式,将网络设备上的控制权分立出来,由集中的控制器管理,无须以来底层网络设备,屏蔽了来自底层网络设备的差异,并且控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输策略,从而更加灵活和智能,图1给出了典型SDN网络的基本架构示意图。为了保障基于SDN架构的工业控制系统的通信安全,防止系统中出现的恶意攻击或误操作等行为,本发明提供了一种基于SDN架构的工业通信流传输控制控制方法。参见图2,示出了本发明一种基于SDN架构的工业通信流传输控制方法的基本模型,该模型主要包括三个部分:控制层面、数据层面和终端层面。控制层面主要由一个或多个分布式的管理控制器组成,管理控制器根据网络的具体状态和用户的配置,制定所有数据层面SDN交换机的路由转发策略。管理控制器包括SDN网络中原有的基本服务功能和新增的流安全控制模块,同时根据流安全控制模块的需求,管理控制器还配备了工业规则策略库用于存储用户自设定的工业规则策略。基本服务功能用于基本的网络管理,包括网络拓扑管理、网络设备注册、路由计算、Qos保障等,能够通过维护整个网络视图来维护整个网络的基本信息,如拓扑、网络单元和提供的服务等,能够为每一个通信数据流计算路由路径信息,制定转发流表信息,分配流ID,并能将流表信息发送给路径上的每个SDN交换机。流安全控制模块主要完成两个功能,包括:一种功能是对于首次收到某一工业通信数据流的数据报文,根据工业规则策略库判断是否需要对该流进行安全传输管控,即在制定转发流表信息时是否需要设置安全控制标识;另一种功能是对于需要进行流安全传输管控的数据报文,按照不同的工业通信协议规约进行报文应用层内容的深度解析,与预设置工业规则策略进行匹配,执行工业规则策略的规定的控制处理操作。深度解析,又称深度包检测技术,为现有技术,国内外均有相关文献记载,可参考http://blog.sina.com.cn/s/blog_4b108ce20100afwf.html。数据层面主要由SDN交换机所组成,系统中所有SDN交换机连接后共同组成了整个传输网络,每一个SDN交换机都拥有一个或多个流表,该流表的表项结构主要由四部分组成——包头域、计算器、安全控制标识和动作,如图3所示,其中本发明方法要求包头域中必有包括源IP地址、目的IP地址、IP协议、TCP/UDP源端口和TCP/UDP目的端口等元组,其他的可选元组可参照OpenFlow流表中包头域的定义,包头域用于数据报文匹配,计数器用于统计匹配数据报文个数,安全控制标识用于判断是否需要进行流安全控制,动作用于展示匹配数据报文的处理方式,可包括转发、丢弃等必备动作,也可包括OpenFlow中定义的排队、修改域等可选动作。在本发明方法中,SDN交换机不仅依据流表在本地做简单的高速数据转发,同时也要负责将需要流传输控制的数据报文发送给管理控制器。终端层面主要包括一些典型的工业终端,例如可编程逻辑控制器PLC、远程终端单元RTU、DCS控制器、工程师站、操作员站、OPCServer、OPCClient、人机接口HMI等各种工业计算设备。本发明方法不需要对现有的工业终端做任何修改,即控制层面和数据层面对终端层面是透明的,现有工业控制系统中的工业终端设备可完全适用于本发明方法。为了清楚的说明本发明方法对工业通信数据流传输控制的执行过程和处理方法,下面以Modbus/TCP协议的应用场景进行详细的介绍,参见图4,示出了一种基于SDN架构的工业通信流传输控制方法的执行过程实施例示意图。首先,用户根据具体的安全需求设定工业规则策略库,本实施例中给出了Rule1和Rule2两条工业规则策略,规则策略中的主要项目表示如下含义:Rule1、Rule2表示工业规则策略的规则ID;M1-SIP表示Modbus主站M1的IP地址、M2-SIP表示Modbus主站M2的IP地址、S1-DIP表示Modbus从站S1的IP地址;Modbus/TCP表示为工业通信协议类型;K-info1、K-info2分别表示规则1和规则2中需要检测的Modbus/TCP协议规定的关键字段信息;Drop、F-Action分别表示对通信流做丢弃处理和按流表中动作进行处理。下面以两个工业通信流的执行过程说明本发明方法的两种通信流处理方式,需要说明的是,实施例只是给出了两种常用的处理方式,其他适用于本发明方法的处理方式也在本发明的保护范围内。(1)当SDN交换机SW1中没有工业通信流1所对应的流表信息Flow1时,针对工业通信流1的数据报文的执行过程:步骤一:Modbus主站M1首次向SDN交换机SW1发送通信流1的数据报文,SW1收到数据报文后首先提取报文中的包头信息与自己的流表进行逐一匹配,若与某一条匹配,则执行该条流表规定的动作;若全不匹配,则将数据报文转发给管理控制器;步骤二:管理控制器收到通信流1的数据报文后,首先利用基本服务功能为该数据报文制定流的传输路径,计算转发流表信息,然后利用流安全控制模块通过数据包的源、目的IP地址和工业通信协议(通过目的端口确定)在工业规则策略库中进行查找,发现数据报文中的源IP地址、目的IP地址、工业通信协议分别与规则Rule1中的M1-SIP、S1-DIP、Modbus/TCP相匹配,则确定此通信流需要安全传输控制,然后对数据报文的应用层数据进行深度解析,将解析后的内容与规则Rule1中的关键字段信息K-info1进行匹配,若匹配成功,则将流表信息Flow1和控制处理操作Drop发送给SW1,最后丢弃该数据报文;步骤三:SDN交换机SW1收到流表信息Flow1后,将控制处理操作Drop作为流表信息Flow1的动作,此时流表信息Flow1中P-header1为流1数据报文的包头域信息,count为计数器,F-control为安全控制标识,其值为1,动作为Drop,即丢弃处理。当SDN交换机SW1收到后续Modbus主站M1发送的通信流1的数据报文时,SW1与流表信息Flow1进行匹配,然后执行丢弃处理。(2)当SDN交换机SW2中有工业通信流2所对应的流表信息Flow2时,针对工业通信流2的数据报文的执行过程:步骤一:当Modbus主站M2向SDN交换机SW2发送通信流2的数据报文时,SW2收到数据报文后提取报文中的包头信息与自己的流表进行逐一匹配,发现与流信息Flow2匹配成功,然后检查安全控制标识F-control为1,则将流ID:Flow2和应用层信息发送给管理控制器;步骤三:当管理控制器收到SW2发送过来的信息后,流安全控制模块首先通过流ID:Flow2查找对应的工业规则策略Rule2,然后按照Modbus/TCP协议对应用层信息进行深度解析,将解析后的内容与规则Rule2中的关键字段信息K-info2进行匹配,若匹配成功,则将处理操作F-action发送给SW2;否则,告知SW2丢弃此数据报文;步骤三:当SW2收到处理操作F-action后,则将此通信流2的数据报文按照流表中的动作Forward即转发处理,通信流2的数据报文最终被转发至Modbus从站S2,完成一次访问通信。为了说明本发明方法中管理控制器为SDN交换机制定流表信息的详细过程,参见图5,示出了本发明一种基于SDN架构的工业通信流传输控制方法的流表信息生成过程示意图。主要步骤如下:步骤一:当管理控制器收到SDN交换机首次发送的数据报文后,利用基本服务功能首先解析数据报文的包头信息,然后根据解析后的包头信息、网络拓扑、链路状态等制定初始流表信息,包括流ID、包头域、计数器、动作等部分,具体的过程参照OpenFlow协议中规定方法,本专利不再详述。步骤二:管理控制器中流安全控制模块根据数据报文中的源IP地址、目的IP地址和应用层协议查找工业规则策略库,若与某一条工业规则策略匹配,则转到步骤三;若全不匹配,则管理控制器将初始流表信息的安全控制标识F-control置0,然后将此条流表信息发送给SDN交换机;步骤三:按照不同的工业通信协议类型,管理控制器对数据报文的应用层信息进行深度解析,与相应的工业规则策略中的K-info进行匹配,若匹配,转到步骤四;若不匹配,则管理控制器将初始流表信息的安全控制标识F-control置0,然后将此条流表信息发送给SDN交换机;步骤四:管理控制器判断相应的工业规则策略的处理操作方式,若为Drop,则将初始流表信息的安全控制标识F-control置1,并将初始流表信息的动作设置为Drop,然后将此条流表信息发送给SDN交换机;若为F-action,则将初始流表信息的安全控制标识F-control置1,然后将此条流表信息发送给SDN交换机。参见图6,示出了发明一种基于SDN架构的工业通信流传输控制方法中SDN交换机依据流表处理数据报文的流程示意图,主要步骤如下:步骤一:当SDN交换机收到终端发送的数据报文后,首先解析数据报文的包头信息,与自身存储的流表中每一条目的包头域P-header进行匹配,若匹配其中的某一条流表信息,则转至步骤二;若与流表中的所有条目都不匹配,则将此数据包发送至管理控制器进一步处理;步骤二:SDN交换机判断此条流表信息的动作,若为Drop,则直接将此数据报文丢弃,同时计算器count加1;若为其他,即转发、排队或修改等动作,则转至步骤三;步骤三:SDN交换机继续判断此条流表信息的安全控制标识F-control,若为1,则将此数据报文对应的流ID和应用层信息发送至管理控制器进一步处理;若为0,按照此条流表信息的动作对数据报文进行处理,同时计算器count加1。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1