CN105991655A - 缓解基于邻居发现的拒绝服务攻击 - Google Patents
缓解基于邻居发现的拒绝服务攻击 Download PDFInfo
- Publication number
- CN105991655A CN105991655A CN201610143642.6A CN201610143642A CN105991655A CN 105991655 A CN105991655 A CN 105991655A CN 201610143642 A CN201610143642 A CN 201610143642A CN 105991655 A CN105991655 A CN 105991655A
- Authority
- CN
- China
- Prior art keywords
- address
- equipment
- packet
- network
- search array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及缓解基于邻居发现的拒绝服务攻击。在一个实施例中,网络中的设备确定该设备接收到的分组的目的地址是否在该设备的邻居发现(ND)高速缓存中。该设备响应于确定该分组的目的地址不在ND高速缓存中,而确定该目的地址不在用于生成地址查找阵列的地址集合中、还是可能在用于生成地址查找阵列的地址集合中。该设备响应于确定该分组的目的地址可能在用于生成地址查找阵列的地址集合中,而对该分组的目的地址执行地址解析。
Description
技术领域
本公开总地涉及计算机网络,更具体地涉及缓解基于邻居发现的拒绝服务攻击。
背景技术
网络中的一种拒绝服务(DoS)攻击涉及攻击者将寻址到从相同子网(例如,/64子网)得出的大量互联网协议版本6(IPv6)地址的分组洪泛到路由器。互联网工程任务组(IETF)请求注解(RFC)4861中概述的IPv6邻居发现(ND)规定,路由器应该为每个所请求的地址创建ND高速缓存条目并且将这些条目保存一段时间(例如,数秒)。另外,IPv6ND还要求,路由器针对最初不在该路由器的ND高速缓存中的每个地址多播邻居请求(NS)消息。因此,在基于ND的DoS攻击期间,路由器的ND高速缓存会变得充满具有假地址的分组,并且攻击流量会恶意地消耗否则可以被合法流量使用的路由器的资源。另外,由于多播NS消息一般是由无线网络中的所有无线接入点以可能的最低速度广播的,所以攻击会使横跨网络结构的可用带宽过载。
附图说明
结合附图参考下面的描述,可以更好地理解本文中的实施例,其中相似的参考标号指示相同或者功能类似的元件,其中:
图1示出了示例通信网络;
图2示出了示例网络设备/节点;
图3A-3C示出了地址查找阵列被生成的示例;
图4A-4F示出了设备处理接收到的分组的示例;
图5A-5D示出了地址查找阵列被更新的示例;
图6示出了处理网络中的分组的示例简化过程;以及
图7示出了生成并提供地址查找阵列的示例简化过程。
具体实施方式
概述
根据本公开的一个或多个实施例,网络中的设备确定该设备接收到的分组的目的地址是否在该设备的邻居发现(ND)高速缓存中。该设备响应于确定该分组的目的地址不在ND高速缓存中,而确定该目的地址不在用于生成地址查找阵列的地址集合中、还是可能在用于生成地址查找阵列的地址集合中。该设备响应于确定该分组的目的地址可能在用于生成地址查找阵列的地址集合中,而对该分组的目的地址执行地址解析。
在进一步实施例中,网络中的第一设备向第一设备的捆绑表添加地址。第一设备部分地基于添加到捆绑表的地址,生成地址查找阵列。第一设备将地址查找阵列提供给网络中的第二设备。第二设备能够操作以使用地址查找阵列来确定第二设备接收到的分组的目的地址未被用于生成地址查找阵列、还是可能被用于生成地址查找阵列。
描述
计算机网络是通过用于在诸如个人计算机和工作台、或者诸如传感器的各种设备之类的端节点之间传输数据的通信链路和分段互连的地理上分布的节点的集合。从局域网(LAN)到广域网(WAN)的很多类型的网络可用。LAN一般通过位于大体相同的物理位置,例如,建筑物或校园中的专用的私人通信链路来连接节点。另一方面,WAN一般通过诸如,公用电话线、光学光路径、同步光网络(SONET)、同步数字体系(SDH)链路、或者电力线通信(PLC)之类的长距离通信链路来连接地理上分散的节点。
图1是示例计算机网络100的示意框图,计算机网络100示意性地包括经由交换机120互连到网络140(例如,WAN等)的路由器130的诸如一个或多个客户端设备(例如,目标节点110)的节点/设备200。注意,在某些实施例中,注册设备115也可以与交换机120互连,如本文中所描述的。另外,外部节点150可以位于目标节点的本地网络的外部(例如,在路由器130和目标节点110之间)。设备之间的链路可以是有线链路或者共享媒介(例如,无线链路、PLC链路等),其中某些节点200可以通过这些链路与其他节点200通信(例如,基于物理连接配置、当前操作状态、距离、信号强度位置等)。本领域技术人员将理解的是,任意数目的节点、设备、链路等可以被用在计算机网络中,并且这里的视图出于简化的目的被示出。
数据分组160(例如,在设备/节点之间发送的流量和/或消息)可以使用预定义的网络通信协议在计算机网络100的节点/设备之间被交换,其中预定义的网络通信协议是例如,某些已知的有线协议、无线协议、或者适当的其他共享媒介协议。在本上下文中,协议包括定义节点如何彼此交互的一组规则。
图2是可以用于本文中描述的一个或多个实施例的、作为例如图1中示出的任意设备(尤其是路由器130、交换机120、和/或注册设备115)的示例节点/设备200的示意框图,如下面所描述的。该设备可以包括通过***总线250互连的一个或多个网络接口210(例如,有线接口、无线接口等)、至少一个处理器220、以及存储器240,并且还包括电源260(例如,电池、插头等)。
一个或多个网络接口210包括用于在耦合到网络100的链路上传送数据的机械、电、以及信令电路。网络接口可以被配置为使用各种不同的通信协议来发送和/或接收数据。另外注意,节点可以具有两种不同类型的网络连接210(例如,无线连接、和有线/物理连接),并且这里的视图仅出于示例的目的。另外,尽管网络接口210被独立于电源260示出,但是对于PLC而言,网络接口210可以通过电源260通信,或者可以是电源的有机组成部分。
存储器240包括可由处理器220寻址的多个存储位置、以及用于存储与本文描述的实施例相关联的软件程序和数据结构的网络接口210。处理器220可以包括被适配为执行软件程序以及操控数据结构245的必要元件或逻辑,例如,路由器邻居发现(ND)高速缓存246(在路由器130上)或者捆绑表/注册表247(分别在交换机120或者注册器115上)。操作***242一般是驻留在存储器240中并且由处理器执行的部分,并且通过调用支持在该设备上执行的软件进程和/或服务的操作来在功能上对该设备进行组织。这些软件进程和/或服务可以包括说明性的路由/切换进程244(例如,分别用于路由器或交换机)、以及说明性的攻击缓解进程248。注意,尽管进程被示出在集中式存储器240中,但是替代实施例提供了具体在网络接口210中操作的这些进程中的一个或多个进程。
本领域技术人员将显而易见的是,包括各种计算机可读媒介在内的其他处理器和存储器类型可以被用来存储和执行涉及本文中描述的技术的程序指令。另外,尽管本说明书示出了各种进程,但是容易理解的是,各种进程可以被具体化为被配置为根据本文中的技术进行操作的模块(例如,根据类似进程的功能)。另外,尽管分别示出了这些进程,但是本领域技术人员将明白的是,这些进程可以是其他进程中的例程或模块。
将明白的是,设备200可以被配置为在分组(例如,分组160)经由一个或多个接口210被接收到时,使用一组不同的切换技术中的任意一种切换技术。例如,进程244可操作以使用进程切换、快速切换、快速转发、或者任何其他切换途径/方法。在进程切换中,设备200可以从接收到的分组剥离层2(L2)信息,将剥离后的分组复制到处理器220的存储器以执行层3(L3)查找,并且基于该查找来重写具有新L2目的地址的分组并经由一个或多个接口210发送该分组。在快速切换中,设备200可以通过与进程切换期间相类似的方式处理流的第一分组,但仍然组装可以被用于去往相同地址的后续分组的快速切换高速缓存。在快速转发中,诸如利用思科***公司的Cisco Express Forwarding(思科快速转发),设备200可以从输入分组剥离L2信息,基于转发信息库(FIB)表做出转发决策,使用转发决定在邻接表中选择邻接,并且将来自该表的L2信息添加到输出分组。换言之,在快速转发中,设备200可以将邻接信息存储在数据结构245中不同于FIB(例如,通过指向邻接表的单词查找树)的数据结构的单独数据结构中。
如上所述,要求交换机对IPv6越来越清楚,以保护网络免受流氓或者不受控的行为的影响,尤其是在安全环境中。例如,IPv6(互联网协议版本6)“第一跳安全”是保护L2网络不受诸如邻居发现协议(NDP)和动态主机配置协议(DHCP)之类的IPv6协议的错误使用的影响的交换机特征。
特别地,在企业网、校园网、以及政府网中存在越来越多的大型IPv6部署。为了这些网络中的每一个网络的成功,重要的是IPv6部署是安全的并且是相当于现有IPv4架构的服务质量的。网络用户通常期望IPv4和IPv6之间的功能不相上下,并且这些协议中的每个协议上的安全性和适用性问题类似。从网络运营商角度来看,存在类似的假设,即IPv4和IPv6二者是具有高度可追溯性和质量保证的安全环境。
与IPv4相比,IPv6具有通过互联网控制消息协议版本6(ICMPv6)来简化终端***自动配置同时运行服务检测的增大的能力集合。ICMPv6中的新功能之一是邻居发现协议(NDP),该NDP在ICMPv6上进行操作。NDP出于线上效率(on-the-wire efficiency)的目的而大量使用多播分组。NDP的功能应用包括:
-路由器发现;
-地址的自动配置,例如,无状态地址自动配置(SLAAC)
-IPv6地址解析,例如,替换地址解析协议(ARP)(注意,这里的首字母缩写ARP可以简单地指代IPv6地址解析和地址解析协议二者);
-邻居可达性,例如,邻居不可达性检测(NUD);
-重复地址检测(DAD);以及
-重定向;
安全邻居发现(SeND)(RFC 3971)是利用三种附加能力来增强NDP的协议:
-地址所有权证明,其使得偷窃IPv6地址成为“不可能”,被用在路由器发现、DAD、以及地址解析中,并且基于密码生成地址(CGA)。替代地,还提供了具有证书的非CGA。
-消息保护,其包括消息完整性保护、中继保护、以及请求/响应相关性,并且被用在所有NDP消息中。
-路由器授权,其授权路由器充当默认网关,并且规定路由器被授权声称“在连接”的前缀。
尽管SeND通过引入以上增强对IPv6邻居发现技术提供了显著提升,但是它没有提供例如,任何端到端安全并且没有提供保密性。
互联网工程任务组(IETF)的源地址验证改进(SAVI)工作组已经研究了用于第一跳安全的实施方式。以下的参考文献(这些参考文献可以从IETF获得,并且分别通过参考被全部结合于此)是当前SAVI协议的示例:
-由J.Bi等所著的“SAVI Solution for DHCP”<draft-ietf-savi-dhcp-11>(2011年12月28日版);
-由Erik Nordmark等所著的“FCFS SAVI:First-Come First-ServeSource-Address Validation for Locally Assigned IPv6 Address”<draft-ietf-savi-fcfs>(2011年11月22日版);
-由Jianping Wu等所著的“Source Address Validation ImprovementFramework”<draft-ietf-savi-framework>(2011年12月27日版);
-由Jun Bi等所著的“SAVI for Mixed Address Assignment MethodsScenario”<draft-ietf-savi-mix>(2011年10月26日版);
-由Marcelo Bagnulo等所著的“SEND-based Source-Address ValidationImplementation”<draft-ietf-savi-send>(2011年10月4日版);以及
-由Danny McPherson等所著的“SAVI Threat Scope”<drafi-ietf-savi-threat-scope>(2011年4月11日版)。
还要注意,与IPv6相关的以下请求注解(RFC)文档也通过引用被全部结合于此:
-RFC 4861,由T.Narten等所著的“Neighbor Discovery for IP version 6(IPv6)”(2007年9月版,过时的RFC 2461和1970);以及
-RFC 4862,由S.Thomoson等所著的“IPv6Stateless AddressAutoconfiguration”(2007年9月版,过时的RFC 2462和1971)。
威胁与网络架构的拓扑非常相关,并且IPv6从拓扑角度带来了特定改变:
-允许更多端接点处在链路上(多达264);
-端节点上的邻居高速缓存更大;
-默认路由器上的邻居高速缓存更大;
-这些为拒绝服务(DoS)攻击创建了更多机会。
除了拓扑方面外,还存在与使用的协议紧密相关的威胁:
-NDP整合了负责确定地址分配、路由器发现、以及诸如重定向之类的相关任务的所有链路操作。
-动态主机配置协议(DHCP)相比IPv4,在地址分配中具有较小的角色。
-非集中式的地址分配创建了对于控制地址误用的真正挑战。
再次参考图1,考虑外部节点150发起针对路由器130的基于邻居发现(ND)的拒绝服务(DoS)攻击。例如,外部节点150和/或任意数目的其他攻击者(例如,作为分布式DoS攻击的部分)可以向从相同子集得出的大量IPv6地址(例如,整个/64前缀)发送数据分组160。在这种情况下,NDP要求接收路由器130在它的ND高速缓存246中创建针对这些被扫描的地址中的每个地址的条目,并且保存这些条目数秒钟,这会导致存储器损耗并限制路由器130服务该子集中的现有主机(例如,节点110)的能力。由于子集的大小(允许攻击者在路由器130中创建更多状态)和路由器130被期望存储触发地址解析的分组,这种攻击在IPv6中是个大问题(也存在于IPv4中)。
如果路由器130接收到标识不在路由器130的ND高速缓存中的目的地址的分组160,则路由器130可以将该分组“踢”到下一个最快切换路径。例如,如果去往分组中的地址的快速切换路径中存在ND高速缓存失误,则路由器130可以将分组踢到较慢的切换路径,在其ND高速缓存中创建针对所指示的地址的条目,并且将多播NS消息发送到网络中。在基于ND的DoS攻击背景中,这些多播NS消息不必消耗网络资源。
值得注意的是,合法分组可以不包括处于路由器的ND高速缓存中的地址。所以,失败的ND高速缓存命中可以指示或者可以不指示基于ND的DoS攻击正在发生。在一种实施方式中,路由器可以对错过ND高速缓存查找的分组的踢送(punting)进行节流。这样,路由器可以限制ND高速缓存条目被创建和/或NS消息被发送到网络中的速率,从而缓解基于ND的DoS攻击的影响(例如,通过减小攻击对存储器、定时器等的影响)。然而,这种机制还会导致合法分组与任何攻击分组一起被节流。
在一些情况中,路由器可以使用针对由基于ND的DoS攻击导致的创建ND高速缓存条目的保护机制。例如,由思科***公司提供的IPv6目的地防护可操作以防止恶意ND高速缓存条目的创建。然而,这种机制将通过节流分组的踢送来进行操作,最终会漏掉攻击中间的合法分组。另外,目的地防护和类似的ND高速缓存保护机制不具有子集中的所有设备的所有地址的信息。所以,该机制在被路由器(例如,路由器130)执行时唯一可以做的是检查:1)DHCP服务器(例如,注册器115)是否知道被贡献给节点的地址;或者2)SAVI交换机(例如,交换机120)是否已经看到链路上协议(on link protocol)中正被用作源或者被暴漏的地址。这可以通过诸如LEASE QUERY之类的消息实现,其中LEASE QUERY消息创建同样必须被节流的附加流,并且只能提供有限的保护。特别地,如上所述,去往不是在ND高速缓存中已知的目的地的大多数分组将与攻击分组一起被丢弃。
根据本公开的一个或多个实施例,本文中的技术提供了针对目标为路由器的ARP/ND高速缓存的DoS攻击的保护。具体地,本文中的实施方式提供了在转发平面中使用高查全率的地址查找机制(例如,硬件或软件快速路径、快速转发路径等),来在恶意分组到达处理所踢送的分组的慢速转发路径处理器之前撤销大部分基于IPv6 ND的DoS攻击。例如,在一个实施例中,网络设备可以构建布隆过滤器,并使用布隆过滤器来表示存在于子集中的IPv6地址。在一些实施例中,小于地址本身的对于地址查找阵列的更新可以被计算出来,并被发送给需要针对DoS攻击的保护的路由器。这些过滤器的大小可以被动态改变,以适应攻击的暴力行为并维持可以被相应处理的有限吞吐量的误报,从而避免盲目节流可能是合法也可能不是合法的分组。
具体地,根据本文中的各种实施例,网络中的设备确定该设备接收到的分组的目的地址是否在该设备的邻居发现(ND)高速缓存中。该设备响应于确定分组的目的地址不在ND高速缓存中,而确定目的地址不在用于生成地址查找阵列的地址集合中、还是可能在用于生成地址查找阵列的地址集合中。该设备响应于确定分组的目的地址可能在用于生成地址查找阵列的地址集合中,而对分组的目的地址执行地址解析。
说明性地,本文中描述的技术可以由硬件、软件、和/或固件,例如根据说明性的攻击缓解进程248并且结合路由/切换进程244执行,其中攻击缓解进程248可以分别包括由处理器220执行、以执行涉及本文中描述的技术的功能的计算机可执行指令。例如,本文中的技术可以被当作传统的第一跳安全协议的扩展,并且因此可以由本领域技术人员理解的在执行所描述的动作的特定设备(例如,路由器140、交换机120、甚至注册器115)上执行这些协议的类似组件处理。
在操作上,高查全率的地址查找阵列(例如,布隆过滤器等)可以被推送到转发平面或者快速路径,从而使得转发平面可以使用该信息在保留合法流量的同时急剧地节流基于ND的DoS攻击。一般,查全率对从数据集合中取回相关信息的机制的能力进行量化。这种机制的一个示例是布隆过滤器,该布隆过滤器可以被用来测试特定元素是否在数据集合中,并且在一些实施例中,可以被用于测试地址是否在地址集合中。注意,本文中使用的布隆过滤器或者其他高查全率的查找阵列可以返回搜索的地址明确不在地址集合中或者可能在该地址集合中的指示。所以,这样的查找可以允许(allow for)误报,但不允许漏报。
根据各种实施例,路由器可以使用布隆过滤器或者其他高查全率的查找阵列,来确定在ND高速缓存失误后采取哪些动作(如果有的话)。如上所述,路由器可以在ND高速缓存失误的情况下,对分组的踢送和ND解析或者其他地址解析的性能进行节流。在一些实施例中,路由器可以使用布隆过滤器或者其他高查全率的查找机制来显著限制被踢送的攻击分组的数量,同时允许合法分组被处理。
图3A-3C示出了根据各种实施例的地址查找阵列被生成的示例。如图3A中所示,交换机120可以利用任意数目的条目来组装它的捆绑表(例如,捆绑表247)。例如,这样的捆绑表可以包括以下各项中的任意项或全部:
IP地址 | MAC地址 | 端口 |
IP1 | MACH1 | P1 |
IP2 | MACH2 | P2 |
IP3 | MACH3 | P3 |
... | ... | ... |
IPn | MACHn | Pn |
表1
如上所示,交换机120可以安装针对节点110(例如,第一主机设备H1)并且针对连接到交换机120的任意数目的其他节点/设备(例如,第二主机设备H2、第三主机设备H3、第n主机设备Hn等)的捆绑表条目。每个捆绑表条目可以例如,将主机设备的IP地址和MAC地址映射到交换机120的端口。
根据各种实施例,交换机或者其他网络设备可以使用它的捆绑表条目来生成地址查找阵列,例如布隆过滤器。例如,如图3B中所示,交换机120可以基于以上的表1中示出的说明性的捆绑表条目,生成布隆过滤器B=f(IP1,...,IPn)。在一些实施例中,将被应用于分组的掩码可以被关联到由交换机120生成的布隆过滤器阵列或者其他高查全率的查找阵列,以提取给定分组的目的地址。在另一个实施例中,掩码的一部分可以指示传输,并且应用到端口或者应用内容。
在一些实施例中,一个或多个哈希函数也可以与查找阵列相关联,并且可以被用来组装阵列的每个比特。例如,交换机120和/或知道存在于网络中的地址的任意其他网络设备可以为它们的对应查找阵列构建对应的哈希函数。换言之,在一个实施例中,网络中的每个交换机可以为其接入端口上的所有地址构建哈希函数,并且生成它自己的布隆过滤器或者其他查找阵列,作为具有针对所有地址和哈希函数设置的所有比特值的位图。哈希函数可以是例如,循环冗余校验(CRC),以通过硬件快速路径提高哈希函数的效率。
从其已知地址生成地址查找阵列的每个交换机可以将该阵列提供给网络路由器。例如,如图3C中所示,交换机120可以将交换机120使用其捆绑表条目生成的布隆过滤器302提供给路由器130。在一个实施例中,路由器130可以通过对它从网络中的各种交换机或者其他设备(例如,注册器115)接收到的查找阵列(例如,位图)执行逻辑与运算,来对这些查找阵列进行结合。在另一个实施例中,路由器130可以单独维持每个地址查找阵列,这样会比较昂贵但是会产生较少的误报。在每种情况中,查找阵列的集合可以由网络中的交换机或者其他设备传递给网络中的一个或多个路由器。
现在参考图4A-4F,示出了根据本文中的实施例的设备处理接收到的分组的示例。如图4A所示,假设路由器130从节点150接收到寻址到子集中的特定地址(例如,地址IPj)的分组402。作为响应,路由器130可以首先确定分组402的目的地址是否在它的本地ND高速缓存中。如果是,则路由器130通常可以使用它的ND高速缓存中的匹配地址来转发分组402,如图4C中所示。然而,如果分组402的目的地址没有在路由器130的ND高速缓存中被找到,则路由器130可以计算适当的哈希值,并且检查看对应的比特是否被设置在它的本地查找阵列中,如图4D中所示。在一些实施例中,路由器130可以针对每个发送设备(例如,交换机120等)维持单独的查找阵列,从而使得它们可以被发送设备更新(例如,当地址被添加到网络中或者从网络中移除时)。如果路由器130维持多个位图,则它可以搜索每个所安装的位图/查找阵列,以确定目的地址上的所有哈希函数的所有比特是否被设置在特定位图中。在另一实施例中,路由器130可以将查找阵列合并到主查找阵列中(例如,通过对位图执行逻辑与运算),并且在处理输入分组时使用该阵列。
如上所述,具有高查全率的查找机制可以被用于明确地说出,地址是明确不在用于生成查找阵列的地址集合中还是可能在该地址集合中。例如,如果由路由器130根据分组402的目的地址计算出的所有哈希函数的所有比特都被设置在其本地查找阵列中,则这可以指示地址IPj可能是网络中的已知地址。在这种情况下,如图4E中所示,路由器130可以对地址IPj执行地址解析。例如,路由器130可以将分组402踢到较慢的切换路径,并且将NS消息发送到网络中(例如,发送给交换机120等)。作为响应,路由器130可以接收指示与地址IPj相关联的MAC地址(例如,MACHJ)的邻居广告消息,并且使用该信息来更新它的ND高速缓存。路由器130随后可以转发被寻址到IPj的任意后续接收到的分组,因为适当的条目现在存在于它的ND高速缓存中。
如果使用一个或多个查找阵列的地址查找没有产生匹配,则路由器130可以明确获知目的地址IPj对于网络中的设备来说不是已知的(或者至少不在用于生成查找阵列的地址集合中)。换言之,如果对于由路由器130维持的一个或多个位图/查找阵列中的每一个位图/查找阵列存在至少一个不是根据哈希函数设置的比特,则路由器130的快速路径可以像目的地址IPj不存在于网络中一样处理该目的地址。在这种情况下,路由器130可以针对分组402采取任意数目的缓解动作。例如,如图4F中所示,路由器130可以丢弃分组402、和/或启动其他缓解动作(例如,报告攻击,记录攻击等)。
将明白的是,以上描述的查找机制仍可以允许误报,以使分组被踢送、地址解析被触发。然而,通过的攻击分组的数目将大大减少,同时仍允许导致ND高速缓存失误的合法分组的转发。例如,假设交换机120的捆绑表具有10000个条目。为了过滤掉99%的未知目的地(例如,误报概率为1%),90千比特的布隆过滤器和六个哈希函数可以被交换机120生成。这样的查找可以将基于ND的DoS攻击有效减少因子100。为了进一步减少攻击流量的数量,可以使用更大的布隆过滤器和更多的哈希函数。例如,290千比特的布隆过滤器和二十个哈希函数可以过滤出所有攻击分组中的99.9999%。换言之,查找阵列的尺寸及其对应的哈希函数的数目可以根据可接受的攻击流量的数量(其仍然使其超过路由器130)和查找机制所消耗的资源量之间的平衡,按需选择。注意,简单地向路由器提供捆绑表的内容在很多情况中是不现实的,并且所生成的查找阵列/哈希函数可以在尺寸上明显小于捆绑表条目本身的集合。
为了避免极端猛烈的攻击,路由器130可以被配置为仍然对导致ND高速缓存失误的过载分组进行节流。这样做,该集合中的任意合法分组也会被丢弃。然而,使用布隆过滤器或者其他查找阵列机制,被丢弃的合法分组与恶意分组的比例可以大大降低。在一些实施例中,响应于ND高速缓存失误的数目的飙升,网络100中的设备可以被配置为扩大所使用的一个或多个布隆过滤器或者其他查找阵列的尺寸(例如,位图中的比特数目),以降低误报的概率。在各种实施例中,还可以使用压缩技术来减小任何查找阵列和/或阵列更新的尺寸(例如,当存在长串零时)。
图5A-5D示出了根据各种实施例的地址查找阵列被更新的示例。在本文中的教导的另一方面,信息可以在维持所有已知地址的表格的交换机与通过一个或多个相应的地址查找阵列运行会导致ND高速缓存失误的分组的路由器之间被交换。如图5A中所示,假设交换机120发现了主机Hn+1的新IPv6地址并且相应地更新它的捆绑表(例如,添加对应的IP地址IPn+1,MAC地址MACHn+1,以及端口Pn+1的条目)。在这种情况下,交换机120可以通过很多方式启动对于由路由器130容宿的对应的地址查找阵列的更新。
在一个实施例中,交换机120可以向路由器130提供包括用于捆绑表更新的IP地址和MAC地址的捆绑表条目502,使路由器130更新它自己的查找阵列,如图5B中所示。接着,路由器130可以使用地址信息来计算它的更新后的地址查找阵列(例如,通过计算布隆过滤器等)。然而,因为IPv6地址比较大,这样做比较昂贵。
在另一实施例中,如图5C中所示,交换机120可以基于它的更新后的捆绑表计算更新后的查找阵列本身,并且将查找表更新504提供给路由器130。注意,重新计算整个查找阵列可能相当巨大(例如,80K-200K,取决于误报概率目标),使得更新504优于发送整个查找阵列给路由器130。路由器130随后可以使用更新504来更新路由器130用来缓解DoS攻击的一个或多个查找阵列,如图5D中所示。
在很多情况下,交换机120可以基于作为结果的更新的尺寸,来确定是发送地址本身还是查找阵列更新给路由器130。例如,交换机120可以对新发现的地址IPn+1运行K个哈希函数,以(从M个比特中)得到K’(<K)个需要设置的比特,并且对可以被作为更新发送给路由器130的M比特尺寸的布隆过滤器/位图中的相应的K’个比特位置进行编码。为了达到0.000001的误报概率从而过滤出99.9999%的攻击,过滤器的尺寸必须是290千比特,并且有二十个相关联的哈希函数。平均看,这会导致K/2=10个比特将需要被设置。类似地,将设置的每个比特的位置可以被编码在大约19个比特上,生成19*10=190比特的更新尺寸。在这种情况下,交换机120可以选择仅发送新IP地址给路由器130,因为其比阵列更新小(例如,128比特Vs.190比特)。然而,如果1%的误报率是可接受的,则仅需要尺寸为90千比特的布隆过滤器和六个哈希函数。平均看,这意味着只有3个比特将需要被设置,并且它们的比特位置可以被编码在大约16个比特上。在这种情况下,交换机120可以替代地发送阵列更新,因为更新的尺寸一般仅为大约16*3=48比特,其大大小于IP地址本身的尺寸(例如,128比特)。
考虑到被移除的地址,交换机120可以周期性地或者在任意其他时间重新生成它的地址查找阵列(例如,在任意时间,响应于命令,在使用的网络被期望最小时,等等)。交换机120随后可以将更新后的阵列提供给路由器130,路由器130可以将来自交换机120的更新后的查找阵列合并到它的主地址查找阵列中(例如,通过基于来自交换机120的更新后的阵列来更新它的主阵列的比特)。
图6示出了根据各种实施例的处理网络中的分组的示例简化过程。一般,过程600可以由诸如路由器之类的网络设备(例如,设备200)、或者被配置为在数据网络中转发分组的其他设备执行。过程600可以在步骤605处开始,并且继续到步骤610。在步骤610,如以上更详细地描述的,设备接收指示特定网络地址的分组。例如,设备可以接收指示特定IPv6地址的用于转发的分组。
在步骤615,设备可以做出有关分组指示的地址是否在设备的ND高速缓存中的判定,如以上详细描述的。在各种情况下,这种ND高速缓存可以对网络设备已知的节点的L3和L2地址进行映射。例如,ND高速缓存条目可以将IP地址映射到MAC地址。如果设备确定分组的地址不在ND高速缓存中,则过程600可以继续到步骤620。然而,如果设备确定分组地址不在ND高速缓存中,过程600可以继续到步骤625。
在步骤620,如以上描述的,设备可以响应于确定接收到的分组的地址在设备的ND高速缓存中,而转发该分组。例如,设备可以从分组中剥离L3地址,将来自所找出的ND高速缓存条目的对应L2地址添加到分组,并且相应地转发分组。过程600随后在步骤640处结束。
在步骤625,如果分组的地址不在ND高速缓存中,则设备可以确定该地址在一个或多个地址查找阵列中是否具有匹配条目,如以上更详细地描述的。换言之,设备可以确定分组的目的地址不在用于生成一个或多个地址查找阵列的任意地址集合中,还是可能在用于生成这些阵列中的至少一个阵列的地址集合中。在各种实施例中,这样的阵列可以由网络中的具有关于网络中的所有节点的信息的一个或多个交换机或者其他节点生成,并发送给该设备。例如,网络中的特定交换机可以根据其捆绑表条目生成布隆过滤器,并且将该过滤器(例如,作为位图)和任何相应的哈希值提供给设备。在查找期间,设备随后可以对输入分组的目的地址进行哈希运算,并将作为结果的比特与查找阵列的比特相比较,以确定是否存在匹配。设备可以维持从不同交换机/节点接收到的单独查找阵列,和/或结合接收到的阵列(例如,对接收到的位图使用逻辑与运算)。接着,设备可以对接收到的分组的地址进行哈希运算,并且将作为结果的比特与设备维持的一个或多个查找阵列相比较。
在一些实施例中,由网络设备维持的一个或多个地址查找阵列可以是具有高查全率的查找机制的部分,但是仍然允许一定比例的误报率。例如,在布隆过滤器的情况下,查全率可以是100%(例如,该过滤器可以明确地确定地址不在已知地址集合中),同时误报率小于100%(例如,过滤器不能明确地确定地址在已知地址集合中)。如果结果是否定的(例如,分组的地址没有被明确地用来生成任意的地址查找阵列),则过程600可以继续到步骤630。然而,如果设备确定分组的目的地址可能在用于生成至少一个查找阵列的已知地址集合中,则过程600可以继续到步骤635。
在步骤630,设备可以采取一个或多个对策,如以上详细描述的。如果在地址查找阵列中的查找结果为否定的并且查找机制具有高查全率(理想的是100%),则设备可以像分组的目的地址不是网络中的已知地址那样对待该分组。在这种情况下,设备可以确定分组是DoS攻击的部分,并且采取任意数目的对策。在一个实施例中,设备可以丢弃该分组,并且阻止利用该分组的地址对其ND高速缓存的任意修改。在进一步的实施例中,设备可以生成警报、关于分组的日志细节、或者采取其他措施来帮助识别攻击者。过程600随后在步骤640处结束。在一些实施例中,如果(在步骤615处确定的)ND高速缓存失误的数目或者比例超过阈值量,过程600仅可以继续到步骤630。换言之,设备可以允许具有未知目的地址的分组触发地址解析,只要触发该功能的分组的数目或比例没有指示潜在的攻击即可。例如,目的地址仍然有可能是合法地址,但是其没有被反映在一个或多个查找阵列中(例如,地址对于网络中的节点来说是未知的但是合法地址,查找阵列尚未被更新等)。
在步骤635,如以上更详细地描述的,设备可以对分组的地址执行地址解析。具体地,由于分组仍然有可能是合法分组,所以设备可以向网络发送NS消息。作为响应,具有来自该地址的捆绑表条目的节点(例如,交换机)可以向设备提供必要的L2地址,作为邻居广告消息的部分。该设备随后可以使用该消息向它的ND高速缓存添加对应的条目,从而允许寻址到相同地址的后续分组的直接转发。尽管分组仍有可能确实是恶意的,但是通过使用允许(allow for)误报的高查全率查找机制,触发地址解析响应的攻击分组的数目可以被大大减小。在一个实施例中,设备可以对用于地址解析目的的分组的踢送进行节流,例如,当导致ND高速缓存失误的大量涌入的分组被设备接收到时。过程600随后在步骤640处结束。
图7示出了根据各种实施例的生成并提供地址查找阵列的示例简化过程。过程700可以由诸如交换机的网络设备(例如,设备200)、或者维持捆绑表的其他网络设备执行。过程700可以在步骤705处开始,并且继续到步骤710。在步骤710,如以上更详细地描述的,设备可以将地址添加到它的捆绑表中。例如,网络交换机可以向它的捆绑表添加关于新发现的网络地址的新条目。这样的条目可以包括例如,新发现的IP地址、对应的MAC地址、和/或交换机的对应端口。
在步骤715,如以上详细描述的,设备基于添加到捆绑表的地址生成地址查找阵列。在一些实施例中,查找阵列可以是具有任意数目的相关哈希函数和很高查全率的布隆过滤器阵列(例如,位图)。注意,布隆过滤器具有很高的查全率(例如,基本上100%),所以阵列中的失败查找保证了查找出的地址尚未被用于构建阵列。例如,维持捆绑表的交换机或者其他网络设备可以基于它的捆绑表中的IPv6地址生成查找阵列。哈希函数的数目和查找阵列的大小可以根据需要选择,以提供查找期间的一定程度的精度。
在各种实施例中,查找阵列可以是对于设备的捆绑表中的所有地址的查找阵列、或者查找阵列更新。例如,一旦设备生成了对于其完全的捆绑表的查找整列,设备就可以基于添加到捆绑表的任意新地址来生成对于该阵列的更新,因为设备生成了原始的查找阵列。这样,设备可以运行用于生成对于一个或多个新添加的地址的原始查找阵列的哈希函数,并且随后对原始查找阵列的作为结果的比特位置进行编码。
在步骤720,设备可以将所生成的地址查找阵列提供给网络中的一个或多个其他设备(例如,路由器等),如以上更详细地描述的。具体地,设备可以提供对于其完全的捆绑表的查找阵列、对于任何新添加到其捆绑表的地址的查找阵列更新、任何哈希函数、和/或相关联的查找阵列给一个或多个其他设备。将明白的是,查找阵列和/或查找阵列更新在尺寸上可以显著小于它们的下层IPv6地址,以使向路由器或其他设备发送关于所有网络地址的信息更加实际。接着,一个或多个其他设备可以使用查找阵列、查找阵列更新、和/或哈希函数来确定将被转发的分组中指定的地址是明确不在网络中还是可能在网络中。在一些情况下,一个或多个其他设备可以将查找阵列或查找阵列更新与设备处的一个或多个现有的其他查找阵列相合并。在其他实施例中,一个或多个其他设备可以维持单独的查找阵列。在进一步的实施例中,设备可以决定是将查找表更新发送给一个或多个设备还是简单地将一个或多个IPv6地址发送给一个或多个设备(例如,发送较小的一项),以使一个或多个其他设备替代地执行更新。过程700随后在步骤725处结束。
应该注意,尽管过程600-700中的某些步骤如上所述是可选的,但是图6-7中示出的步骤仅是用于说明的示例,并且一些其他步骤可以根据需要被包括或排除。另外,尽管特定次序的步骤被示出,但是该排序只是说明性的,并且步骤的任何适当的排布可以在不脱离本文中的实施例的范围的条件下被利用。而且,尽管分别描述了过程600-700,但是来自每个过程的一些步骤可以被结合到另一个过程中,并且这些过程不相互排斥。
所以,本文中描述的技术提供了可以被用于更快速的切换路径(例如,基于硬件的路径)的验证机制,以在将分组踢到软件进行地址解析(例如,IPv6 ND,ARP等)之前验证地址并不存在于子集中。这样,可以在ND高速缓存DoS攻击的情况下,有效地使大多数攻击分组在更快速的路径中被过滤出来,而没有任何合法分组被过滤出来。因此,被踢送进行地址解析的大多数分组都是去往有效存在于子集中(例如,/64等)的目的地的,使得ND处理非常有价值。另外,本文中的技术通过以下处理有效地缓解了DoS攻击:1)对于网络上有效存在的地址没有影响;2)非常少的CPU用于ND邻居高速缓存和捆绑表查找。另外,本文中的技术需要最小状态并且允许对查找阵列的增量修改,以增量地添加地址。另外,本文中的技术可以诸如通过使用基于CRC的哈希值被最佳化以用于硬件操作。最后,本文中的技术允许最小化在例如发现地址的交换机和过滤针对不期望的目的地的分组的路由器之间交换的信息量的增量更新。
尽管已经示出并描述了在计算机网络中保护ARP/ND高速缓存免受DoS攻击的影响的说明性实施例,但是将理解的是,可以在本文中的实施例的精神和范围内作出各种其他适应修改和变形。例如,本文中已经示出并描述了与第一跳安全模型有关的实施例。然而,这些实施例在它们的更广泛意义上并不被限制,并且实际上可以用于包括但不限于,利用与IPv6类似的NS/ND技术的互联网协议的未来版本在内的其他适当的标准和/或合适的模型。例如,所使用的消息不必限于IPv6ND查找。另外,这些技术也可以被应用于非常大的层2域内的任意节点,以在无需发送多播的情况下解析它们的对等方的IPv6/MAC地址(例如,以类似的方式检查捆绑表或记录)。
前面的描述是针对具体实施例的。然而,将明白的是,可以对所描述的实施例做出各种变形和修改,同时实现所描述的实施例的一些或者全部的优点。例如,可以明确预见的是,本文中描述的组件和/或元件可以被实现为存储在有形(非暂态)计算机可读介质(例如,盘/CD/RAM/EEPROM等)上的软件,该软件具有在计算机、硬件、固件、或者它们的组合上执行的程序指令。相应地,本说明书仅通过示例给出,而不用于限制本文中的实施例的范围。因此,所附权利要求的目的在于,覆盖落入本文中的实施例的真实精神和范围内的所有变形和修改。
Claims (26)
1.一种方法,包括:
由网络中的设备确定由所述设备接收到的分组的目的地址是否在所述设备的邻居发现(ND)高速缓存中;
由所述设备响应于确定所述分组的所述目的地址不在所述ND高速缓存中,确定所述目的地址不在用于生成地址查找阵列的地址集合中、还是可能在用于生成所述地址查找阵列的所述地址集合中;以及
由所述设备响应于确定所述分组的所述目的地址可能在用于生成所述地址查找阵列的所述地址集合中,对所述分组的所述目的地址执行地址解析。
2.根据权利要求1所述的方法,其中所述地址查找阵列包括布隆过滤器。
3.根据权利要求1所述的方法,其中所述分组的所述目的地址不在所述网络中,并且其中由所述设备对其执行地址解析的所述分组是拒绝服务(DoS)攻击的部分。
4.根据权利要求1所述的方法,还包括:
由所述设备响应于确定由所述设备接收到的第二分组的目的地址在所述设备的所述ND高速缓存中,将所述第二分组转发到所述第二分组的目的地址。
5.根据权利要求1所述的方法,还包括:
由所述设备响应于确定由所述设备接收到的第二分组的目的地址不在用于生成所述地址查找阵列的所述地址集合中,丢弃所述第二分组。
6.根据权利要求1所述的方法,还包括:
在所述设备处接收来自所述网络中的多个交换机的多个地址查找阵列;以及
由所述设备将所述多个地址查找阵列合并到所述地址查找阵列。
7.根据权利要求1所述的方法,其中所述地址查找阵列是由所述设备维持的多个地址查找阵列中的一个,所述方法还包括:
由所述设备确定所述分组的目的地址未被用来生成所述多个地址查找阵列中的任意一个、还是可能被用于生成所述多个地址查找阵列中的至少一个。
8.根据权利要求1所述的方法,还包括:
在所述设备处接收对所述地址查找阵列的更新,其中对所述地址查找阵列的所述更新在尺寸上小于网络地址。
9.根据权利要求1所述的方法,还包括:
在所述设备处接收被添加到所述网络的新网络地址;以及
由所述设备更新所述地址查找阵列以反映所述新网络地址。
10.一种方法,包括:
由网络中的第一设备向所述第一设备的捆绑表添加地址;
由所述第一设备部分地基于被添加到所述捆绑表的所述地址生成地址查找阵列;以及
由所述第一设备将所述地址查找阵列提供给所述网络中的第二设备,其中所述第二设备可操作以使用所述地址查找阵列来确定由所述第二设备接收到的分组的目的地址未被用于生成所述地址查找阵列、还是可能被用于生成所述地址查找阵列。
11.根据权利要求10所述的方法,其中所述地址查找阵列包括布隆过滤器。
12.根据权利要求10所述的方法,还包括:
由所述第一设备识别所述网络中的新地址;
由所述第一设备将所述新地址添加到所述第一设备的所述捆绑表中;
由所述第一设备基于所述新地址生成对所述地址查找阵列的更新;及
由所述第一设备将对所述地址查找阵列的所述更新提供给所述第二设备。
13.根据权利要求12所述的方法,其中对所述地址查找阵列的所述更新在尺寸上小于所述新地址。
14.一种装置,包括:
在计算机网络中进行通信的一个或多个网络接口;
处理器,该处理器被耦合到所述网络接口并且被配置为执行一个或多个进程;以及
存储器,该存储器被配置为存储能够由所述处理器执行的进程,所述进程在被执行时能够操作以:
确定由所述装置接收到的分组的目的地址是否在所述存储器中存储的邻居发现(ND)高速缓存中;
响应于确定所述分组的目的地址不在所述ND高速缓存中,确定所述目的地址不在用于生成地址查找阵列的地址集合中、还是可能在用于生成所述地址查找阵列的所述地址集合中;以及
响应于确定所述分组的目的地址可能在用于生成所述地址查找阵列的所述地址集合中,对所述分组的目的地址执行地址解析。
15.根据权利要求14所述的装置,其中所述地址查找阵列包括布隆过滤器。
16.根据权利要求14所述的装置,其中所述分组的目的地址不在所述网络中,并且其中由所述装置对其执行地址解析的所述分组是拒绝服务(DoS)攻击的部分。
17.根据权利要求14所述的装置,其中所述进程在被执行时还能够操作以:
响应于确定由所述装置接收到的第二分组的目的地址在所述ND高速缓存中,将所述第二分组转发到所述第二分组的目的地址。
18.根据权利要求14所述的装置,其中所述进程在被执行时还能够操作以:
响应于确定由所述装置接收到的第二分组的目的地址未被用于生成所述地址查找阵列,丢弃所述第二分组。
19.根据权利要求14所述的装置,其中所述进程在被执行时还能够操作以:
接收来自所述网络中的多个交换机的多个地址查找阵列;以及
将所述多个地址查找阵列合并到所述地址查找阵列。
20.根据权利要求14所述的装置,其中所述地址查找阵列是由所述装置维持的多个地址查找阵列中的一个,并且其中所述进程在被执行时还能够操作以:
确定所述分组的目的地址未被用于生成所述多个地址查找阵列中的任意一个、还是可能被用于生成所述多个地址查找阵列中的至少一个。
21.根据权利要求14所述的装置,其中所述进程在被执行时还能够操作以:
接收对所述地址查找阵列的更新,其中对所述地址查找阵列的所述更新在尺寸上小于网络地址。
22.根据权利要求14所述的装置,其中所述进程在被执行时还能够操作以:
接收被添加到所述网络的新网络地址;以及
更新所述地址查找阵列以反映所述新网络地址。
23.一种装置,包括:
在计算机网络中进行通信的一个或多个网络接口;
处理器,该处理器被耦合到所述网络接口并且被配置为执行一个或多个进程;以及
存储器,该存储器被配置为存储能够由所述处理器执行的进程,所述进程在被执行时能够操作以:
向所述存储器中存储的捆绑表添加地址;
部分地基于被添加到所述捆绑表的所述地址,生成地址查找阵列;以及
将所述地址查找阵列提供给所述网络中的设备,其中所述设备能够操作以使用所述地址查找阵列来确定由所述设备接收到的分组的目的地址未被用于生成所述地址查找阵列、还是可能被用于生成所述地址查找阵列。
24.根据权利要求23所述的装置,其中所述地址查找阵列包括布隆过滤器。
25.根据权利要求23所述的装置,其中所述进程在被执行时还能够操作以:
识别所述网络中的新地址;
将所述新地址添加到所述捆绑表中;
基于所述新地址生成对所述地址查找阵列的更新;以及
将对所述地址查找阵列的所述更新提供给所述设备。
26.根据权利要求25所述的装置,其中对所述地址查找阵列的所述更新在尺寸上小于所述新地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/658,623 | 2015-03-16 | ||
US14/658,623 US9742798B2 (en) | 2015-03-16 | 2015-03-16 | Mitigating neighbor discovery-based denial of service attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105991655A true CN105991655A (zh) | 2016-10-05 |
CN105991655B CN105991655B (zh) | 2020-01-07 |
Family
ID=55405245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610143642.6A Expired - Fee Related CN105991655B (zh) | 2015-03-16 | 2016-03-14 | 用于缓解基于邻居发现的拒绝服务攻击的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9742798B2 (zh) |
EP (1) | EP3070902B1 (zh) |
CN (1) | CN105991655B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850541A (zh) * | 2016-12-13 | 2017-06-13 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
CN108173980A (zh) * | 2018-01-18 | 2018-06-15 | 浙江农林大学暨阳学院 | 一种sdn环境中的重复地址检测方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10827484B2 (en) | 2014-12-12 | 2020-11-03 | Qualcomm Incorporated | Traffic advertisement in neighbor aware network (NAN) data path |
US10820314B2 (en) | 2014-12-12 | 2020-10-27 | Qualcomm Incorporated | Traffic advertisement in neighbor aware network (NAN) data path |
US10749808B1 (en) * | 2015-06-10 | 2020-08-18 | Amazon Technologies, Inc. | Network flow management for isolated virtual networks |
FR3072233B1 (fr) * | 2017-10-10 | 2020-11-27 | Bull Sas | Procede de generation de requetes pour la segmentation de la surveillance d'un reseau d'interconnexion et materiel associe |
US11108687B1 (en) | 2018-09-12 | 2021-08-31 | Amazon Technologies, Inc. | Scalable network function virtualization service |
US10834044B2 (en) | 2018-09-19 | 2020-11-10 | Amazon Technologies, Inc. | Domain name system operations implemented using scalable virtual traffic hub |
CN109246157B (zh) * | 2018-11-16 | 2021-03-02 | 杭州安恒信息技术股份有限公司 | 一种http慢速请求dos攻击的关联检测方法 |
US10715493B1 (en) * | 2019-07-03 | 2020-07-14 | Centripetal Networks, Inc. | Methods and systems for efficient cyber protections of mobile devices |
US11012405B2 (en) * | 2019-09-11 | 2021-05-18 | Arista Networks, Inc. | Distributing address resolution messages |
US11784970B2 (en) | 2021-06-29 | 2023-10-10 | Cisco Technology, Inc. | First hop security in multi-site multi-vendor cloud |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888338A (zh) * | 2010-07-01 | 2010-11-17 | 中兴通讯股份有限公司 | 信息转发方法及网关 |
CN102148756A (zh) * | 2011-01-26 | 2011-08-10 | 武汉邮电科学研究院 | 一种基于6LoWPAN邻居发现的树状路由方法 |
US20110320630A1 (en) * | 2010-06-24 | 2011-12-29 | Jeffrey Mogul | Forwarding broadcast traffic to a host environment |
US8312541B2 (en) * | 2007-07-17 | 2012-11-13 | Cisco Technology, Inc. | Detecting neighbor discovery denial of service attacks against a router |
CN103002071A (zh) * | 2012-12-25 | 2013-03-27 | 福建星网锐捷网络有限公司 | 地址解析处理方法和装置 |
US20130291117A1 (en) * | 2012-04-30 | 2013-10-31 | Cisco Technology, Inc. | Protecting address resolution protocol neighbor discovery cache against denial of service attacks |
CN103609089A (zh) * | 2011-06-21 | 2014-02-26 | 瑞典爱立信有限公司 | 防止基于近邻发现的拒绝服务攻击 |
CN104081749A (zh) * | 2012-02-03 | 2014-10-01 | 瑞典爱立信有限公司 | 用于dos攻击保护的dad-ns触发的地址解析 |
CN104335546A (zh) * | 2012-05-22 | 2015-02-04 | 思科技术公司 | 使用邻居发现来为其它应用创建信任信息 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2871469B2 (ja) | 1994-07-19 | 1999-03-17 | 日本電気株式会社 | Atm網構成管理方法 |
US5710885A (en) | 1995-11-28 | 1998-01-20 | Ncr Corporation | Network management system with improved node discovery and monitoring |
US7725602B2 (en) * | 2000-07-19 | 2010-05-25 | Akamai Technologies, Inc. | Domain name resolution using a distributed DNS network |
US7339928B2 (en) | 2001-08-29 | 2008-03-04 | Alcatel Lucent | Micro-mobility network routing system and method |
JP4028331B2 (ja) | 2002-08-30 | 2007-12-26 | 富士通株式会社 | Ipアドレスを自動生成するルータ |
JP4019880B2 (ja) * | 2002-09-26 | 2007-12-12 | 株式会社日立製作所 | サーバ装置 |
KR100514742B1 (ko) | 2003-02-06 | 2005-09-14 | 삼성전자주식회사 | 통합 캐시를 이용하여 다음 홉 주소를 결정하는 장치 및 방법 |
EP1597898A2 (en) | 2003-02-26 | 2005-11-23 | Nokia Corporation | A method of reducing denial-of-service attacks and a system as well as an access router therefor |
JP4352728B2 (ja) | 2003-03-11 | 2009-10-28 | 株式会社日立製作所 | サーバ装置、端末制御装置及び端末認証方法 |
CN100350779C (zh) | 2003-06-20 | 2007-11-21 | 株式会社Ntt都科摩 | 网络***、控制设备、路由器装置、接入点和移动终端 |
JP4076482B2 (ja) | 2003-07-02 | 2008-04-16 | 株式会社エヌ・ティ・ティ・ドコモ | 移動ノード、移動通信システム及び通信制御方法 |
US7873036B2 (en) | 2004-02-03 | 2011-01-18 | Nokia Siemens Networks Oy | Method and apparatus to provide group management of multiple link identifiers for collective mobility |
US7660287B2 (en) | 2004-04-05 | 2010-02-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, communication device and system for address resolution mapping in a wireless multihop ad hoc network |
US20070274232A1 (en) | 2004-04-05 | 2007-11-29 | Telefonaktiebolaget Lm Ericsson (Pub) | Method, Communication Device and System for Detecting Neighboring Nodes in a Wireless Multihop Network Using Ndp |
US20050249214A1 (en) * | 2004-05-07 | 2005-11-10 | Tao Peng | System and process for managing network traffic |
JP2006217077A (ja) | 2005-02-01 | 2006-08-17 | Ntt Docomo Inc | 通信システム、移動端末、中継装置及び転送経路学習方法 |
US7885231B2 (en) | 2005-04-14 | 2011-02-08 | Lg Electronics Inc. | Method of reconfiguring an internet protocol address in handover between heterogeneous networks |
US7925027B2 (en) | 2005-05-02 | 2011-04-12 | Ntt Docomo, Inc. | Secure address proxying using multi-key cryptographically generated addresses |
US7518987B2 (en) | 2005-07-25 | 2009-04-14 | Cisco Technology, Inc. | Mechanisms for providing connectivity in NAT redundant/fail-over scenarios in unshared address-space |
EP1764970A1 (en) | 2005-09-19 | 2007-03-21 | Matsushita Electric Industrial Co., Ltd. | Multiple interface mobile node with simultaneous home- and foreign network connection |
US20070091828A1 (en) * | 2005-10-26 | 2007-04-26 | Nortel Networks Limited | Registration, look-up, and routing with flat addresses at enormous scales |
KR101203463B1 (ko) | 2005-11-03 | 2012-11-21 | 삼성전자주식회사 | IPv6 기반 모바일 시스템에서 이웃 탐색을 제공하는장치 및 방법 |
US8161549B2 (en) | 2005-11-17 | 2012-04-17 | Patrik Lahti | Method for defending against denial-of-service attack on the IPV6 neighbor cache |
KR100886433B1 (ko) | 2006-08-18 | 2009-03-02 | 한국전자통신연구원 | 확장된 브릿지를 이용한 무선통신 시스템에서의 IPv6지원 방법 |
KR100827143B1 (ko) | 2007-01-16 | 2008-05-06 | 삼성전자주식회사 | 패킷 스위치 장비 및 그 방법 |
EP2168325B1 (en) | 2007-06-14 | 2010-12-15 | Telefonaktiebolaget LM Ericsson (publ) | Routing in a network |
US8488557B2 (en) * | 2008-01-14 | 2013-07-16 | Alcatel Lucent | Method for detecting a duplicate address, mobile station, network element and communication system |
US9800541B2 (en) | 2009-10-16 | 2017-10-24 | Nec Corporation | Extensions to address utilization and neighbor cache processing functions of IPv6 |
US8352618B2 (en) | 2009-12-30 | 2013-01-08 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for resolving conflicts between IPsec and IPv6 neighbor solicitation |
US20130083347A1 (en) | 2011-09-29 | 2013-04-04 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for physically securing a host device |
-
2015
- 2015-03-16 US US14/658,623 patent/US9742798B2/en active Active
-
2016
- 2016-02-22 EP EP16156779.7A patent/EP3070902B1/en active Active
- 2016-03-14 CN CN201610143642.6A patent/CN105991655B/zh not_active Expired - Fee Related
-
2017
- 2017-07-19 US US15/654,070 patent/US10382397B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312541B2 (en) * | 2007-07-17 | 2012-11-13 | Cisco Technology, Inc. | Detecting neighbor discovery denial of service attacks against a router |
US20110320630A1 (en) * | 2010-06-24 | 2011-12-29 | Jeffrey Mogul | Forwarding broadcast traffic to a host environment |
CN101888338A (zh) * | 2010-07-01 | 2010-11-17 | 中兴通讯股份有限公司 | 信息转发方法及网关 |
CN102148756A (zh) * | 2011-01-26 | 2011-08-10 | 武汉邮电科学研究院 | 一种基于6LoWPAN邻居发现的树状路由方法 |
CN103609089A (zh) * | 2011-06-21 | 2014-02-26 | 瑞典爱立信有限公司 | 防止基于近邻发现的拒绝服务攻击 |
CN104081749A (zh) * | 2012-02-03 | 2014-10-01 | 瑞典爱立信有限公司 | 用于dos攻击保护的dad-ns触发的地址解析 |
US20130291117A1 (en) * | 2012-04-30 | 2013-10-31 | Cisco Technology, Inc. | Protecting address resolution protocol neighbor discovery cache against denial of service attacks |
CN104335546A (zh) * | 2012-05-22 | 2015-02-04 | 思科技术公司 | 使用邻居发现来为其它应用创建信任信息 |
CN103002071A (zh) * | 2012-12-25 | 2013-03-27 | 福建星网锐捷网络有限公司 | 地址解析处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
P MUTAF ET AL: ""compact neighbor discovery: a bandwidth defense through bandwidth optimization"", 《PROCEEDINGS IEEE 24TH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850541A (zh) * | 2016-12-13 | 2017-06-13 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
WO2018108009A1 (zh) * | 2016-12-13 | 2018-06-21 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
CN106850541B (zh) * | 2016-12-13 | 2020-11-06 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
CN108173980A (zh) * | 2018-01-18 | 2018-06-15 | 浙江农林大学暨阳学院 | 一种sdn环境中的重复地址检测方法 |
CN108173980B (zh) * | 2018-01-18 | 2021-02-19 | 浙江农林大学暨阳学院 | 一种sdn环境中的重复地址检测方法 |
Also Published As
Publication number | Publication date |
---|---|
US9742798B2 (en) | 2017-08-22 |
US10382397B2 (en) | 2019-08-13 |
US20170324770A1 (en) | 2017-11-09 |
CN105991655B (zh) | 2020-01-07 |
EP3070902A3 (en) | 2016-12-21 |
EP3070902B1 (en) | 2019-08-07 |
EP3070902A2 (en) | 2016-09-21 |
US20160277440A1 (en) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105991655A (zh) | 缓解基于邻居发现的拒绝服务攻击 | |
US8665874B2 (en) | Method and apparatus for forwarding data packets using aggregating router keys | |
CN104506511A (zh) | 一种sdn网络动态目标防御***及方法 | |
US9621581B2 (en) | IPV6/IPV4 resolution-less forwarding up to a destination | |
CN101682656B (zh) | 用于保护数据分组的路由选择的方法和设备 | |
US9008084B2 (en) | Method of IPv6 at data center network with VM mobility using graceful address migration | |
CN104468624B (zh) | Sdn控制器、路由/交换设备及网络防御方法 | |
CN101635628B (zh) | 一种防止arp攻击的方法及装置 | |
US8576845B2 (en) | Method and apparatus for avoiding unwanted data packets | |
Ullrich et al. | {IPv6} security: Attacks and countermeasures in a nutshell | |
CN108234522A (zh) | 防止地址解析协议arp攻击方法、装置、计算机设备和存储介质 | |
US20150236752A1 (en) | Method for selection of unique next-time-interval internet protocol address and port | |
Data | The defense against arp spoofing attack using semi-static arp cache table | |
Chen et al. | Design and implementation of a novel enterprise network defense system bymaneuveringmulti-dimensional network properties | |
US8893271B1 (en) | End node discovery and tracking in layer-2 of an internet protocol version 6 network | |
Chen et al. | Preventing DRDoS attacks in 5G networks: a new source IP address validation approach | |
US11463479B2 (en) | Intercepting network traffic | |
US7796614B1 (en) | Systems and methods for message proxying | |
US20180007075A1 (en) | Monitoring dynamic device configuration protocol offers to determine anomaly | |
CN101567886B (zh) | 表项安全管理方法及设备 | |
CN112804130A (zh) | 报文处理方法及装置、***、存储介质以及电子设备 | |
Amin et al. | A lightweight IP traceback mechanism on IPv6 | |
Liang et al. | A SDN-Based Hierarchical Authentication Mechanism for IPv6 Address | |
Zaw et al. | Performance analysis of network protocol attacks using evil foca | |
TW201828661A (zh) | 流量處理方法、設備和系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200107 Termination date: 20210314 |
|
CF01 | Termination of patent right due to non-payment of annual fee |