首页> 中国专利> 一种SDN网络中针对扫描攻击的移动目标防御方法

一种SDN网络中针对扫描攻击的移动目标防御方法

摘要

一种SDN网络中针对扫描攻击的移动目标防御方法。其包括构建SDN网络;进行数据采集;判断被扫描主机是否受到扫描攻击,若受到攻击,根据扫描数据包类型选择不同MTD策略,构造MTD响应数据包并发送给攻击者;判断被扫描主机是否存在,若存在,根据MTD转发规则生成流表项并下发给相应的交换机;结束MTD策略等步骤。本发明效果:在软件定义网络扫描阶段进行数据随机响应,利用软件定义网络的可编程以及逻辑集中控制的特性,针对不同的扫描数据包类型,使用不同的跳变防御方法。通过对响应数据包进行随机化操作,使攻击者不能确定被扫描主机的状态,从而达到主动防御的效果,可有效避免攻击。

著录项

  • 公开/公告号CN113114666A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 天津理工大学;

    申请/专利号CN202110382631.4

  • 发明设计人 韩俐;张博峰;吕星璇;

    申请日2021-04-09

  • 分类号H04L29/06(20060101);

  • 代理机构12108 天津才智专利商标代理有限公司;

  • 代理人庞学欣

  • 地址 300384 天津市南开区红旗南路延长线天津理工大学主校区

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明属于移动目标防御技术领域,更具体地说,涉及一种SDN网络中针对扫描攻击的移动目标防御方法。

背景技术

移动目标防御(Movingtargetdefense,MTD)是通过动态的、不可预知的攻击面来增加攻击者的攻击难度,以改善当前网络中易攻难守的局面。在传统网络中,攻击者具有时间优势、成本优势以及信息不对称优势,从而造成网络的攻守不平衡。MTD的出现,构造了一个动态的网络,可以缩小攻守之间的差距。

软件定义网络(softwaredefinenetwork,SDN)将传统网络中的数据平面与控制平面相分离,抽象了数据平面的网络资源,并支持通过统一的接口对网络直接进行编程控制。用户可以通过特定的API接口,在控制器上编程来实现对网络的配置、控制和管理,从而实现网络的灵活控制,让网络成为一种可灵活调配的资源。SDN的出现进一步增加了MTD在网络中实施的便利。

扫描攻击往往是攻击者入侵网络的首要步骤。攻击者通过对网络中主机等设备的网络扫描,获取主机的存活信息以及相关服务信息,为实施下一步入侵提供思路和方向。而考虑到当网络中扫描攻击成功发生时,入侵者大概率已经知道了网络中部分节点的真实信息。如果此时选择基于网络随机化的MTD技术,并不能防御攻击者对已掌握节点的继续渗透。

发明内容

为了解决上述问题,本发明的目的在于提供一种SDN网络中针对扫描攻击的移动目标防御方法。

为了达到上述目的,本发明提供的SDN网络中针对扫描攻击的移动目标防御方法包括按顺序进行的下列步骤:

步骤1)构建由控制器、openflow交换机、DNS服务器、Apache服务器以及主机h1构成的SDN网络;其中DNS服务器、Apache服务器称为被扫描主机,主机h1称为攻击者

步骤2)在SDN网络中,控制器按照流表项进行数据采集;攻击者发送扫描数据包,openflow交换机接收到扫描数据包后与自身流表项进行匹配,若匹配成功则进行转发,若匹配失败则将扫描数据包封装到Packet_in包中并上传给控制器,由控制器决定转发方式;

步骤3)控制器接收到由openflow交换机上传的packet_in包后,根据其中的扫描数据包判断被扫描主机是否受到扫描攻击,若受到攻击,则进入步骤4);否则进入步骤5);

步骤4)控制器根据扫描数据包的类型选择不同的MTD策略,然后根据MTD策略构造MTD响应数据包并发送给攻击者,以使攻击者不能判定出被扫描主机的属性以及状态;

步骤5)控制器判断被扫描主机是否存在,若存在则进入步骤6),否则,由控制器对该扫描数据包执行MTD操作并进入步骤7);

步骤6)控制器根据MTD转发规则生成流表项并下发给相应的openflow交换机;当攻击者再次发送相同类型的扫描数据包时,由openflow交换机按照步骤4)进行后续MTD操作,以减少控制器的负担;

步骤7)控制器判断是否到达数据采集的下一个扫描请求周期,若是,则返回步骤2);否则进入步骤8);

步骤8)结束基于扫描攻击的MTD策略。

在步骤3)中,控制器采用PCA-DNN模型来分析扫描数据包,以判断被扫描主机是否受到扫描攻击。

在步骤4)中,扫描数据包的类型包括ICMP、ARP、TCP以及UDP;

若扫描数据包为ICMP类型,则通过对响应数据包的类型和状态码组合进行MTD操作;方法是由控制器随机选择ICMP类型扫描数据包的类型以及状态码构造响应数据包,攻击者收到的响应数据包由ICMP扫描MTD策略构造,并不能反映被扫描主机的真实状态。

若扫描数据包为ARP类型,则通过对响应数据包的MAC地址进行MTD操作;方法是由控制器随机生成一个MAC地址构造响应数据包,攻击者收到的响应数据包由ARP扫描MTD策略构造,并不能反映被扫描主机的真实地址。

若扫描数据包为TCP类型,则通过对响应数据包的标示位类型组合进行MTD操作;方法是由控制器随机选择标示位类型组合构造响应数据包,攻击者收到的响应数据包由TCP扫描MTD策略构造,并不能反映当前被扫描主机的端口开放真实情况。

若扫描数据包为UDP类型,则通过对响应数据包的类型和状态码组合进行MTD操作,UDP协议是一种无连接协议,攻击者通常根据ICMP响应包信息进行判断;方法是由控制器随机选择ICMP类型扫描数据包的类型以及状态码构造响应数据包,攻击者收到的响应数据包由UDP扫描MTD策略构造,并不能反映当前被扫描主机的端口开放真实情况。

本发明提供的SDN网络中针对扫描攻击的移动目标防御方法具有如下有益效果:

本发明在软件定义网络扫描阶段进行数据随机响应,利用软件定义网络的可编程以及逻辑集中控制的特性,针对不同的扫描数据包类型,使用不同的跳变防御方法。通过对响应数据包进行随机化操作,使攻击者不能确定被扫描主机的状态,若攻击者重复发送相同类型的扫描数据包,则可以下发流表项给相应openflow交换机,由openflow交换机执行后续MTD操作,以减少控制器负担,从而达到主动防御的效果,可有效避免攻击。该过程完全通过控制器和交换机实现,可避免被扫描主机参与,充分利用了SDN架构达到对网络设备的透明保护。

附图说明

图1是本发明提供的针对SDN网络中针对扫描攻击的移动目标防御攻击方法中构建的SDN网络示意图。

图2是本发明提供的针对SDN网络中针对扫描攻击的移动目标防御攻击方法流程图。

图3是本发明提供的针对SDN网络中针对扫描攻击的移动目标防御攻击方法的系统架构图。

具体实施方式

以下结合附图对本发明进行进一步详述

如图2、图3所示,本发明提供的SDN网络中针对扫描攻击的移动目标防御方法包括按顺序进行的下列步骤:

步骤1)构建如图1所示的由控制器、openflow交换机、DNS服务器、Apache服务器以及主机h1构成的SDN网络;其中DNS服务器、Apache服务器称为被扫描主机,主机h1称为攻击者

步骤2)在SDN网络中,控制器按照流表项进行数据采集;被扫描主机攻击者发送扫描数据包,openflow交换机接收到扫描数据包后与自身流表项进行匹配,若匹配成功则进行转发,若匹配失败则将扫描数据包封装到Packet_in包中并上传给控制器,由控制器决定转发方式;

步骤3)控制器接收到由openflow交换机上传的packet_in包后,根据其中的扫描数据包判断被扫描主机是否受到扫描攻击,若受到攻击,则进入步骤4);否则进入步骤5);

步骤4)控制器根据扫描数据包的类型选择不同的MTD策略,然后根据MTD策略构造MTD响应数据包并发送给攻击者,以使攻击者不能判定出被扫描主机的属性以及状态;

步骤5)控制器判断被扫描主机是否存在,若存在则进入步骤6),否则,由控制器对该扫描数据包执行MTD操作并进入步骤7);

步骤6)控制器根据MTD转发规则生成流表项并下发给相应的openflow交换机;当攻击者再次发送相同类型的扫描数据包时,由openflow交换机按照步骤4)进行后续MTD操作,以减少控制器的负担;此过程完全由控制器和openflow交换机实现,可避免被扫描主机的参与,充分利用SDN架构达到对网络设备的透明保护;

步骤7)控制器判断是否到达数据采集的下一个扫描请求周期,若是,则返回步骤2);否则进入步骤8);

步骤8)结束基于扫描攻击的MTD策略。

扫描攻击是攻击者进行攻击的准备活动,本发明通过对扫描的响应数据包进行随机化构造,可使攻击者不能准确地判断出被扫描主机的属性以及状态。

在步骤3)中,控制器采用PCA-DNN模型来分析扫描数据包,以判断被扫描主机是否受到扫描攻击。

在步骤4)中,扫描数据包的类型包括ICMP、ARP、TCP以及UDP;

若扫描数据包为ICMP类型,则通过对响应数据包的类型和状态码组合进行MTD操作;方法是由控制器随机选择ICMP类型扫描数据包的类型以及状态码构造响应数据包。当响应数据包类型为ICMP_ECHO_REPLY且状态码为ICMP_ECHO_REPLY_CODE时,表示被扫描主机在线;当响应数据包类型为ICMP_DEST_UNREACH且状态码为ICMP_HOST_UNREACH_CODE时,表示被扫描主机不在线;当响应数据包类型为ICMP_TIME_EXCEEDED且状态码为ICMP_TTL_EXPIRED_CODE时,表示传输期间请求超时。攻击者收到的响应数据包由ICMP扫描MTD策略构造,并不能反映被扫描主机的真实状态。

例如:控制器生成一个随机数random(0,3),然后根据随机数大小选择响应数据包类型和对应状态码的组合。

若random<1,则选择ICMP_ECHO_REPLY+ICMP_ECHO_REPLY_CODE,表示被扫描主机在线。

若random<2,则选择ICMP_DEST_UNREACH+ICMP_HOST_UNREACH_CODE,表示被扫描主机不在线。

若random<3,则选择ICMP_TIME_EXCEEDED+ICMP_TTL_EXPIRED_CODE,表示传输期间请求超时。

若扫描数据包为ARP类型,则通过对响应数据包的MAC地址进行MTD操作;方法是由控制器随机生成一个MAC地址构造响应数据包,攻击者收到的响应数据包由ARP扫描MTD策略构造,并不能反映被扫描主机的真实地址。

若扫描数据包为TCP类型,则通过对响应数据包的标示位类型组合进行MTD操作;方法是由控制器随机选择标示位类型组合构造响应数据包。当响应标示位为TCP_RST+TCP_ACK时,表示被扫描主机端口关闭;当响应标示位为TCP_ACK+TCP_SYN时,表示被扫描主机端口开放。攻击者收到的响应数据包由TCP扫描MTD策略构造,并不能反映当前被扫描主机的端口开放真实情况。

例如:控制器生成一个随机数(0,2),然后根据随机数大小选择标示位。

若random<1,则选择TCP_RST+TCP_ACK,表示该端口关闭。

若random<2,则选择TCP_ACK+TCP_SYN,表示该端口开放。

若扫描数据包为UDP类型,UDP协议是一种无连接协议,攻击者通常根据ICMP响应包信息进行判断。因此通过对响应数据包的类型和状态码组合进行MTD操作;方法是由控制器随机选择ICMP类型扫描数据包的类型以及状态码构造响应数据包。当ICMP类型为ICMP_DEST_UNREACH并且状态码为ICMP_HOST_UNREACH_CODE时,表示被扫描主机UDP端口被防火墙过滤;当ICMP类型为ICMP_DEST_UNREACH并且状态码为ICMP_PORT_UNREACH_CODE时,表示被扫描主机UDP端口关闭;当没有收到响应数据包时,表示被扫描主机UDP端口开放。攻击者收到的响应数据包由UDP扫描MTD策略构造,并不能反映当前被扫描主机的端口开放真实情况。

例如:控制器生成一个随机数(0,2),然后根据随机数大小选择响应数据包类型和对应状态码的组合。

若random<1,则选择ICMP_DEST_UNREACH+ICMP_HOST_UNREACH_CODE,表示该端口被防火墙过滤。

若random<2,则选择ICMP_DEST_UNREACH+ICMP_PORT_UNREACH_CODE,表示该端口关闭。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号