CN105940655B - 用于防范DDos攻击的系统 - Google Patents
用于防范DDos攻击的系统 Download PDFInfo
- Publication number
- CN105940655B CN105940655B CN201480074435.9A CN201480074435A CN105940655B CN 105940655 B CN105940655 B CN 105940655B CN 201480074435 A CN201480074435 A CN 201480074435A CN 105940655 B CN105940655 B CN 105940655B
- Authority
- CN
- China
- Prior art keywords
- server
- function
- client
- offloaded
- resource
- 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.)
- Active
Links
Images
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/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
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/146—Tracing the source of attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
提出了一种使服务器能够利用客户端或者第三方资源的方法。客户端请求数据包含关于客户端的网络位置的数据。服务器可以存储每一个客户端的该位置数据。在请求执行之前或者之后,服务器确定该服务器是否处于或者接近过载情况。如果服务器没有处于过载情况,那么不需要进一步改变。如果服务器处于或者接近过载情况,那么服务器从具有所有客户端位置的数据库中选择网络中的新位置。服务器将服务器函数的新实例分配给在该新位置上(或接近该新位置)的资源提供者。服务器可以从数据库中选择一个或多个客户端。所选择的客户端被透明地重定向到减载的服务器函数。通过减载的服务器函数处理来自客户端的后续请求。减载的服务器函数采用相同的功能,并且因此可以决定将服务器函数卸载到另一个网络位置。
Description
技术领域
本发明涉及保护连接到网络的设备免受经由该网络的攻击的分布式拒绝服务攻击防御方法和设备、以及用于该方法的计算机程序。
背景技术
当今,由于DDos攻击,流行的网页服务器会遭受严重的(虽然通常仅是暂时的)服务器过载。根据增加响应时间或者甚至服务器不可用,服务器过载将引起网页浏览性能降低。对于强烈依赖网络服务的公司或者机构,控制网络服务器性能将是至关重要的。在客户端服务器应用程序中,服务器处理来自客户端的服务请求(例如,检索网页、发送命令到外围设备)。通常,通过诸如局域网、互联网或者电信网络的介质处理客户端和服务器通信。客户端服务器会话可以被限制为单个服务请求和响应,但也可以包括许多连续的请求和响应。所感知的服务质量(例如,响应时间)受若干因素影响,诸如通信介质中的吞吐量和延迟以及服务器的计算容量。大量的同时请求会导致服务器的容量过载并且导致请求迟或者未答复。在分布式拒绝服务(DDos)攻击中,来自位于网络中不同位置的大量的客户端的请求到达。
在DDos攻击的检测策略中可以发现针对DDos攻击的响应,并且针对其采取防范措施。可以通过在网络服务前方的设备执行DDos攻击网络流量检查的检测,该设备获取网络流量数据包用于分析目的。在分析期间,网络数据包的内容(通常协议报头)被提交给一组规则或者签名,该规则或者签名定义该网络数据包(以及来自同一网络会话的相关流量)是恶意网络流量的概率。基于该阶段的概率结果,部署采取另一个防范措施(例如,速率限制)以防止DDos攻击。
另一个检测方法是背散射流量分析。通过客户端发送的DDos攻击网络流量通常利用不正确的源网络地址,(IP欺骗)其意味着该网络流量包含另一个系统的源地址指针,该源地址指针在互联网上某处而不是在发送数据包的客户端上。这种网络流量会导致所谓的背散射流量:受到攻击的服务器将网络流量发送到传入网络数据包的欺骗地址。所谓的网络望远镜(CAIDA),被特别设计为获取背散射流量,并且通过网络望远镜能够检测进行中的DDos攻击。例如,当应用准入控制时,使用计算的模型,计算机服务器可以预测到达过载情况的可能性,参见:。一旦发起新客户端服务器会话,这些方法可以预测近期的预期的计算的负载。当预期的计算的负载超过阈值:服务器的容量时,不允许新会话进入服务(参见阻挡)。这种过载情况可以是进行中的DDos攻击的指示,DDos攻击在同一时间可以触发准入控制程序作为计数器测量。
进一步,已知的防范措施包括准入控制解决方案,其被称为速率限制、节流或者阻挡机制。速率限制开关、路由器或者服务器控制在网络接口上传输或者接收流量的速率。丢弃或者延迟超过特定速率限制的网络流量。在DDos攻击的情况下,速率限制设备可以用于保护服务器防止变得过载,以及甚至崩溃。在同一时间,单单速率限制并不能防止服务变得不能到达。
在其最极端的形式下,速率限制或者节流等于阻挡(无限延迟)。有状态防火墙是网络流量检查的应用程序。其中无状态防火墙基于单独的数据包的内容检查网络流量,有状态防火墙在进行中的通信会话的背景下进行检查。
美国专利第7188366号公开了检测在容纳服务器的LAN的边缘路由器中的攻击数据包的方法。该数据包随后被破坏,检索到了接近攻击源的上游路由器的地址,并且将攻击源检索模块从边缘路由器传输到所有上游路由器。当到达了最上游处的路由器时,执行保护模块以破坏攻击数据包。当攻击停止时,删除保护模块本身并且保护处理结束。
EP1612674关注处理对信息处理系统的访问请求的方法。检测了系统是否过载或者将要过载。在这种情况下,检测一种类型的访问请求并且将其与一种类型的系统过载进行比较。当超过指定类型的访问控制参数的预定阀值水平时,不允许被认为促成过载情况的访问请求。然而,对于被提出不许可的地址请求,其没有提供解决方案。
与基于网络流量过滤的现有技术相关联的问题是,期望关于恶意网络流量的内容的一些了解。基于检查网络流量的检测机制会导致误检和未检测到的DDos攻击。这通过客户端服务器程序示出,客户端服务器程序利用加密的或者模糊的网络流量。检查网络流量的网络设备不能访问加密的或模糊的数据,并且因此不能推导通信的类型,并且不能判定会话是合法的还是非法的。
发明内容
根据本申请的一个方面,提供了用于处理访问请求的方法,借此在访问请求的进一步处理中考虑了各种资源的可用容量。因此,提供了用于处理服务器过载的方法,包括:
-通过服务器函数(SF)提供服务器应用程序的一部分或者全部功能;所述服务器函数(SF)包括一个或多个能够减载(offlodable)的服务器函数(OSF),能够减载的服务器函数提供服务器应用程序的一部分或者全部功能,并且能够加载在其他资源上;
-提供多个资源提供者(一个资源提供者),资源提供者能够提供用于承载所述能够减载的服务器函数的资源;
-通过负载检测函数(过载检测函数)检测服务器负载,该负载检测函数被构建为确定服务器函数是否处于或者接近过载情况;以及
-响应于负载检测函数检测到过载情况,将所检测的客户端请求重定向到减载的(offloaded)服务器函数。
因此,提供了解决方案,用于响应于服务请求的过载,将服务请求透明地上传到在客户端或者第三方设备上的服务器软件并且执行该服务器软件。通过在多个位置提供装置承载服务器功能,对于一组客户端,可以缓和由DDos攻击引起的过载情况。
与现有技术相比,该解决方案的一个优点是,不要求关于恶意网络流量的内容的了解。因此,该解决方案可以是理想的零日(没有看到之前)攻击。基于网络流量过滤的当前现有技术基于信息,该信息基于网络层。由于DDos攻击的缓解发生在应用层(服务器函数被复制成客户端的方向),该解决方案更适合用于应用层DDos攻击的缓解。本发明提供了解决方案用于响应于服务请求的过载,将服务请求透明地上传到在客户端或者第三方设备上的服务器软件并且执行该服务器软件。
在一个实施方式中,服务器进一步包括资源提供者查找函数,以从所述资源提供者中选择资源。查找函数可以形成有效的方式,将客户端请求重定向到可用资源提供者,而不给系统资源带来压力。另外或可替换地,可以通过指示能选择资源的客户端请求通告提供选择。如果客户端具有可用资源或者具有功能以检测可用资源,那么可以是这种情况。这可以用于最小服务器负载的优点。
在又一个实施方式中,反过来,减载的服务器函数可以包括一个或多个能够减载的服务器函数(OSF),OSF提供服务器应用程序的一部分或者全部功能,并且可以在另一个网络位置的其他资源上加载OSF。这对于将资源转移到另一个设备是方便的,其反过来可以将功能转发到位于网络中合适位置的资源,这可能不被主服务器的查找函数得知。
在又一个实施方式中,可以检索到在上游接近攻击源的通信设备的地址;并且可以将减载的服务器函数传输到在上游的防御位置的资源提供者。这具有最小化服务器负载的优点并且提供攻击的传染机制,其可以压制(throttle)攻击者。例如,资源提供者查找函数可以包括攻击源确定函数,攻击源确定函数能够提取通信设备的地址,通信设备的地址是由资源提供者查找函数检索到的从接近攻击源的上游通信设备的候选中选出作为上游防御位置。
在又一个实施方式中,多个资源对象包括物理资源和虚拟资源中的至少一种。
附图说明
图1示出了根据本发明的实施方式的客户端服务器交互的示意性配置;
图2示出了使用重定向到第三方资源的客户端服务器交互的详细实施方式;
图3示出了依赖于所检测的服务器过载条件的行为的示意性流程;
图4示出了减载的服务器函数的上游重定向;
图5示出了使用重定向到本地资源的客户端服务器交互的详细实施方式。
具体实施方式
提出了一种使服务器能够利用客户端或者第三方资源的方法。客户端请求数据包括关于客户端的网络位置的数据。服务器可以存储每一个客户端的该位置数据。在请求的执行之前或者之后,服务器判定该服务器是否处于或者接近过载情况。如果服务器没有处于过载情况,那么不需要进一步改变。如果服务器处于或者接近过载情况,那么服务器从具有所有客户端位置的数据库中选择网络中的新位置。服务器将服务器函数的新实例分配给在该位置上(或接近该位置)的资源提供者。服务器可以从数据库中选择一个或多个客户端。所选择的客户端被透明地重定向到减载的服务器函数。由减载的服务器函数处理来自客户端的后续请求。减载的服务器函数采用相同的功能,并且因此可以决定将服务器函数卸载到另一个网络位置。
为执行该方法,提供了所描述的功能的系统可以由以下功能部件组成。
·服务器函数(SF)提供服务器应用程序的(一部分)功能。服务器应用程序可以包含一个或多个不同的服务器函数。
·减载的服务器函数(OSF)提供服务器的(一部分)功能,能够减载的服务器函数可以在其他资源上加载。
·资源提供者(资源提供者)是能够提供用于承载减载的服务器函数的资源的第三方或者客户端设备。
·过载检测函数(过载检测函数)使用来自客户端请求的信息和服务器函数的当前资源消耗,以确定服务器函数是否处于或者接近过载情况。
除非另外定义,否则如在描述和附图的背景下阅读,本文中使用的所有术语(包括技术术语和科学术语)与本发明所属领域内的普通技术人员通常所理解的具有相同的含义。将进一步理解,诸如在通常使用的词典中定义的那些术语应被解释为具有与它们在相关技术的背景下的含义一致的含义,并且将不以理想化的或者过于正式的意义解释,除非本文中明确如此定义。在一些实例中,可以省略公知设备和方法的详细描述,以便不模糊本系统和本方法的描述。术语“和/或”包括相关联的所列项中的一个或多个的任何和所有组合。将进一步理解,术语“包括(comprises)”和/或“包含(comprising)”指定所陈述的特征的存在,但是不排除存在或者附加一个或多个其他特征。本文中提及的所有出版物、专利申请、专利以及其他引用通过引用其全部内容结合于此。如果冲突,本说明书,包括定义,将控制。
贯穿本申请,用于执行所公开的方法的任何函数,具体地,如以下进一步明确的:服务器函数、减载的/能够减载的服务器函数、负载检测函数、资源提供者查找函数以及攻击源确定函数,以硬件和/或软件实现并且作为可由函数结构识别,其在系统中执行,即函数在硬件和/或软件中物理实现或者通过网络传输信息结构。可以以硬件或者软件实现函数,以提供专用处理电路,专用处理电路处理从系统资源读取的输入数据。例如,服务器函数可以由连接的物理网络设备提供,但也可以被形成为在网络中运行的虚拟设备,并且服务器函数可以在硬件资源上实现,硬件资源可以经由网络通信到达。可以由一个或多个处理器执行这些函数,处理器被配置为根据本系统和本方法执行操作行为,诸如向各种其他模块部件提供控制信号。处理器可以是用于根据本系统执行的专用处理器,或者可以是通用处理器,其中,仅运行许多函数中的一个用于根据本系统执行。处理器可以利用程序部分、多个程序段运行,或者可以是利用专用集成电路或者多功能集成电路的硬件设备。可以使用任何类型的处理器,诸如专用的或者共享的一个处理器。处理器可以包括微控制器、中央处理单元(CPU)、数字信号处理器(DSP)、ASIC或者任何其他处理器或控制器(诸如数字光学器件)或者执行相同函数并且采用电子技术和电子架构的模拟电路。控制器或者处理器还可以包括存储器,该存储器可以部分或者可操作地耦接到控制器。存储器可以是存储数据的任何合适类型的存储器。任何可以存储和/或传输适合用于本系统和本方法的信息的已知的或者已开发的介质可以用作存储器。存储器还可以存储可由控制器访问的用户偏好和/或应用程序数据,用于配置存储器以根据本系统和本方法执行操作行为。
参考附图,在下文中更全面地描述了本发明,附图中示出了本发明的实施方式。然而,本发明可以以许多不同的形式实现,并不应被解释为限制于本文中所阐述的实施方式。而是提供这些实施方式使得本公开将更详尽和完整,并将全面地将本发明的范围传达给本领域内的技术人员。示例性实施方式的描述旨在结合附图来阅读,附图被认为是整个书面描述的一部分。在附图中,为了清晰可以放大系统、部件、层以及区域的大小和相对大小。参考本发明的可能理想化的和/或中间的结构的示意图描述实施方式。
图1更详细地示出了提供用于处理服务器过载的方法的系统。客户端应用程序利用请求的操作参数向服务器应用程序发送请求(1)。操作参数可以包括位置信息(例如,网络地址、IP地址、凭证、会话密钥)(的引用)。服务器可以将客户端的位置信息存储在数据存储(例如,在数据库)中(2)。可以通过几种方法完成服务器函数的过载检测,例如使用资源负载阈值(CPU限制)或者基于模型的办法,该办法基于履行(例如,在Meulenhoff et al.,Intelligent overload control for composite web services,Service-OrientedComputing,2009中公开的代理类型的)请求的平均服务时间。如果过载情况的可能性低,那么由服务器函数处理请求(1)。在通过引用结合于此的EP1612674中给出的过载检测函数的另一个实例接收请求的操作参数(3),并且可以读取服务器的当前资源消耗,得到所计算的服务器函数成为过载情况的可能性。
如果过载检测函数估计高过载可能性(3),则响应于检测过载情况的负载检测函数,服务器函数将检测到的客户端请求重定向到在所选择的资源提供者上的减载的服务器函数(1和7)。例如,这可以通过从数据存储(2)中限定位置为新服务器位置来完成。在其他方法之中,限定新服务器位置可以通过集群(例如利用k均值,其中将集群的数量k设为2)或者通过基于图形的办法(其中将图像分割并且指派给新服务器)来完成。服务器可以利用资源提供者查找函数得到资源提供者的位置和详细联系方式(4),并且减载的服务器函数分配给在该位置上的资源提供者(5和6)。指派给减载的服务器函数的客户端的子集由服务器函数重定向(例如,由HTTP重定向或者DNS重新配置)。在这种情况下,客户端函数利用减载的服务器函数(7)。减载的服务器函数可以与在同一物理设备上执行的或者在物理网络中的别处执行的另一个服务器函数通信(8)。
图2示出经由例如互联网连接的用户或者客户终端1和服务器2。终端1可以以重定向函数,经由互联网将访问请求(15a、15b)发送给服务器2。如图2所示,发送到服务器应用程序的客户端请求(2)可以包含并且通告有关一个或多个资源提供者3(例如,由ISP提供的云资源提供者、Azure、Amazon)的信息。也可以在另一个时刻经由另一个路径将通告发送给服务器;或者可替换地,可以通过资源提供者自身经由指定的协议发送通告。通告可以包含关于本地和第三方资源提供者的数据(例如,URL、操作参数、设定、凭证、记号、密钥)的列表。如果减载的服务器函数可用并且减载的服务器函数判定函数决定利用减载的服务器函数(16),那么重定向函数将来自客户端应用程序的请求重定向到减载的服务器函数(23)。重定向和减载的服务器函数判定函数的位置可以变化:在客户端设备、在服务器应用程序或者在客户端与服务器之间的路径上的设备(例如,代理服务器、路由器、深度包检测设备)上。重定向函数可以在各种等级下运行,并且可以通过网络地址转换、网络流量路由(路由表配置)、名称服务查找(例如,DNS查找)、专用代理(例如,网络代理服务器)实施。如果没有配备重定向函数,那么请求到达服务器(15b)。服务器使用减载的服务器函数判定函数(17)和资源提供者选择函数(18),以判定放置减载的服务器函数是否是更优的,并且使用哪个资源(选择哪个资源提供者)承载减载的服务器函数。减载的服务器函数判定函数和资源提供者选择函数的输入是:减载的服务器函数的预期资源消耗、由客户端提供的资源提供者信息(URL、访问凭证、当前状态、接口协议)、由第三方资源提供者提供的资源使用数据。例如,如图1中示出的在客户端存储中实现的资源提供者选择函数可以查询己知的资源提供者(19)用于更新资源使用数据(例如,计算负载、存储器消耗、网络延迟)。在选择最佳位置之后,通过服务器2请求资源提供者创建减载的服务器函数(20)(例如,经由HTTP网络服务调用)。由在第三方3上的资源提供者创建减载的服务器函数(21)。资源提供者还从客户端应用程序将重定向函数配备到减载的服务器函数(22)。重定向函数的位置可以变化:在客户端设备(例如,网络代理、路由、DNS配置或者网络浏览器的插件)、在服务器的位置(例如,HTTP重定向、网络服务器的插件)或者在客户端和服务器之间的路径上的某处(例如,应用程序协议代理、路由、DNS)。当重定向函数、减载的服务器函数以及客户端设备位于在同一组织的控制下的计算机网络中时,还可以以相同计算机网络的重新配置(例如,路由器的配置、代理服务器、在ISP网络中的DNS配置或者在家庭网络中的家用路由器的配置,其中在像机顶盒的本地设备上安装减载的服务器函数)的形式实现重定向函数,使得来自客户端的请求可以被直接路由到减载的服务器函数。最终,来自客户端的请求被重定向到减载的服务器函数并且在那里处理该请求(23)。
重定向函数的实现利用JavaWebstart的减载的服务器函数
在这里,我们描述在实现HTTP和Java Web Start的情况下的本发明的处理。客户端应用程序是网页浏览器应用程序。可以通过引起(原代码的)新处理、在脚本引擎中运行脚本、在管理程序中开始新虚拟机实现减载的服务器函数。在这里我们使用在客户端计算机运行的Java Web Start应用程序。在下方示出通过客户端发送HTTP请求(步骤7a、15a)的最小实例。
GET/webapplication HTTP/1.1
Host:www.server.com
Resource-Provider:http://www.client.com/ResourceProvider
这是在服务器www.server.com对服务器应用程序‘/webapplication’的请求。通过HTTP报头属性‘Resource-Provider’提供有关本地资源的信息,HTTP报头属性‘Resource-Provider’说明资源提供者在‘http://www.client.com/ResourceProvider’(例如,在客户端的地址)可用。用于将该HTTP报头属性添加到请求的两个可能的选项,可以通过在客户端和将属性插入请求的服务器之间的路径上创建浏览器插件或者代理服务器完成。
可以以各种形式实现重定向函数:添加到网络浏览器的插件(例如,firefox扩展允许更改请求内容)、安装在客户端计算机上的HTTP代理服务器(例如,利用apache HTTP服务器,能够重写请求并且将传入的请求重定向到其他系统,将报头添加到转发的请求)。
可以在网页浏览器或者实现重定向函数的HTTP代理的相同插件中实现资源提供者。资源提供者还运行网页服务(webservice),使得服务器可访问。到达资源提供者的创建新减载的服务器函数的请求(11、20),将Java Webstart程序(从一些位置下载的数据文件)的位置给予资源提供者
GET
/ResourceProvider?operation=create&location=http://www.server.com/serv
er.jnlp HTTP/1.1
Host:www.client.com
将操作(创建减载的服务器函数)和Java Web Start程序的位置两者作为请求的参数传递给资源提供者。资源提供者解析请求对象arguments,在解析之后开始从指定位置下载Java Web Start程序。资源提供者改变重定向函数的配置(网络浏览器的插件或者在客户端上的HTTP代理),以仅将由减载的服务器函数实现的对于服务器功能的请求重定向到新减载的服务器函数(例如,基于URL的重定向规则)。在该处理完成之后,资源提供者响应于服务器,将通知服务器减载的服务器函数的位置。
HTTP/1.1 200OK
Date:Wed,22Nov 2012 11:31:00GMT
Content-Type:text/html
ofs=http://www.client.com/osf
现在服务器可以响应于客户端的原始请求生成重定向。
HTTP/1.1 301Moved Permanently
Location:http://www.client.com/osf
对于服务器的客户端的新请求被重定向函数截取,重定向函数由网络浏览器插件或者代理服务器实现,并且该新请求被重定向到本地Java Web Start应用程序。在这种情况下,Java Web Start应用程序是实现网页服务的Java程序。
由云提供者承载的减载的服务器函数
减载的服务器函数还可以由第三方资源提供者承载(host)。这种第三方的实例是云提供者,像amazon EC2或者windows azure以及Google App Engine(其提供平台作为服务或者PaaS)。如果是Amazon EC2服务,用户还需要将amazon服务的访问凭证通告给服务器。如果是Amazon,这些凭证通过AWS访问密钥形成,用于查询EC2接口(参见:http://docs.amazonwebservices.com)。这提供了到服务器和资源提供者选择函数的Amazon EC2接口的访问。在这里,由Amazon EC2服务扮演资源提供者的角色。由EC2网页服务提供该服务的接口(11、19、20)。
可以通过将扩展添加到网页服务器,完成减载的服务器函数地点判定函数和资源提供者选择函数的实现。大多数网页服务器实现(互联网信息服务器、Apache HTTP服务器、Nginx)允许添加扩展,添加扩展是将额外的处理功能添加到传入的请求。在下方示出了减载的服务器函数判定函数的样本实现。
该函数的输入是己知的该服务器和客户端的减载的服务器函数数组,以及描述减载的服务器函数需要的资源的数据结构。在减载的服务器函数的列表上的迭代中,将需求与在减载的服务器函数上的可用资源进行比较。返回具有足够资源的第一减载的服务器函数,用于重定向函数的输入。如果没有发现减载的服务器函数,返回作为创建新减载的服务器函数的信号的NULL。
在下方示出了在资源提供者选择函数的伪代码中的样本实现:
该函数的输入是己知资源提供者的数组和描述减载的服务器函数需要的资源的数据结构。在资源提供者的列表上的迭代中,将需求与资源提供者的可用资源进行比较。在该实例中,查询每一个资源提供者以得到关于可用资源的最新数据。如果由函数返回资源提供者,那么该资源提供者用于创建新减载的服务器函数。如果什么都没有返回(NULL),没有发现资源提供者,那么服务器必须借助于默认路径并且生成响应本身或者生成服务器错误(例如,HTTP503服务不可用状态代码)。
图3示出了响应于DDos攻击,如图1或者图2中公开的网络配置中的过载处理的又一个图示。首先,由客户端发送服务请求。服务请求可以包含在客户端网络位置上的位置信息。作为响应,服务器可以更新利用该服务器的客户端的网络位置的数据库。接下来,由过载检测函数确定请求的执行是否会导致过载情况。如果不会,则执行请求,以常规方式传回数据。如果会,则服务器基于数据库在网络中选择新位置,并且将减载的服务器函数分配到所选择的资源上,所选择的资源由设置在服务器上的资源提供者查找函数从所述资源提供者中选择资源而选出。接下来,由数据库识别的客户端的子集被重定向到设置在所选择的资源提供者上的减载的服务器函数。
以类似于US7188366的方式,图4示出了实施方式,其中,可以确定是否可能在上游设备400(即虚拟地和或物理地位于客户端和服务器之间的路径的上游的设备)上安装减载的服务器函数。如果确定的结果是是,那么上游设备400的挑战是确定其是否具有资源,以将所检测的客户端请求重定向到减载的服务器函数,以在设备上实现。如果不可能安装(即如果确定的结果是否),程序移动到步骤:其中,通过参考可以在上游设备中提供的相邻路由器数据库,服务器2检索可能变成上游路由器的相邻设备。如果路由器是400,提取路由器401和路由器402作为相邻路由器。在后续步骤中,复制持有关于DDos攻击的信息的攻击源检索模块,并且将其发送给所选择的上游设备,该上游设备被识别为资源提供者,用于执行减载的服务器函数。可以在客户端应用程序上执行减载的服务器函数的一部分。因此,该方法可以包括检索在上游接近攻击源的通信设备的地址,并且将减载的服务器函数传输到在上游防御地点的资源提供者。为此,资源提供者查找函数可以包括攻击源确定函数部,攻击源确定函数部能够提取通信设备的地址,通信设备的地址由资源提供者查找函数检索到,该通信设备是从接近攻击源的上游通信设备的候选中选出作为上游防御地点。
为了这个目的,图5示出了客户端设备利用请求的操作参数(7a、7b)将请求发送到服务器应用程序。虽然前述已参考其他服务器或者在网络中可用的路由器设备(包括第三方资源)示出,但是该机制还适用于由客户端自身所主张的资源。请求可以包含在客户端设备的一个或多个资源提供者的信息的通告(例如,URL、操作参数、设定、凭证、记号、密钥)。该通告也可以经由另一个路径或者在另一个时间被发送到服务器。如果减载的服务器函数判定函数决定使用减载的服务器函数(8),并且减载的服务器函数在客户端可用,那么重定向函数将请求重定向到减载的服务器函数(14)。否则,请求到达服务器应用程序(7b)。由客户端(7b)的一个资源提供者的通告的可能的实现是通过将通告嵌入到发送给服务器应用程序的HTTP请求中。
服务器应用程序可以使用通告中的信息,并且将其提交给减载的服务器函数判定函数(9)和资源提供者选择函数(10),以判定是否创建减载的服务器函数,并且选择最佳位置用于减载的服务器函数,并且因此选择哪个资源提供者。两个函数(资源提供者选择函数、减载的服务器函数判定函数)将通过客户端在通告中发送的信息与减载的服务器函数的资源需求进行比较(例如,当资源提供者具有足够的处理能力可用时,资源提供者选择函数可以决定创建减载的服务器函数)。如果决定创建减载的服务器函数,那么服务器将创建减载的服务器函数的请求发送到所选择的资源提供者(11)。在其他可能的解决方案之中,通过服务器发送到资源提供者的请求(11)可以在HTTP请求中内嵌。请求中的信息将会是请求的操作(创建减载的服务器函数)和操作参数,像用于减载的服务器函数的图像(的引用)。
资源提供者处理创建减载的服务器函数的请求并且创建新减载的服务器函数(12)。资源提供者还配备重定向函数(13)。重定向函数是将请求从客户端重定向到减载的服务器函数的装置。该函数的配备可以表示客户端设备的配置(例如,更新本地DNS信息、配置代理服务、改变路由表、改变防火墙、改变网络浏览器插件的配置、改变客户端应用程序配置),以便将请求重定向到减载的服务器函数(14)。在配备之后,服务器可以(例如,利用HTTP重定向)将客户端请求重定向到减载的服务器函数。
最终,以上论述仅仅旨在说明本系统并且不应被解释为将所附权利要求限制于任何具体实施方式或者实施方式的组合。因此,虽然已参考其中的具体示例性实施方式特别详细地描述了本系统,但是还应理解,可以由本领域内的那些普通技术人员设计出许多变形和替换实施方式,而不背离如以下权利要求中所阐述的本系统和本方法的范围。因此,说明书和附图应被视为以说明的方式,而不旨在限制所附权利要求的范围。
在解释所附权利要求中,应理解,与给定的权利要求中列出的那些相比,单词“包括(comprising)”不排除存在其他元件或者行为;在元件之前的单词“一(a)”或者“一个(an)”不排除存在多个这种元件;权利要求中的任何参考符号不限制它们的范围;可以通过相同或者不同的项或者实现的结构或者功能表示几个“装置(means)”;除非另外特别声明,否则所公开的设备中的任何或者其部分可以结合到一起或者被分成又一部分;事实上,在互相不同的权利要求中陈述的某些测量并不表示这些测量的组合不能被加以利用,并且认为通过主体申请明确公开了这些测量的组合。
Claims (12)
1.一种用于处理服务器过载的方法,包括:
-通过服务器函数(SF)提供服务器应用程序的一部分或者全部功能;所述服务器函数(SF)包括应用层的一个或多个能够减载的服务器函数(OSF),所述能够减载的服务器函数(OSF)提供所述服务器应用程序的一部分或者全部功能,并且能够加载在其他资源上,其中,所述服务器进一步包括从所述资源提供者中选择资源的资源提供者查找函数;
-通过负载检测函数(ODF)检测服务器负载,所述负载检测函数被构建为确定所述服务器函数是否处于或者接近过载情况;
-通过检索在上游接近攻击源的通信设备的地址从所述资源提供者查找函数提供资源提供者(RP),所述资源提供者能够提供用于承载所述能够减载的服务器函数的资源;
-将所述减载的服务器函数传输到在上游的防御位置的资源提供者;以及
-响应于所述负载检测函数检测到过载情况,将所检测的客户端请求重定向到在所选择的资源上的减载的服务器函数。
2.根据权利要求1所述的方法,其中,所述选择由指示能选择的资源的客户端请求通告提供。
3.根据权利要求1所述的方法,其中,所述减载的服务器函数在资源提供者上能够执行,并且其中,所述减载的服务函数反过来包括提供所述服务器应用程序的一部分或者全部功能的能够减载的服务器函数(OSF),并且所述减载的服务器函数能够加载在另一个网络位置中的其他资源上。
4.根据权利要求1所述的方法,其中,所述资源提供者查找函数包括攻击源确定函数,所述攻击源确定函数能够提取通信设备的地址,所述通信设备的地址是由所述资源提供者查找函数检索到的从接近所述攻击源的上游通信设备的候选中选出作为上游防御位置。
5.根据权利要求1或2所述的方法,其中,所述资源提供者包括物理资源和虚拟资源中的至少一种。
6.根据权利要求5所述的方法,其中,所述物理资源包括CPU负载以及通信带宽中的至少一种。
7.根据权利要求1或2所述的方法,其中,非物理资源包括每时间单位数据库读取的数量、每时间单位数据库写入的数量、每时间单位请求的数量以及同时会话的数量中的至少一项。
8.根据权利要求1或2所述的方法,其中,信息处理系统(5)包括系统控制装置(6)、接口装置(7)以及客户端应用程序装置(8a、8b、8c),当所述系统(5)过载或者将要过载时,所述方法包括接下来的步骤:
-检测所述系统控制装置、所述接口装置或者相关的客户端应用程序装置是否过载或者是否将要过载;
-检测所请求的访问是否将使所述系统控制装置、所述接口装置或者相关的所述客户端应用程序装置加重负载;
-如果认为所请求的访问不促成相关系统装置的过载,那么判断为允许所请求的访问,和/或如果认为所请求的访问使所述相关系统装置加重负载,那么判断为不允许所述请求的访问。
9.根据权利要求1或2所述的方法,数个客户端请求访问信息处理系统(5)并且服务等级指示符被分配给那些客户端,所述方法包括如果认为这种所请求的访问促成系统过载,那么对具有相对高服务等级指示符的客户端的所请求的访问给予比具有相对低服务等级指示符的客户端高的优选或优先权。
10.根据权利要求9所述的方法,被认为是促成所述系统过载的所请求的访问,对于具有相对高服务等级指示符的客户端,被判断为是允许的,和/或对于具有相对低服务等级指示符的客户端,被判断为是不允许的。
11.一种用于处理对信息处理系统(5)的访问请求的系统,包括处理装置和存储器装置,借此所述装置通信地连接到所述信息处理系统,借此所述装置进一步连接到用于传输所述访问请求的网络,其特征在于,所述装置被适配为执行根据权利要求1至权利要求10所述的步骤。
12.一种非暂态计算机可读存储介质,存储有程序指令,当在根据权利要求11所述的系统上运行时,促使所述系统执行权利要求1至权利要求10所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13195144.4A EP2879343A1 (en) | 2013-11-29 | 2013-11-29 | System for protection against DDos attacks |
EP13195144.4 | 2013-11-29 | ||
PCT/NL2014/050814 WO2015080586A1 (en) | 2013-11-29 | 2014-11-28 | System for protection against ddos attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105940655A CN105940655A (zh) | 2016-09-14 |
CN105940655B true CN105940655B (zh) | 2020-10-16 |
Family
ID=49679415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480074435.9A Active CN105940655B (zh) | 2013-11-29 | 2014-11-28 | 用于防范DDos攻击的系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170006059A1 (zh) |
EP (2) | EP2879343A1 (zh) |
CN (1) | CN105940655B (zh) |
WO (1) | WO2015080586A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10764323B1 (en) * | 2015-12-21 | 2020-09-01 | Amdocs Development Limited | System, method, and computer program for isolating services of a communication network in response to a distributed denial of service (DDoS) attack |
WO2017058519A1 (en) * | 2015-09-28 | 2017-04-06 | Arris Enterprises Llc | Domain name system response spoofing at customer premise equipment device |
US10536391B1 (en) * | 2016-07-07 | 2020-01-14 | Binaris Inc | Systems and methods for intelligently directing a service request to a preferred place of execution |
EP3568784B1 (en) | 2017-01-14 | 2022-08-03 | Hyprfire Pty Ltd | Method and system for detecting and mitigating a denial of service attack |
US10567213B1 (en) | 2017-07-06 | 2020-02-18 | Binaris Inc | Systems and methods for selecting specific code segments in conjunction with executing requested tasks |
US10621001B1 (en) | 2017-07-06 | 2020-04-14 | Binaris Inc | Systems and methods for efficiently expediting execution of tasks in isolated environments |
US10609068B2 (en) * | 2017-10-18 | 2020-03-31 | International Business Machines Corporation | Identification of attack flows in a multi-tier network topology |
US11057349B2 (en) * | 2017-11-03 | 2021-07-06 | Todyl, Inc. | Cloud-based multi-function firewall and zero trust private virtual network |
RU2685989C1 (ru) * | 2018-01-31 | 2019-04-23 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) | Способ снижения ущерба, наносимого сетевыми атаками серверу виртуальной частной сети |
US10747580B2 (en) * | 2018-08-17 | 2020-08-18 | Vmware, Inc. | Function as a service (FaaS) execution distributor |
US10623508B2 (en) * | 2018-09-12 | 2020-04-14 | Citrix Systems, Inc. | Systems and methods for integrated service discovery for network applications |
CN111371866B (zh) * | 2020-02-26 | 2023-03-21 | 厦门网宿有限公司 | 一种处理业务请求的方法和装置 |
CN112887332A (zh) * | 2021-03-01 | 2021-06-01 | 山西警察学院 | 云环境下的ddos攻击检测方法 |
US11991059B1 (en) * | 2022-12-16 | 2024-05-21 | Microsoft Technology Licensing, Llc | Techniques for generating service-specific server health scores and application traffic forecasts |
WO2024137676A1 (en) * | 2022-12-22 | 2024-06-27 | Oracle International Corporation | Virtual network distributed denial-of-service scrubber |
CN116405332B (zh) * | 2023-06-08 | 2023-08-08 | 深圳华锐分布式技术股份有限公司 | 基于Nginx网关的服务请求方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002033870A2 (en) * | 2000-10-17 | 2002-04-25 | Wanwall, Inc. | Methods and apparatus for protecting against overload conditions on nodes of a distributed network |
US7188366B2 (en) * | 2000-09-12 | 2007-03-06 | Nippon Telegraph And Telephone Corporation | Distributed denial of service attack defense method and device |
CN103701899A (zh) * | 2013-12-26 | 2014-04-02 | 华为技术有限公司 | 资源访问方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001080033A2 (en) * | 2000-04-17 | 2001-10-25 | Circadence Corporation | System and method for implementing application -independent functionality within a network infrastructure |
US7155723B2 (en) * | 2000-07-19 | 2006-12-26 | Akamai Technologies, Inc. | Load balancing service |
US7313623B2 (en) * | 2002-08-30 | 2007-12-25 | Broadcom Corporation | System and method for TCP/IP offload independent of bandwidth delay product |
EP1612674A3 (en) | 2004-06-29 | 2006-01-25 | Nederlandse Organisatie voor Toegepast-Natuuurwetenschappelijk Onderzoek TNO | Method and system for admission control |
US7560956B2 (en) * | 2005-08-03 | 2009-07-14 | Micron Technology, Inc. | Method and apparatus for selecting an operating mode based on a determination of the availability of internal clock signals |
US8549646B2 (en) * | 2005-10-20 | 2013-10-01 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for responding to a denial of service attack |
US20070300304A1 (en) * | 2006-06-26 | 2007-12-27 | Nokia Corporation | SIP washing machine |
-
2013
- 2013-11-29 EP EP13195144.4A patent/EP2879343A1/en not_active Withdrawn
-
2014
- 2014-11-28 EP EP14810025.8A patent/EP3075129B1/en active Active
- 2014-11-28 WO PCT/NL2014/050814 patent/WO2015080586A1/en active Application Filing
- 2014-11-28 US US15/039,963 patent/US20170006059A1/en not_active Abandoned
- 2014-11-28 CN CN201480074435.9A patent/CN105940655B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188366B2 (en) * | 2000-09-12 | 2007-03-06 | Nippon Telegraph And Telephone Corporation | Distributed denial of service attack defense method and device |
WO2002033870A2 (en) * | 2000-10-17 | 2002-04-25 | Wanwall, Inc. | Methods and apparatus for protecting against overload conditions on nodes of a distributed network |
CN103701899A (zh) * | 2013-12-26 | 2014-04-02 | 华为技术有限公司 | 资源访问方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3075129B1 (en) | 2023-04-19 |
EP3075129A1 (en) | 2016-10-05 |
CN105940655A (zh) | 2016-09-14 |
EP2879343A1 (en) | 2015-06-03 |
US20170006059A1 (en) | 2017-01-05 |
WO2015080586A1 (en) | 2015-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105940655B (zh) | 用于防范DDos攻击的系统 | |
US11818167B2 (en) | Authoritative domain name system (DNS) server responding to DNS requests with IP addresses selected from a larger pool of IP addresses | |
US11902250B2 (en) | Methods and systems for prevention of attacks associated with the domain name system | |
EP3591932B1 (en) | Methods and devices for blocking, detecting, and/or preventing malicious traffic | |
US10038715B1 (en) | Identifying and mitigating denial of service (DoS) attacks | |
JP5325335B2 (ja) | フィルタリング方法、システムおよびネットワーク機器 | |
US10701103B2 (en) | Securing devices using network traffic analysis and software-defined networking (SDN) | |
JP2005210727A (ja) | サービス拒否攻撃に耐えるネットワーク・アーキテクチャおよび関連方法 | |
US8533834B1 (en) | Antivirus intelligent flow framework | |
US9847970B1 (en) | Dynamic traffic regulation | |
JP6623702B2 (ja) | ネットワーク監視装置及びネットワーク監視装置におけるウイルス検知方法。 |
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 |