CN104519049A - 通过增加客户端资源需求来限制拒绝服务攻击的效力 - Google Patents

通过增加客户端资源需求来限制拒绝服务攻击的效力 Download PDF

Info

Publication number
CN104519049A
CN104519049A CN201410521259.0A CN201410521259A CN104519049A CN 104519049 A CN104519049 A CN 104519049A CN 201410521259 A CN201410521259 A CN 201410521259A CN 104519049 A CN104519049 A CN 104519049A
Authority
CN
China
Prior art keywords
client device
computing cost
cost problem
request
solution
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
Application number
CN201410521259.0A
Other languages
English (en)
Other versions
CN104519049B (zh
Inventor
K·亚当斯
D·J·奎因兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Peribit Networks Inc
Original Assignee
Peribit Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peribit Networks Inc filed Critical Peribit Networks Inc
Priority to CN201811288424.7A priority Critical patent/CN109617857B/zh
Publication of CN104519049A publication Critical patent/CN104519049A/zh
Application granted granted Critical
Publication of CN104519049B publication Critical patent/CN104519049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/141Denial of service attacks against endpoints in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种设备,可以检测攻击。该设备可以从客户端设备接收对资源的请求。该设备可以基于检测该攻击来确定待被提供给客户端设备的计算开销问题,其中计算开销问题需要由客户端设备来解决计算开销问题的计算。该设备可以通知客户端设备提供计算开销问题的解决方案。该设备可以从客户端设备接收对计算开销问题的解决方案,该设备可以基于该解决方案来向客户端设备选择性地提供对资源的访问。

Description

通过增加客户端资源需求来限制拒绝服务攻击的效力
背景技术
拒绝服务(DoS)攻击是一种使得目标设备诸如服务器、路由器或其他网络资源对于该目标设备的预期用户而言不可用的企图。分布式拒绝服务(DDoS)攻击是一种多于一次地使用源设备和/或位置来攻击目标设备的DoS攻击。一种通常的攻击方法涉及使用很多外部通信请求来使目标设备饱和,以使得目标设备不能对正当的通信进行响应,或者响应得如此慢以至于致使其本质上不可用。DDoS攻击可以使用僵尸网络来实现,其中攻击者使用病毒代码来感染大量计算设备,并且通知这些计算设备向目标设备发送通信请求。
发明内容
根据一些可能的实现,一种设备可以包括被配置成进行以下操作的一个或多个处理器:检测拒绝服务攻击;从客户端设备接收用于对资源进行访问请求;基于请求以及另外基于检测拒绝服务攻击来确定待被提供给客户端设备的计算开销问题;向客户端设备提供计算开销问题,该计算开销问题被提供以使客户端设备解决该计算开销问题;从客户端设备接收对计算开销问题的解决方案;以及基于该解决方案来授权或拒绝客户端设备对资源进行访问。
根据一些可能的实现,一种计算机可读介质可以存储在由一个或多个处理器执行时使一个或多个处理器进行以下操作的一个或多个指令:检测攻击;从客户端设备接收对资源的请求;基于检测攻击来确定待被提供给客户端设备的计算开销问题,其中计算开销问题需要由客户端设备来解决计算开销问题的计算;通知客户端设备提供计算开销问题的解决方案;从客户端设备接收对计算开销问题的解决方案;以及基于解决方案向客户端设备选择性地提供对资源进行访问。
根据一些可能的实现,一种方法可以包括:由安全设备检测拒绝服务攻击;由该安全设备从客户端设备接收请求;由该安全设备基于检测拒绝服务攻击来确定待被提供给客户端设备的计算开销问题;由该安全设备确定使客户端设备解决计算开销问题的代码;由该安全设备通知客户端设备执行代码,该代码使客户端设备生成计算开销问题的解决方案;由该安全设备从客户端设备接收解决方案;以及由该安全设备基于该解决方案向客户端设备提供对请求的响应。
附图说明
图1是本文中所描述的示例实现的概述的图;
图2是本文中所描述的系统和/或方法可以被实现于其中的示例环境的图;
图3是图2的一个或多个设备的示例部件的图;
图4是用于通过增加客户端资源需求来限制DoS攻击的效力的示例过程的流程图;以及
图5A至5E是与图4所示的示例过程有关的示例实现的图。
具体实施方式
对以下示例实现的详细描述参考附图。不同附图中的相同的附图标记可以标识相同的或相似的元素。
攻击者诸如黑客可以使用拒绝服务(DoS)攻击诸如分布式拒绝服务(DDoS)攻击(例如来自多于一个客户端设备的DoS攻击),以企图使得网络设备对于网络设备的预期用户而言不可用,或者以降低网络设备对来自用户的请求进行响应的可用性。例如,攻击者可以使用僵尸网络来使大量客户端设备向网络设备发送请求。网络设备可能被大量请求所压垮,这可能降低网络设备对正当请求进行响应的能力。利用僵尸网络的DoS攻击对于客户端设备与网络设备相比可能计算开销不高。例如,与网络设备对请求进行响应所需要的存储器和/或处理能力的量相比,客户端设备生成和发送请求可能需要较少的存储器和/或处理能力。本文中所描述的实现可以通过增加客户端设备向网络设备发送请求所需要的计算开销来降低DoS攻击的效力。
图1是本文中所描述的示例实现100的概述的图。如图1所示,作为在客户端设备与网络设备(其是DoS攻击的目标)之间的中间设备的安全设备可以从客户端设备接收大量请求。安全设备可以通过诸如检测接收到的大量请求满足阈值(例如,每秒多于100,000个请求)来检测网络设备遭遇DoS攻击。如图1另外所示,在安全设备确定网络设备遭遇DoS攻击之后,安全设备可以从(例如旨在用于网络设备的)客户端设备接收附加请求。安全设备可以基于接收该请求来(例如使用代码诸如HTML代码、JavaScript等)向客户端设备提供计算开销问题。
计算开销问题可以包括需要客户端设备利用大量存储器和/或处理能力来解决的问题。一旦客户端设备已经解决了计算开销问题,则客户端设备可以向安全设备提供解决方案。安全设备可以确定解决方案是否正确。如果解决方案正确,则安全设备可以向客户端设备提供在来自客户端设备的请求中所请求的对网络设备和/或资源的访问。如果解决方案不正确,则安全设备可以提供另一计算开销问题,其可以被使得与先前提供的计算开销问题相比较更困难。以这一方式,在DoS攻击期间,安全设备可以通过要求客户端设备在向网络设备发送附加请求之前消耗大量计算资源来减慢DoS攻击的速率。
图2是本文中所描述的系统和/或方法可以被实现于其中的示例环境的图。如图2所示,环境200可以包括客户端设备210、网络设备220、安全设备230和网络240。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合来交互。
客户端设备210可以包括能够通过网络(例如,网络240)来接收和/或提供信息、和/或能够生成、存储和/或处理通过网络接收和/或提供的信息的一个或多个设备。例如,客户端设备210可以包括计算设备诸如膝上型电脑、平板电脑、手持电脑、台式电脑、移动电话(例如,智能电话、无线电话等)、个人数字助理、服务器或类似的设备。客户端设备210可以(例如,经由网络240和/或安全设备230)从网络设备220接收信息和/或向网络设备220提供信息。在一些实现中,客户端设备210可以包括用于诸如通过向网络设备220发送请求(例如,HTTP请求)和/或从网络设备220接收响应(例如,HTTP响应)来与网络设备220交互的浏览器。在一些实现中,来自客户端设备210的请求可以在被发送至网络设备220之前由安全设备230来处理。在一些实现中,客户端设备210可以是僵尸网络的一部分,僵尸网络可以用于对网络设备220执行DoS攻击。
网络设备220可以包括能够通过网络(例如,网络240)接收和/或提供信息、和/或能够生成、存储和/或处理通过网络接收和/或处理的信息的一个或多个设备。例如,网络设备220可以包括服务器(例如,应用服务器、代理服务器、网络服务器、主机服务器等)、业务传输设备(例如,路由器、集线器、桥接器、交换机等)等等。网络设备220可以(例如,经由网络240和/或安全设备230)从客户端设备210接收信息和/或向客户端设备210提供信息。网络设备220可以对从客户端设备210接收的请求(例如,对资源的请求)进行响应。在一些实现中,来自网络设备220的响应可以在被发送至客户端设备210之前由安全设备230来处理。
安全设备230可以包括能够在客户端设备210和网络设备220之间处理和/或传输业务的一个或多个设备。例如,安全设备230可以包括网络设备诸如反向代理、服务器(例如,代理服务器)、业务传输设备、网关、防火墙、路由器、桥接器、集线器、交换机、负载平衡器、入侵检测设备等等。在一些实现中,安全设备230可以用作至网络设备220的网关或者与例如专用网络和/或数据中心关联的网络设备220的集合。安全设备230可以通过检测来自客户端设备210的DoS攻击来保护网络设备220免受客户端设备210的攻击。例如,在客户端设备210可以向网络设备220发送请求之前,从安全设备230发送给客户端设备220的响应可以使客户端设备210执行计算(例如,用以解决计算开销问题的计算)。
网络240可以包括一个或多个有线和/或无线网络。例如,网络240可以包括无线局域网(WLAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、蜂窝网络、陆上公用移动网络(PLMN)、自组织网络、内联网、因特网、基于光纤的网络或者这些或其他类型的网络的组合。
图2所示的大量设备和网络被提供作为示例。实际上,与图2所示的这些相比,可以有额外的设备和/或网络、较少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图2所示的两个或多个设备可以在单个设备内实现,或者,图2所示的单个设备可以被实现为多个、分布式设备。此外,环境200的设备中的一个或多个设备可以执行如被描述为由环境200的一个或多个其他设备所执行的一个或多个功能。
图3为设备300的示例部件的图,其可以对应于客户端设备210、网络设备220、和/或安全设备230。在一些实现中,客户端设备210网络设备220、和/或安全设备230可以包括图300的一个或多个设备和/或一个或多个部件。如图3所示,设备300可以包括总线310、处理器320、存储器330、输入部件340、输出部件350和通信接口360。
总线310可以包括允许设备300的部件之间的通信的部件。处理器320可以包括解释和/或执行指令的处理器(例如,中央处理单元、图形处理单元、加速处理单元)、微处理器、和/或处理部件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器330可以包括存储用于由处理器320来使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)和/或其他类型的动态或静态存储设备(例如,闪存、磁性或光学存储器)。
输入部件340可以包括允许用户向设备300输入信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关等)。输出部件350可以包括从设备300输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。
通信接口360可以包括使得设备300能够经由诸如有线连接、无线连接或者有线连接和无线连接的组合来与其他设备通信的收发器类部件,诸如收发器和/或单独的接收器和发射器。例如,通信接口360可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口等等。
设备300可以执行本文中所描述的一个或多个过程。设备300可以响应于处理器320执行计算机可读介质诸如存储器330中所包括的软件指令来执行这些过程。计算机可读介质可以被限定为非暂态存储器设备。存储器设备可以包括在单个物理存储设备内的存储器空间或者分布在多个物理存储设备之间的存储器空间。
软件指令可以经由通信接口360从另一计算机可读介质或者从其他设备被读入至330。在执行时,存储器330中所存储的软件指令可以使处理器320执行本文中所描述的一个或多个过程。附加地或者备选地,可以使用硬线电路系统来代替软件指令,或者结合软件指令来使用硬线电路,以执行本文中所描述的一个或多个过程。因此,本文中所描述的实现不限于硬件电路和软件的任何具体的组合。
图3所示的大量部件被提供作为示例。实际上,与图3所示的这些相比,设备300可以包括额外的部件、较少的部件、不同的部件、或者不同地布置的部件。
图4是用于通过增加客户端资源需求来限制DoS攻击的效力的示例过程400的流程图。在一些实现中,图4的一个或多个处理块可以由安全设备230来执行。在一些实现中,图4的一个或多个处理块可以由另一设备或者与安全设备230分离的或包括安全设备230的设备的组诸如客户端设备210和/或网络设备220来执行。
如图4所示,过程400可以包括检测拒绝服务攻击(块410)。例如,安全设备230可以检测拒绝服务(DoS)攻击诸如分布式拒绝服务攻击(DDoS)。在一些实现中,安全设备230可以基于DoS度量(例如,业务测量、响应时间测量、延迟测量等)来检测DoS攻击。例如,安全设备230可以确定在特定的时间段内接收的请求的量满足阈值(例如,多于每秒100,000个请求)。作为另一示例,安全设备230可以确定在接收请求与对请求进行响应之间的时间量满足阈值(例如,网络设备220对请求进行响应的时间大于500毫秒),确定用于对请求进行响应的平均时间量满足阈值,等等。作为另一示例,安全设备230可以确定即将到来的业务是可疑的(例如,基于请求的类型、请求的量、同一类型的请求的量、与请求关联的元数据,基于业务和/或客户端设备210匹配攻击签名,基于客户端设备210被识别为在黑名单上,等等)。以上技术被提供作为示例,安全设备230可以使用其他技术和/或技术的组合来检测DoS攻击。
如图4另外所示,过程400可以包括从客户端设备接收请求(块420)。例如,安全设备230可以在检测DoS攻击之后接收请求,和/或可以接收可疑的请求。该请求可以包括用于网络设备220执行一些处理和/或提供对请求的响应的请求,并且该请求可以由安全设备230来解释。例如,该请求可以包括对资源的请求,可以包括用于访问网络设备220的请求,可以包括对由网络设备210可访问的资源的请求,可以包括HTTP请求、文件传输协议(FTP)请求、传输控制协议(TCP)请求等。安全设备230可以从客户端设备210接收请求。该请求可以是正当的请求(例如,来自与网络设备220关联的预期用户的请求)或者可以是可疑的请求(例如,旨在减慢网络设备220和/或使得网络设备220作为DoS攻击的一部分不可用的请求)。
如图4另外所示,过程400可以包括确定待被提供给客户端设备的计算开销问题(块430)。例如,安全设备230可以确定待被提供给客户端设备210的计算开销问题。在一些实现中,计算开销问题可以使用包括计算开销问题的代码(例如,计算机代码、超文本标记语言(HTML)代码、脚本等)来提供,该包括计算开销问题的代码例如使客户端设备210执行计算开销问题的代码。计算开销问题可以包括如下问题,其需要大量计算资源(例如,满足阈值的大量处理能力、存储器等)来解决问题。
在一些实现中,安全设备230可以确定是否提供计算开销问题(例如,是否提供包括计算开销问题的对请求的响应,或者是否提供不包括计算开销问题的对请求的响应)。例如,安全设备230可以向特定百分比的客户端设备210提供对特定百分比的请求的计算开销问题,等等。在一些实现中,确定和/或百分比可以基于DoS度量(例如,在具体的时间段内接收的请求的量、响应时间等)。例如,安全设备230在DoS度量满足第一阈值时可以提供计算开销问题作为对第一百分比的请求的响应,而在DoS度量满足第二阈值时可以提供计算开销问题作为对第二百分比的请求的响应,等等。
在一些实现中,安全设备230可以基于请求的类型来确定是否提供计算开销问题。例如,安全设备230可以通过诸如将请求分类为可疑的或正当的来对请求进行分类。安全设备230可以向发送正当请求的客户端设备210提供没有计算开销问题的响应,并且可以向发送可疑请求的客户端设备210提供包括计算开销问题的响应。
在一些实现中,安全设备230可以确定待被提供给客户端设备210的计算开销问题的类型。计算开销问题的类型可以包括例如(例如要求客户端设备210将大量信息存储在存储器中的存储器密集型问题)的存储器密集型问题、(例如要求客户端设备210使用大量处理能力来解决问题的处理密集型问题)的处理密集型问题、要求用户输入的问题(例如,CAPTCHA问题)、不要求用户输入的问题、哈希准则问题(本文中其他地方描述)、哈希列表问题(本文中其他地方描述)、和/或这些或其他类型的问题的组合。
安全设备230可以基于例如DoS度量(例如,与安全设备230、网络设备220和/或客户端设备210关联的DoS度量)、从客户端设备210接收的请求的种类、客户端设备210的简档(例如,客户端设备210是否呈现为与可疑的或正当的请求关联、客户端设备210所使用的浏览器的类型等)、与客户端设备210关联的请求历史(例如,与客户端设备210关联的大量请求、与客户端设备210关联的大量重复请求、客户端设备210是否先前已经解决了计算开销问题的指示、客户端设备210是否先前已经被授权或拒绝访问资源的指示等)等等。在一些实现中,安全设备230可以任意地确定待被提供给客户端设备210的计算开销问题的类型(例如,通过从问题列表中任意地选择问题)。
在一些实现中,可以使计算开销问题与难度等级(例如,高、中、低;代表难度量表上的难度等级的值)关联,并且安全设备230可以确定待被提供给客户端设备210的计算开销问题的难度等级。难度等级可以基于例如解决问题所需的存储器的量、解决问题所需的处理能力的量(例如,在特定的时间段)等等。安全设备230可以基于例如DoS度量、从客户端设备210所接收的请求的请求种类、客户端设备210的简档、与客户端设备210关联的请求历史、特定的请求是可疑的和/或正当的请求的概率等等来选择难度等级。
如图4另外所示,过程400可以包括向客户端设备提供计算开销问题(块440),并且接收对计算开销问题的解决方案(块450)。例如,安全设备230可以向客户端设备210提供识别计算开销问题的信息。计算开销问题可以被提供作为代码(例如,脚本、诸如JavaScript),并且代码可以使客户端设备210执行计算开销问题、和/或生成计算开销问题的解决方案。在一些实现中,安全设备230可以使代码随机化和/或使代码混淆,以使得攻击者难以检测代码。以这一方式,提供给第一客户端设备210的代码可以不同于提供给第二客户端设备210的代码(例如,即使代码代表相同的计算开销问题)。在一些实现中,代码可以包括意图错误,并且这样的错误在解决方案中的出现可以由安全设备230来在验证解决方案时进行验证。
附加地或者备选地,安全设备230可以提供使客户端设备210经由诸如网络浏览器来提供用于显示的信息(例如,“在网站被访问时请等待”)的代码。客户端设备210可以计算该计算开销问题的解决方案,并且可以将该解决方案提供给安全设备230。
作为示例,计算开销问题可以包括哈希准则问题。哈希准则问题可以包括向客户端设备210提供第一字符串(例如,随机串),并且请求客户端设备210确定第二字符串,其中第二字符串在被附接至第一串时产生所得串、在使用具体的哈希算法求哈希时生成满足具体的准则的哈希值。例如,准则可以包括在哈希值中在哈希值的开始处(例如,连续地)、在哈希值的结尾处(例如,连续地)、在哈希值的具体位置处(例如,在哈希值的中间)等的具体数量的零(和/或另一字符)。作为另一示例,准则可以要求哈希值包括具体的字符串、具体量的字符、字符的具体组合(例如,连续地或者非连续地包括在哈希值中)等等。
以上哈希准则问题要求客户端设备210重复地生成随机串,将随机串附接至第一串,并且确定所得串是否满足准则。当所得串满足准则时,客户端设备210可以将第二串提供给安全设备230。安全设备230然后可以将第二串附接至第一串,可以给所得串应用具体的哈希算法,并且可以确定所得串是否满足准则以验证解决方案。哈希算法可以包括例如安全哈希算法(SHA)(例如,SHA-0、SHA-1、SHA-2、SHA-3等)、先进的加密标准(AES)、RSA算法、消息摘要算法(例如,MD4、MD5等)等等。这样的问题需要大量计算资源(例如,处理能力)用于客户端设备210解决问题,同时需要大量计算资源用于安全设备230解决问题,从而限制了DoS攻击的效力。
在一些实现中,安全设备230可以通过设置准则(例如,需要哈希值中有不同量的字符,需要具体长度的串等)来设置用于哈希准则问题的难度等级。例如,较低的难度等级可能需要哈希值在哈希值的结尾处包括四个零(例如,空值),而较高的难度等级可能需要哈希值在哈希值的结尾处包括六个零。
作为另一示例,计算开销问题可以包括哈希列表问题。哈希列表问题可以包括向客户端设备210提供第一字符串(例如,种子串)。客户端设备210可以基于第一串生成串列表(例如,哈希值)。例如,客户端设备210可以向第一串应用哈希算法以生成第二串,可以向第二串应用哈希算法以生成第三串等等直到大的哈希列表已经由客户端设备210产生并且存储(例如,具有满足阈值的大量哈希值诸如1,000个哈希值的哈希列表)。作为另一示例,客户端设备210可以向哈希列表中的多个串应用哈希算法以生成哈希列表中的下一串直到大的哈希列表被产生。附加地或者备选地,客户端设备210可以向(例如,使用随机数发生器生成的;使用伪随机数发生器而基于种子值诸如第一串生成的;等等)一个或多个串以及一个或多个随机值应用哈希算法以生成大的哈希列表。
一旦客户端设备210已经生成哈希列表,则计算开销问题可以要求客户端设备210向哈希列表中所包括的串的不同组合应用哈希算法,以使得哈希列表中的每个串必须以某种方式被应用以确定最终串。客户端设备210可以向安全设备230提供最终串,并且安全设备230可以比较最终串与解决方案(例如,存储器中所存储的解决方案)以确定问题的解决方案(例如,最终串)是否被验证。这样的问题需要大量计算资源(例如,大量存储器空间)用于客户端设备210来解决问题,而需要少量计算资源(例如,大量存储器空间)用于安全设备230来解决问题,从而限制了DoS攻击的效力。
作为示例,客户端设备210可以根据种子串生成哈希值列表,其中每个哈希值为被附接以新的哈希值的索引(例如,并且使用哈希算法求哈希)的先前哈希值。客户端设备210可以生成列表中的阈值数量的哈希值,诸如1,000个哈希值。客户端设备210然后可以通过用哈希列表中的先前哈希值以及用生成的哈希值代替先前的哈希值,来对哈希列表中的最后哈希值进行求哈希来向后遍历哈希列表,客户端设备210可以继续这一过程直到已经用新的第一哈希值替换了在最后的第一哈希值,并且可以向安全设备230提供新的第一哈希值作为解决方案。这一过程要求客户端设备210将所有1,000个值存储在存储器中,否则,客户端设备210将不能够生成新的哈希值。
虽然本文中描述了哈希问题,然而,哈希问题仅是某种类型的计算开销问题的一个示例。在一些实现中,可以使用其他类型的计算开销问题。
在一些实现中,安全设备230可以通过设置需要由客户端设备210来存储和/或需要在最终串的确定时使用的串的数量来设置哈希列表问题的难度等级。例如,较低的难度等级可能要求哈希列表包括10,000个串,而较高的难度等级可能要求哈希列表包括100,000个串。
如图4另外所示,过程400可以包括确定解决方案是否被验证(块460)。例如,安全设备230可以从客户端设备210接收解决方案,并且可以确定解决方案是否被验证。安全设备230可以确定解决方案是否通过例如对解决方案执行计算(例如,如本文中结合哈希准则问题所描述的)和/或通过比较解决方案与存储器中所存储的值(例如,如本文中结合哈希列表问题所描述的)而被验证。在一些实现中,安全设备230可以对关于是否验证解决方案而进行随机确定。例如,如果安全设备230正在经历攻击,则安全设备230可以确定随机地拒绝解决方案、具体百分比的解决方案等等。
在一些实现中,安全设备230可以确定是否基于自从计算开销问题被提供给客户端设备210以来已经经过的时间量来验证解决方案。例如,如果安全设备230在对于客户端设备210实际上确定问题的解决方案的非常短的时间跨度内接收到解决方案(例如,攻击者使用外部资源而非客户端设备210来解决问题),则安全设备230可以确定解决方案没有被验证。
如图4另外所示,如果解决方案没有被验证(块460为否),则过程400可以包括返回块430以确定待被提供给客户端设备210的另一计算开销问题。附加地或者备选地,安全设备230可以基于确定解决方案没有被验证来阻止客户端设备210对资源(例如,所请求的资源,网络设备220等)的访问。安全设备230可以持续阻止客户端设备210访问资源直到安全设备230从客户端设备210接收到计算开销问题的正确的解决方案。
在一些实现中,安全设备230可以基于确定解决方案没有被验证来向客户端设备210提供相同的计算开销问题。在这种情况下,安全设备230可以拒绝客户端设备210访问资源(例如,网络设备220)直到安全设备230从客户端设备210接收到问题的正确解决方案(例如,由安全设备230验证的解决方案)。在一些实现中,安全设备230可以基于确定解决方案没有被验证来向客户端设备210提供不同的计算开销问题(例如,不同类型的问题、不同难度等级的问题、不同的与问题关联的初始值、不同的与哈希列表问题关联的第一串、不同的与哈希准则问题关联的随机值等)。例如,当客户端设备210不能提供计算开销问题的正确解决方案时,安全设备230可以通过诸如以下操作来向客户端设备210提供更困难的问题:调整与问题关联的参数、要求更多处理能力和/或存储器空间用于计算问题的解决方案、提供多个问题(例如,相同类型或不同类型的多个问题)等。
如图4另外所示,如果解决方案被验证(块460为是),则过程400可以包括向客户端设备提供响应和验证cookie(块470)。例如,安全设备230可以验证解决方案(例如,可以确定解决方案正确)。安全设备230可以授权对资源(例如,网络设备220)的访问和/或可以基于验证解决方案来向客户端设备210提供响应。响应可以包括对从客户端设备210接收的请求的响应(例如,由客户端设备210请求的并且由网络设备220提供的资源)。在一些实现中,安全设备230可以在响应中提供验证指示符诸如验证cookie。验证cookie可以包括由安全设备230生成的随机串。安全设备230可以使用验证cookie来确定客户端设备210已经成功地执行了计算开销问题以及基于从客户端设备210接收的附加请求来防止附加问题被发送给客户端设备210。验证cookie可以包括与客户端设备210关联的内嵌的和/或加密的信息(例如,客户端设备210的环境、客户端设备210的配置、在客户端设备210上运行的应用等),使得第一客户端设备210不能使用预期用于第二客户端设备210的验证cookie。在一些实现中,安全设备230可以向网络设备220提供请求,可以从网络设备220接收响应,并且可以在将响应提供给客户端设备210之前将验证cookie插入响应中。
如图4另外所示,过程400可以包括从客户端设备接收另一请求和验证cookie(块480)。例如,安全设备230可以从客户端设备210接收附加请求。附加请求可以包括和/或识别验证cookie。在一些实现中,从客户端设备210接收的验证cookie可以与向客户端设备210提供的的验证cookie相同,在这种情况下,安全设备230可以(例如,通过提供来自网络设备220的响应)对请求进行响应而不向客户端设备210提供计算开销问题。在一些实现中,从客户端设备210接收的验证cookie可以与向客户端设备210提供的验证cookie不同,在这种情况下,安全设备230可以响应于请求来提供计算开销问题。
如图4另外所示,过程400可以包括确定验证cookie是否有效(块490)。例如,安全设备230可以通过将从客户端设备210接收的验证cookie与向客户端设备210提供的验证cookie进行比较来确定验证cookie是否有效(例如,结合块470)。作为另一示例,安全设备230可以通过确定验证cookie是否已经到期来确定验证cookie是否有效。验证cookie可以例如在特定时间之后、在自从安全设备230提供验证cookie以来已经经过了特定数量的时间之后、在包括验证cookie的特定数量的请求已经被接收之后等到期。
如图4另外所示,如果验证cookie有效(块490为是),则过程400可以包括返回块470以向客户端设备提供响应。例如,安全设备230可以允许客户端设备210和网络设备220正常通信(例如,没有安全设备230向客户端设备210提供计算开销问题)直到验证cookie被确定为无效。在一些实现中,由安全设备230提供的每个响应可以包括相同的验证cookie,或者不同的响应可以包括不同的验证cookie(例如,随机生成的验证cookie),其然后可以用来确定另外的请求是否包括有效的验证cookie(例如,在最近的响应中提供的验证cookie)。
如图4另外所示,如果验证cookie无效(块490为否),则过程400可以包括返回块430以确定待被提供给客户端设备210的另一计算开销问题。附加地或者备选地,安全设备230可以基于确定验证cookie无效来拒绝客户端设备210访问资源(例如,所请求的资源、网络设备220等)。安全设备230可以持续阻止客户端设备210访问资源直到安全设备230从客户端设备210接收到(可能不同的)计算开销问题的正确解决方案。
在一些实现中,安全设备230可以(例如基于DoS度量)确定DoS攻击已经被平息和/或结束,并且可以响应于来自一个或多个客户端设备210的请求来停止提供计算开销问题。附加地或者备选地,安全设备230可以基于确定DoS攻击已经被平息和/或结束来调整接收计算开销问题的客户端设备210的百分比,可以调整所提供的计算开销问题的难度等级等,如本文中其他地方所描述的。以这一方式,安全设备230可以通过增加从网络设备220请求资源的客户端设备210的资源需求来限制DoS攻击的效力。
虽然图4示出了过程400的示例块,然而,在一些实现中,与图4中所示的块相比,过程400可以包括额外的块、较少的块、不同的块或者不同地布置的块。
图5A至图5E为与图4所示的示例过程400有关的示例实现500的图。图5A至图5E示出了检测DDoS攻击、向客户端设备210提供第一计算开销问题、接收第一问题的解决方案、确定时间段已经到期以及确定DDoS攻击仍然进行、以及向客户端设备210提供第二计算开销问题的示例。
如图5A所示,假定用作客户端设备210与网络设备220之间的中间设备的安全设备230被来自对网络设备220执行DDoS攻击的客户端设备210的请求所淹没。如附图标记505所示,安全设备230可以通过例如确定在具体的时间段内接收到的请求的量超过阈值和/或通过确定网络设备220对请求进行响应的延迟超过阈值来检测DDoS攻击。如图所示,假定用于网络设备220对请求进行响应的平均延迟为1000毫秒(ms)。如附图标记510所示,假定在检测到DDoS攻击之后,安全设备230从客户端设备210接收对网站的请求,该网站被示出为www.exmaple.com。如附图标记515所示,安全设备230向客户端设备210提供计算开销问题以缓和DDoS攻击。安全设备230可以基于1000毫秒的平均延迟来确定待发送给客户端设备210的问题。假定安全设备230确定哈希准则问题(以上结合图4所描述的)待被提供给客户端设备210,并且假定安全设备230提供哈希准则问题作为待由客户端设备210来执行的脚本。
如图5B以及附图标记520所示,客户端设备210执行脚本以解决哈希准则问题。例如,假定安全设备230向客户端设备210提供初始随机串(例如,22k0DKQOX03idf83)。另外假定安全设备230通知客户端设备210通过向初始随机串附接新的串来生成所得串并且对所得串应用哈希算法(例如,MD5)以生成哈希值。客户端设备210继续向初始随机串附接新的串直到哈希值在哈希值的结尾处具有四个0(例如,空的字节)。如图所示,假定在第5039次迭代,客户端设备210确定新的串(例如,9Ckem38)在新的串被附接至初始随机串并且所得串通过使用MD5算法求哈希时生成具有四个尾零的哈希值(例如,euD0000)。这一哈希准则问题要求客户端设备210假定大量的处理能力,从而减慢客户端设备210和限制DDoS攻击的效力。
如附图标记525所示,客户端设备210可以向安全设备230提供解决方案串(例如,9Ckem38,产生具有四个尾零的哈希值的新的串)。如附图标记530所示,安全设备230可以通过将解决方案串附接至初始随机串以生成所得串、使用MD5算法对所得串求哈希、以及验证所得哈希值包含四个尾零来验证解决方案。如图5B所示,假定安全设备230已经验证解决方案。如果安全设备230没有验证解决方案(例如,如果解决方案串没有产生具有至少四个尾零的哈希值),则安全设备230可以阻止客户端设备210访问网站www.example.com(例如,可以丢掉所有从客户端设备210接收的业务),可以向客户端设备210提供相同的问题,可以向客户端设备210提供不同的(例如,更困难的)问题等等。
如图5C所示,假定安全设备230已经验证了由客户端设备210提供的解决方案,并且已经授权客户端设备210访问网络设备220(例如,由网络设备220托管的网站)。如附图标记535所示,安全设备230向客户端设备210提供网站(例如,从网络设备220接收的网站)www.example.com。如另外所示,安全设备230还向客户端设备210提供验证cookie(例如,8h42)。如附图标记540所示,假定客户端设备210向安全设备230发送附加请求,并且假定附加请求包括验证cookie。例如,如图所示,通过发送对www.example.com/subpage;8h42的请求,假定客户端设备210请求网站的子页,并且在请求中包括验证cookie。如附图标记545所示,假定安全设备230确定验证cookie有效,并且提供对请求的响应(例如,从网络设备220接收子页并且将子页提供给客户端设备210)而不请求客户端设备210执行另一计算开销问题。
如图5D所示,假定在稍后的时间,客户端设备210向网络设备220发送附加请求,其由安全设备230来解释。例如,如附图标记550所示,如图所示,通过发送对www.example.com/image.jpg;8h42的请求,假定客户端设备210请求来自网站的资源(例如,图像),并且在请求中包括验证cookie。如附图标记555所示,假定安全设备230确定与验证cookie关联的时间段已经到期。另外假定安全设备230通过例如确定在具体的时间段内接收到的请求的数量超过阈值和/或通过确定用于网络设备220对请求进行响应的延迟为8000毫秒而检测到DDoS攻击正在发生。假定安全设备230基于8000毫秒的平均延迟确定哈希准则问题和哈希列表问题(结合图4所描述的)两者都被提供给客户端设备210。如附图标记560所示,假定安全设备230提供哈希准则问题和哈希列表问题作为待由客户端设备210来执行的脚本。安全设备230可以提供者两个问题和/或比图5A和图5B描述的更难的问题,因为对请求进行响应的延迟已经从1000毫秒增加至8000毫秒。
如图5E和附图标记565所示,客户端设备210执行脚本以解决哈希准则问题。例如,假定安全设备230向客户端设备210提供初始随机串(例如,7C83JL)。另外假定安全设备230通知客户端设备210通过向初始随机串附接新的串来生成所得串并且向所得串应用哈希算法(例如,MD5)以生成哈希值。客户端设备210继续向初始随机串附接新的串直到哈希值在哈希值的结尾处具有五个零(例如,空的字节)。假定安全设备230提供需要具有五个零而非四个零的哈希值的指令(例如,每个结合图5B所描述的问题),因为DDoS攻击已经在强度上增加了,这一点由图5D中所示的与图5A相比较大的延迟值来证明。如图所示,假定在第10,620次迭代,客户端设备210确定新的串(例如,Rm38E)在新的串被附接至初始随机串并且所得串通过使用MD5算法求哈希时生成具有五个尾零的哈希值(例如,N200000)。这一哈希准则问题要求客户端设备210假定大量的处理能力,从而减慢客户端设备210和限制DDoS攻击的效力。
如附图标记570所示,客户端设备210还执行用于解决哈希列表问题的脚本。例如,假定安全设备230向客户端设备210提供初始种子串(例如,uLm98Qw)。另外假定安全设备230通知客户端设备210通过根据初始种子串生成1000个哈希值的列表并且通过根据指定算法和/或序列将哈希值合并成列表来生成解决方案值。如图所示,客户端设备210生成1000个哈希值并且根据算法将这些哈希值合并以生成解决方案值(例如,17TY6)。这一哈希列表问题要求客户端设备210消耗大量存储器空间,从而减慢客户端设备并且限制DDoS攻击的效力。
如附图标记575所示,客户端设备210向安全设备230提供哈希准则问题的解决方案(例如,Rm38E)和哈希列表问题的解决方案(例如,17TY6)。如附图标记580所示,假定安全设备230验证解决方案。例如,安全设备230可以如本文中结合图5B所描述的验证哈希准则问题的解决方案。安全设备230可以通过比较所接收的解决方案与存储器中所存储的值(例如,与向客户端设备210提供的初始种子串关联的解决方案值)来验证哈希列表问题的解决方案。因为安全设备230已经验证了解决方案,所以安全设备230可以授权对网络设备220的访问,并且网络设备220可以对来自客户端设备210的请求进行响应。安全设备230可以持续以这种方式或者类似的方式操作直到DDoS攻击已经被平息。
如以上所指出的,图5A至图5E被提供仅作为示例。其他示例是可能的,并且可以不同于关于图5A至图5E所描述的这些示例。
前述公开内容提供了说明和描述,而非旨在是排他性的或者将实现限制为所公开的具体形式。修改和变型鉴于以上公开内容是可能的,或者可以通过实现的实践来获得。
如本文中所使用的,术语“部件”旨在被广义地理解为硬件、固件、或者硬件和软件的组合。
将清楚的是,本文中所描述的系统和/或方法可以用附图中所图示的实现中的很多不同形式的软件、固件和硬件来实现。用来实现这些系统和/或方法的实际的软件代码或具体的控制硬件不限制实现。因此,系统和/或方法的操作和行为被描述而没有参考具体的软件代码——其被理解为,软件和硬件可以被设计成基于本文中的描述来实现这些系统和/或方法。
一些实现在本文中被描述为从设备接收信息或者向设备提供信息。这些短语可以指代直接从设备接收信息或者直接向设备提供信息,而没有经由位于设备之间的通信路径的中间设备传输的信息。附加地或者备选地,这些短语可以指代经由一个或多个中间设备(例如,网络设备)接收由设备提供的信息,或者经由一个或多个中间设备向设备提供信息。
在本文中一些实现被结合阈值来描述。如本文中所使用的,满足阈值可以指代值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等等。
虽然权利要求中记载和/或说明书中公开了具体的特征组合,然而这些组合并非旨在限制可能的实现的公开。实际上,可以用没有在权利要求中具体记载和/或在说明书中具体公开的方式来组合这些特征中的很多特征。虽然以下列出的每个从属权利要求可以直接从属于仅一个权利要求,然而可能的实现的公开内容包括与权利要求书中的每个其他权利要求结合的每个从属权利要求。
本文中所使用的元件、动作或指令都不应当被理解为是决定性的或者至关重要的,除非明确地这样描述。此外,如本文中所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中所使用的,术语“集合”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。在仅旨在一个项目的情况下,使用术语“一个”或类似的语言。此外,短语“基于”旨在表示“至少部分基于”,除非明确地另有说明。

Claims (20)

1.一种设备,包括:
用于检测拒绝服务攻击的装置;
用于从客户端设备接收用于对资源进行访问的请求的装置;
用于基于所述请求以及另外基于检测所述拒绝服务攻击来确定待被提供给所述客户端设备的计算开销问题的装置;
用于向所述客户端设备提供所述计算开销问题的装置,所述计算开销问题被提供以使所述客户端设备解决所述计算开销问题;
用于从所述客户端设备接收对所述计算开销问题的解决方案的装置;以及
用于基于所述解决方案来授权或拒绝所述客户端设备对所述资源进行访问的装置。
2.根据权利要求1所述的设备,还包括:
用于通过以下操作至少之一来处理所述解决方案的装置:
将所述解决方案与存储值比较;或者
使用所述解决方案执行计算;以及
其中所述用于授权或拒绝对所述资源进行访问的装置包括:
用于基于处理所述解决方案来授权或拒绝对所述资源进行访问的装置。
3.根据权利要求1所述的设备,其中所述用于确定待被提供给所述客户端设备的所述计算开销问题的装置包括:
用于确定与所述拒绝服务攻击关联的度量的装置;以及
用于基于所述度量来确定所述计算开销问题的装置。
4.根据权利要求1所述的设备,
其中所述用于授权或拒绝对所述资源进行访问的装置包括:
用于授权对所述资源进行访问的装置;以及
其中所述设备还包括:
用于基于授权对所述资源进行访问来向所述客户端设备提供验证指示符的装置;
用于从所述客户端设备接收附加请求的装置,
所述附加请求包括所述验证指示符;
用于验证所述验证指示符的装置;以及
用于基于验证所述验证指示符来提供对所述附加请求的响应的装置,
所述响应不包括所述计算开销问题或另一计算开销问题。
5.根据权利要求1所述的设备,
其中所述用于授权或拒绝对所述资源进行访问的装置包括:
用于拒绝对所述资源进行访问的装置;以及
其中所述设备还包括:
用于基于拒绝对所述资源进行访问来向所述客户端设备提供附加计算开销问题的装置,
与所述计算开销问题相比,解决所述附加计算开销问题需要更多处理能力或存储器空间。
6.根据权利要求1所述的设备,其中所述用于授权或拒绝对所述资源进行访问的装置包括:
用于授权对所述资源进行访问的装置;以及
其中所述设备还包括:
用于基于授权对所述资源进行访问来向所述客户端设备提供验证指示符的装置;
用于从所述客户端设备接收附加请求的装置,
所述附加请求包括所述验证指示符;
用于确定所述验证指示符已经到期的装置;以及
用于基于确定所述验证指示符已经到期来向所述客户端设备提供附加计算开销问题的装置。
7.根据权利要求1所述的设备,其中所述用于确定待被提供给所述客户端设备的所述计算开销问题的装置包括:
用于确定与所述客户端设备关联的简档的装置,
所述简档指示所述请求与所述拒绝服务攻击关联的概率;以及
用于基于所述简档来确定所述计算开销问题的装置。
8.一种系统,包括:
用于检测攻击的装置;
用于从客户端设备接收对资源的请求的装置;
用于基于检测所述攻击来确定待被提供给所述客户端设备的计算开销问题的装置,
所述计算开销问题需要由所述客户端设备解决所述计算开销问题的计算;
用于通知所述客户端设备提供对所述计算开销问题的解决方案的装置;
用于从所述客户端设备接收对所述计算开销问题的所述解决方案的装置;以及
用于基于所述解决方案来向所述客户端设备选择性地提供对所述资源进行访问的装置。
9.根据权利要求8所述的系统,还包括:
用于通过以下操作至少之一来处理所述解决方案的装置:
将所述解决方案与存储值比较;或者
使用所述解决方案执行计算,
其中所述用于选择性地提供对所述资源进行访问的装置包括:
用于基于处理所述解决方案来选择性地提供对所述资源进行访问的装置。
10.根据权利要求8所述的系统,其中所述用于确定待被提供给所述客户端设备的所述计算开销问题的装置包括:
用于确定与所述攻击关联的度量的装置;以及
用于基于所述度量来确定所述计算开销问题的装置。
11.根据权利要求8所述的系统,
其中所述用于选择性地提供对所述资源进行访问的装置包括:
用于提供对所述资源进行访问的装置;以及
其中所述系统还包括:
用于基于提供对所述资源进行访问来向所述客户端设备提供验证指示符的装置;
用于从所述客户端设备接收附加请求的装置,
所述附加请求包括所述验证指示符;
用于验证所述验证指示符的装置;以及
用于基于验证所述验证指示符来提供对所述附加请求的响应的装置,
所述响应不包括所述计算开销问题或另一计算开销问题。
12.根据权利要求8所述的系统,
其中所述用于选择性地提供对所述资源进行访问的装置包括:
用于拒绝对所述资源进行访问的装置;以及
其中所述系统还包括:
用于基于拒绝对所述资源进行访问来向所述客户端设备提供附加计算开销问题的装置,
与所述计算开销问题相比,解决所述附加计算开销问题需要更多计算资源。
13.根据权利要求8所述的系统,
其中所述用于选择性地提供对所述资源进行访问的装置包括:
用于提供对所述资源进行访问的装置;以及
其中所述系统还包括:
用于基于提供对所述资源进行访问来向所述客户端设备提供验证指示符的装置;
用于从所述客户端设备接收附加请求的装置,
所述附加请求包括所述验证指示符;
用于确定所述验证指示符无效的装置;以及
用于基于确定所述验证指示符无效来向所述客户端设备提供附加计算开销问题的装置。
14.根据权利要求8所述的系统,其中所述用于确定待被提供给所述客户端设备的所述计算开销问题的装置包括:
用于确定与所述客户端设备关联的简档的装置,
所述简档指示所述请求与所述攻击关联的概率;以及
用于基于所述简档来确定所述计算开销问题的装置。
15.一种方法,包括:
由安全设备检测拒绝服务攻击;
由所述安全设备从客户端设备接收请求;
由所述安全设备基于检测所述拒绝服务攻击来确定待被提供给所述客户端设备的计算开销问题;
由所述安全设备确定使所述客户端设备解决所述计算开销问题的代码;
由所述安全设备通知所述客户端设备执行所述代码,
所述代码使所述客户端设备生成对所述计算开销问题的解决方案;
由所述安全设备从所述客户端设备接收所述解决方案;以及
由所述安全设备基于所述解决方案向所述客户端设备提供对所述请求的响应。
16.根据权利要求15所述的方法,还包括:
确定所述解决方案正确;以及
其中提供所述响应还包括:
基于确定所述解决方案正确来提供不包括计算开销问题的对所述请求的响应。
17.根据权利要求15所述的方法,还包括:
确定所述解决方案不正确;以及
其中提供所述响应还包括:
基于确定所述解决方案不正确来提供包括另一计算开销问题的对所述请求的响应。
18.根据权利要求15所述的方法,其中确定所述计算开销问题还包括:
确定与所述拒绝服务攻击关联的度量;以及
基于所述度量来确定所述计算开销问题。
19.根据权利要求15所述的方法,还包括:
确定所述解决方案不正确;
基于确定所述解决方案不正确来拒绝在所述请求中所请求的对资源进行访问;以及
其中提供所述响应还包括:
基于拒绝对所述资源进行访问来向所述客户端设备提供附加计算开销问题,
与所述计算开销问题相比,解决所述附加计算开销问题需要更多计算资源。
20.根据权利要求15所述的方法,还包括:
确定所述解决方案正确;以及
基于确定所述解决方案正确来授权在所述请求中所请求的对资源进行访问;
其中提供所述响应还包括:
基于确定所述解决方案正确来向所述客户端设备提供验证指示符;以及
其中所述方法还包括:
从所述客户端设备接收附加请求,
所述附加请求包括所述验证指示符;
确定所述验证指示符无效;
确定与所述拒绝服务攻击关联的度量;以及
基于确定所述验证指示符无效以及另外基于所述度量来向所述客户端设备提供附加计算开销问题。
CN201410521259.0A 2013-09-30 2014-09-30 限制拒绝服务攻击的效力的设备、系统及方法 Active CN104519049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811288424.7A CN109617857B (zh) 2013-09-30 2014-09-30 用于限制拒绝服务攻击的效力的设备和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/042,221 US9392018B2 (en) 2013-09-30 2013-09-30 Limiting the efficacy of a denial of service attack by increasing client resource demands
US14/042,221 2013-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811288424.7A Division CN109617857B (zh) 2013-09-30 2014-09-30 用于限制拒绝服务攻击的效力的设备和方法

Publications (2)

Publication Number Publication Date
CN104519049A true CN104519049A (zh) 2015-04-15
CN104519049B CN104519049B (zh) 2018-11-09

Family

ID=51655567

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410521259.0A Active CN104519049B (zh) 2013-09-30 2014-09-30 限制拒绝服务攻击的效力的设备、系统及方法
CN201811288424.7A Active CN109617857B (zh) 2013-09-30 2014-09-30 用于限制拒绝服务攻击的效力的设备和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811288424.7A Active CN109617857B (zh) 2013-09-30 2014-09-30 用于限制拒绝服务攻击的效力的设备和方法

Country Status (3)

Country Link
US (3) US9392018B2 (zh)
EP (2) EP3313045B1 (zh)
CN (2) CN104519049B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3413229A4 (en) * 2016-02-02 2019-07-17 NTT Communications Corporation CONTROL DEVICE, SUPPRESSION SYSTEM, CONTROL METHOD AND COMPUTER PROGRAM
CN112640389A (zh) * 2018-09-07 2021-04-09 贝宝公司 使用短暂url密码来阻止大量攻击

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10157280B2 (en) 2009-09-23 2018-12-18 F5 Networks, Inc. System and method for identifying security breach attempts of a website
US9392018B2 (en) 2013-09-30 2016-07-12 Juniper Networks, Inc Limiting the efficacy of a denial of service attack by increasing client resource demands
US9985943B1 (en) * 2013-12-18 2018-05-29 Amazon Technologies, Inc. Automated agent detection using multiple factors
US10438225B1 (en) 2013-12-18 2019-10-08 Amazon Technologies, Inc. Game-based automated agent detection
US10382415B2 (en) * 2014-04-21 2019-08-13 Ohio University Application engagement identification using a dynamic pattern
JP5947838B2 (ja) * 2014-07-04 2016-07-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃検出装置、攻撃検出方法、および攻撃検出プログラム
US20160212100A1 (en) * 2015-01-21 2016-07-21 Onion ID, Inc. Transparent proxy system with automated supplemental authentication for protected access resources
US9787696B2 (en) * 2015-05-19 2017-10-10 Workday, Inc. Brute force attack prevention system
US10284371B2 (en) * 2015-05-19 2019-05-07 Workday, Inc. Brute force attack prevention system
WO2017007705A1 (en) * 2015-07-06 2017-01-12 Shape Security, Inc. Asymmetrical challenges for web security
GB2547441B (en) * 2016-02-17 2020-04-29 Arm Ip Ltd A method for mitigating a DOS attack on a device
US10673719B2 (en) * 2016-02-25 2020-06-02 Imperva, Inc. Techniques for botnet detection and member identification
US10831381B2 (en) 2016-03-29 2020-11-10 International Business Machines Corporation Hierarchies of credential and access control sharing between DSN memories
US10187421B2 (en) 2016-06-06 2019-01-22 Paypal, Inc. Cyberattack prevention system
US10673870B2 (en) 2017-01-27 2020-06-02 Splunk Inc. Security monitoring of network connections using metrics data
US11496438B1 (en) 2017-02-07 2022-11-08 F5, Inc. Methods for improved network security using asymmetric traffic delivery and devices thereof
US10757058B2 (en) * 2017-02-17 2020-08-25 International Business Machines Corporation Outgoing communication scam prevention
US10810510B2 (en) 2017-02-17 2020-10-20 International Business Machines Corporation Conversation and context aware fraud and abuse prevention agent
US10102868B2 (en) 2017-02-17 2018-10-16 International Business Machines Corporation Bot-based honeypot poison resilient data collection
US10791119B1 (en) 2017-03-14 2020-09-29 F5 Networks, Inc. Methods for temporal password injection and devices thereof
US10931662B1 (en) 2017-04-10 2021-02-23 F5 Networks, Inc. Methods for ephemeral authentication screening and devices thereof
US10362055B2 (en) * 2017-08-10 2019-07-23 Blue Jeans Network, Inc. System and methods for active brute force attack protection
US11658995B1 (en) 2018-03-20 2023-05-23 F5, Inc. Methods for dynamically mitigating network attacks and devices thereof
US10798124B2 (en) * 2018-04-25 2020-10-06 Arbor Networks, Inc. System and method for detecting slowloris-type attacks using server application statistics
CN108833410B (zh) * 2018-06-19 2020-11-06 网宿科技股份有限公司 一种针对HTTP Flood攻击的防护方法及系统
US11025638B2 (en) * 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
CN110046500B (zh) * 2019-03-11 2022-04-15 刘勇 一种用于网络防护的动态cookie验证方法及装置
US11538038B2 (en) * 2019-05-31 2022-12-27 Paypal, Inc. Systems and methods for remote detection of computer device attributes
US20210075817A1 (en) * 2019-09-06 2021-03-11 Winston Privacy Method and system for variable or static rate limiting of javascript functions with potential for privacy risk
US11165587B2 (en) * 2019-12-03 2021-11-02 Bank Of America Corporation System for authorizing resource requests based on cryptographic computations and federated hash verifications
CN111107075A (zh) * 2019-12-13 2020-05-05 中国工商银行股份有限公司 请求响应方法、装置、电子设备和计算机可读存储介质
CN111314332A (zh) * 2020-02-05 2020-06-19 中国工商银行股份有限公司 访问控制方法、装置、计算机系统和计算机可读存储介质
US11539528B2 (en) 2020-03-02 2022-12-27 Bank Of America Corporation System for authorizing secured access using cryptographic hash value validations
US11089051B1 (en) * 2021-02-15 2021-08-10 Theta Labs, Inc. Preventing denial-of-service attacks in decentralized edge networks using verifiable delay functions (VDFs)
US11962615B2 (en) 2021-07-23 2024-04-16 Bank Of America Corporation Information security system and method for denial-of-service detection
CN116055187B (zh) * 2023-01-28 2023-06-16 北京亿赛通科技发展有限责任公司 一种网关的快速动态检测方法、装置、网关设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404211B2 (en) * 2002-09-26 2008-07-22 Kabushiki Kaisha Toshiba Systems and methods for protecting a server computer
CN101299765A (zh) * 2008-06-19 2008-11-05 中兴通讯股份有限公司 抵御ddos攻击的方法
CN101778387A (zh) * 2010-01-08 2010-07-14 西安电子科技大学 抵抗无线局域网接入认证拒绝服务攻击的方法
CN102196432A (zh) * 2011-06-10 2011-09-21 西安电子科技大学 基于二次同余方程的抵抗无线网络拒绝服务攻击的方法
CN102281295A (zh) * 2011-08-06 2011-12-14 黑龙江大学 一种缓解分布式拒绝服务攻击的方法
CN103023924A (zh) * 2012-12-31 2013-04-03 网宿科技股份有限公司 基于内容分发网络的云分发平台的DDoS攻击防护方法和系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7233997B1 (en) * 1997-06-26 2007-06-19 British Telecommunications Plc Data communications
US7197639B1 (en) * 1999-02-05 2007-03-27 Rsa Security Inc. Cryptographic countermeasures against connection depletion attacks
US6851060B1 (en) * 1999-07-15 2005-02-01 International Business Machines Corporation User control of web browser user data
US8171562B2 (en) * 2003-08-26 2012-05-01 Oregon Health & Science University System and methods for protecting against denial of service attacks
US8321955B2 (en) * 2003-08-26 2012-11-27 Wu-Chang Feng Systems and methods for protecting against denial of service attacks
US7694335B1 (en) * 2004-03-09 2010-04-06 Cisco Technology, Inc. Server preventing attacks by generating a challenge having a computational request and a secure cookie for processing by a client
US7600255B1 (en) * 2004-04-14 2009-10-06 Cisco Technology, Inc. Preventing network denial of service attacks using an accumulated proof-of-work approach
JP4555025B2 (ja) * 2004-08-25 2010-09-29 株式会社エヌ・ティ・ティ・ドコモ サーバ装置、クライアント装置および処理実行方法
JP4547210B2 (ja) * 2004-08-27 2010-09-22 株式会社エヌ・ティ・ティ・ドコモ クライアント端末、サービス提供装置及びサービス発見方法
US8250650B2 (en) * 2004-09-09 2012-08-21 International Business Machines Corporation Front-end protocol for server protection
US7206845B2 (en) * 2004-12-21 2007-04-17 International Business Machines Corporation Method, system and program product for monitoring and controlling access to a computer system resource
US7617524B2 (en) * 2005-06-14 2009-11-10 Nokia Corporation Protection against denial-of-service attacks
US8220042B2 (en) * 2005-09-12 2012-07-10 Microsoft Corporation Creating secure interactive connections with remote resources
KR100828372B1 (ko) * 2005-12-29 2008-05-08 삼성전자주식회사 서비스 거부 공격으로부터 서버를 보호하는 방법 및 장치
US7937586B2 (en) * 2007-06-29 2011-05-03 Microsoft Corporation Defending against denial of service attacks
US8112629B2 (en) * 2007-10-26 2012-02-07 Red Hat, Inc. Stateless challenge-response protocol
US8646064B1 (en) * 2012-08-07 2014-02-04 Cloudflare, Inc. Determining the likelihood of traffic being legitimately received at a proxy server in a cloud-based proxy service
US9614868B2 (en) * 2013-03-15 2017-04-04 Robert Bosch Gmbh System and method for mitigation of denial of service attacks in networked computing systems
US9392018B2 (en) 2013-09-30 2016-07-12 Juniper Networks, Inc Limiting the efficacy of a denial of service attack by increasing client resource demands

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404211B2 (en) * 2002-09-26 2008-07-22 Kabushiki Kaisha Toshiba Systems and methods for protecting a server computer
CN101299765A (zh) * 2008-06-19 2008-11-05 中兴通讯股份有限公司 抵御ddos攻击的方法
CN101778387A (zh) * 2010-01-08 2010-07-14 西安电子科技大学 抵抗无线局域网接入认证拒绝服务攻击的方法
CN102196432A (zh) * 2011-06-10 2011-09-21 西安电子科技大学 基于二次同余方程的抵抗无线网络拒绝服务攻击的方法
CN102281295A (zh) * 2011-08-06 2011-12-14 黑龙江大学 一种缓解分布式拒绝服务攻击的方法
CN103023924A (zh) * 2012-12-31 2013-04-03 网宿科技股份有限公司 基于内容分发网络的云分发平台的DDoS攻击防护方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARI JUELS等: ""Client puzzles: acryptographic countermeasure against connection depletion attacks"", 《PROCEEDINGS OF THE 1999 NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM》 *
CHUN-KAN FUNG等: ""A denial-of service resistant public-key authentication and key establishment protocol"", 《CONFERENCE PROCEEDINGS OF THE 2002 IEEE INTERNATIONAL PERFORMANCE, COMPUTING, AND COMMUNICATIONS CONFERENCE》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3413229A4 (en) * 2016-02-02 2019-07-17 NTT Communications Corporation CONTROL DEVICE, SUPPRESSION SYSTEM, CONTROL METHOD AND COMPUTER PROGRAM
US10999315B2 (en) 2016-02-02 2021-05-04 Ntt Communications Corporation Control device, mitigation system, control method, and computer program
CN112640389A (zh) * 2018-09-07 2021-04-09 贝宝公司 使用短暂url密码来阻止大量攻击
US11750596B2 (en) 2018-09-07 2023-09-05 Paypal, Inc. Using ephemeral URL passwords to deter high-volume attacks
CN112640389B (zh) * 2018-09-07 2024-03-08 贝宝公司 用于保护统一资源定位符的系统、方法和机器可读介质

Also Published As

Publication number Publication date
US20160315962A1 (en) 2016-10-27
US9392018B2 (en) 2016-07-12
CN104519049B (zh) 2018-11-09
EP3313045B1 (en) 2019-12-04
US20170302699A1 (en) 2017-10-19
US9699212B2 (en) 2017-07-04
US20150096020A1 (en) 2015-04-02
CN109617857B (zh) 2020-09-04
EP2854366B1 (en) 2017-12-27
US10021132B2 (en) 2018-07-10
CN109617857A (zh) 2019-04-12
EP2854366A1 (en) 2015-04-01
EP3313045A1 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
CN104519049A (zh) 通过增加客户端资源需求来限制拒绝服务攻击的效力
US10171250B2 (en) Detecting and preventing man-in-the-middle attacks on an encrypted connection
US10097520B2 (en) Method and apparatus for causing delay in processing requests for internet resources received from client devices
US11212281B2 (en) Attacker detection via fingerprinting cookie mechanism
US9843590B1 (en) Method and apparatus for causing a delay in processing requests for internet resources received from client devices
CN106789858B (zh) 一种访问控制方法和装置以及服务器
CN106487752B (zh) 一种用于验证访问安全的方法和装置
US9680950B1 (en) Method and apparatus for causing delay in processing requests for internet resources received from client devices
CN112968910B (zh) 一种防重放攻击方法和装置
US11102239B1 (en) Client device identification on a network
US20230179433A1 (en) Systems and Methods for Distributed, Stateless, and Dynamic Browser Challenge Generation and Verification
CN106850592A (zh) 一种信息处理方法、服务器及终端
CN113225348B (zh) 请求防重放校验方法和装置
US11496504B2 (en) SSL proxy whitelisting
US11070567B2 (en) Method for detecting and preventing an attack
KR101370244B1 (ko) 응용 계층 디도스 공격의 탐지 및 차단 방법과 그 장치
CN117061140A (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