[0038] 以下具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
[0039] 实施例1
[0040] 本实施例一种基于SDN的防地址扫描攻击的系统,包括SDN控制器和SDN交换机(S0、S1、S2、S3),SDN控制器具有未匹配流表报文接收模块、地址扫描报文判断模块、流表下发模块;其中,
[0041] 所述未匹配流表报文接收模块用于接收来自SDN交换机的未匹配流表的报文;
[0042] 所述地址扫描报文判断模块用于判断所述未匹配流表报文接收模块接收的未匹配流表的报文是否为地址扫描攻击报文;
[0043] 所述流表下发模块用于向SDN交换机下发流表,若确定未匹配流表的报文为地址扫描攻击报文则下发流表以防止后续报文进行地址扫描攻击;
[0044] 所述未匹配流表的报文包括源IP信息、目的IP信息。
[0045] SDN交换机上报未匹配流表的报文至SDN控制器,SDN控制器通过未匹配流表报文接收模块接收,并再通过地址扫描报文判断模块进行是否为地址扫描攻击报文的判断,最后经过判断由SDN控制器下发流表是否要防止后续报文进行地址扫描攻击。
[0046] 为了具体有效实现地址扫描报文的高效准确判断,SDN控制器还具有交换机端口IP地址获取模块、IP地址表生成模块、直连网段判断模块;其中,
[0047] 所述交换机端口IP地址获取模块用于从SDN交换机获取交换机端口IP地址;
[0048] 所述IP地址表生成模块用于通过从SDN交换机获取交换机端口IP地址生成基于SDN网络的IP地址表;
[0049] 所述直连网段判断模块用于通过查询所述IP地址表判断目的IP是否为直连网段,如果不是直连网段,SDN控制器根据目的IP计算转发路径并下发流表以转发,如果是直连网段,SDN控制器向转发路径的出口交换机发送ARP请求并判断是否有回应,如果有回应,SDN控制器根据目的IP计算转发路径并下发流表以转发,如果没有回应,则所述未匹配流表的报文为地址扫描攻击报文,SDN控制器向入口交换机下发流表以防止后续报文进行地址扫描攻击。
[0050] SDN控制器应支持基于SDN的防地址扫描攻击配置任务序列,应包括:基于SDN的防地址扫描攻击功能打开或关闭。
[0051]配置项 含义
基于SDN的防地址扫描攻击功能 打开或关闭基于SDN的防地址扫描攻击功能
[0052] 所述IP地址表包括IP地址、IP地址掩码、交换机id、交换机端口;其中:
[0053] 所述IP地址用于表明SDN交换机的接口IP地址;
[0054] 所述IP地址掩码用于表明SDN交换机的接口IP地址掩码;
[0055] 所述交换机id用于表明SDN交换机的id;
[0056] 所述交换机端口用于表明SDN交换机的端口。
[0057] 基于SDN网络的IP的地址表格式如下表所示:
[0058]配置项 含义
IP地址 此字段表明SDN交换机的接口IP地址
IP地址掩码 此字段表明SDN交换机的接口IP地址掩码
交换机id 此字段表明SDN交换机的id,交换机系统MAC地址表明交换机id
交换机端口 此字段表明SDN交换机的端口
[0059] 所述交换机端口IP地址获取模块获取SDN交换机启动后上报的所有端口的IP地址。
[0060] SDN当交换机启动,端口IP地址发生变化,都需要上报给SDN控制器。
[0061] 整个系统可以进行下述作业,SDN交换机上报未匹配流表的报文,SDN控制器判断是否是地址扫描攻击报文(目的IP是属于整个SDN网络的直连网段并且不回应ARP请求报文),最后SDN控制器下发流表实现防止地址扫描攻击,基于SDN架构,判断目的IP是直连网段基于整个SDN网络,可以在SDN网络的入口交换机,防范地址扫描攻击,做到高效和准确。
[0062] SDN网络的相关简单介绍,软件定义网络(Software Defined Network, SDN),是Emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。传统IT架构中的网络,根据业务需求部署上线以后,如果业务需求发生变动,重新修改相应网络设备(路由器、交换机、防火墙)上的配置是一件非常繁琐的事情。在互联网/移动互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。SDN所做的事是将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能;SDN控制器是软件定义网络(SDN)中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于如OpenFlow等协议的,允许服务器告诉交换机向哪里发送数据包。事实上,SDN控制器是作为网络的一种操作系统(OS)。控制器不控制网络硬件而是作为软件运行,这样有利于网络自动化管理。基于软件的网络控制使得集成业务申请和网络更容易。IBM的可编程网络控制器运行在Linux上。IBM的SDN控制器管理和配置OpenFlow 1.0网络,通过在网络控制器的顶部提供一个虚拟层。IBM的控制器允许第三方软件开发人员编写自己的应用程序。一些供应商提出了专有的SDN控制器。所以,一个供应商的控制器不会总运行在另一个供应商的控制器上。其它网络供应商包括惠普(HP)、思科、VMWare和瞻博网络,正在积极参与到SDN中。
[0063] 实施例2
[0064] 本实施例一种基于SDN的防地址扫描攻击的方法,按如下步骤进行:
[0065] 步骤1,SDN交换机上报SDN控制器未匹配流表的报文;
[0066] 步骤2,SDN控制器判断所述未匹配流表的报文的是否为地址扫描攻击报文;
[0067] 步骤3,若步骤2确定未匹配流表的报文为地址扫描攻击报文则SDN控制器下发流表以防止后续报文进行地址扫描攻击,若步骤2确定未匹配流表的报文不是地址扫描攻击报文则SDN控制器下发流表以转发。
[0068] 上述方法是基于SDN的防地址扫描攻击算法,其总流程图如图2所示,而在步骤1之前,SDN交换机需要上报端口的IP地址和掩码给SDN控制器,下面在进一步具体的实现方案中也会提及。
[0069] 在步骤1之前,SDN交换机启动后上报所有端口的IP地址给SDN控制器并生成基于SDN网络的IP地址表。SDN当交换机启动,端口IP地址发生变化,都需要上报给SDN控制器。如图3所示。当然,上报端口的IP地址的同时可以上报端口的IP掩码。
[0070] 在步骤2的过程中,SDN控制器从SDN交换机接收未匹配流表的报文,提取源IP、目的IP并通过查询所述IP地址表判断目的IP是否为直连网段,如果不是直连网段,则未匹配流表的报文不是地址扫描攻击报文,如果是直连网段,则SDN控制器向转发路径的出口交换机发送ARP请求并判断是否有回应,如果有回应,则未匹配流表的报文不是地址扫描攻击报文,如果没有回应,则所述未匹配流表的报文为地址扫描攻击报文。
[0071] 在步骤3中,若步骤2确定未匹配流表的报文不是地址扫描攻击报文则SDN控制器下发流表以转发,是通过SDN控制器根据目的IP,计算转发路径,下发流表,若步骤2确定未匹配流表的报文为地址扫描攻击报文则SDN控制器下发流表以防止后续报文进行地址扫描攻击。
[0072] 上述为SDN控制器处理的过程,其示意图如图4所示。
[0073] SDN控制器应支持基于SDN的防地址扫描攻击配置任务序列,应包括:基于SDN的防地址扫描攻击功能打开或关闭。
[0074]配置项 含义
基于SDN的防地址扫描攻击功能 打开或关闭基于SDN的防地址扫描攻击功能
[0075] 所述IP地址表包括IP地址、IP地址掩码、交换机id、交换机端口;其中:
[0076] 所述IP地址用于表明SDN交换机的接口IP地址;
[0077] 所述IP地址掩码用于表明SDN交换机的接口IP地址掩码;
[0078] 所述交换机id用于表明SDN交换机的id;
[0079] 所述交换机端口用于表明SDN交换机的端口。
[0080] 基于SDN网络的IP的地址表格式如下表所示:
[0081]配置项 含义
IP地址 此字段表明SDN交换机的接口IP地址
IP地址掩码 此字段表明SDN交换机的接口IP地址掩码
交换机id 此字段表明SDN交换机的id,交换机系统MAC地址表明交换机id
交换机端口 此字段表明SDN交换机的端口
[0082] 从SDN交换机到控制器的私有扩展Experimenter报文的格式如图5所示。Experimenter值为255需要向ONF组织申请。Experimenter type值为1表明是从SDN交换机方向到控制器。私有扩展Experimenter报文由SDN交换机上报给控制器。包括:端口的IP地址和端口的掩码。
[0083] 下面,做一个具体的模拟测试,搭建如图6所示的测试环境。
[0084] 其中包括SDN交换机(S0、S1、S2、S3)、SDN控制器、客户端A、客户端B、服务器。
[0085] S0、S1作为入口交换机,SDN交换机S3作为出口交换机,客户端A送出目的IP为10.100.1.2的报文至SDN交换机S0,客户端B送出目的IP为10.100.1.1的报文至SDN交换机S1。
[0086] 具体过程:SDN交换机(S0、S1、S2、S3)启动后上报所有端口的IP地址、IP掩码给SDN控制器,SDN控制器生成基于SDN网络的IP地址表;
[0087] 针对客户端A,SDN交换机S0上报来自客户端A的未匹配流表的目的IP为10.100.1.2的报文给SDN控制器,然后SDN控制器查询IP地址表,判断是否是直连网段,经过判断,其为直连网段;
[0088] SDN控制器向转发路径的出口交换机S3发送ARP请求,判断是否有回应,经过判断,没有回应,确认该报文为地址扫描攻击报文,SDN控制器向入口交换机S0下发流表,防止地址扫描攻击报文,因此,客户端A送往10.100.1.2的IP报文被S0丢弃。
[0089] 针对客户端B,SDN交换机S1上报来自客户端B的未匹配流表的目的IP为10.100.1.1的报文给SDN控制器,然后SDN控制器查询IP地址表,判断是否是直连网段,经过判断,其为直连网段;
[0090] SDN控制器向转发路径的出口交换机S3发送ARP请求,判断是否有回应,经过判断,有回应,判断该报文并非地址扫描攻击报文,SDN控制器根据目的IP,计算转发路径,下发流表并转发,客户端B经过路径S1-S3,最终送达服务器,因为10.100.1.1是可达的。
[0091] 当然,在上述直连网段的判断过程时,如果客户端发来的是非直连网段的,则SDN控制器可直接根据目的IP,计算转发路径,下发流表并转发。
[0092] 本发明的方法能够防范地址扫描攻击,克服了传统防地址扫描算法是基于本地、整个算法是孤立的、判断目的IP是直连网段只是基于某台交换机而可能会引起误判的问题,SDN控制器对流表的控制,即SDN控制器配置流表,简单、无需人为干预,基于SDN架构的,判断目的IP是直连网段基于整个SDN网络,可以在SDN网络的入口交换机,防范地址扫描攻击,达到高效且准确的目标。
[0093] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。