logo好方法网

一种SDN网络主机位置攻击检测方法、装置及控制器


技术摘要:
本发明公开了一种SDN网络主机位置攻击检测方法、装置及控制器,包括:当接收到交换机发送的Packet‑In消息时,根据所述Packet‑In消息提取待检查主机的位置信息;其中,所述位置信息包括所述待检查主机的MAC地址、交换机ID信息和交换机端口信息;根据所述待检查主机的M  全部
背景技术:
SDN(Software  Defined  Network,软件定义网络)是一种新型网络创新架构,与传 统网络不同,SDN是逻辑上集中的网络,在SDN中,控制器负责计算网络路由,实现网络路由 选择;交换机通过查找流表项并执行其操作,实现数据包的转发;为了实现网络管理和可编 程性,控制器需要维护网络拓扑信息,并且向上层应用和服务(例如负载均衡和最短路径路 由服务等)提供拓扑信息;控制器的拓扑管理服务包括三个部分功能:发现交换机、发现主 机和发现链路;其中,主机发现原理为:新接入网络的主机发送数据包到交换机,交换机报 告给控制器;控制器通过该数据包获取主机的信息(主机的物理地址、IP地址、位置信息 等),然后下发相关的流表项;当控制器再次收到交换机询问规则的消息时,根据该消息查 询是否存储过该主机,如果查询到主机,但是位置信息不匹配,就认为主机位置发生了改 变,控制器更新控制器存储的该主机的位置信息。 然而,在上述主机发现过程中控制器缺少对网络拓扑消息的验证,容易出现流量 劫持攻击,攻击者使用网络服务器的物理地址、IP地址向SDN交换机发送数据包,按照主机 发现原理,由于攻击者发送的数据包是新流的数据包,SDN交换机会报告给控制器,而控制 器无法验证数据包发送者是否为合法的用户,会依据该消息的内容认定网络服务器的位置 已经发生的移动,故更新位置信息,后续如果有其他正常主机试图访问该网络服务器,由于 拓扑管理信息中该网络服务器的位置已变更为攻击者所在的位置,所以正常用户的访问流 量都会被转发到攻击者处,导致用户无法访问该网络服务器。 目前存在的拓扑污染防御方案中比较典型的是TopoGuard,该方案是通过验证主 机迁移的前置和后置条件,来判断是否存在主机位置劫持攻击;其中,主机迁移的前置条件 是控制器收到端口的Port_Down信号,后置条件是迁移结束以后,控制器给该主机原来的位 置发送ICMP探测的结果是不可达的,以确保在原来的位置上不能再访问该主机;只有满足 这两个条件才能确定该主机位置移动是真实的。但是该方案的检测攻击算法较为复杂,并 且效果不佳。
技术实现要素:
本发明实施例所要解决的技术问题在于,提供一种SDN网络主机位置攻击检测方 法、装置及控制器,能够简单、有效地检测出攻击行为,从而避免主机被劫持。 为了解决上述技术问题,本发明实施例提供了一种SDN网络主机位置攻击检测方 法,所述方法由控制器执行;所述方法包括: 当接收到交换机发送的Packet-In消息时,根据所述Packet-In消息提取待检查主 机的位置信息;其中,所述位置信息包括所述待检查主机的MAC地址、交换机ID信息和交换 4 CN 111585951 A 说 明 书 2/10 页 机端口信息; 根据所述待检查主机的MAC地址判断所述待检查主机在预设的邻接主机信息表中 是否具有相匹配的流表项; 当具有相匹配的流表项时,获取相匹配的流表项中的交换机ID信息、交换机端口 信息以及主机状态; 当相匹配的流表项中的交换机ID信息或/和交换机端口信息发生变化,且主机状 态为UP时,确定检测到攻击行为; 其中,所述邻接主机信息表中包括若干个流表项,每一个流表项至少包括对应的 主机的MAC地址、交换机ID信息、交换机端口信息和主机状态;所述主机状态为UP时表示主 机接入SDN网络中,所述主机状态为DOWN时表示主机未接入SDN网络中。 进一步地,所述方法还包括: 当相匹配的流表项中的交换机ID信息或/和交换机端口信息发生变化,且主机状 态为DOWN时,对相匹配的流表项中的交换机ID信息或/和交换机端口信息进行更新,并将主 机状态设置为UP。 进一步地,所述方法还包括: 当不具有相匹配的流表项时,将所述待检查主机的位置信息添加到所述邻接主机 信息表中,并将所述待检查主机的主机状态设置为UP。 进一步地,所述方法还包括: 当接收到流表信号消息时,根据所述流表信号消息获取待更新流表项的匹配字段 信息; 若所述流表信号消息为下发流表项消息,则根据所述待更新流表项的匹配字段信 息判断所述待更新流表项在所述邻接主机信息表中是否具有相匹配的流表项; 当具有相匹配的流表项时,根据预设的加更新规则对相匹配的流表项的引用计数 进行加更新; 当不具有相匹配的流表项时,将所述待更新流表项添加到所述邻接主机信息表 中,并将所述待更新流表项的引用计数设置为1,以及将对应匹配的主机的主机状态设置为 UP。 进一步地,所述方法还包括: 若所述流表信号消息为删除流表项消息,则根据所述待更新流表项的匹配字段信 息判断所述待更新流表项在所述邻接主机信息表中是否具有相匹配的流表项; 当不具有相匹配的流表项时,根据预设的减更新规则对所述待更新流表项的引用 计数进行减更新; 当具有相匹配的流表项时,根据所述减更新规则对相匹配的流表项的引用计数进 行减更新,并判断减更新后的引用计数是否为0;若是,则将相匹配的流表项从所述邻接主 机信息表中删除,并将对应匹配的主机的主机状态设置为DOWN。 进一步地,所述方法还包括: 根据预设的时间周期向所述邻接主机信息表中的每一个主机发送数据探测包; 根据接收到的主机返回的数据响应包对所述邻接主机信息表进行更新。 进一步地,所述根据接收到的主机返回的数据响应包对所述邻接主机信息表进行 5 CN 111585951 A 说 明 书 3/10 页 更新,具体包括: 对于第i个主机返回的第j个数据响应包,根据第j个数据响应包中携带的第i个主 机的MAC地址判断第i个主机在所述邻接主机信息表中是否具有相匹配的流表项;其中,i> 0,j>0; 当具有相匹配的流表项时,判断相匹配的流表项中的交换机ID信息、交换机端口 信息以及主机状态与第j个数据响应包中携带的交换机ID信息、交换机端口信息以及主机 状态是否对应相同;若不同,则根据第j个数据响应包中携带的交换机ID信息、交换机端口 信息以及主机状态对相匹配的流表项中的交换机ID信息、交换机端口信息以及主机状态进 行相应更新; 当不具有相匹配的流表项时,将第j个数据响应包中携带的第i个主机的MAC地址、 交换机ID信息、交换机端口信息以及主机状态添加到所述邻接主机信息表中。 进一步地,所述根据接收到的主机返回的数据响应包对所述邻接主机信息表进行 更新,具体包括: 根据接收到的主机返回的数据响应包对所述邻接主机信息表进行匹配检测; 将未匹配到的流表项从所述邻接主机信息表中删除。 为了解决上述技术问题,本发明实施例还提供了一种SDN网络主机位置攻击检测 装置,所述装置设置在控制器中;所述装置包括: 位置信息获取模块,用于当接收到交换机发送的Packet-In消息时,根据所述 Packet-In消息提取待检查主机的位置信息;其中,所述位置信息包括所述待检查主机的 MAC地址、交换机ID信息和交换机端口信息; 位置匹配判断模块,用于根据所述待检查主机的MAC地址判断所述待检查主机在 预设的邻接主机信息表中是否具有相匹配的流表项; 位置匹配处理模块,用于当具有相匹配的流表项时,获取相匹配的流表项中的交 换机ID信息、交换机端口信息以及主机状态; 攻击检测模块,用于当相匹配的流表项中的交换机ID信息或/和交换机端口信息 发生变化,且主机状态为UP时,确定检测到攻击行为; 其中,所述邻接主机信息表中包括若干个流表项,每一个流表项至少包括对应的 主机的MAC地址、交换机ID信息、交换机端口信息和主机状态;所述主机状态为UP时表示主 机接入SDN网络中,所述主机状态为DOWN时表示主机未接入SDN网络中。 本发明实施例还提供了一种控制器,包括处理器、存储器以及存储在所述存储器 中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现 上述任一项所述的SDN网络主机位置攻击检测方法。 与现有技术相比,本发明实施例提供了一种SDN网络主机位置攻击检测方法、装置 及控制器,当控制器接收到交换机发送的Packet-In消息时,根据所述Packet-In消息提取 待检查主机的位置信息;其中,所述位置信息包括所述待检查主机的MAC地址、交换机ID信 息和交换机端口信息;根据所述待检查主机的MAC地址判断所述待检查主机在预设的邻接 主机信息表中是否具有相匹配的流表项;当具有相匹配的流表项时,获取相匹配的流表项 中的交换机ID信息、交换机端口信息以及主机状态;当相匹配的流表项中的交换机ID信息 或/和交换机端口信息发生变化,且主机状态为UP时,确定检测到攻击行为;从而能够简单、 6 CN 111585951 A 说 明 书 4/10 页 有效地检测出攻击行为,进而避免主机被劫持攻击。 附图说明 图1是本发明提供的一种SDN网络主机位置攻击检测方法的一个优选实施例的流 程图; 图2是本发明提供的一种SDN网络主机位置攻击检测装置的一个优选实施例的结 构框图; 图3是本发明提供的一种控制器的一个优选实施例的结构框图。
下载此资料需消耗2积分,
分享到:
收藏