买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国电信股份有限公司
摘要:本公开提出一种针对分布式反射拒绝服务DRDoS的安全防御方法和控制器。本公开的一种针对DRDoS的安全防御方法包括:控制器获取对受害主机的攻击样本;控制器向溯源交换机库中的各个交换机提供攻击样本的上行消息的信息,根据上行消息在交换机的入口对攻击样本的上行消息溯源;确定发送攻击样本的上行消息的傀儡机;隔离傀儡机。通过这样的方法,能够由控制器向交换机发送攻击样本的上行消息的信息,根据上行消息在交换机的入口对进行攻击溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。
主权项:1.一种针对分布式反射拒绝服务DRDoS的安全防御方法,包括:控制器获取对受害主机的攻击样本;所述控制器向溯源交换机库中的各个交换机提供所述攻击样本的上行消息的信息,根据所述上行消息在交换机的入口对所述攻击样本的上行消息溯源,包括:在交换机侧对所述上行消息的包括源地址和目的地址在内的信息进行匹配,匹配成功的所述交换机向控制器提供所述上行消息的入口,供所述控制器进行依照入口的依次溯源;确定发送所述攻击样本的上行消息的傀儡机;隔离所述傀儡机。
全文数据:针对分布式反射拒绝服务DRDoS的安全防御方法和控制器技术领域本公开涉及SDNSoftwareDefinedNetwork,软件定义网络技术领域,特别是一种针对DRDoSDistributedReflectionDenialofService,分布式反射拒绝服务的安全防御方法和控制器。背景技术在计算机网络的发展过程中,网络安全一向都是专家学者们重点关注的课题。SDN架构同样需要面临这些安全问题。分布式拒绝服务DistributedDenialofService,DDoS攻击就是很重要的一类需要克服的安全问题。这种攻击的思路是利用分布式的傀儡机群向目标主机发起攻击而耗尽其资源。在互联网中,48%的网络安全威胁都来自于DDoS攻击。DRDoS攻击因为具有传统DDoS攻击所不具备的放大功能而成为DDoS攻击中一类主要的方式。这类攻击中,攻击者利用僵尸网络中的大量被控主机,将IP地址伪装成目标主机,连续向多个反射器如DNSDomainNameSystem,域名系统服务器、NTP服务器NetworkTimeProtocol,网络时间协议发送大量请求报文,迫使其提供应答服务。大量应答报文经服务器放大后发送到目标主机,导致短时间内目标主机端口的带宽占用急剧上升,使其无法进行正常工作,甚至宕机。发明内容发明人发现,DRDoS攻击中,由于傀儡机源IP伪造而隐蔽性强等原因,找出傀儡机并及时将它们的有害流量进行隔离会变得很难。传统网络中的数据可视性差、软硬件耦合度高,所以基于传统网络的DRDoS攻击溯源不够灵活,且已有的溯源算法大都需要对数据包做额外的标记或者需要网络中的路由器或主机对网络数据信息进行存储和处理,部署难度大。还有的算法是通过手动查询来进行攻击溯源,可用性差,并且随着人工操作的介入,网络对DRDoS攻击的处理时间将严重滞后,导致有害流量不能及时从网络中被隔离。本公开的一个目的在于提高有害流量溯源的效率和隔离的准确度。根据本公开的一个方面,提出一种针对DRDoS的安全防御方法,包括:控制器获取对受害主机的攻击样本;控制器向溯源交换机库中的各个交换机提供攻击样本的上行消息的信息,根据上行消息在交换机的入口对攻击样本的上行消息溯源;确定发送攻击样本的上行消息的傀儡机;隔离傀儡机。可选地,溯源交换机库包括反射服务器相连的交换机。可选地,控制器向溯源交换机库中的各个交换机提供攻击样本的上行消息的信息,根据上行消息在交换机的入口对攻击样本的上行消息溯源包括:控制器根据攻击样本生成包含攻击样本的上行消息的源地址信息和目的地址信息的流表项并发送给溯源交换机库中的交换机,以便交换机进行匹配操作;根据交换机反馈的匹配成功信息确定上行消息在交换机的入口;根据网络拓扑确定交换机的入口对应的上一跳节点;在上一跳节点为主机的情况下,执行傀儡机判断操作;在上一跳节点为交换机的情况下,执行向上一跳节点发送流表项查找对应的上一跳的操作,直至得到主机节点。可选地,执行傀儡机判断操作包括:判断上行消息的源地址与上一跳节点的地址是否相同;若相同,则上一跳节点为正常主机;若不同,则上一跳节点为傀儡机。可选地,还包括:在上一跳节点为交换机的情况下,将上一跳节点加入溯源交换机库。可选地,隔离傀儡机包括:向与傀儡机连接的交换机下发流隔离表项。通过这样的方法,能够由控制器向交换机发送攻击样本的上行消息的信息,根据上行消息在交换机的入口对进行攻击溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。根据本公开的另一个方面,提出一种控制器,包括:攻击样本获取单元,用于获取对受害主机的攻击样本;攻击溯源单元,用于控制器向溯源交换机库中的各个交换机提供攻击样本的上行消息的信息,根据上行消息在交换机的入口对攻击样本的上行消息溯源;傀儡机确定单元,用于确定发送攻击样本的上行消息的傀儡机;傀儡机隔离单元,用于隔离傀儡机。可选地,溯源交换机库包括反射服务器相连的交换机。可选地,攻击溯源单元包括:流表项生成发送子单元,用于根据攻击样本生成包含攻击样本的上行消息的源地址信息和目的地址信息的流表项并发送给溯源交换机库中的交换机,以便交换机进行匹配操作;入口信息确定子单元,用于根据交换机反馈的匹配成功信息确定攻击样本的上行消息的在交换机的入口;拓扑查询子单元,用于根据网络拓扑确定交换机的入口对应的上一跳节点;节点判断子单元,用于判断上一跳节点的种类:在上一跳节点为主机的情况下,激活傀儡机确定单元执行傀儡机判断操作;在上一跳节点为交换机的情况下,激活流表项生成发送子单元向上一跳节点发送流表项。可选地,傀儡机确定单元用于:判断上行消息的源地址与上一跳节点的地址是否相同;若相同,则上一跳节点为正常主机;若不同,则上一跳节点为傀儡机。可选地,还包括:交换机库补充单元,用于在节点判断子单元确定上一跳节点为交换机的情况下,将上一跳节点加入溯源交换机库。可选地,傀儡机隔离单元用于向与傀儡机连接的交换机下发流隔离表项。根据本公开的又一个方面,提出一种控制器,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种针对DRDoS的安全防御方法。这样的控制器能够向交换机发送攻击样本的上行消息的信息,根据攻击样本的上行消息的信息在交换机的入口对上行消息溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。根据本公开的再一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种针对DRDoS的安全防御方法的步骤。通过执行这样的计算机可读存储介质上的指令,能够向交换机发送攻击样本的上行消息的信息,根据攻击样本的上行消息的信息在交换机的入口对上行消息溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。附图说明此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:图1为本公开的针对DRDoS的安全防御方法的一个实施例的流程图。图2为本公开的针对DRDoS的安全防御方法中溯源方法的一个实施例的流程图。图3为本公开的控制器的一个实施例的示意图。图4为本公开的控制器中攻击溯源单元的一个实施例的示意图。图5为本公开的控制器的另一个实施例的示意图。图6为本公开的控制器的又一个实施例的示意图。具体实施方式下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。本公开的针对DRDoS的安全防御方法的一个实施例的流程图如图1所示。在步骤101中,控制器获取攻击样本。在一个实施例中,控制器可以根据监测数据或现有的安全防御算法确定发生对网络中主机的攻击,并提取攻击样本。在步骤102中,控制器向溯源交换机库中的各个交换机提供攻击样本的上行消息的信息,根据上行消息在交换机的入口对攻击样本的上行消息进行溯源。攻击样本的上行消息指的是从傀儡机发送给反射服务器的消息,当反射服务器收到该上行消息后,生成下行消息即攻击样本并发送给受害主机。溯源交换机库中包括与反射服务器相连的各个交换机。反射服务器指的是向受害主机反射攻击样本的服务器,如DNS服务器、NTP服务器等。在一个实施例中,可以在交换机侧对上行消息的信息如源地址、目的地址等进行匹配,匹配成功的交换机向控制器提供该上行消息的入口,供控制器进行依照入口的依次溯源。在一个实施例中,可以通过IP地址、端口和协议号等字段进行数据包匹配,并且最终通过IP比对精确识别僵尸网络中所有傀儡机。在步骤103中,确定发送攻击样本的上行消息的傀儡机。在步骤104中,隔离傀儡机。在一个实施例中,可以向与傀儡机连接的交换机下发流隔离表项,隔离表项中包括傀儡机标识,如傀儡机的地址信息,交换机收到该隔离表项中隔离对应的傀儡机。在SDN网络的相关技术中,有学者提出在SDN中通过下发探测流表的方式对IP欺骗数据包进行溯源,需要在与回溯路径上的交换机相邻的所有交换机下发探测流表,在收到Packet_in之后需要再次采集流表等额外代价来确定上一跳交换机,通过是否超时来确定攻击主机位置。这样的方式确定的攻击主机位置太过粗略,会引起误判或者大幅延迟攻击响应时间。通过本公开上述实施例中的方法,能够由控制器向交换机发送攻击样本的上行消息的信息,根据上行消息在交换机的入口对进行攻击溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。本公开的针对DRDoS的安全防御方法中溯源方法的一个实施例的流程图如图2所示。在步骤201中,控制器根据攻击样本的信息生成包含攻击样本的上行消息的源地址信息和目的地址信息的流表项,并发送给溯源交换机库中的各个交换机。攻击样本的上行消息的源地址信息为攻击样本的目的地址信息,攻击样本的上行消息的目的地址信息为攻击样本的源地址信息。在一个实施例中,以反射服务器为DNS服务器为例流表项可以如表1所示:表1控制器发送给交换机的流表项流表项的Match域会匹配攻击回复数据包对应的请求包,其中IPDNS和IPV分别代表相应DNS服务器和受害主机的IP地址。根据Instructions域中设置的动作会将交换机匹配到的数据包上传控制器。流表项设置Priority字段为5,用来覆盖原来为匹配包执行的正常转发动作。流表项设定Hard_timeout,以保证它们能够被适时从交换机中被删除。在步骤202中,根据交换机反馈的匹配成功信息确定攻击样本的上行消息在交换机的入口。在一个实施例中,溯源交换机库中的各个交换机在收到上行消息的信息后进行匹配,确定该攻击消息是否由自身转发,如果确定由自身转发,则确定攻击消息的来源入口,并将该数据包的入端口in_port字段上报给控制器。在步骤203中,根据网络拓扑确定交换机的入口对应的上一跳节点。在一个实施例中,底层网络拓扑连接信息库可以由控制器内部建立的一个动态字典来存储维持:B=A_to_B[A][Aport]其中,A和B代表网络中的交换机或主机,它们分别由交换机的datapath.id和主机IP标识。Aport代表A的端口。这个等式代表A以端口Aport连接B。在步骤204中,判断上一跳节点是否为主机。若上一跳节点是主机,则执行步骤207;若上一跳节点为交换机,则执行步骤205。在步骤205中,将上一跳节点加入溯源交换机库,从而记录溯源的路径。在步骤206中,向该上一跳节点发送流表项,由该上一跳节点进行匹配操作,并向控制器反馈入口信息,继而执行步骤203。在步骤207中,控制器判断攻击样本的上行消息的源地址与作为主机的该上一跳节点的地址是否相同,若两者相同,则确定该主机不是傀儡机,无需执行隔离操作,从而防止对攻击的误判,提高傀儡机确定的准确率。若两者不同,则确定该主机是傀儡机,执行步骤208。在步骤208中,向该主机连接的交换机下发隔离表项。在一个实施例中,隔离表项可以如下表2所示:表2隔离表项通过这样的方法,在整个迭代回溯过程中,每一条回溯路径上的交换机都依次上传DNS请求包,充分利用Packet_in数据包的in_port字段信息进行快速攻击回溯,并能对来自不同傀儡机的不同攻击路径同时各自进行回溯,迭代回溯过程进展迅速,从而对僵尸网络中的所有傀儡机进行迅速定位使网络中的所有傀儡机都被精确地找出并且隔离,使整个网络中的流量恢复正常。另外,通过数据包在交换机库中的不断迭代查询,回溯路径上的交换机依次上传攻击请求包,加之攻击回溯过程迅速,所以转发层上传数据包的数量会大幅度减少,控制层的压力会随之减轻。本公开的控制器的一个实施例的示意图图3所示。攻击样本获取单元301能够获取攻击样本。在一个实施例中,控制器可以根据监测数据或现有的安全防御算法确定发生对网络中主机的攻击,并提取攻击样本。攻击溯源单元302能够向溯源交换机库中的各个交换机提供攻击样本的上行消息的信息,根据该信息在交换机的入口对攻击样本的上行消息溯源。溯源交换机库中包括与反射服务器相连的各个交换机。反射服务器指的是向受害主机发送攻击样本的服务器,如DNS服务器、NTP服务器等。在一个实施例中,可以在交换机侧对攻击样本的上行消息的信息进行匹配,匹配成功的交换机向控制器提供该上行消息的入口,供控制器进行依照入口的依次溯源。傀儡机确定单元303能够确定发送攻击样本的上行消息的傀儡机。傀儡机隔离单元304能够隔离傀儡机。在一个实施例中,可以向与傀儡机连接的交换机下发流隔离表项,隔离表项中包括傀儡机标识,如傀儡机的地址信息,交换机收到该隔离表项中隔离对应的傀儡机。在一个实施例中,控制器还可以包括交换机库补充单元305,能够将溯源过程中溯源路径上的交换机补充至溯源交换机库,一方面能够记录整个溯源的路径,另一方面也方便进行下一次攻击溯源操作。这样的控制器能够向交换机发送攻击样本的上行消息的信息,根据攻击样本的上行消息的信息在交换机的入口对上行消息溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。本公开的控制器中攻击溯源单元的一个实施例的示意图图4所示。流表项生成发送子单元401能够根据攻击样本的信息生成包含攻击样本的上行消息的源地址信息和目的地址信息的流表项并发送给溯源交换机库中的各个交换机。流表项可以如上表1所示。入口信息确定子单元402能够根据交换机反馈的匹配成功信息确定攻击样本的上行消息在交换机的入口。拓扑查询子单元403能够根据网络拓扑确定交换机的入口对应的上一跳节点。节点判断子单元404能够判断拓扑查询子单元403确定的上一跳节点是否为主机。若该上一跳节点是主机,则完成溯源操作,激活傀儡机确定单元303;若上一跳节点不是主机,则激活交换机库补充单元305将上一跳节点加入溯源交换机库,激活流表项生成发送子单元401向该上一跳节点发送流表项,继续执行溯源操作。这样的控制器在整个迭代回溯过程中,每一条回溯路径上的交换机都依次上传DNS请求包,迭代回溯过程进展迅速,对控制器层的压力会减小,使网络中的所有傀儡机都被精确地找出并且隔离,使整个网络中的流量恢复正常。在一个实施例中,傀儡机确定单元303还能够判断攻击样本的上行消息的源地址与确定的主机地址是否相同;若相同,则该主机为正常主机;若不同,则该主机为傀儡机,从而防止对攻击的误判,提高傀儡机确定的准确率。本公开控制器的一个实施例的结构示意图如图5所示。控制器包括存储器501和处理器502。其中:存储器501可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中针对DRDoS的安全防御方法的对应实施例中的指令。处理器502耦接至存储器501,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器502用于执行存储器中存储的指令,能够实现根据攻击样本的上行消息在交换机的入口对攻击进行溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。在一个实施例中,还可以如图6所示,控制器600包括存储器601和处理器602。处理器602通过BUS总线603耦合至存储器601。该控制器600还可以通过存储接口604连接至外部存储装置605以便调用外部数据,还可以通过网络接口606连接至网络或者另外一台计算机系统未标出。此处不再进行详细介绍。在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实现根据攻击样本的上行消息在交换机的入口对攻击溯源,进而对确定的傀儡机进行隔离,提高有害流量溯源的效率和隔离的准确度。在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现针对DRDoS的安全防御方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。本公开是参照根据本公开实施例的方法、设备系统和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。
权利要求:1.一种针对分布式反射拒绝服务DRDoS的安全防御方法,包括:控制器获取对受害主机的攻击样本;所述控制器向溯源交换机库中的各个交换机提供所述攻击样本的上行消息的信息,根据所述上行消息在交换机的入口对所述攻击样本的上行消息溯源;确定发送所述攻击样本的上行消息的傀儡机;隔离所述傀儡机。2.根据权利要求1所述的方法,其中,所述溯源交换机库包括反射服务器相连的交换机。3.根据权利要求1或2所述的方法,其中,所述控制器向溯源交换机库中的各个交换机提供所述攻击样本的上行消息的信息,根据所述上行消息在交换机的入口对所述攻击样本的上行消息溯源包括:所述控制器根据所述攻击样本生成包含攻击样本的所述上行消息的源地址信息和目的地址信息的流表项并发送给所述溯源交换机库中的交换机,以便所述交换机进行匹配操作;根据交换机反馈的匹配成功信息确定所述上行消息在所述交换机的入口;根据网络拓扑确定所述交换机的入口对应的上一跳节点;在所述上一跳节点为主机的情况下,执行傀儡机判断操作;在所述上一跳节点为交换机的情况下,执行向所述上一跳节点发送所述流表项查找对应的上一跳的操作,直至得到主机节点。4.根据权利要求3所述的方法,其中,所述执行傀儡机判断操作包括:判断所述上行消息的源地址与所述上一跳节点的地址是否相同;若相同,则所述上一跳节点为正常主机;若不同,则所述上一跳节点为傀儡机。5.根据权利要求3所述的方法,还包括:在所述上一跳节点为交换机的情况下,将所述上一跳节点加入所述溯源交换机库。6.根据权利要求1或2所述的方法,其中,所述隔离傀儡机包括:向与所述傀儡机连接的交换机下发流隔离表项。7.一种控制器,包括:攻击样本获取单元,用于获取对受害主机的攻击样本;攻击溯源单元,用于所述控制器向溯源交换机库中的各个交换机提供所述攻击样本的上行消息的信息,根据所述上行消息在交换机的入口对所述攻击样本的上行消息溯源;傀儡机确定单元,用于确定发送所述攻击样本的上行消息的傀儡机;傀儡机隔离单元,用于隔离所述傀儡机。8.根据权利要求7所述的控制器,其中,所述溯源交换机库包括反射服务器相连的交换机。9.根据权利要求7或8所述的控制器,其中,所述攻击溯源单元包括:流表项生成发送子单元,用于根据所述攻击样本生成包含攻击样本的上行消息的源地址信息和目的地址信息的流表项并发送给所述溯源交换机库中的交换机,以便所述交换机进行匹配操作;入口信息确定子单元,用于根据交换机反馈的匹配成功信息确定所述攻击样本的上行消息的在所述交换机的入口;拓扑查询子单元,用于根据网络拓扑确定所述交换机的入口对应的上一跳节点;节点判断子单元,用于判断所述上一跳节点的种类:在所述上一跳节点为主机的情况下,激活所述傀儡机确定单元执行傀儡机判断操作;在所述上一跳节点为交换机的情况下,激活所述流表项生成发送子单元向所述上一跳节点发送所述流表项。10.根据权利要求9所述的控制器,其中,所述傀儡机确定单元用于:判断所述上行消息的源地址与所述上一跳节点的地址是否相同;若相同,则所述上一跳节点为正常主机;若不同,则所述上一跳节点为傀儡机。11.根据权利要求9所述的控制器,还包括:交换机库补充单元,用于在所述节点判断子单元确定所述上一跳节点为交换机的情况下,将所述上一跳节点加入所述溯源交换机库。12.根据权利要求7或8所述的控制器,其中,所述傀儡机隔离单元用于向与所述傀儡机连接的交换机下发流隔离表项。13.一种控制器,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至6任一项所述的方法。14.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至6任意一项所述的方法的步骤。
百度查询: 中国电信股份有限公司 针对分布式反射拒绝服务DRDoS的安全防御方法和控制器
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。