恶意攻击的检测方法和装置制造方法及图纸

技术编号:11508491 阅读:83 留言:0更新日期:2015-05-27 12:25
本发明专利技术实施例公开了一种恶意攻击的检测方法及装置,方法包括:控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。本发明专利技术实施例能够检测主机的恶意攻击,且能够降低控制器的数据处理量,提高控制器性能。

【技术实现步骤摘要】
恶意攻击的检测方法和装置
本专利技术涉及通信领域,尤其涉及恶意攻击的检测方法和装置。
技术介绍
软件定义网络(SDN,SoftwareDefinedNetworking)网络的基本思想是实现了控制面和转发面的分离。SDN网络中一般包括控制器(Controller)、交换机(Switch)和主机(Host);其中,控制器用于基于全网视图制定路由策略,将路由策略通过流表项的方式下发交换机,以便交换机将流表项保存至流表,从而控制器通过对交换机中流表的控制实现对整个网络的集中控制;交换机用于根据交换机本地的流表项转发主机的数据包。SDN网络内,主机通常的通信场景如图1所示,其中,主机A向与其连接的交换机1发送数据包,假设数据包的目的主机为SDN网络内的主机B;交换机1在本地的流表中查找该数据包的流表项,如果交换机1查找到该数据包的流表项,根据该流表项转发该数据包;如果交换机1未查找到该数据包的流表项,向控制器发送Packet-in消息;控制器为该数据包选择转发路径,将转发路径通过流表项的方式下发至转发路径上的所有交换机;交换机1以及转发路径上的交换机根据下发的流表项转发该数据包。由于控制器已经向转发路径上的所有交换机下发了主机A和主机B之间通信的流表项,则后续主机A发送目的主机为主机B的数据包时,交换机1直接根据流表项转发该数据包即可,交换机1将不会再产生Packet-in消息。而如果主机发送的数据包的目的主机是SDN网络外的主机C时,通信场景如图2所示,其中,主机A向与其连接的交换机1发送数据包,假设数据包的目的主机为主机C,且SDN网络中不包括所述主机C;交换机1在交换机本地的流表中查找该数据包的流表项,由于主机C并不在SDN网络中,则交换机1无法查找到该数据包的流表项,向控制器发送Packet-in消息;控制器接收所述Packet-in消息,在SDN网络中寻找所述主机C,由于主机C并不在SDN网络中,控制器无法找到主机C,则控制器丢弃该Packet-in消息,不下发该数据包的流表项给交换机1。如果之后主机A再发送目的主机为主机C的数据包,交换机1和控制器都会重复上述步骤,最终由控制器丢弃Packet-in消息。基于以上SDN网络中主机的通信方法,可以认为图1所示场景下的Packet-in消息为正常Packet-in消息,而图2所示场景下的Packet-in消息为无效Packet-in消息。如果SDN网络中有主机对控制器进行恶意攻击,发送大量目的主机不在SDN网络中甚至目的主机不存在的数据包,与之连接的交换机会产生大量无效Packet-in消息发送至控制器,控制器需要消耗大量的处理资源处理这些无效Packet-in消息、查找所述不在SDN网络中甚至不存在的目的主机,从而影响控制器对正常Packet-in消息的处理。为此,需要对SDN网络中主机针对控制器的恶意攻击进行检测,目前对主机恶意攻击的检测方法是:控制器统计单位时间内接收到的每个主机作为源主机时对应产生的Packet-in消息个数,通过所述个数计算每个主机作为源主机产生Packet-in消息的速率,根据所述速率确定每个主机是否对控制器进行恶意攻击。在这种主机恶意攻击的检测方法中,控制器需要接收各个交换机上报的Packet-in消息并对Packet-in消息进行处理,同时,控制器还需要分别统计单位时间内接收到的每个主机作为源主机时对应产生的Packet-in消息个数,进而确定每个主机是否对控制器进行恶意攻击,控制器的数据处理量大,性能低。
技术实现思路
本专利技术实施例中提供了一种恶意攻击的检测方法和装置,能够检测主机的恶意攻击,且能够降低控制器的数据处理量,提高控制器性能。第一方面,提供一种恶意攻击的检测方法,包括:控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。结合第一方面,在第一方面第一种可能的实现方式中,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:控制器根据所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;控制器判断所述触发速率是否大于速率阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。结合第一方面,在第一方面第二种可能的实现方式中,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:控制器判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,控制器向第一交换机发送异常流表项之前,还包括:控制器判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,控制器执行向第一交换机发送异常流表项的步骤。结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,还包括:控制器确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,向第一交换机发送第一指示,所述第一指示用于指示第一交换机将所述精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,在第一方面第五种可能的实现方式中,还包括:控制器确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,和/或第一方面第四种可能的实现方式,和/或第一方面第五种可能的实现方式,在第一方面第六种可能的实现方式中,所述异常流表项的优先级是所述第一交换机中流表项的最低优先级。结合第一方面,和/或第一方面第一种可能的实现方式,和/或第一方面第二种可能的实现方式,和/或第一方面第三种可能的实现方式,和/或第一方面第四种可能的实现方式,和/或第一方面第五种可能的实现方式,和/或第一方面第六种可能的实现方式,在第一方面第七种可能的实现方式中,还包括:控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。第二方面,提供一种恶意攻击的检测方法,包本文档来自技高网
...

【技术保护点】
一种恶意攻击的检测方法,其特征在于,包括:控制器接收第一交换机发送的Packet‑in消息,所述Packet‑in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。

【技术特征摘要】
1.一种恶意攻击的检测方法,其特征在于,包括:控制器接收第一交换机发送的Packet-in消息,所述Packet-in消息中包括第一交换机未查找到流表项的数据包的源主机标识和目的主机标识;控制器判断SDN网络中不存在所述目的主机标识指示的主机时,向第一交换机发送异常流表项;所述异常流表项中包括源主机标识;控制器接收第一交换机发送的触发次数;所述触发次数由第一交换机在异常流表项超时后发送,且所述触发次数是所述异常流表项的触发次数;控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。2.根据权利要求1所述的方法,其特征在于,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:控制器根据所述触发次数以及所述异常流表项的老化时间计算异常流表项的触发速率;控制器判断所述触发速率是否大于速率阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。3.根据权利要求1所述的方法,其特征在于,控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击包括:控制器判断所述触发次数是否大于次数阈值,如果大于,则控制器判断所述源主机存在恶意攻击;否则,控制器判断所述源主机不存在恶意攻击。4.根据权利要求1至3任一项所述的方法,其特征在于,控制器向第一交换机发送异常流表项之前,还包括:控制器判断是否已经向第一交换机下发了所述源主机标识指示的源主机的异常流表项;如果否,控制器执行向第一交换机发送异常流表项的步骤。5.根据权利要求1所述的方法,其特征在于,还包括:控制器确定第一交换机中最后一张流表是包括源主机标识匹配域的精配表时,向第一交换机发送第一指示,所述第一指示用于指示第一交换机将所述精配表配置为只匹配源主机标识匹配域的精配表,以便第一交换机将所述异常流表项存储在最后一张流表中。6.根据权利要求1所述的方法,其特征在于,还包括:控制器确定第一交换机中最后一张流表是精配表,且第一交换机中存在包括源主机标识匹配域的通配表时,向第一交换机发送第二指示,所述第二指示用于指示第一交换机将所述包括源主机标识匹配域的通配表调整为最为一张流表,以便第一交换机将所述异常流表项存储在最后一张流表中。7.根据权利要求1所述的方法,其特征在于,所述异常流表项的优先级是所述第一交换机中流表项的最低优先级。8.根据权利要求1所述的方法,其特征在于,还包括:控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时,向第一交换机发送第三指示,所述第三指示用于指示第一交换机抑制来自所述源主机的数据包。9.一种恶意攻击的检测方法,其特征在于,包括:第一交换机确定未查找到数据包对应的流表项时,向控制器发送Packet-in消息,所述Packet-in消息中包括所述数据包的源主机标识和目的主机标识;第一交换机接收并保存异常流表项;所述异常流表项在控制器判断SDN网络中不存在所述目的主机标识指示的主机时发送;第一交换机在所述异常流表项的老化时间内记录所述异常流表项的触发次数,在所述异常流表项超时后将所述触发次数发送给控制器,以便控制器根据所述触发次数判断所述源主机标识指示的源主机是否存在恶意攻击。10.根据权利要求9所述的方法,其特征在于,还包括:第一交换机接收控制器发送的第一指示,根据所述第一指示将本地最后一张精配表配置为只匹配源主机标识匹配域的精配表;或者,第一交换机接收控制器发送的第二指示,根据所述第二指示将包括源主机标识匹配域的通配表调整为最为一张流表。11.根据权利要求10所述的方法,其特征在于,第一交换机保存所述异常流表项包括:第一交换机将所述异常流表项保存至最后一张流表。12.根据权利要求9至11任一项所述的方法,其特征在于,还包括:第一交换机接收控制器发送的第三指示;所述第三指示在控制器根据所述触发次数判断所述源主机标识指示的源主机存在恶意攻击时发送;第一交换机根据所述第三指...

【专利技术属性】
技术研发人员:林科王永灿田应军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1