本发明涉及网络通信技术领域,更具体地说,涉及一种SDN构架中异常流量处理方法、装置和用户终端。
背景技术:
SDN构架最先由ONF组织提出,SDN由下到上(或称由南向北)分为数据平面、控制平面和应用平面。区别于传统的网络构架,SDN构架将网络的控制平面和数据平面分离。而控制平面是SDN构架的核心,提供对网络的集中控制。控制平面通过它的南向接口使用数据平面网络设备提供的服务收集网络设备状态,或者对网络设备进行配置;应用平面通过控制平面提供的北向接口发送请求,实现对网络设备的配置或信息获取。SDN构架提供开放的可编程接口,仅通过简单的编程就能实现新应用的快速部署。
SDN构架的集中控制和提供开放可编程的特点给SDN带来了安全问题。其中,网络异常流量会带来较多的网络带宽的消耗,占用CPU处理时间,会导致链路利用率降低,造成网络拥堵,会对网络服务质量造成严重的影响。而在SDN构架中,异常流量会导致SDN控制器无法对外提供服务,使网络处于失控状态,同时,异常流量也会导致网络设备无法正常工作,使网络处于瘫痪状态。所以,在SDN网络中,需要具备对异常流量的检测和防御能力。
综上所述,目前SDN构架中由于存在网络异常流量且没有相关的应对机制,导致网络中被消耗大量带宽、占用系统CPU资源、无法对外提供服务,进而导致网络失控和瘫痪,给用户和维护人员的对网络的使用带来巨大的安全隐患和不便。
技术实现要素:
有鉴于此,本发明提供一种SDN构架中异常流量处理方法、装置和用户终端以解决现有技术的不足。
为解决上述问题,本发明提供一种SDN构架中异常流量处理方法,包括:
解析报文的数据流,得到解析数据信息;
根据异常流量模板库对所述解析数据信息进行流量检验,生成流量检验结果;所述异常流量模板库包括预设的异常流量的内容特征和行为特征;
若所述流量检验结果为所述解析数据信息是异常流量,则根据预所述异常流量模板库对所述异常流量对应的报文进行处理。
优选地,所述“若所述流量检验结果为所述解析数据信息是异常流量,则根据预所述异常流量模板库对所述异常流量对应的报文进行处理”包括:
若所述流量检验结果为所述解析数据信息是异常流量,则根据所述异常流量模板库判断所述解析数据信息是否为高危异常流量;
若所述解析数据信息为所述高危异常流量,则对所述数据信息对应的所述报文丢弃或隔离。
优选地,所述“根据所述异常流量模板库判断所述解析数据信息是否为高危异常流量”之后,还包括:
若所述解析数据信息不为所述高危异常流量,则向外部安全APP发送与所述解析数据信息对应的提示信息,以便于根据所述外部安全APP的对所述提示信息返回的决策信息处理所述解析数据信息对应的所述报文。
优选地,所述“若所述解析数据信息不为所述高危异常流量,则向外部安全APP发送与所述解析数据信息对应的提示信息,以便于根据所述外部安全APP的对所述提示信息返回的决策信息处理所述解析数据信息对应的所述报文”之后,还包括:
获取所述外部安全APP根据所述提示信息返回的所述决策信息;
将所述决策信息转换为流量策略信息;
根据所述流量策略信息改变所述异常流量的路由或禁止所述异常流量进入网络。
优选地,所述“根据异常流量模板库对所述解析数据信息进行流量检验,生成流量检验结果”之后,还包括:
若所述流量检验结果为所述解析数据信息不是异常流量,则获取预设时间内所述报文对应的所述解析数据信息的行为统计数据,并基于所述行为统计数据根据所述异常流量模板库对所述报文的解析数据信息进行流量行为特征检测,生成行为特征检测结果;
若所述行为特征检测结果为所述解析数据信息是异常流量,则根据所述异常流量模板库对所述异常流量对应的报文进行处理。
优选地,所述“若所述流量检验结果为所述解析数据信息不是异常流量,则对所述解析数据信息进行流量行为特征检测,并生成行为特征检测结果”之后,还包括:
若所述行为特征检测结果为所述解析数据信息不是异常流量,则将所述解析数据信息记为正常流量。
优选地,所述解析数据信息包括报文头部信息和报文内容信息。
此外,为解决上述问题,本发明还提供一种SDN构架中异常流量处理装置,包括:解析模块、检验模块和处理模块;
所述解析模块,用于解析报文的数据流,得到解析数据信息;
所述检验模块,用于根据异常流量模板库对所述解析数据信息进行流量检验,生成流量检验结果;所述异常流量模板库包括预设的异常流量的内容特征和行为特征;
所述处理模块,用于若所述流量检验结果为所述解析数据信息是异常流量,则根据预所述异常流量模板库对所述异常流量对应的报文进行处理。
此外,为解决上述问题,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储SDN构架中异常流量处理程序,所述处理器运行所述SDN构架中异常流量处理程序以使所述用户终端执行如上述所述SDN构架中异常流量处理方法。
此外,为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有SDN构架中异常流量处理程序,所述SDN构架中异常流量处理程序被处理器执行时实现如上述所述SDN构架中异常流量处理方法。
本发明提供的一种SDN构架中异常流量处理方法、装置和用户终端。其中,本发明所提供的方法针对现有SDN构架在安全性上的不足,对报文的解析数据信息进行流量检验,进而根据流量检验结果等方法对该报文是否为异常流量进行判断,如果为异常流量则按照流量危害策略对报文进行进一步的处理,为SDN构架的提供了对于异常流量的应对机制,杜绝了网络由于异常流量引起的失控和瘫痪的情况,有效的增强了SDN构架的安全性,进而为用户和维护人员的对网络的使用提供了极大的方便。
附图说明
图1为本发明SDN构架中异常流量处理方法实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明SDN构架中异常流量处理方法第一实施例的流程示意图;
图3为本发明SDN构架中异常流量处理方法第二实施例的流程示意图;
图4为本发明SDN构架中异常流量处理方法第三实施例的流程示意图;
图5为本发明SDN构架中异常流量处理方法第四实施例的流程示意图;
图6为本发明SDN构架中异常流量处理装置的功能模块示意图;
图7为本发明SDN构架中异常流量处理方法所基于的SDN安全构架的应用平面、SDN控制器、异常流量管理服务器和数据平面的异常流量处理示意图;
图8为本发明SDN构架中异常流量处理方法所基于的SDN安全构架的SDN控制器的异常流量处理流程示意图;
图9为本发明SDN构架中异常流量处理方法所基于的SDN安全构架的应用层、控制层及数据层的异常流量处理示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境的结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏、输入单元比如键盘、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。此外,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、数据接口控制程序、网络连接程序以及SDN构架中异常流量处理程序。
本发明提供的一种SDN构架中异常流量处理方法、装置和用户终端。其中,所述方法为SDN构架的提供了对于异常流量的应对机制,杜绝了网络由于异常流量引起的失控和瘫痪的情况,有效的增强了SDN构架的安全性,进而为用户和维护人员对网络的使用提供了极大的方便。
实施例1:
参照图2,本发明第一实施例提供一种SDN构架中异常流量处理方法,包括:
步骤S10,解析报文的数据流,得到解析数据信息;
上述,需要理解的是,软件定义网络(Software Defined Network,SDN),是Emulex网络一种新型网络创新构架,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。
上述,需要理解的是,报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。在本实施例中,报文为网络中进行数据交互的数据单元。
上述,在SDN构架中,实时或定时采集不同发送端发出的报文,SDN控制器对所有报文的数据流进行监控,进而对数据流进行解析,并得到解析数据信息。所述解析数据信息可包含该报文的特征信息或相关数据记录信息。
步骤S20,根据异常流量模板库对所述解析数据信息进行流量检验,生成流量检验结果;所述异常流量模板库包括预设的异常流量的内容特征和行为特征;
上述,流量模板库为预设的流量监测中用于鉴定流量是否为异常流量的模板库,可以进行保存异常流量的模板,其中,包括异常流量的内容特征、行为特征、危害等级、建议处理方式等内容。异常流量模板库中的异常流量根据流量的内容特征或者行为特点用一套简单易懂的描述语言进行描述。比如:Land攻击的特征为源目的IP相同,可以描述为ip.src==ip.dst;某SYNFlood的攻击特征为5秒内,syn包数量超过10000次,可以描述为tcp.syn==1&&totalssn(10000,5)。
上述,通过根据异常流量模板库对解析数据信息进行检验,进而得到根据检验生成的流量检验结果。
步骤S30,若所述流量检验结果为所述解析数据信息是异常流量,则根据预所述异常流量模板库对所述异常流量对应的报文进行处理。
上述,异常流量模板库为预设的可根据报文的解析数据信息进行根据流量的内容特征、行为特征,或者内容特征与行为特征相结合的方式对流量进行分类的策略;进而可根据不同的等级、分类对报文对应的数据流进行处理,例如,分为高危异常流量、危险异常流量、较危险异常流量、普通异常流量、正常流量几个等级,对于解析数据信息根据不同的等级进行分类,进而进行不同分类对应的处理方法进行处理。
本实施例所提供的方法针对现有SDN构架在安全性上的不足,对报文的解析数据信息进行流量检验,进而根据流量检验结果等方法对该报文是否为异常流量进行判断,如果为异常流量则按照流量危害策略对报文进行进一步的处理,为SDN构架提供了对于异常流量的应对机制,杜绝了网络由于异常流量引起的失控和瘫痪的情况,有效的增强了SDN构架的安全性,进而为用户和维护人员的对网络的使用提供了极大的方便。
实施例2:
参照图3,本发明第二实施例提供一种SDN构架中异常流量处理方法,基于上述图2所示的第一实施例,所述步骤S30“若所述流量检验结果为所述解析数据信息是异常流量,则根据预所述异常流量模板库对所述异常流量对应的报文进行处理”包括:
步骤S31,若所述流量检验结果为所述解析数据信息是异常流量,则根据所述异常流量模板库判断所述解析数据信息是否为高危异常流量;
上述,本实施例中,对流量处理的不同流量检验结果,对检测出来的异常流量进行不同的处理。在判断为异常流量后,则对该异常流量根据SDN构架中的相关分类处理模块进行对该报文的解析数据信息的危害等级进行确认。
上述,危害等级及相应的危害等级处理方式可以根据网络环境和需求通过外部安全APP进行人为设置。异常流量模板库中的异常流量都有相应的危害等级与之相对应,同时,这种对应关系也可以通过外部安全APP进行修改。一旦异常流量被检测出来,则根据异常流量的危害等级做相应的处理。
步骤S32,若所述解析数据信息为所述高危异常流量,则对所述数据信息对应的所述报文丢弃或隔离。
步骤S33,若所述解析数据信息不为所述高危异常流量,则向外部安全APP发送与所述解析数据信息对应的提示信息,以便于根据所述外部安全APP的对所述提示信息返回的决策信息处理所述解析数据信息对应的所述报文。
上述,外部安全APP可以提供对安全相关的模块进行管理。具体功能包括:提供对异常流量模板进行管理(增/删/改),设置异常流量的危害等级;提供对异常流量的危害等级的管理,主要为异常流量的处理方式;接收异常流量告警信息,对未处理的异常流量进行处理;查看异常流量log信息。
上述,如果在判断所述解析数据信息是否为高危异常流量时,确认所述报文的解析数据信息为高危异常流量,即该异常流量为对操作系统、设备终端的正常功能有直接危害的危害等级高的异常流量,则对该异常流量所对应的报文进行丢弃或者隔离处理。
上述,如果该解析数据信息不为高危异常数据流量,则判断该异常流量对操作系统、设备终端的正常功能没有直接危害,为普通的危害等级的异常流量,则将该异常流量通过外部APP生成的策略信息对该确定为异常流量的报文进行处理。分类登记可以包括高危异常流量和非高危异常流量,分门别类的处理,进一步防止系统资源的浪费。
实施例3:
参照图4,本发明第三实施例提供一种SDN构架中异常流量处理方法,基于上述图3所示的第二实施例,所述步骤S33“若所述解析数据信息不为所述高危异常流量,则向外部安全APP发送与所述解析数据信息对应的提示信息,以便于根据所述外部安全APP的对所述提示信息返回的决策信息处理所述解析数据信息对应的所述报文”之后,还包括:
步骤S34,获取所述外部安全APP根据所述提示信息返回的决策信息;
上述,决策信息为接收到的用户根据所述提示信息返回的处理决策的数据信息。
步骤S35,将所述决策信息转换为流量策略信息;
上述,将决策信息进行转换,转为为SDN构架中可直接进行解读的流量策略信息。
步骤S36,根据所述流量策略信息改变所述异常流量的路由或禁止所述异常流量进入网络。
对于检测出来的危害等级相对较低的异常流量,通过告警的方式通告给外部安全APP,用户根据告警内容对异常流量的处理进行决策,SDN控制器将用户的决策内容翻译成流量策略,进而下发到网络设备中,改变网络中的异常流量的路由,或者禁止异常流量进入网络。例如,如果发现从某个地址或者某些网段来的流量为异常流量,则需要隔离从这些地方来的流量。通过外部APP设置的处理方式,SDN控制器生成对应的访问控制规则对这些流量进行隔离。
实施例4:
参照图5,本发明第四实施例提供一种SDN构架中异常流量处理方法,基于上述图2所示的第一实施例,所述步骤S20“根据异常流量模板库对所述解析数据信息进行流量检验,生成流量检验结果”之后,还包括:
步骤S40,若所述流量检验结果为所述解析数据信息不是异常流量,则获取预设时间内所述报文对应的所述解析数据信息的行为统计数据,并基于所述行为统计数据根据所述异常流量模板库对所述报文的解析数据信息进行流量行为特征检测,生成行为特征检测结果;
上述,如果在流量检验中生成的流量检验结果显示,该报文的数据流所对应的解析数据信息不为异常流量,则需进行进一步的行为特征检测。获取预设时间内的报文的解析数据信息的行为统计数据,该统计数据为接收报文数据流并进行解析数据流,进而提取到解析数据信息中的特征数据进行统计,从而得到的统计数据。统计数据中可以包括但不限于预设时间内的报文的数据流的流量速度、特征值等数据,在进行行为特征检测时,将该特征数据与异常流量模板库中相关数据进行对比,从而得到行为特征检测结果。
上述,行为特征检验可以为,在提取流量的特征值后,根据异常流量模板库中设置的内容特征信息进行比对,并对流量进行分类统计。根据一段时间内某种流量的数量统计信息,数量达到了异常流量模板库中对应类型流量设置的上限值,则认为其为异常流量。比如1秒内icmp报文超过100万个就认为发生了ddos攻击。
步骤S50,若所述行为特征检测结果为所述解析数据信息是异常流量,则根据所述异常流量模板库对所述异常流量对应的报文进行处理。
上述,如果根据数据流的行为特征统计数据的行为特征进行检测,结果为该报文的数据流为异常流量,则返回步骤“根据所述异常流量模板库对所述异常流量对应的报文进行处理”,进而对该数据流进行进一步的是否为高危异常流量的判断,再根据判断结果进行相应的处理。
步骤S60,若所述行为特征检测结果为所述解析数据信息不是异常流量,则将所述解析数据信息标记为正常流量。
所述解析数据信息包括报文头部信息和报文内容信息。
上述,在进行对报文的信息进行解析后,确认该解析数据信息不为异常流量,则综合判断该报文的数据流为正常流量,可进行进一步的数据交互。
上述,报文头部信息可以包括但不限于数据包长度、协议类型(ICMP、IGMP、TCP、UDP等)、源IP、目的IP等内容;报文内容信息可以包括具体传输内容。
此外,参考图6,本发明还提供一种SDN构架中异常流量处理装置,包括:解析模块10、检验模块20和处理模块30;
所述解析模块10,用于解析报文的数据流,得到解析数据信息;
所述检验模块20,用于根据异常流量模板库对所述解析数据信息进行流量检验,生成流量检验结果;所述异常流量模板库包括预设的异常流量的内容特征和行为特征;
所述处理模块30,用于若所述流量检验结果为所述解析数据信息是异常流量,则根据预所述异常流量模板库对所述异常流量对应的报文进行处理。
此外,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储SDN构架中异常流量处理程序,所述处理器运行所述SDN构架中异常流量处理程序以使所述用户终端执行如上述所述SDN构架中异常流量处理方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有SDN构架中异常流量处理程序,所述SDN构架中异常流量处理程序被处理器执行时实现如上述所述SDN构架中异常流量处理方法。
此外,参考图7-9,本发明还提供一种SDN安全构架,为了更好地理解本发明所提供的SDN安全构架,以及基于所述SDN安全构架的所运行的SDN构架中异常流量处理程序所实现的SDN构架中异常流量处理方法,所述SDN安全构架包括如下部分:外部安全APP、SDN网络设备、SDN控制器和异常流量管理服务器;
其中,外部安全APP处于SDN构架的顶部,SDN网络设备处于SDN构架底部,中间的SDN控制器以及与SDN控制器相连的异常流量管理服务器为SDN构架的核心部分;
外部安全APP的功能主要包括:对异常流量模板库进行管理,实现对异常流量模板库的新增、修改、动态加载的功能;监控异常流量的告警信息,可以根据告警信息对网络中发现的异常流量进行相应的处理;
SDN网络设备通过控制平面的南向接口为控制平面提供服务,或者接受控制平面的配置策略进行配置。
SDN控制器中的安全功能设计的模块包括:
流量采集模块:采集数据平面的流量信息;
流规则生成模块:生成流量转发规则;
流量发送模块:将SDN控制器采集的网络流量信息发送给异常流量管理服务器进行检测;
处理结果接收模块:接收异常流量管理服务器的流量处理结果,将异常流量转发到异常流量处理模块进行处理,并将异常流量记录到异常流量日志中;
异常流量处理模块:根据异常流量管理服务器的流量处理结果,对于危害等级高的流量直接对其进行丢弃和隔离处理;对于不是高危害等级的异常流量根据外部APP的处理方式,将用户的决策内容翻译成流量策略,进而下发到网络设备中;
异常流量日志模块:保存检测到的异常流量历史信息;
异常流量监控模块:将SDN控制器检测到的异常流量通过告警的形式发送给外部安全APP;
异常流量模板管理模块:接收外部安全APP的配置信息,同时将接收的异常流量模板管理指令发送给异常流量管理服务器进行异常流量模板的管理。
异常流量管理服务器接收SDN控制器采集的流量,对流量进行分析检测。模块主要包括:
流量接收模块:接收SDN控制器采集的流量;
流量分类模块:根据流量的内容特征、行为特征,或者内容特征与行为特征相结合的方式对流量进行分类;
流量检测模块:根据流量分类,结合异常流量模板库,采用基于报文内容特性与基于报文行为相结合的方法对流量进行分析;
流量处理结果发送模块:将流量的检测结果发送给SDN控制器;
异常流量模板库管理模块:对异常流量模板库进行增加、修改、删除异常流量模板条目;
异常流量模板库:保存异常流量的模板,其中的内容包括异常流量的内容特征、行为特征、危害等级、建议处理方式等。
本发明所提供的SDN安全构架结合异常流量管理服务器增加异常流量检测处理功能,提供对异常流量检测处理的方法;同时结合安全应用APP动态对异常流量模板进行加载,通过对异常流量的处理,有效地增强SDN构架的安全性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。