报文检测方法以及装置与流程

文档序号:12478060阅读:455来源:国知局
报文检测方法以及装置与流程
本发明涉及通信
技术领域
,尤其涉及一种报文检测方法以及装置。
背景技术
:在SDN(SoftwareDefinedNetwork,软件定义网络)中应用IPS(入侵防御系统,IntrusionPreventionSystem)防病毒检测功能的组网中,由IPS设备对出入整个SDN网络的报文进行病毒检测,并根据预先配置的病毒响应策略对病毒进行阻断或者监控。然而,IPS设备进行病毒检测时,需要把整个SDN网络的报文都引流至IPS设备上进行病毒检测,当整个SDN网络的报文数量较大时,IPS设备则会成为整个SDN网络性能的瓶颈,导致IPS设备压力较大,进而影响整体性能。技术实现要素:针对现有技术的缺陷,本发明提供了一种报文检测方法以及装置。本发明提供一种报文检测方法,应用于Hadoop集群中的SDN控制器,其中该方法包括:接收交换设备发送的镜像报文;对所述镜像报文执行报文检测,确定对应的病毒响应策略;根据所述病毒响应策略向所述交换设备发送相应的流表项,以使所述交换设备对匹配所述流表项的报文进行处理。本发明还提供一种报文检测装置,应用于Hadoop集群中的SDN控制器,该装置包括:SDN控制单元,用于接收交换设备发送的镜像报文;检测单元,用于对所述镜像报文执行报文检测,确定对应的病毒响应策略;所述SDN控制单元,还用于根据所述病毒响应策略向所述交换设备发送相应的流表项,以使所述交换设备对匹配所述流表项的报文进行处理。本发明提供的报文检测方法以及装置,通过在SDN控制器集群部署Hadoop集群,并将原本由IPS设备进行的病毒检测工作分布到各个SDN控制器上,由SDN控制器对接收的报文的报文特征与IPS特征库中的特征数据进行匹配,并在匹配时根据对应的病毒响应策略进行相应处理,进而大幅降低IPS设备的处理压力,显著提高SDN网络的整体性能。附图说明图1是本发明实施例中一种报文检测方法所应用的SDN网络示意图;图2是本发明实施例中一种报文检测方法流程示意图;图3是本发明实施例中一种报文检测方法示意图;图4是本发明实施例中一种报文检测装置的逻辑结构示意图;图5是本发明实施例中检测单元的逻辑结构示意图;图6是本发明实施例中报文检测装置所在SDN控制器的硬件架构示意图。具体实施方式为使本申请的目的,技术方案及优点更加清楚明白,以下参照附图对本申请方案做进一步的详细说明。为了解决现有技术中存在的问题,本发明提供了一种报文检测方法以及装置。图1为本发明实施例所应用的SDN网络场景示意图,该SDN网络包括由多个SDN控制器(例如SDN控制器101、102、103以及104)组成的SDN控制器集群100、网关105、多个交换设备(例如交换设备106以及107),分别接入多个交换设备的多个主机(例如主机108以及109)以及IPS设备110。SDN技术中最为流行的是OpenFlow(开放流)协议,在基于OpenFlow协议的SDN网络中,交换设备可以是交换机或者路由器等设备,可以是实际存在的硬件交换设备也可以是虚拟交换设备,主机可以是实际存在的主机也可以是虚拟主机。本实施方式中,可以事先通过配置来指定SDN控制器集群中的各SDN控制器分别与哪些交换设备之间通过控制通道运行OpenFlow协议,并由SDN控制器向与其建立控制通道的指定交换设备下发OpenFlow流表项,以指导交换设备对各主机之间数据层面的数据转发。Hadoop是一个能够对大量数据进行分布式处理的软件框架,以可靠,高效,可伸缩的方式进行数据处理。为了解决IPS设备压力较大的问题,本实施方式中,可以在SDN控制器集群中预先部署了Hadoop集群,Hadoop集群中包含有两种功能模块:Hadoop控制模块以及Hadoop工作模块,其中,Hadoop控制模块中运行有Nimbus组件,Hadoop工作模块中运行有Supervisor组件,此外,Hadoop集群中还可以包括其他组件或者服务,例如:Zookeeper服务等,本实施方式可以通过在SDN控制器集群的各SDN控制器上安装各种组件或服务来部署Hadoop集群。Hadoop控制模块运行的Nimbus组件用于在SDN控制器接收到报文后,将对该报文进行病毒检测的任务分配给哪个Hadoop工作模块处理,并监控各个Hadoop工作模块的资源占用情况以及运行状态;Hadoop工作模块运行的Supervisor组件用于在监听到被分配的病毒检测任务后,执行该任务。在部署Hadoop集群时,可以在SDN控制器集群中部署一个Nimbus组件,为了组网可靠性考虑也可以部署多个,以避免因仅部署的一个Nimbus组件故障而致使无法正常工作,该Nimbus组件可以安装在任何一个或多个SDN控制器上,即:安装有Nimbus组件的SDN控制器则包括有Hadoop控制模块;SDN控制器集群中每个SDN控制器上都安装有至少一个Supervisor组件,也即:每个SDN控制器都包括至少一个Hadoop工作模块。例如,为各个SDN控制器安装的组件或服务可以如表1所示:SDN控制器标识安装的组件或服务SDN控制器101Nimbus、SupervisorSDN控制器102Supervisor、ZookeeperSDN控制器103Supervisor、ZookeeperSDN控制器104Supervisor、Zookeeper表1请参考图2,为本发明提供的报文检测方法的处理流程示意图,该报文检测方法可应用于Hadoop集群中的SDN控制器,该方法包括以下步骤:步骤201,接收交换设备发送的镜像报文。本实施方式中,当主机上线时,该上线的主机所连接的交换设备的接口将会在SDN控制器呈现“Up(开启)”的状态,SDN控制器在检测到有端口的状态变为“Up”时,则向该交换设备“Up”状态的端口下发检测流表项,以使该“Up”状态的端口实现端口镜像功能。该检测流表项可以包括两个处理动作:其一为根据SDN控制器存储的路由转发信息生成的指导报文如何转发的转发信息;其二则为端口镜像功能的实现,即:控制该交换设备将命中该检测流表项的报文进行镜像(复制),并将镜像后得到的镜像报文发送给该SDN控制器。该两个处理动作也可以分别通过两个流表项下发至交换设备。交换设备在接收到主机发送的报文后,将报文与预存的流表项进行匹配,当该报文命中该检测流表项时,说明该报文需要进行病毒检测,可以根据检测流表项对应的动作将该报文进行镜像后,将其中一个报文根据检测流表项的动作一进行转发,将镜像后得到的镜像报文根据检测流表项的动作二发送至SDN控制器。当SDN控制器接收到交换设备发送的镜像报文后,确定出执行所述报文检测的Hadoop工作模块;其中,所述执行报文检测的Hadoop工作模块属于接收所述镜像报文的SDN控制器,或者,属于Hadoop集群中除接收所述镜像报文的SDN控制器以外的其他SDN控制器。确定执行所述报文检测的Hadoop工作模块,包括:接收所述镜像报文的SDN控制器向具有所述Hadoop控制模块的SDN控制器发送报文检测的通知消息;所述具有Hadoop控制模块的SDN控制器根据负载均衡策略指定执行报文检测的指定Hadoop工作模块,并向所述指定Hadoop工作模块所属的SDN控制器返回响应消息,所述响应消息中包含该指定Hadoop工作模块的标识。具体地,SDN控制器在接收到镜像报文后,可以向SDN控制器集群中安装有Hadoop控制模块的SDN控制器发送报文检测的通知消息,以使具有Hadoop控制模块的SDN控制器根据负载均衡策略指定对该镜像报文进行病毒检测的任务的Hadoop工作模块。值得一提的是,当接收所述镜像报文的SDN控制器为具有Hadoop控制模块的SDN控制器时,SDN控制器在接收到镜像报文后,可以通过内部通道向本设备上安装的Hadoop控制模块发送报文检测的通知消息,由本设备上的Hadoop控制模块根据负载均衡策略指定对该镜像报文进行病毒检测的任务的Hadoop工作模块。Hadoop控制模块对病毒检测任务的分配原则为:为了避免报文的跨设备传输而影响处理效率,可以由接收该报文的SDN控制器上的Hadoop工作模块执行对该报文的病毒检测任务;当接收该报文的SDN控制器上具有多个Hadoop工作模块时,根据负载均衡策略选取出对执行病毒检测任务的Hadoop工作模块;当Hadoop控制模块检测到接收该报文的SDN控制器上的Hadoop工作模块的资源占用情况均为高负载运行,或者运行状态均为“Down(关闭)”时,可以将对该报文的病毒检测任务分配至其他SDN控制器上资源占用率低的Hadoop工作模块处理。SDN控制器的Hadoop控制模块确定出执行病毒检测任务的指定Hadoop工作模块后,可以向指定Hadoop工作模块所属的SDN控制器返回响应消息,该响应消息中包含该指定Hadoop工作模块的标识,以告知发送报文检测的通知消息的SDN控制器由具有该标识的指定Hadoop工作模块对该镜像报文进行报文检测处理。步骤202,对所述镜像报文执行报文检测,确定对应的病毒响应策略。本实施方式中,SDN控制器可以定期向SDN网络中的IPS设备发送IPS特征库获取请求,例如每隔一小时就发送一次IPS特征库获取请求,IPS设备接收到该IPS特征库获取请求后,则会将IPS设备上最后更新的IPS特征库发送给SDN控制器,SDN控制器则保存接收到的IPS特征库。该IPS特征库中保存有对各种病毒或者异常情况分析后得到的特征数据,以及与各特征数据对应的病毒响应策略。参考图3,为步骤202的具体处理流程,包括以下步骤301-302:步骤301,执行报文检测的Hadoop工作模块所属的SDN控制器获取所述镜像报文的报文特征,将所述报文特征在预先获取的入侵防御系统IPS特征库中进行匹配;该报文特征可以包括报文的源IP地址、目的IP地址、报文类型、报文协议号、端口号等各种报文信息,也可以是域名、报文某字段中的字符串等其他信息,还可以是报文信息以及其他信息中的任意信息的组合等,在此不再一一列举。对报文执行病毒检测任务的指定Hadoop工作模块在获取到镜像报文的报文特征后,可以将报文特征在所属的SDN控制器保存的IPS特征库中进行匹配,即:将获取的报文特征依次与IPS特征库中的各个特征数据进行匹配。步骤302,当所述报文特征匹配到所述IPS特征库中的特征数据时,确定所述IPS特征库中与所述特征数据对应的病毒响应策略。在报文特征匹配到所述IPS特征库中的特征数据时,说明该镜像报文为病毒报文,由于该IPS特征库中保存有对各种病毒或者异常情况分析后得到的特征数据,以及与各特征数据对应的病毒响应策略,因此,在报文特征匹配到IPS特征库中的特征数据时,说明该镜像报文为病毒报文,可以继续确定IPS特征库中的与该特征数据对应的病毒响应策略。该病毒响应策略可以包括通过、阻断或者通知等动作中的一个或多个组合。其中,对于通过动作,则对检测到的病毒报文不进行处理,允许其通过;对于阻断动作,则禁止病毒报文通过,还可以设置对发送该病毒报文的源设备进行隔离,如果一个源设备被隔离,该源设备后续的所有报文都不能通过,如果不设置隔离,则只丢弃检测到的病毒报文;对于通知动作,则在检测到病毒报文时记录病毒事件,并将记录的病毒事件通过输出到本地数据库、通过Email(邮件)通知管理员、输出到用户终端或Syslog(系统日志)主机等方式发出告警提示。除此之外,病毒响应策略还可以包括其他动作,在此不再一一列举。本实施方式中,在指定Hadoop工作模块对镜像报文进行报文检测处理时,指定Hadoop工作模块具体地处理流程可以包括:由Hadoop控制模块为接收的镜像报文指定了Hadoop工作模块后,指定Hadoop工作模块的Supervisor组件获取所属SDN控制器接收的镜像报文,将获取的镜像报文交给Spout(入口函数),Spout将镜像报文发送给异常检测Bolt,异常检测Bolt从IPS设备获取IPS特征库,并将镜像报文的报文特征与IPS特征库中的特征数据进行比对,当报文特征匹配到IPS特征库中的特征数据时,异常检测Bolt获取IPS特征库中与匹配到的特征数据对应的病毒响应策略。在一实施方式中,将获取的镜像报文交给Spout后,Spout将获取的镜像报文发送给异常检测Bolt进行病毒检测处理的同时,还可以获取该镜像报文的源IP地址、目的IP地址等地址信息以及报文类型等信息,并由统计Bolt将获取到的信息保存至本地磁盘等位置,以供用户根据获取的各种信息为后期的数据挖掘建立模型。在另一实施方式中,为了不影响对报文的病毒检测效率,将获取的镜像报文交给Spout后,Spout还可以将该镜像报文进行复制后得到两个该镜像报文,将其中一个镜像报文发送给异常检测Bolt进行病毒检测处理,将另外一个镜像报文发送给统计Bolt,由统计Bolt获取镜像报文的源IP地址、目的IP地址等地址信息以及报文类型等信息,以并行完成对报文的病毒检测以及信息获取等处理。在一实施例中,根据获取的各种信息为后期的数据挖掘建立模型,例如可以包括:对高峰期、低峰期建立模型;对某网站访问频率建立模型;对各网站访问频率、占比建立模型等。在建立模型后,可以根据建立的各种模型进行数据分析,在得到分析结果后,根据分析结果更新IPS设备上保存的IPS特征库,以使IPS特征库更为完善。步骤203,根据所述病毒响应策略向所述交换设备发送相应的流表项,以使所述交换设备对匹配所述流表项的报文进行处理。在报文特征匹配到所述IPS特征库中的特征数据时,如果与该特征数据对应的动作为阻断,则根据该报文的报文特征生成阻断流表项下发至向SDN控制器发送该报文的交换设备,以使该交换设备丢弃命中该阻断流表项的报文,进而对病毒报文进行阻断以保证网络安全,并且由SDN控制器丢弃当前检测到病毒的镜像报文;如果与该特征数据对应的动作为通知,则记录该病毒事件,并将该病毒事件通过输出到本地数据库、通过Email通知管理员、输出到用户终端或Syslog主机等途径发出告警提示;如果与该特征数据对应的动作为阻断以及通知,则在向交换设备下发阻断流表项的同时,输出告警提示。由此可见,本发明提供的报文检测方法,通过在SDN控制器集群部署Hadoop集群,并将原本由IPS设备进行的病毒检测工作分布到各个SDN控制器上完成,进而大幅降低IPS设备的处理压力,避免因IPS设备故障而使报文丢包等导致整个SDN网络的流量断流情况的发生,显著提高SDN网络的可靠性以及整体性能。本发明还提供一种报文检测装置,图4为该报文检测装置的结构示意图,该装置可以应用于Hadoop集群的SDN控制器,该报文检测装置可以包括:SDN控制单元401,用于接收交换设备发送的镜像报文;检测单元402,用于对所述镜像报文执行报文检测,确定对应的病毒响应策略;所述SDN控制单元401,还用于根据所述病毒响应策略向所述交换设备发送相应的流表项,以使所述交换设备对匹配所述流表项的报文进行处理。进一步地,所述SDN控制单元401还用于:检测到主机上线时,向所述主机所接入的交换设备下发检测流表项,所述检测流表项用于控制所述交换设备将接收的所述主机发送的报文进行镜像后发送给本设备。进一步地,所述SDN控制单元401,还用于:当所述病毒响应策略为阻断时,向所述交换设备下发阻断流表项,以使所述交换设备丢弃命中所述阻断流表项的报文;和/或,当所述病毒响应策略为通知时,输出告警提示。进一步地,所述Hadoop集群中的每个SDN控制器具有一个或多个Hadoop工作模块;所述集群中至少一个SDN控制器具有一个Hadoop控制模块;请参考图5,所述检测单元402还可以包括:Hadoop控制模块4021和/或Hadoop工作模块4022;所述Hadoop控制模块4021,用于根据所述镜像报文确定执行所述报文检测的Hadoop工作模块;其中,所述执行报文检测的Hadoop工作模块4022属于接收所述镜像报文的SDN控制器,或者,属于Hadoop集群中除接收所述镜像报文的SDN控制器以外的其他SDN控制器。进一步地,所述SDN控制单元401,还用于根据接收的镜像报文生成报文检测的通知消息,并发送给所述Hadoop控制模块4021;所述Hadoop控制模块4021,还用于接收报文检测的通知消息,根据负载均衡策略指定执行报文检测的Hadoop工作模块4022,并向该指定的Hadoop工作模块4022返回响应消息,所述响应消息中包含该指定Hadoop工作模块4022的标识。进一步地,所述Hadoop工作模块4022,用于根据所述响应消息,执行报文检测,包括:获取所述镜像报文的报文特征,将所述报文特征在预先获取的入侵防御系统IPS特征库中进行匹配;当所述报文特征匹配到所述IPS特征库中的特征数据时,确定所述IPS特征库中与所述特征数据对应的病毒响应策略本发明应用于Hadoop集群的SDN控制器的报文检测装置在具体的处理流程中可以与上述应用于Hadoop集群的SDN控制器的报文检测方法的处理流程一致,在此不再赘述。上述装置可以通过软件实现,也可以通过硬件实现,本发明报文检测装置所在交换设备以及SDN控制器的硬件架构示意图均可参考图6所示,其基本硬件环境包括中央处理器CPU601、转发芯片602、存储器603以及其他硬件604,其中存储器603中包括机器可读指令,CPU601读取并执行机器可读指令执行图4中各单元的功能。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1