网络安全防御方法及SDN控制器与流程

文档序号:14522740阅读:374来源:国知局
网络安全防御方法及SDN控制器与流程

本发明实施例涉及网络安全领域,具体而言,涉及一种基于软件定义网络(softwaredefinednetwork,sdn)之网络安全防御方法及sdn控制器。



背景技术:

当下,网络安全事件频发,且引发这些网络安全事件的病毒信息常常以多媒体文件为载体,随着多媒体文件的发行与流通而实现传播与蔓延。

在多媒体文件传输技术中,多采用多路径并行传输技术以提升传输速度。比如,基于多路径传输控制协议(multipathtransmissioncontrolprotocol,简称:mptcp)的多路径并行传输技术,其核心思想是在应用层和传输层中间加入支持多路径传输的mptcp层,将待传输的多媒体文件分为多个子流,不同子流沿不同路径传输并最终汇聚于目的设备中。

然而,多媒体文件的多路径并行传输所带来的问题是:可能有些传输路线中没有安全设备,从而使得该些传输路线中的子流在未经安全设备检查的情况下,直接进入目的设备中,从而带来严重的网络安全隐患。



技术实现要素:

有鉴于此,本发明目的是提供一种基于软件定义网络(sdn)之网络安全防御方法,以减低网络安全隐患。

本发明目的还提供一种使sdn控制器,以减低网络安全隐患。

本发明实施例提供的一种网络安全防御方法,应用于软件定义网络(sdn)控制器,所述sdn控制器位于网络拓扑中,所述网络拓扑包括至少一个安全设备及多个转发设备,所述sdn控制器包括所述网络拓扑的拓扑信息,所述方法包括:

监测第一网络装置和第二网络装置之间基于多路径传输协议连接的至少两个子流,其中第一子流沿包括有所述安全设备的第一传输路线进行数据传输,第二子流沿不包括所述安全设备的第二传输路线进行数据传输;

根据所述网络拓扑的拓扑信息分析出所述第二传输路线中与所述安全设备连接的一个第一转发设备,及分析出所述第一子流经由所述安全设备流入的第二转发设备;

生成第一流表并将该第一流表下发至所述第一转发设备中,以控制所述第一转发设备镜像该第二子流以得到镜像子流,并将该镜像子流经由所述安全设备转发至所述第二转发设备中;

生成第二流表并将该第二流表下发至第二转发设备中,以使所述第二转发设备监测是否在预定时间内经由所述安全设备接收到所述镜像子流;

若所述第二转发设备在所述预定时间内未经由所述安全设备接收到所述镜像子流,向所述第二传输路线中的一个或多个转发设备下发拦截所述第二子流的第三流表。

本发明实施例还提供了一种sdn控制器,所述sdn控制器位于网络拓扑中,所述sdn控制器位于网络拓扑中,所述网络拓扑包括至少一个安全设备及多个转发设备,所述sdn控制器包括所述网络拓扑的拓扑信息,所述sdn控制器包括包括监测模块、分析模块、第一部署模块、第二部署模块和第三部署模块。

所述监测模块,用于监测第一网络装置和第二网络装置之间基于多路径传输协议连接的至少两个子流,其中第一子流沿包括有所述安全设备的第一传输路线进行数据传输,第二子流沿不包括所述安全设备的第二传输路线进行数据传输;

所述分析模块,用于根据所述网络拓扑的拓扑信息分析出所述第二传输路线中与所述安全设备连接的一个第一转发设备,及分析出所述第一子流经由所述安全设备流入的第二转发设备;

所述第一部署模块,用于生成第一流表并将该第一流表下发至所述第一转发设备中,以控制所述第一转发设备镜像该第二子流以得到镜像子流,并将该镜像子流经由所述安全设备转发至所述第二转发设备中;

所述第二部署模块,用于生成第二流表并将该第二流表下发至第二转发设备中,以使所述第二转发设备监测是否在预定时间内经由所述安全设备接收到所述镜像子流;及

所述第三部署模块,用于若所述第二转发设备在所述预定时间内未经由所述安全设备接收到所述镜像子流,向所述第二传输路线中的一个或多个转发设备下发拦截所述第二子流的第三流表。

本发明实施例之基于软件定义网络(sdn)之网络安全防御方法,通过下发流表方式监测基于多路径传输协议连接的多个子流,并将每个子流导入到安全设备中,以确保每个子流均经过安全设备检测之后流入到目的设备中,以降低网络安全隐患。

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1是本发明实施例之网络拓扑的示意图。

图2是本发明实施例之sdn控制器的功能模块图。

图3是本发明实施例之第一网络装置与第二网络装置之间的多路径传输路线示意图。

图4是本发明另一实施例之sdn控制器的功能模块图。

图5是本发明实施例之网络安全防御方法的步骤流程图。

图6是本发明另一实施例之网络安全防御方法的步骤流程图。

主要元件符号说明

存储器10

处理器20

网络拓扑100

sdn控制器110

第一网络装置112

第二网络装置114

安全设备122

转发设备132、134、136、138、140、142、144、146

监测模块210

分析模块212

第一部署模块214

第二部署模块216

第三部署模块218

识别模块220

决策模块222

第一传输路线a

第二传输路线b

如下具体实施例将结合上述附图进一步说明本发明。

具体实施方式

请参阅图1,为本发明实施例之网络拓扑图,所述网络拓扑100包括至少一个sdn控制器110、多个网路装置(如第一网络装置112、第二网络装置114)、至少一个安全设备122,以及转发设备132、134、136、138、140、142、144及146。其中,第一网络装置112及第二网络装置114均具有支持多路径传输协议的能力,其可以是个人计算机、平板计算机、移动电话、机顶盒、服务器等电子设备。安全设备122可以是入侵防御(intrusionpreventionsystem,ips)设备、防火墙(firewall)设备等。转发设备132-146可以是支持openflow等协议的交换机、路由器、ap或其它网络转发装置。

多路径传输协议可以是mptcp(multipathtransmissioncontrolprotocol,多路径传输控制协议)、sctp(streamcontroltransmissionprotocol,流量控制传输协议)等,本发明实施例以mptcp为例进行下文的描述。

sdn控制器110会实时监测网络拓扑100中的mptcp信息(如建立连接、增加子流、删除子流等)。根据所监测到的mptcp信息,进行关联操作,如将增加的子流镜像到安全设备122中。

请参阅图2,为本发明实施例之sdn控制器110的功能模块图。该sdn控制器110可以被分割成一个或多个模块,所述一个或者多个模块均被存储于存储器10中,并由一个或多个处理器(本实施例中为一个处理器20)所执行,以完成本发明。例如,参阅图2所示,本发明所述的sdn控制器110的多个模块可以包括监测模块210、分析模块212、第一部署模块214、第二部署模块216、第三部署模块218、识别模块220和决策模块222。

一并参阅图3,监测模块210监测第一网络装置112和第二网络装置114之间的mptcp连接的至少两个子流,其中第一子流沿包括有安全设备122的第一传输路线a进行数据传输,第二子流沿不包括所述安全设备122的第二传输路线b进行数据传输。其中,第一传输路线a包括安全设备122及转发设备132、142;第二传输路线b包括转发设备136、138、140及146。

需要说明的是,第一网络装置112和第二网络装置114之间并不限于建立该两条子流,其可以更换或建立沿其它传输路线的其它子流。sdn控制器110也不仅限于监测第一网络装置112和第二网络装置114之间的数据传输,其可以监测网络拓扑100中所有网络装置之间的数据传输,本发明实施例仅以第一网络装置112和第二网络装置114为示例进行说明。即,第一网络装置112和第二网络装置114可以指代网络拓扑100中的任意两个具有mptcp能力的网络装置。

需要说明的是,该监测模块210是采用sdn的监测方式:预先向网络拓扑100中各个转发设备(如,132-146)下发了用于监测基于多路径传输协议(multipathtcp,mptcp)的子流,这些转发设备会对流经的封包进行监测并在监测到基于该协议的子流后上传或上报给sdn控制器110。如这些转发设备会监测基于mptcp的握手封包(handshakingpacket),其字段中携带有mp_capable选项或mp_jion选项,在后续的子流中携带有该mptcp连接的令牌信息token、端口地址等。通过但不限于上述信息,可以有效的监测到基于mptcp的子流。

分析模块212,根据网络拓扑100的拓扑信息分析出所述第二传输路线b中与安全设备122连接的一个第一转发设备,及分析出所述第一子流经由所述安全设备122流入的第二转发设备132。

在本实施例中,第一转发设备136是第二传输路线b的多个转发设备(136、138、140)中与安全设备122最接近的一个转发设备(即,第一转发设备136相比于第二传输路线b中的其它转发设备,与安全设备122之间的网络路线最短或封包往返时间最短)。第二转发设备132是第一子流沿第一传输路线a从安全设备122流出后进入的第一个转发设备。

第一部署模块214生成第一流表并将该第一流表下发至第一转发设备136中,以控制第一转发设备136镜像该第二子流以得到镜像子流,并将该镜像子流经由安全设备122转发至第二转发设备132中。

第一转发设备136在接收到第一流表之后,会将第二子流镜像以到该第二子流的镜像子流,原始的第二子流沿第二传输路线b进入到下一个中间设备或转发设备中,如转发设备138,镜像得到的镜像子流则被导入到安全设备122中。安全设备122在接收到该第二子流的镜像子流之后,会对该第二子流的镜像子流进行检测。若检测到非法信息,则拦截该第二子流的镜像子流并对该第二子流的镜像子流实施丢包措施,以阻止该第二子流的镜像子流流入到第二转发设备132。若未检测到非法信息,则会将该第二子流的镜像子流沿第一传输路线a流入到第二转发设备132中。

第二部署模块216生成第二流表并将该第二流表下发至第二转发设备132中,以使第二转发设备132监测是否在预定时间内经由所述安全设备接收到该第二子流的镜像子流。当第二转发设备132在预定时间内接收到该第二子流的镜像子流时,则说明该第二子流的镜像子流没有非法信息而未被安全设备122拦截。第二转发设备132将该第二子流的镜像子流进行丢包操作。当第二转发设备132未在预定时间内接收到该第二子流的镜像子流时,则说明该第二子流的镜像子流含有非法信息而被安全设备122拦截。

如上所述,本发明实施例可以根据第二转发设备132是否在预定时间内接收到第二子流的镜像子流,来判断该第二子流的镜像子流是否包括非法信息,如木马病毒信息。sdn控制器110可以通过监测模块210监测第二转发设备132是否在预定时间内接收到第二子流的镜像子流,或控制第二转发设备132进行监测并上报监测结果。该监测结果可以包括:第二转发设备132在预定时间内监测到第二子流的镜像子流,第二转发设备132未在预定时间内监测到第二子流的镜像子流。在本实施例中,当第二转发设备132在预定时间内监测到第二子流的镜像子流时,则不上报监测结果,即默认第二子流的镜像子流无非法信息;当第二转发设备132未在预定时间内监测到第二子流的镜像子流时,则上报监测结果,以通知sdn控制器110第二子流的镜像子流中含有非法信息,如木马病毒信息。

若所述第二转发设备132在所述预定时间内未经由所述安全设备接收到所述镜像子流,第三部署模块218向所述第二传输路线b中的一个或多个转发设备(如136、138和/或140)下发拦截所述第二子流的第三流表。第一转发设备136及其他转发设备(如138、140)根据该第三流表实施拦截操作,如对第二子流实施丢包操作。该其他转发设备优选第二子流经由第一转发设备136之后要经过的一个或多个转发设备。

若所述第二转发设备132在所述预定时间内未经由所述安全设备接收到所述镜像子流,则不下发第三流表,即不对第二子流实施拦截措施。

请参阅图4,在一优选实施例中,sdn控制器110还包括识别模块220和决策模块222。在监测模块210监测到第一网络装置112和第二网络装置114之间的mptcp连接的至少两个子流(如,第一子流和第二子流)之后,识别模块220解析第一子流和第二子流,以识别该至少两个子流所关联的应用程序,如微信、应用商店、网页下载程序、os系统升级程序。决策模块222依据该应用程序,决策是否要下发所述第一流表及所述第二流表以执行安全防御操作。如os系统升级程序的系统镜像数据一般不存在非法信息,因此可用取消安全防御操作,无需下发第一流表和第二流表。在此不一一列举。

在一优选实施例中,所述第一流表包括第一有效时间段,用于指示第一转发设备136在该第一有效时间段内转发第二子流的镜像子流。所述第二流表包括第二有效时间段,用于指示所述第二转发设备132以该第二有效时间段为所述预定时间。例如,可以规定在北京时间12:00:00~12:01:00期间流入第一转发设备136的第二子流被镜像至安全设备122中,并同时规定在北京时间12:00:00~12:01:30期间为预定时间段,根据在该段时间内是否接收12:00:00~12:01:00期间被第一转发设备136镜像至安全设备122的第二子流的镜像子流,来判断第二子流的镜像子流的合法性(即第二子流的合法性)。可知,第一流表内的第一有效时间段和第二流表内的第二有效时间段是对应关联的。

本发明实施例之sdn控制器110,通过下发流表方式监测mptcp连接的多个子流,并将每个子流导入到安全设备122中,以确保每个子流均经过安全设备检测之后流入到目的设备中,如第二网络装置114,以降低网络安全隐患。

在一个实施例中,sdn控制器110还可以建立一个信息连接表,所述信息连接表用于记录所述mptcp会话中的子流信息,所述子流信息包括子流令牌信息、协议号、源地址、源端口号、目的地址及目的端口号。

在一个实施例中,sdn控制器110还可以监测第一网络装置或第二网络装置发出的其它信息,如add_addr消息、remove_addr消息。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将存储装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施方式中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

图5是本发明实施例之网络安全防御方法的步骤流程图。该方法的执行可以为如图2所示的sdn控制器110,也可以是支持本方法的任意其它控制器。下面以sdn控制器110为执行主体进行示例性描述。

步骤s300,监测第一网络装置和第二网络装置基于多路径传输协议连接的至少两个子流,其中第一子流沿包括有所述安全设备的第一传输路线进行数据传输,第二子流沿不包括所述安全设备第二传输路线进行数据传输。该多路径传输协议可以报mptcp、stcp等。

步骤s302,根据所述网络拓扑的拓扑信息分析出所述第二传输路线中与所述安全设备连接的一个第一转发设备。所述第一转发设备是所述第二传输路线的多个转发设备中与所述安全设备最接近的一个转发设备。

步骤s304,根据所述网络拓扑的拓扑信息分析出所述第一子流经由所述安全设备流入的第二转发设备。第二转发设备是第一子流沿第一传输路线a从安全设备流出后进入的第一个转发设备。

步骤s306,生成第一流表并将该第一流表下发至所述第一转发设备中,以控制所述第一转发设备镜像该第二子流以得到镜像子流,并将该镜像子流经由所述安全设备转发至所述第二转发设备中。所述第一流表包括第一有效时间段,用于指示所述第一转发设备在该第一有效时间段内转发所述镜像子流。

步骤s308,生成第二流表并将该第二流表下发至第二转发设备中,以使所述第二转发设备监测是否在预定时间内经由所述安全设备接收到所述镜像子流。所述第二流表包括第二有效时间段,用于指示所述第二转发设备以该第二有效时间段为所述预定时间。

步骤s310,若所述第二转发设备在所述预定时间内未经由所述安全设备接收到所述镜像子流,向所述第二传输路线中的一个或多个转发设备下发拦截所述第二子流的第三流表。即,若所述第二转发设备在所述预定时间内未经由所述安全设备接收到所述镜像子流,则下发第三流表。反之,不下发第三流表。

图6是本发明另一实施例之网络安全防御方法的步骤流程图。

步骤s400,sdn控制器向多个转发设备下发用于监测基于多路径传输协议连接的子流的相关流表。

步骤s402,该多个转发设备在接收到相关流表之后,会根据该相关流表执行监测操作。当监测到第一网络装置和第二网络装置之间有基于多路径传输协议连接下的至少两个子流时,将监测结果或封包信息上报给sdn控制器。其中,第一子流沿包括有安全设备的第一传输路线进行数据传输,第二子流沿不包括安全设备的第二传输路线进行数据传输。

步骤s404,sdn控制器识别该至少两个子流所关联的应用程序。

步骤s406,依据该应用程序,sdn控制器决策是否要执行安全防御操作。如果所关联的应用程序为信任程序,则进入步骤s408;否则,进入步骤s410。

步骤s408,sdn控制器不执行安全防御操作。

步骤s410,sdn控制器根据网络拓扑的拓扑信息分析出第二传输路线中与安全设备连接的一个第一转发设备,及分析出第一子流经由安全设备流入的第二转发设备。

步骤s412,sdn控制器生成第一流表、第二流表,其中第一流表下发给第一转发设备,第二流表下发给第二转发设备。

步骤s414,第一转发设备在接收到该第一流表中,依据第该一流表,镜像第二子流以得到镜像子流,并将该镜像子流转发至安全设备中。

步骤s416,安全设备在接收到该镜像子流之后,会检测该镜像子流。

步骤s418,安全设备根据步骤s416的检测结果,判断该镜像子流中是否包括非法信息,如木马病毒信息。如判断该镜像子流包括非法信息,则进入步骤s420;否则,进入步骤s422。

步骤s420,安全设备拦截该镜像子流,对该镜像子流实施丢包措施,以阻止其流入到第二转发设备中。

步骤s422,安全设备会转发该镜像子流至第二转发设备中。

步骤s424,第二转发设备监测是否在预定时间内接收到该镜像子流。若在预定时间内接收该镜像子流,则说明该镜像子流无非法信息,进入步骤s426。若未在预定时间内接收该镜像子流,则说明该镜像子流中含有非法信息而被安全设备阻拦,进入步骤s428。

步骤s426,第二转发设备对该镜像子流实施丢包操作。由于镜像子流用于判断其是否能够通过安全设备的检测,继而判断第二子流是否含有非法信息。镜像子流本身并不用于传输至目的设备(如第二网络装置)中。故需要对其实施丢包操作。

步骤s428,sdn控制器生成第三流表并下发给第二传输路线上的一个或多个转发设备。由于镜像子流由第二子流镜像得到,二者信息完全一致。在安全设备检测到镜像子流含非法信息的情形下,说明该第二子流也必然含有非法信息,因此需要采用阻拦操作,阻止其传输。

步骤s430,被下发第三流表的一个或多个转发设备,会依据该第三流表,对第二子流实施拦截操作。

需要说明的是,上文所述实施例,并不构成对发明保护范围的限定。任何在本发明的精神和原则内所作的修改,等同替换和改进等,均应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1