1.一种软件定义网络的DDoS攻击模拟和攻击检测方法,其特征在于,所述方法包括下述步骤:
通过预设线性递增和增量模式的方式增加僵尸主机,通过所有僵尸主机向软件定义网络中预设的目标交换机发起数据平面的隐蔽性DDoS攻击;
根据所述软件定义网络中所有交换机上流表的更新,对所述软件定义网络的控制器上预先构建的攻击流监控表进行同步更新;
对所述攻击流监控表进行周期性检测,以确定所述攻击流监控表中是否有存在时长超过预设时长阈值的监控表项;
当所述攻击流监控表中有存在时长超过所述时长阈值的监控表项时,确定所述存在时长超过所述预设时长阈值的监控表项所对应的网络流为针对所述软件定义网络数据平面的隐蔽攻击流。
2.如权利要求1所述的方法,其特征在于,通过预设线性递增和增量模式的方式增加僵尸主机,通过所有僵尸主机向软件定义网络中预设的目标交换机发起数据平面的隐蔽性DDoS攻击的步骤,包括:
对所述僵尸主机的数目进行线性递增,当检测到所述目标交换机的流安装成功率低于预设第一成功率阈值时,停止对所述僵尸主机进行线性递增;
对所述僵尸主机的数目进行增量递增,当检测到所述目标交换机的流安装成功率低于预设第二成功率阈值时,停止对所述僵尸主机进行增量递增;
根据所有的僵尸主机和所述软件定义网络的正常流速率,以最小攻击速率向所述目标交换机发送网络流。
3.如权利要求2所述的方法,其特征在于,对所述僵尸主机的数目进行线性递增,当检测到所述目标交换机的流安装成功率低于预设第一成功率阈值时,停止对所述僵尸主机进行线性递增的步骤,包括:
根据所述线性递增的方式和预设攻击时间间隔多批次地增加所述僵尸主机的数目,每批僵尸主机在出现后以所述正常流速率向所述目标交换机发起攻击;
通过所述控制器获取所述目标交换机的流安装成功率,当检测到所述流安装成功率低于所述第一成功率阈值时,确定所述流表趋于饱和,停止所述线性递增。
4.如权利要求1所述的方法,其特征在于,根据所述软件定义网络中所有交换机上流表的更新,对所述软件定义网络的控制器上预先构建的攻击流监控表进行同步更新的步骤,包括:
预先在所述控制器上构建所述攻击流监控表,所述攻击流监控表的监控表项包括交换机标识、流表项序列、流表项匹配域、流表项添加时刻和流表项存在时长。
根据所述所有交换机触发的Packet-in事件和Flow-removed事件,分别确定所述所有交换机的流表中添加的流表项和删除的流表项;
在所述攻击流检测表中添加所述添加的流表项对应的监控表项和删除所述删除的流表项对应的监控表项。
5.如权利要求1所述的方法,其特征在于,对所述攻击流监控表进行周期性检测,以确定所述攻击流监控表中是否有存在时长超过预设时长阈值的监控表项的步骤,包括:
对所述攻击流监控表进行周期性检测,以检测所述攻击流监控表中是否存在所述流表项存在时长超过所述时长阈值的监控表项;
当存在所述流表项存在时长超过所述时长阈值的监控表项时,确定所述攻击流监控表中有存在时长超过所述时长阈值的监控表项。
6.一种软件定义网络的DDoS攻击模拟和攻击检测装置,其特征在于,所述装置包括:
攻击模拟模块,用于通过预设线性递增和增量模式的方式增加僵尸主机,通过所有僵尸主机向软件定义网络中预设的目标交换机发起数据平面的隐蔽性DDoS攻击;
表更新模块,用于根据所述软件定义网络中所有交换机上流表的更新,对所述软件定义网络的控制器上预先构建的攻击流监控表进行同步更新;
超时检测模块,用于对所述攻击流监控表进行周期性检测,以确定所述攻击流监控表中是否有存在时长超过预设时长阈值的监控表项;以及
攻击流确定模块,用于当确定所述攻击流监控表中有存在时长超过所述时长阈值的监控表项时,确定所述存在时长超过所述预设时长阈值的监控表项所对应的网络流为针对所述软件定义网络数据平面的隐蔽攻击流。
7.如权利要求6所述的装置,其特征在于,所述攻击模拟模块包括:
线性递增模块,用于对所述僵尸主机的数目进行线性递增,当检测到所述目标交换机的流安装成功率低于预设第一成功率阈值时,停止对所述僵尸主机进行线性递增;
增量模式模块,用于对所述僵尸主机的数目进行增量递增,当检测到所述目标交换机的流安装成功率低于预设第二成功率阈值时,停止对所述僵尸主机进行增量递增;以及
隐蔽性攻击模块,用于根据所有的僵尸主机和所述软件定义网络的正常流速率,以最小攻击速率向所述目标交换机发送网络流。
8.如权利要求7所述的装置,其特征在于,所述线性递增模块包括:
递增攻击模块,用于根据所述线性递增的方式和预设的攻击时间间隔多批次地增加所述僵尸主机的数目,每批僵尸主机在出现后以所述正常流速率向所述目标交换机发起攻击;以及
递增停止模块,用于通过所述控制器获取所述目标交换机的流安装成功率,当检测到所述流安装成功率低于所述第一成功率阈值时,确定所述流表趋于饱和,停止所述线性递增。
9.如权利要求6所述的装置,其特征在于,所述表更新模块包括:
监控表构建模块,用于预先在所述控制器上构建所述攻击流监控表,所述攻击流监控表的监控表项包括交换机标识、流表项序列、流表项匹配域、流表项添加时刻和流表项存在时长;
更新确定模块,用于根据所述所有交换机触发的Packet-in事件和Flow-removed事件,分别确定所述所有交换机的流表中添加的流表项和删除的流表项;以及
监控表更新模块,用于在所述攻击流检测表中添加所述添加的流表项对应的监控表项和删除所述删除的流表项对应的监控表项。
10.如权利要求6所述的装置,其特征在于,所述超时检测模块包括:
检测模块,用于对所述攻击流监控表进行周期性检测,以检测所述攻击流监控表中是否存在所述流表项存在时长超过所述时长阈值的监控表项;以及
超时确定模块,用于当存在所述流表项存在时长超过所述时长阈值的监控表项时,确定所述攻击流监控表中有存在时长超过所述时长阈值的监控表项。