CN101072106B - 用于防御拒绝服务攻击的方法和系统 - Google Patents
用于防御拒绝服务攻击的方法和系统 Download PDFInfo
- Publication number
- CN101072106B CN101072106B CN2007101074144A CN200710107414A CN101072106B CN 101072106 B CN101072106 B CN 101072106B CN 2007101074144 A CN2007101074144 A CN 2007101074144A CN 200710107414 A CN200710107414 A CN 200710107414A CN 101072106 B CN101072106 B CN 101072106B
- Authority
- CN
- China
- Prior art keywords
- client computer
- server
- request
- client
- port
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- 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/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
-
- 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/141—Denial of service attacks against endpoints in a network
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
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
技术领域
所公开的发明主要涉及信息领域,并且更具体地涉及一种方法和系统,其用于为使用权标的客户确定信任、服务质量以及个人化。
背景技术
近来,我们已看到针对在线服务和Web应用的、日益增加的拒绝服务(DoS)攻击行为强取、停用或损害了服务器。复杂的DoS攻击越来越多地不仅集中于低层级网络洪流(network flooding),而且还集中于应用级攻击,该应用级攻击利用模拟了瞬时拥塞(flash crowd)的请求对受害者造成洪流。应用级DoS攻击指的是这样的攻击:即其利用应用专属语义和领域知识发起DoS攻击,从而使得任何的DoS过滤器都很难对一连串攻击请求与一连串合法请求进行区分。两种特性使得应用级DoS攻击特别具有破坏性。首先,应用级DoS攻击模仿与合法客户机的请求语法和网络级业务特性相同的请求语法和网络级业务特性,由此使得对它们的检测难得多。其次,攻击者可以选择发送以像套接字(socket)、磁盘带宽、数据库带宽以及工作过程这样的较高层服务器资源为目标的昂贵请求(expensiverequests)。
在保护在线电子商务网站免遭应用级DoS攻击时存在两个主要问题。首先,应用级DoS攻击可能非常狡猾,使得DoS过滤器很难区分来自DoS攻击者与合法客户机的请求流。即使DoS过滤器会对有关请求速率的任何统计量(平均值、方差等)、请求分组头的内容(IP、TCP、HTTP等),以及甚至是请求分组本身的全部内容进行检查,仍然会很难区分DoS攻击请求与合法请求。另外,应用级DoS攻击的狡猾性质使得很难穷举可以由对手发起的所有可能的攻击。因此,存在这样的需求:即在不知道其明确的操作性质的情况下抵御应用级DoS攻击。
抵御DoS攻击的一种方法是仅准许预先授权的客户机访问Web服务器。可以使用具有带外机制的IPSec(IP安全性或IPSEC)或SSL(安全套接层)来实现预先授权,以便在预先授权的客户机与Web服务器之间建立共享密钥。现在,可以在防火墙过滤来自非预先授权的客户机的任何分组。然而,要求预先授权可能阻止客户机使用在线服务。另外,对于像eBay或Amazon这样的开放式电子商务网站,做出应被授权来访问服务的所有客户机的穷举性列表也许是不可行的。另外,确保所有授权的客户机会表现良好将是非常困难的。来自预先授权的客户机的小子集的DoS攻击可能致使服务器不可用。
基于询问(challenge-based)的机制为DoS防御提供了可选的解决方案而不需要预先授权。询问是抑制DoS攻击的强度的优质方法。例如,基于图像的询问(图灵测试)可以用于确定客户是真实的人类还是自动脚本。密码询问[参见X.Wang and M.Reiter,“Mitigating Bandwidth ExhaustionAttacks Using Congestion Puzzles,”Proceedings of ACM CCS,2004]可以用于确保客户机使用其计算能力为服务付出代价。然而,大多数询问机制使得好客户机和坏客户机都为服务付出代价,由此对于好客户机来说,还降低了吞吐量并且引入了不便。例如,基于图像的询问并不区分合法的自动客户机脚本与DoS攻击脚本。
一种抵御DoS攻击的有效解决方案是:在攻击请求消耗大量的服务器资源之前,在最早的点(比方说网站的防火墙)过滤攻击请求。攻击请求来自大量的、在地域上分布的机器,并且因而不能够在IP前缀上进行过滤。一些网站在客户机可以访问网站之前要求口令和登录信息。然而,检查站点专属口令需要建立连接并且允许未验证的客户机访问套接字缓冲区和工作过程,这使得易于在验证机制本身上设置攻击。一些站点使用了强大的、基于数字签名的传输级验证机制[例如,安全套接层,SSL];然而,检验数字证书所需要的、复杂的服务器端计算使得对手能够以握手协议为目标发起DoS攻击。通常,操作于网络栈中较高层的验证机制使得攻击者能够以较低层为目标。
一些网站可以使用基于消息验证代码(MAC)的IP级验证机制,例如IPSec。具有预先配置的密钥的IPSec使得来自未验证的客户机的分组能够被防火墙丢弃。因此,未验证的客户机不能够对像套接字缓冲区和传输控制块(TCB)这样的即使是低层级的服务器资源进行访问。然而,IPSec以几种方式打破了客户透明性:(i)安装IPSec需要对客户端网络栈进行改变,(ii)安装IPSec需要客户机上的超级用户特权,(iii)IPSec准许使用因特网密钥交换协议(IKE)的密钥交换和人工密钥设置。IKE协议使用Diffie-Hellman密钥交换协议。与数字签名类似,该协议在服务器上施加了繁重的计算负荷,由此使得对手能够以IKE协议为目标发起DoS攻击。(iv)人工建立共享密钥绕过了昂贵的IKE协议。然而,人工IPSec密钥设置需要客户机上的超级用户特权。
在使用客户机验证来抵御DoS攻击与客户透明性之间存在固有的矛盾。对DoS攻击的有效抵御似乎必须操作于网络栈中的较低层,以便防火墙可以在分组可能消耗服务器上的大量资源之前对该分组进行过滤。另一方面,在网络栈中的较低层引入验证头通常是通过需要对客户端网络栈的改变以及通过需要客户机上的超级用户特权来废止客户透明性。因此,存在对克服上述缺点的解决方案的需求。
发明内容
根据本发明的实施例,一种用于在客户机-服务器系统中处理多个服务请求的方法包括下面的服务器步骤:从客户机接收对服务的至少一个请求,以及基于所述至少一个请求中所提供的信任等级提供服务等级。根据另一实施例,一种验证消息的方法包括以下步骤:在应用级将验证信息嵌入消息;从计算机下载脚本用于发送所述消息;运行所述脚本以便将所述消息发送到服务器;以及由所述服务器在网络级对所述消息进行检查。
附图说明
图1示出了本发明的实施例的高层级体系结构;
图2是示出了信任网络跟踪器(trust cookie)的构造的高层级框图;
图3和图4示出了信任网络跟踪器的控制流;
图5示出了本发明的另一实施例的高层级体系结构;
图6说明了端口隐藏过程;
图7和图8示出了端口隐藏的控制流图;以及
图9和图10示出了询问服务器的控制流图。
具体实施方式
根据本发明的实施例,一种机制保护了在线电子商务网站免受应用级DoS攻击。我们的机制并不试图区分DoS攻击请求与合法请求。作为替代,我们的机制检查服务器在处理请求时所花费的资源量而不是请求本身。我们使用请求的效用以及在处理该请求时所获得的服务器资源量来为每个请求计算分数。我们构造了这样的反馈环路,即该反馈环路将请求的分数作为其输入并对客户机的优先级进行更新。在其最简单的意义上,优先级可以对客户机能够发布的每单位时间最大请求数进行编码。因此,高分的请求增加了客户机的优先级,由此准许客户机每单位时间发送更多数目的请求。另一方面,低分的请求降低了客户机的优先级,由此限制了客户机每单位时间可以发布的请求数。因此,资源密集的并且对电子商务网站具有低效用的应用级DoS攻击请求会降低攻击者的优先级。随着攻击者的优先级降低,其DoS攻击的强度也降低。
我们的保护在线服务免受应用级DoS攻击的方法具有几个优点:从对我们的DoS防御机制的描述得出的明显好处在于:其不依赖于攻击者的明确的操作性质。如同上面所指出的那样,通常难以预测、检测或列举攻击者可以使用的所有可能的攻击。不依赖于攻击类型的机制能够暗中对适配和攻击系统的智能攻击者进行处理。实际上,应用级DoS攻击的任何适配都会在不需要对请求的语法或业务特性进行任何可察觉的改变的情况下导致服务器上严重的资源消耗。我们的机制并不基于请求速率、分组头或请求的内容对请求进行区分。使用请求速率或是请求的内容来区分攻击请求与合法请求是非常困难的。
本实施例包括请求抑制机制,其将较多的服务器资源分配给合法客户机,同时,严格抑制分配给DoS攻击者的服务器资源量。这是通过响应于客户机的请求,以可以合并应用级语义的方式自适应地设置客户机的优先级来实现的。我们提供了简单的应用编程接口(API),其准许应用编程者使用我们的DoS防御机制。所提出的解决方案不需要对客户机进行预先授权。无预先授权意味着服务器不必与客户机建立任何带外信任关系。我们所提出的解决方案是客户透明的;也就是说,用户或自动客户端脚本能够以与浏览无防御网站相同的方式浏览DoS防御网站。我们的DoS防御机制不需要对客户端软件的任何改变或是客户机上的超级用户特权。可以将实现我们的提案所需要的全部设备合并到服务器端上。可以在服务器端防火墙(IP层)与应用层之间模块化地划分我们的设备。
本发明的实施例包括本解决方案在Linux内核上的具体实现。我们现在讨论应用级DoS攻击的两个例子,其示出了用于DoS防御的现有方法,并且突出了这些方法在抵御应用级DoS攻击方面的不足。
试图从电子商务网站提取大的图像文件的一长串HTTP请求可以构成简单的应用级DoS攻击。在这种情况下,攻击者(许多僵尸机(zombiemachine))以与合法客户机同样的速率发送HTTP请求。因此,DoS过滤器也许不能够通过检查包括IP、TCP和HTTP头在内的分组头来检测出特定的请求是否是DoS攻击请求。事实上,攻击请求的速率和攻击请求的分组头将不能与由表现良好的客户机所发送的请求区分开来。
对HTTP请求URL进行检查的DoS过滤器也许能够区分请求大量图像文件的DoS攻击者与好客户机的请求。然而,攻击者可以使用更为狡猾的技术来攻击Web应用。例如,大多数在线电子商务应用使用数据库服务器来保证持久运行。给定HTTP请求,应用逻辑将请求转换为一个或多个数据库查询。数据库查询的代价不仅取决于查询的类型,而且还取决于查询变元(argument)。例如,HTTP请求可能需要遍及整个数据库的穷尽性搜索,或者需要在两个大的数据库表之间进行连接操作。这使得DoS过滤器很难通过检查分组头及其所有的内容来检测给定的请求是否是DoS攻击请求。实际上,攻击请求的速率和攻击请求的分组头及内容将不能与由任何表现良好的客户机所发送的那些请求区分开来,除非在DoS过滤器中对整个应用逻辑进行编码。然而,这可能使得请求过滤的代价几乎与对实际应用请求本身进行处理的代价一样高昂。实际上,像这样的复杂DoS过滤器自身可能会成为攻击者的目标。
我们假设对手可以假冒源IP地址。我们还假设对手具有在其控制下的大量但数量有界的IP地址。如果IP地址受对手的控制,那么对手可以从该IP地址发送和接收分组。我们假设对手对IP地址不受该对手控制的客户机既不能观察又不能修改业务。然而,对手总是可以用本质上不受对手控制的、假冒的源IP地址发送分组。我们还假设对手具有由其支配的大量但数量有界的连网和计算资源,并且因而不能够向IP网络注入任意多数目的分组。我们假设对手能够完美地对行动进行协调以便最大化地利用其资源。
图1示出了系统100的高层级体系结构。系统100包括一个或多个应用服务器102。服务器内核(或防火墙)104耦合于服务器102。客户机由块106表示。客户机106还连接到自适应询问服务器108。我们的方法向好客户机分配较多的服务器资源,同时严格限制在DoS攻击者上所花费的资源量。分配给客户机的最大资源量由客户机的服务质量(QoS)等级表示。我们使用信任权标来对客户机适于接收的QoS等级进行编码。尽管我们的体系结构能够支持任意的QoS策略,然而为简化起见,我们专门用客户机的优先级(全有序数字值)来描绘其QoS等级。在含于从服务器到客户机的所有响应中的标准HTTP网络跟踪器中嵌入客户机的信任权标。使用标准网络跟踪器语义,合法客户机可以在其将来对服务器的所有请求中包括该信任权标。可以用编码于权标中的优先级对向服务器出示有效信任权标的客户机进行服务。否则,可以在服务器的IP层或防火墙丢弃该客户机的请求。
客户机的优先级用于在服务器的IP层或防火墙对客户机的请求进行速率限制。我们使用IP级分组过滤器来过滤来自客户机的HTTP请求。分组过滤器使用加权公平排队[I.Stoica,S.Shenker and H.Zhang,“Core-Stateless Fair Queuing:A Scalable Architecture to ApproximateFair Bandwidth Allocations in High Speed Networks,”Proceedings ofACM SIGCOMM,1998]来基于客户机的优先级对客户机的请求速率进行抑制。因此,来自试图发布不成比例地大量请求(相对于其优先级)的攻击者的请求在其自身的IP层或防火墙104被丢弃。在IP层过滤请求显著降低了在该请求上所花费的处理器、存储器、网络以及磁盘资源的数量。
使用应用专属语义和领域知识,客户机的优先级由应用自适应地进行改变。出于该目的,我们为应用编程者提供了一种简单且灵活的API。我们在\ref{impl}部分用三个样例实现对具体的API进行描述。允许应用设置客户机的优先级准许我们合并应用专属语义(领域知识),并且因而具有高度的灵活性。IP级(防火墙)等级请求过滤确保了非法请求在它们可能消耗大量的服务器资源之前就被丢弃。在本实施例中我们探究了可以用于改变客户机的优先级的几种算法,并且研究其在Web服务器性能上的影响。
当客户机首次试图访问Web服务器时,使用由询问服务器108发布的初始信任权标来引导(bootstrap)信任权标。以这样的方式加密信任权标,从而使得对于客户机来说,对权标进行不可检测的修改在计算上将是不可行的。我们确保将客户机的优先级保持为最新;由于客户机的优先级连续地被改变,因此服务器留存客户机的优先级的最新值是非常重要的,尤其是在客户机的优先级正在下降的情况下。
本实施例是客户透明的,并且不需要对客户端软件进行改变。我们的所有设备都是在服务器端完成的,由此使得部署非常容易。服务器端的设备包括以下部件。
询问服务器108用于引导系统。询问服务器108负责初始化对客户机的初始优先级进行编码的信任权标。注意到,应当对询问服务器108本身进行保护以防御DoS攻击者。我们使用基于密码询问的抵御机制来保护询问服务器108。当客户机正确解答了密码询问时,那么询问服务器108会为客户机提供合适的信任权标。我们确保解答密码询问在代价上比产生并初始化信任权标高几个数量级。
修改服务器102上的IP层104,以便使用客户机的优先级来过滤客户机所发送的HTTP请求。通过在IP级对请求公平排队来推行优先级。在IP层上过滤请求节省了许多计算和存储资源,要不然这些计算和存储资源会随着请求遍历服务器的网络栈而被花费在该请求上。
修改服务器102上的应用层,以便使用应用专属规则来更新客户机的优先级。使用基于效用的模型来计算客户机的新优先级,该模型考虑了客户机所发送的一组最近的请求以及由这些请求所消耗的服务器资源量。
参照图2,我们现在讨论如何构造信任权标。然后,在图3和图4中我们描述使用信任权标来抵御应用级DoS攻击的技术。在图2中示出了用于构建信任网络跟踪器的体系结构200。HTTP层202向IP层204提供Javascript网络跟踪器,IP层204构建了信任网络跟踪器(TC)的其余部分。FQ过滤器/TC过滤器/IP层206接收TC并且将其传递至Web服务器208,以便更新TC中的QoS。
如下构造16字节长的信任权标(tt):tt=E_MK(cip,sip,tv,prio,flag),其中,cip(4字节)表示客户机的IP地址,sip(4字节)表示服务器的IP地址,tv(4字节)表示发布信任权标的时间(将时间表示为从1970年1月1日开始的秒数),prio(2字节)表示由服务器分派给客户机的优先级,flag(2字节)表示标记(sentinel),MK表示服务器所使用的保密密钥,并且E表示对称密钥加密算法。零优先级指示服务器会丢弃来自客户机的所有请求。
参照图3,其示出了过程400,其中,合法客户机操作如下。在步骤302中,当客户机解答询问时获得其权标tt。在客户机的浏览器中将权标存储为HTTP网络跟踪器。在步骤304中,客户机在其对服务器的所有HTTP请求中包括权标tt。
在服务器端防火墙104上,我们进行两种操作。首先,在步骤306中,我们基于信任权标的有效性过滤HTTP请求。其次,在步骤308中,我们检查信任权标是否有效,如果信任权标无效或不存在TC,那么丢弃该请求。如果其有效,则服务器102提取客户机的优先级并且使用公平排队来抑制客户机的请求速率(步骤310)。然后在步骤312中,我们使用有效的优先权加权公平排队。
服务器102检查分组是否是HTTP请求,并且如果是的话,则其提取HTTP网络跟踪器tt。其如下确认信任权标tt。如果tt.cip与客户机的IP地址匹配、tt.sip与服务器的IP地址匹配、tt.tv是过去的某个时间(tt.tv<cur_time),并且tt.flag与标记匹配,则信任权标tt有效。如果是这样的话,则服务器从tt中提取优先级(tt.prio);否则,由防火墙丢弃该请求。
对手可能表现良好直到其获得高优先级,并且然后开始行为不端。因此,服务器将发布具有较低优先级的信任权标。然而,对手可能在其将来的请求中向服务器发送旧的权标(具有高优先级)。如果从服务器到客户机的所有响应都隧穿经由防火墙,那么防火墙可以记录客户机的已更新的优先级。然而,出于性能的原因,以这样的方式配置大多数应用服务器:即请求隧穿经由防火墙,但响应却不是。在这样的情形下,我们通过如下计算有效的优先级来防御DoS攻击。
服务器102使用请求的优先级prio、网络跟踪器发布的时间(tt.tv)以及客户机的请求速率r来如下计算有效优先级eprio:eprio=prio*e-δ*max(cur_time-tt.tv-1/r,0),其中,cur_time表示当前的时间。这里的关键直觉是:如果cur_time-tt.tv显著大于客户机的请求到达时间之间的平均值(1/r),那么客户机可能在发送旧的信任权标。(cur_time-tt.tv)与1/r之间的差越大,客户机越有可能试图发送旧的权标。因此,我们按照(cur_time-tt.tv)与1/r之间的差的指数规律降低有效优先级eprio。注意到,公平排队过滤器估计客户机的请求速率r,用于进行加权概率公平排队。
在已经确认信任权标并且提取了其优先级的情况下,服务器102使用eprio在来自客户机的所有输入HTTP请求上进行加权概率公平排队。公平排队将来自客户机的最大请求速率限制在其公平份额。因此,防火墙104丢弃来自试图以大于其公平份额的速率发送请求的攻击者的请求。我们将客户机的公平份额设置为与其有效优先级成比例。因此,如果客户机具有低优先级,那么实际上仅有来自该客户机的很少量的请求到达Web服务器102。
参照图4,其示出了信任网络跟踪器控制流过程400。在步骤402中,应用对所接受的请求以其优先级进行服务。在步骤404中,服务器截获HTTP响应并且更新TC中的优先级。在步骤406中,服务器应用将新的TC添加到HTTP响应头。然后在步骤408中,客户浏览器将TC作为任何常规的网络跟踪器进行处理。
我们现在讨论确保向DoS攻击者分派低优先级而向合法客户机分派较高优先级的技术。一旦IP层分组过滤器接受请求,请求就被转发至应用。当服务器向客户机发送响应时,其基于几个应用专属规则和参数来更新客户机的优先级。出于此目的,我们使用对客户机的请求rq的效益进行估计的效益函数B(rq)。请求的效益考虑了请求的效用以及在处理该请求时所花费的资源。例如,如果请求rq是信用卡事务,那么请求rq的效用可以是服务器从该事务获得的货币利润。我们还定义了优先权更新函数G,其基于效益B(rq)对客户机的优先级进行更新。
在我们的第一样机中,我们打算使用基于效用的效益函数B(rq)=F(rt,ut),其中,rq表示客户机的请求,rt是服务器产生对请求rq的响应所用的时间,并且ut表示rq的效用。我们使用简单的效益函数B(rq)=ut-γ*rt,其中,γ是可调参数。响应时间rt用作服务器处理请求rq所花费的努力的粗略近似。观察到,在计算效益B(rq)时,响应时间rt(其表示服务器所花费的努力)是从请求的效益ut扣除的。
新的优先级nprio可以被计算为nprio=G(eprio,B(rq)),其中,eprio是客户机当前的有效优先级。在我们的第一样机中,我们使用加性增加和乘性减少策略如下更新优先级:如果B(rq)≥0,那么nprio=eprio+α*B(rq),否则,nprio=eprio/(β*(1-B(rq)))。加性增加策略确保优先级由于客户机表现良好而缓慢增加;而乘性减少策略确保优先级在检测到来自客户机的DoS攻击时很快地降低。
总之,我们在服务器端IP层或防火墙104上进行请求过滤。如同我们已在较早时指出的那样,在防火墙104上过滤请求使得在其上花费的服务器资源量最小化。然而,确定该过滤过程的参数(客户机的优先级)由应用设置。这种方法具有高度的灵活性,因为有可能在计算客户机的优先级时利用应用专属语义和领域知识。
我们的实施方式既不需要改变客户端软件,也不需要客户机上的超级用户特权。我们使用标准HTTP网络跟踪器来实现信任权标。因此,客户机可以使用像Microsoft IE或FireFox这样的标准Web浏览器来以与浏览无防御网站相同的方式浏览DoS防御网站。采取对处理HTTP网络跟踪器进行支持的自动客户端脚本;这样的脚本在如今的Web上是常用的。
在服务器端,我们使用网络过滤器(NetFilters)在IP层过滤请求。网络过滤器是Linux内核内部的框架,其启用分组过滤、网络地址转换和其它的分组拆分(packet mangling)。我们使用网络过滤器来挂接(hookonto)IP层的分组处理。给定IP分组,我们检查其是否是HTTP请求并检查其在HTTP请求头中是否具有tt网络跟踪器。如果是的话,我们提取信任权标tt,检查其有效性并提取嵌于权标中的优先级。我们从其优先级prio以及来自客户机的请求速率r计算有效优先级eprio。我们使用简单的加权概率公平排队过滤器对来自客户机的请求用其有效优先级(eprio)进行速率限制。
在输入请求被转发至小服务程序引擎之前,我们使用Apache Tomcat过滤器来挂接HTTP请求处理。该过滤器用于记录请求处理开始的时间。类似地,输出响应上的过滤器用于记录请求处理结束的时间。该过滤器为应用编程者提供了下面的API,以便使用应用专属规则和领域知识在对请求rq进行处理之后更新客户机的优先级:priority updatePrio(priorityoldPrio,URL requestURLHistory,responseTime rt),其中,oldPrio表示客户机在发布请求rq之前的优先级,requestURLHistory表示发送自客户机的请求的有限历史,并且rt表示对请求rq的服务器响应时间。此外,该过滤器对信任权标tt加密并且将其作为网络跟踪器嵌入HTTP响应。
现在描述对我们的API的三种样例实现,以便演示其灵活性。
我们已经给出了一种基于客户机的请求响应时间和效用更新其优先级的技术。通常可以使用应用专属语义和领域知识从请求URL计算请求的效用;注意到,客户机提供的参数可作为请求URL的一部分获得。通过我们的服务器端设备自动测量对请求的响应时间。
许多电子商务应用要求来自用户的输入遵循某些隐含的语义。例如,请求客户机年龄的字段会期望1到100之间的值。人们可以使用客户机提供的参数(其可作为请求URL的一部分获得)来估计给定请求URL是或不是DoS攻击的可能性。缺乏构造语义正确的请求的完整领域知识的、初级DoS攻击脚本(不同于合法的自动客户端脚本)可能在输入参数值上犯错。
在许多Web应用和Web服务器中,服务的语义可能要求用户遵循某种链接结构。假设客户机已经访问了页面P,人们可以识别伴随概率tp1,tp2,…,tpk的一组可能的接下来的页面P1,P2,…,Pk,其中,tpi表示在合法客户机已经访问页面P后该客户机立即访问页面Pi的概率。如果服务器观察到客户机已经显著偏离所期望的行为,则其可以降低客户机的优先级。注意到,跟踪基于客户机的链接结构的行为需要该客户机所请求的URL的有限历史。
虽然像输入语义和链接结构这样的启发式方法能够保护Web服务器免遭几种类别的应用级DoS攻击,但是应当注意,这些启发式方法可能不足以缓和所有的应用级DoS攻击。例如,DoS攻击者可能使用这样的请求,即该请求的代价是嵌于请求中的参数的任意复杂的函数。尽管如此,通过实际测量请求的代价而不是试图基于请求来推断DoS攻击,基于资源消耗的技术提供了一种解决此问题的方案。
现在讨论一种自适应询问机制。在本实施例中使用Java小应用程序实现询问服务器108在客户端的实现,而使用C实现服务器上的询问产生器和解答验证器。尽管使用Java小应用程序对大多数客户端浏览器(使用Java VM的标准浏览器插件)来说是透明的,其对自动客户端脚本来说可能不是透明的。然而,客户端脚本可以使用其自身的机制来解答询问,而不必依赖于Java小应用程序框架。
在另一实施例中,我们使用了通过JavaScripts使之成为可能的客户端计算,以便以客户透明的方式将弱验证代码嵌入网络栈的TCP/IP层中。与在网络栈中的对等层之间操作的大多数验证协议不同,我们的协议是非对称的:其在客户机上的HTTP层与服务器上的IP层之间操作。客户机上的HTTP级操作准许我们的实现是客户透明的,而服务器上的IP级操作允许分组在服务器的防火墙上被过滤。
特别地,我们在TCP分组的端口号字段嵌入16比特的验证符。这是使用诸如JavaScripts的客户透明技术在客户机的HTTP层(Web浏览器)实现的。服务器在防火墙上基于在分组的目的端口字段中所嵌入的验证代码对IP分组进行过滤。如果验证代码是有效的,则服务器使用网络地址转换(NAT)端口转发来将分组转发至实际的目的端口(比方说,HTTP的端口80)。因此,未修改的服务器端应用可以在我们的DoS防御下的Web服务器上无缝运作。
IP层过滤。我们在TCP分组的目的端口字段中嵌入16比特的验证代码。这确保了验证头在IP分组最初的40个字节内,并且因而免于IP分组分段。因此,服务器的网络边缘处的防火墙可以在未验证的IP分组进入网络之前对其进行过滤。在防火墙上过滤分组节省了大量的计算、连网、存储器和磁盘资源,要不然这些资源将被花费在当分组遍历服务器的网络栈时对其所进行的处理上。
我们所提出的解决方案是客户透明的,也就是说,人工或自动客户端脚本能够以与浏览无防御网站相同的方式浏览DoS防御网站。我们的DoS防御机制不需要对客户端软件的任何改变或客户机上的超级用户特权。可以将实现我们的提案所需要的所有设备合并于服务器端,由此使得我们的提案可易于部署。
应用服务器透明性。我们所提出的解决方案对Web服务器上的TCP层以及更高的层来说是透明的。我们的设备仅在防火墙上修改了IP层,以便在目的端口字段中并入验证校验。这准许Web服务器在我们的机制之上堆置基于口令和登录或数字签名的验证协议,以便获得强有力的验证以及对DoS攻击的复原能力。由Web服务器充当主机的应用可以不在意我们的DoS防御机制。
我们描述了所提出的解决方案在Linux内核上的具体实现。我们给出了Web服务器和客户机上的具体威胁模型。我们假设Web服务器是诚实的。假设Web服务器所服务的所有Web页面都是有效且正确的。然而,可以构建反馈机制,其中,客户机周期性地对服务提供商进行评定。在一段时间后,客户机将仅访问高质量的服务提供商,而低质量的服务提供商将最终退出交易。
我们假设客户机可能是不诚实的。不诚实的客户机可能向其它未授权的客户机泄露其授权信息。我们假设对手控制了一组IP地址。如果IP地址受到对手控制,那么该对手可以接收发送到该地址的分组。另一方面,如果IP地址没有受到对手控制,那么对手既不能观察也不能修改发送到该地址的分组。尽管如此,对手总是可以用本质上不受该对手控制的任意IP地址来假冒分组上的源IP地址。我们假设有界实力对手模型。我们假设对手具有由其支配的大量但数量有界的资源,并且因而不能够向IP网络注入任意多数目的分组。我们假设对手可以完美地对行动进行协调以便最大化地利用其资源;例如,对系统来说所有暴露的僵尸机看起来像单个的大型计算机。
图5示出了根据另一实施例的系统500的高层级体系结构。系统500包括应用服务器502、耦合于服务器502的服务器内核(防火墙)504、客户机506,以及自适应询问服务器508。我们使用许可控制获得对DoS攻击的复原能力。许可控制主要限制访问Web服务器的并行客户机506的数目。我们使用两个部件来实现许可控制:询问服务器508和服务器防火墙504。询问服务器508限制向客户机506发布的有效端口密钥的数目。仅在客户机506知道其端口密钥的条件下,客户机506才可以高效率地产生正确的验证状码。客户端浏览器506然后使用JavaScript将验证代码嵌入到其分组的目的端口号字段中。
我们使用服务器端防火墙504来过滤来自未许可的客户机506的IP分组。服务器上的分组过滤器丢弃所有的非TCP业务。另外,其丢弃不具有正确的目的端口号的所有TCP分组。因此,由于分组的目的端口号上的验证校验失败,不知道其端口密钥的客户机506所发送的大多数分组会被防火墙丢弃。在防火墙504上对分组进行过滤显著降低了在其上所花费的处理、存储器、网络以及磁盘资源的数量。由于分组不必遍历服务器的网络栈,因此节省了处理能力;另外,向应用层502发送非法分组涉及昂贵的、内核到用户的上下文转接(通常,应用作为常规用户运行)。
由于不必在存储器中为被丢弃的分组分配任何空间,因此节省了存储器。如果输入分组是TCP SYN分组,则由于节点(或Web服务器)不必发送TCP SYN-ACK分组而节省了网络带宽。最后,可以节省一些磁盘I/O。通过不在主存储器中存储非法分组,Web服务器不将页面换入/换出主存储器。
浏览DoS防御网站的客户机必须能够:(i)与询问服务器508交互,以及(ii)在TCP分组的目的端口号字段中嵌入验证代码。使用HTTP层(Web浏览器)的JavaScripts,我们以客户透明的方式实现了这两种功能性。尽管我们操作于客户端的HTTP层,我们的协议允许在服务器端防火墙504上的IP层分组过滤。我们的所有设备都在服务器端完成,由此使得部署非常容易。服务器端的设备包括询问服务器508和防火墙504。
通过向受许可的客户机506传送端口密钥,询问服务器508用于引导我们的系统。端口密钥由客户机506用于计算将被嵌入TCP分组的目的端口号字段中的验证代码。注意到,询问服务器自身不能够使用端口隐藏来防御DoS攻击者。因此,我们使用基于密码询问的抵御机制来保护询问服务器508[X.Wang and M.Reiter,“Mitigating Bandwidth ExhaustionAttacks Using Congestion Puzzles,”Proceedings of ACM CCS,2004]。通过向客户机506提供能够解答密码询问的JavaScript,我们使得询问服务器508是客户透明的。当客户机506正确解答了密码询问并且如果系统能够处理更多的客户机506时,那么询问服务器508将向客户机506提供端口密钥。我们确保解答密码询问在代价上比产生密码询问的代价高几个数量级。
对服务器端的防火墙504进行修改,以便在输入TCP/IP分组上进行两种操作:(i)基于目标端口号过滤分组;以及(ii)使用概率公平排队来限制客户机506发送分组的速率。防火墙504另外被装备以进行端口转发:防火墙504将合法输入分组上的目的端口号修改为应用的真实端口号。因此,对基础DoS防御机制来说,服务器端上的应用层502可以是不明朗的。
在本实施例中,提供了用于端口隐藏的详细设计。图6示出了用于端口隐藏的我们的体系结构,并且图7和图8示出了用于端口隐藏的操作控制流。
使用端口密钥K,利用客户机IP地址(CIP)、服务器IP地址(SIP)和当前时间(t)(t被测量为从1970年1月1日GMT开始已经过去的秒数)的带密钥伪随机函数(PRF)H,将实际的目的端口(dest_port)转换为已验证的端口(hide-port):hide-port=dest_port XOR HK(CIP,SIP,tnb)。为了说明客户机与服务器之间的松时间同步,我们使用tnb=t>>nb(代替t);这允许最大为2nb秒的时钟漂移。下面我们描述对客户机与服务器之间的初始时钟偏移和时钟漂移进行处理的技术。
观察到验证代码每tnb秒发生改变(并且由此hide-port每tnb秒发生改变)。因此,试图猜测验证代码的任何对手都有tnb秒的时间做这件事。在该时间间隔结束时,验证代码改变。即使对手猜到了用于一个时间周期的验证代码,它也不具有关于下一周期的验证代码的任何有用信息。通过确保没有两个客户机得到相同的端口密钥,我们进一步使验证代码不可转移。
我们将客户机专属端口密钥构造为K=HSK(t)(CIP),其中,使用PRFH和时变的服务器密钥SK(t),由客户机的IP地址(CIP)得出密钥K。按照SK(t)=HMK(t/T),由服务器的主密钥MK得出时变的密钥SK(t),其中,T是端口密钥有效的时间周期。主密钥MK由Web服务器保存为秘密。持有密钥K的受许可的客户机可以向合适的目的TCP端口发送分组。注意到,如果hide_port被不正确地计算,那么在服务器上重构的dest_port′=hide_port XOR HK(CIP,SIP,tnb)会是0到216-1之间的某随机端口号。因此,基于重构的目的端口号dest_port′(比方说使用IP表),可以使用标准防火墙规则过滤掉非法分组。
注意到,端口隐藏仅防止未许可的客户机506访问服务。然而,受许可的客户机506可能试图使用服务器上不成比例的资源量。我们使用公平排队技术来确保受许可的客户机506将不能够消耗服务器上不成比例的资源量。我们在端口隐藏过滤器之上直接添加公平排队过滤器,也就是说,来到该过滤器的所有分组均具有其上的正确端口号。公平排队确保只要客户机的分组到达速率小于容许分组速率或公平分组速率,丢弃客户机的分组的概率就为零。因此,仅丢弃来自试图使用大于其公平份额的客户机的分组。不丢弃来自诚实客户机的业务尤其重要,因为诚实客户机使用TCP,并且被丢弃的分组可能导致TCP减小其窗口大小并因此影响其吞吐量。另一方面,对手可能冒充TCP分组(比方说使用原始套接字);因此,被丢弃的分组对对手的影响不会像它对诚实客户机的影响那么大。
我们现在讨论对端口隐藏的实现。参照图6,其示出了端口隐藏过程600。客户机HTTP层602向客户机IP层604发送JavaSript,客户机IP层604向防火墙网络过滤器606发送hide_port消息。网络过滤器606然后将dest_port转发至防火墙的HTTP层608。
我们的实施方案操作于客户机和服务器二者之上。客户端实施方案使用置入大多数Web浏览器的通用功能性,并且因而不需要任何附加的软件安装。服务器端实施方案包括可装载的内核模块,其对Linux内核中的IP层分组处理进行修改。
客户端上的端口隐藏完全使用在标准Web浏览器中可获得的标准JavaSript支持来实现,并且不需要对基础内核进行任何改变。实际上,目的端口号似乎是基础TCP分组中可以被使用Web浏览器直接处理的唯一字段。
参照图7,在步骤702中,我们使用简单的JavaScripts将请求重定向到protocol://domain:hide_port/path_name而不是protocal://domain/path_name(通常,在给定协议的情况下,端口号是隐含的:例如,HTTP使用端口80)。通过在客户浏览器上将其存储为标准HTTP网络跟踪器而使得端口密钥对JavaScript可用。我们使用用于MAC(消息验证代码)计算的JavaScript方法在客户端由dest_port计算hide_port。下面我们讨论对客户机与服务器之间的初始时钟偏移和时钟漂移进行处理的技术。使用JavaScripts使得该方法不依赖于基础OS;另外,JavaScripts作为大多数Web浏览器(Microsoft IE、Mozilla FireFox)的一部分可用。
端口隐藏的服务器端实施方案工作如下。服务器上的端口隐藏过滤器操作于内核中的IP层。在步骤704中,服务器内核在IP层截获分组。在步骤706和708中,服务器端过滤器使用(网络地址转换)NAT端口转发将请求从hide_port转发至dest_port。注意到,客户机的TCP层认为其被连接到服务器上的hide_port。因此,在所有的服务器响应中,我们将源端口从dest_port替换为hide_port,以便使客户机认为分组出现自hide_port。在我们改变分组的源或目的端口时,我们还适当地改变TCP校验和。注意到,更新TCP校验和并不需要我们扫描整个分组。我们可以使用旧的校验和、dest_port和hide_port,用简单的16比特整数运算计算出新的校验和。我们使用网络过滤器来实现这些IP层过滤器,网络过滤器是Linux内核内部启用分组过滤、网络地址转换和其它的分组拆分的框架。
参照图8,在步骤802中,服务器上的应用产生对服务的请求的响应。在步骤804中,防火墙用hide_port替换dest_port并对校验和进行更新。然后在步骤806中,客户浏览器呈现所接收的HTML页面。
另外,我们需要由服务器进行服务的每一Web页面均包括对在客户端实现端口隐藏的JavaScript的调用。一个选项会是改变所有的静态Web页面以及产生了动态Web页面的脚本,以便嵌入对端口隐藏JavaScript的调用。然而,我们认为这样的实现将是不可行的。我们动态地修改HTTP响应,以便使用服务器端包括(SSI)在Web服务器中插入对JavaScripts的调用。SSI准许我们高效率地向由Web服务器产生的实际HTTP响应注入小的附加物。
按照下面的方式我们容许客户机与服务器之间的时钟偏移和时钟漂移。首先,当客户机联系询问服务器以获得端口密钥时,我们计算客户机时钟与服务器时钟之间的初始时间差。我们将这一初始时钟偏移作为网络跟踪器包括在含有客户机的端口密钥的HTTP响应中。周期性更新验证代码的客户端JavaScript使用初始时钟偏移来同步客户机本地时间与服务器的时间。假设时钟漂移小到可以忽略,说明初始时钟偏移是足够的。
另外,可以按照下面的方式容许少量的时钟漂移。服务器可以在每次向客户机发送HTTP响应时更新时钟偏移网络跟踪器。假设客户机与服务器之间的时钟漂移并未在来自客户机的两个连续HTTP响应之间显著增长,客户机将能够计算出正确的验证代码。然而,如果客户机在连续的HTTP请求之间的思考时间非常大,那么客户机的时钟漂移会有可能大于容许等级。甚至在这种情况下,发送具有不正确的验证头(目的端口号)的IP分组的客户机会被自动地重定向到询问服务器。在解答询问时,询问服务器会更新含有客户机与服务器之间的时钟偏移的网络跟踪器。
我们现在讨论对我们的询问服务器的设计。图9和图10示出了询问服务器的详细控制流。参照图9,在步骤902中,客户机开启到dest_port的TCP连接。然后在步骤904中,防火墙在IP层截获分组。在步骤906中,防火墙由hide_port得出dest_port并检查dest_port的有效性。在步骤908中,如果确认失败,则防火墙使用原始套接字来模仿TCP并向客户机发送询问(而不开启TCP连接)。
参照图10,在步骤1002中,客户浏览器使用JavaScript/Java小应用程序来解答询问。在步骤1004中,防火墙在IP层截获分组。在步骤1006中,检查询问解答的有效性。在步骤1008中,如果有效,则防火墙向客户机发送其嵌于HTTP网络跟踪器中的端口密钥。
询问服务器促进了向客户机的客户透明端口密钥传送。这是通过确保网站的URL访问询问服务器来实现的。换句话说,在URL的域名上的DNS(域名服务)查找将返回询问服务器的IP地址。因此,客户机对网站的第一访问被自动指向询问服务器。另外,当客户机发送具有不正确的端口号的分组时,其被重定向到询问服务器。这是确保经历大的时钟漂移的客户机能够继续访问Web服务器所需要的。
询问服务器将密码询问随解答询问的JavaScript一起发送给客户机。客户端浏览器可以使用该JavaSciprt来解答询问。注意到,进行客户端计算可以显著抑制DoS攻击者。我们已经实现了自适应询问算法,其类似于上面所描述的算法。在正确解答了询问时,询问服务器508向客户端浏览器发送作为标准HTTP网络跟踪器的端口密钥和初始时钟偏移。进一步地,询问服务器508使用HTTP重定向自动将客户机重定向到Web服务器。在服务器端防火墙检验IP分组上的验证代码(目的端口号)之后,其将来自客户机的所有进一步的请求转发至Web服务器。
注意到,询问服务器不能够使用端口隐藏而受到保护。因此,我们需要确保很难在询问服务器上发起DoS攻击。出于此目的,我们在这样的原始套接字上运行询问服务器,即该原始套接字使用无状态TCP/IP服务器方法来部分地模仿TCP连接。这使得我们的询问服务器对试图耗尽Web服务器上开启的TCP连接数的、诸如SYN洪流和SYN+ACK洪流的TCP级攻击具有复原能力。
询问服务器的客户端实现使用Java小应用程序,而服务器上的询问产生器和解答验证器使用C来实现。尽管使用Java小应用程序对大多数客户端浏览器(使用Java VM的标准浏览器插件)来说是透明的,其对自动的客户端脚本来说可能不是透明的。然而,客户端脚本可以使用其自身的机制来解答询问,而不必依赖Java小应用程序框架。
到目前为止我们假设一个客户机IP地址对应于一个客户机。然而,当多个客户机位于客户端代理后面时,这样的假设可能并不成立。在这种情况下,几个客户机会共享相同的IP地址。处理这样的客户机的关键问题如下:(i)我们的验证头是客户机IP地址的函数,客户机IP地址在这种情况下指的会是代理的IP地址。因此,我们的公平排队过滤器将不能够区分来自代理后面的不同客户机的请求;以及(ii)防火墙后面的客户浏览器可能不知道计算hide_port必需的、代理的IP地址。注意到,使用客户机的专用IP地址会导致无效的hide_port。
对客户端IP网络地址转换器(NAT)的进一步观察显示,客户端代理使用端口地址转换(PAT)以在相同的IP地址上多路复用多个客户机。PAT是通过用代理的公共IP地址和唯一识别的源端口号来代替客户机的专用IP地址和原始源端口号来工作的。当分组从因特网回到代理时,代理使用唯一的目的端口号(在响应中,分组源端口和目的端口可能已被交换)来确定客户机的专用IP地址和端口号。
我们按照K=HSK(t)(CIP,CPN)来修改每客户密钥产生,以便包括客户机的IP地址和端口号,其中,CIP表示代理的IP地址,并且CPN指的是如代理所分派的、客户机的已转换的端口号。客户机使用密钥K来从dest_port得出hide_port。注意到,对于具有公共IP地址的客户机,CIP指的会是客户机的IP地址,并且CPN指的会是其实际的端口号。
虽然以上解决方案准许代理后面的客户机操作,但其却揭开了令人感兴趣的问题。其准许一个怀有恶意的客户机伪装成好像在其防火墙后面有几个客户机。注意到,我们的公平排队过滤器在所有的客户机中均匀地划分服务器资源。然而,如果一个怀有恶意的客户机准备伪装成100个客户机,那么其会得到100倍的其服务器资源的公平份额。然而,伪装成代理后面的多个客户机的恶意节点必须在询问服务器上付出沉重的代价。回想我们使用计算密集的询问响应协议来初始化客户密钥。伪装成100个不同客户机的怀有恶意的客户机将不得不解答100个询问以获得与那100个虚构的客户机关联的客户密钥。这将大大阻碍了怀有恶意的客户机模拟代理后面的几个虚构的客户机。
现在讨论对我们的基本端口隐藏设计的定性分析。然后我们基于该定性分析对我们的基本设计进行改良,以便达到我们最终的设计。
由于我们的验证代码的大小被限制为N=16比特,怀有恶意的客户机可能能够以不小的概率发现对应于其IP地址的目的端口。假设理想的伪随机函数(PRF)H,对怀有恶意的客户机来说,所有可能的N比特的整数似乎都是候选hide_port。对于任何非交互式的对抗算法,用大于2-N的概率猜测正确的hide_port在计算上是不可行的。
因此,怀有恶意的客户机被迫使用交互式对抗算法来猜测hide_port的值。怀有恶意的客户机可以选择随机的N比特的整数rand_port作为目的端口号。客户机可以构造具有目的端口rand_port的TCP分组,并且将该分组发送到Web服务器。如果客户机具有获知该分组被过滤器接受的一些手段,那么该客户机具有有效的hide_port=rand_port。应当注意,即使怀有恶意的客户机成功地猜到hide_port的值,hide_port的该值也仅对当前的时间段有效。在该时间段结束时,怀有恶意的客户机必须再度尝试猜测hide_port的新值。另外观察到,使用对一个时期有效的hide_port值并不为试图猜测下一时期的hide_port值的、怀有恶意的客户机带来任何好处。
假设客户机不能够直接观察服务器,客户机获知分组是否被防火墙接受的唯一方法是希望Web服务器对其分组进行响应。发送随机的TCP分组不会有所帮助,因为Web服务器的TCP层将在缺乏有效连接时丢弃分组。因此,怀有恶意的客户机必须发送具有其对hide_port的猜测的TCPSYN分组。如果Web服务器用TCP SYN-ACK分组进行响应,那么客户机具有有效的hide_port。
注意到,由于所有的N比特的整数似乎都像是同样有可能的有效hide_port,因此怀有恶意的客户机除了选择一些随机枚举之外,不具有任何智能策略来枚举端口号空间。显然,随机选择的hide_port具有连着的2N个机会中的1个,由此将对手的实力降低了极大的数量级。在密码学上,在65,536(N=16)中一个的概率并不被认为是特别小的;然而,我们的技术能够控制对手可以侵入我们的系统的速率。观察到,怀有恶意的客户机有可能会推断出有效的hide_port的唯一方法是通过用多个SYN分组来探查服务器并且希望从Web服务器接收到SYN-ACK分组。现在,如果服务器每单位时间从客户机接收到的具有不正确的目的端口的SYN分组数多于阈值r,则其可以将客户机标记为怀有恶意。注意到,可以使用我们的公平排队过滤器来对每客户机SYN分组数进行速率限制。
然而,以上所描述的技术是有缺点的。让我们设想怀有恶意的客户机知道某合法客户机C的IP地址。在将分组的源IP地址假冒为CIP的情况下,怀有恶意的客户机可以用每单位时间多于r个的SYN分组对Web服务器造成洪流(用随机选择的目的端口号),其中,CIP是客户机C的IP地址。现在,防火墙会将具有IP地址CIP的客户机标记为怀有恶意。因此,将来从该合法客户机C发送的所有分组都可能被防火墙丢弃。
按照下面的方式使用SYN网络跟踪器可以防止以上所描述的问题。Web服务器现在用SYN-ACK分组对所有的SYN分组进行响应(无论它们是否与目的端口号匹配)。Web服务器在TCP序号字段中对在密码上可检验的网络跟踪器进行编码。当客户机发送TCP ACK分组时,服务器在开启到该客户机的TCP连接之前检验嵌于TCP序号字段中的网络跟踪器。另外,防火墙为TCP SYN分组以外的所有分组检查目的端口号。如果怀有恶意的客户机准备在TCP SYN分组中假冒其源IP地址,那么在IP地址CIP不受对手控制的情况下,其将不能够发送具有匹配网络跟踪器(序号)的TCP ACK分组。回想我们的威胁模型假设对手将不能够观察或破坏发送到不受对手控制的IP地址的任何分组。因此,使用SYN网络跟踪器排除了含有不受对手控制的假冒源地址的所有ACK分组。现在,Web服务器将限制每单位时间ACK分组数,而不是限制每单位时间SYN分组数。显然,修改后的技术确保了对手不能够迫使防火墙丢弃发送自合法客户机C的分组。
然而,对手可能仍然用无限数目的SYN分组对Web服务器造成洪流。协议希望Web服务器用SYN-ACK分组对所有的SYN分组进行响应,而不论SYN分组是否与嵌于目的端口号字段中的验证代码匹配。通过将接受自客户机的SYN分组数的上界设置在每单位时间至多r个SYN分组,可以缓和这一问题。使用有限的r准许对手迫使Web服务器丢弃来自于合法客户机的分组。例如,怀有恶意的客户机可以用CIP假冒源IP地址,并且每单位时间发送多于r个SYN分组。显然,随着r的增加,对手这样做的代价变得越大。然而,随着r的增加,坏客户机将能够用更多的SYN分组对Web服务器造成洪流。允许每单位时间更多的SYN分组准许坏客户机猜测其正确的hide_port。因此,Web服务器必须仔细选择参数r。
因此,虽然已经描述了目前被认为是优选实施例的内容,但是本领域技术人员将会理解,可以在本发明的精神范围内进行其它的修改。
Claims (6)
1.一种用于在客户机-服务器系统中处理多个请求的方法,所述方法包括以下步骤:
接收来自客户机的至少一个请求;
为所述至少一个请求计算信任等级分数,其中,所述信任等级分数基于所述服务器在处理所述请求时所花费的系统资源量,且较高的信任等级分数由消耗较少系统资源量的请求获得;以及
基于所述至少一个请求的信任等级分数,分派或修改所述客户机的优先等级,其中,低信任等级分数降低了客户机的优先等级,从而限制了客户机每单位时间可以发布的请求数。
2.根据权利要求1的方法,其进一步包括:基于随后的请求修改提供给所述客户机的所述信任等级分数。
3根据权利要求1的方法,其中,所述信任等级分数嵌于要发送到所述客户机的信任网络跟踪器中。
4.根据权利要求3的方法,其中,所述信任网络跟踪器包括:所述客户机IP地址、所述服务器IP地址、所述信任网络跟踪器被发布的时间,以及所述信任等级分数。
5.根据权利要求4的方法,其中,所述信任网络跟踪器进一步包括表示标记的标志。
6.根据权利要求4的方法,其中,所述网络跟踪器进一步包括保密密钥。
7.根据权利要求6的方法,其中,所述网络跟踪器进一步包括对称密钥加密算法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/433,534 | 2006-05-12 | ||
US11/433,534 US7721091B2 (en) | 2006-05-12 | 2006-05-12 | Method for protecting against denial of service attacks using trust, quality of service, personalization, and hide port messages |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010136621A Division CN101820423A (zh) | 2006-05-12 | 2007-05-10 | 用于防御拒绝服务攻击的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101072106A CN101072106A (zh) | 2007-11-14 |
CN101072106B true CN101072106B (zh) | 2010-08-11 |
Family
ID=38686584
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010136621A Pending CN101820423A (zh) | 2006-05-12 | 2007-05-10 | 用于防御拒绝服务攻击的方法和系统 |
CN2007101074144A Expired - Fee Related CN101072106B (zh) | 2006-05-12 | 2007-05-10 | 用于防御拒绝服务攻击的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010136621A Pending CN101820423A (zh) | 2006-05-12 | 2007-05-10 | 用于防御拒绝服务攻击的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7721091B2 (zh) |
CN (2) | CN101820423A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667831A (zh) * | 2018-04-27 | 2018-10-16 | 河海大学常州校区 | 一种易于部署和保护隐私的ddos预防服务系统 |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9412123B2 (en) | 2003-07-01 | 2016-08-09 | The 41St Parameter, Inc. | Keystroke analysis |
US7886350B2 (en) * | 2003-10-03 | 2011-02-08 | Verizon Services Corp. | Methodology for measurements and analysis of protocol conformance, performance and scalability of stateful border gateways |
US7886348B2 (en) * | 2003-10-03 | 2011-02-08 | Verizon Services Corp. | Security management system for monitoring firewall operation |
US7853996B1 (en) | 2003-10-03 | 2010-12-14 | Verizon Services Corp. | Methodology, measurements and analysis of performance and scalability of stateful border gateways |
US7421734B2 (en) * | 2003-10-03 | 2008-09-02 | Verizon Services Corp. | Network firewall test methods and apparatus |
US10999298B2 (en) | 2004-03-02 | 2021-05-04 | The 41St Parameter, Inc. | Method and system for identifying users and detecting fraud by use of the internet |
US7958560B1 (en) * | 2005-03-15 | 2011-06-07 | Mu Dynamics, Inc. | Portable program for generating attacks on communication protocols and channels |
US9374342B2 (en) | 2005-11-08 | 2016-06-21 | Verizon Patent And Licensing Inc. | System and method for testing network firewall using fine granularity measurements |
US8027251B2 (en) | 2005-11-08 | 2011-09-27 | Verizon Services Corp. | Systems and methods for implementing protocol-aware network firewall |
US11301585B2 (en) | 2005-12-16 | 2022-04-12 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US8938671B2 (en) | 2005-12-16 | 2015-01-20 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US8151327B2 (en) | 2006-03-31 | 2012-04-03 | The 41St Parameter, Inc. | Systems and methods for detection of session tampering and fraud prevention |
US8539586B2 (en) * | 2006-05-19 | 2013-09-17 | Peter R. Stephenson | Method for evaluating system risk |
US9473529B2 (en) | 2006-11-08 | 2016-10-18 | Verizon Patent And Licensing Inc. | Prevention of denial of service (DoS) attacks on session initiation protocol (SIP)-based systems using method vulnerability filtering |
US8966619B2 (en) * | 2006-11-08 | 2015-02-24 | Verizon Patent And Licensing Inc. | Prevention of denial of service (DoS) attacks on session initiation protocol (SIP)-based systems using return routability check filtering |
US8689334B2 (en) * | 2007-02-28 | 2014-04-01 | Alcatel Lucent | Security protection for a customer programmable platform |
US20080282080A1 (en) * | 2007-05-11 | 2008-11-13 | Nortel Networks Limited | Method and apparatus for adapting a communication network according to information provided by a trusted client |
US8302186B2 (en) * | 2007-06-29 | 2012-10-30 | Verizon Patent And Licensing Inc. | System and method for testing network firewall for denial-of-service (DOS) detection and prevention in signaling channel |
US8522344B2 (en) * | 2007-06-29 | 2013-08-27 | Verizon Patent And Licensing Inc. | Theft of service architectural integrity validation tools for session initiation protocol (SIP)-based systems |
JP5145852B2 (ja) * | 2007-10-15 | 2013-02-20 | 日本電気株式会社 | 係数決定装置、無線通信システム、係数決定方法及び係数決定プログラム |
US8370937B2 (en) * | 2007-12-03 | 2013-02-05 | Cisco Technology, Inc. | Handling of DDoS attacks from NAT or proxy devices |
CN101459548B (zh) * | 2007-12-14 | 2011-10-12 | 北京启明星辰信息技术股份有限公司 | 一种脚本注入攻击检测方法和系统 |
US9578055B1 (en) * | 2008-01-25 | 2017-02-21 | F5 Networks, Inc. | Thwarting drone-waged denial of service attacks on a network |
EP2109281A1 (en) * | 2008-04-11 | 2009-10-14 | Deutsche Telekom AG | Method and system for server-load and bandwidth dependent mitigation of distributed denial of service attacks |
US20100058082A1 (en) * | 2008-08-27 | 2010-03-04 | Lenovo (Singapore) Ple., Ltd. | Maintaining network link during suspend state |
CN101383830A (zh) * | 2008-10-28 | 2009-03-11 | 成都市华为赛门铁克科技有限公司 | 一种防护网络攻击的方法、系统及网关、域名系统 |
US8312268B2 (en) | 2008-12-12 | 2012-11-13 | International Business Machines Corporation | Virtual machine |
US9112850B1 (en) | 2009-03-25 | 2015-08-18 | The 41St Parameter, Inc. | Systems and methods of sharing information through a tag-based consortium |
US9021046B2 (en) | 2010-01-15 | 2015-04-28 | Joyent, Inc | Provisioning server resources in a cloud resource |
CN102316082A (zh) * | 2010-07-06 | 2012-01-11 | 杭州华三通信技术有限公司 | 一种防御网站DDoS攻击的方法和流量清洗设备 |
US20120054316A1 (en) * | 2010-09-01 | 2012-03-01 | Canon Kabushiki Kaisha | Tcp multiplexing over a proxy |
EP2619958B1 (en) | 2010-09-24 | 2018-02-21 | Verisign, Inc. | Ip prioritization and scoring method and system for ddos detection and mitigation |
US8401186B2 (en) * | 2010-11-29 | 2013-03-19 | Beijing Z&W Technology Consulting Co., Ltd. | Cloud storage data access method, apparatus and system based on OTP |
US9392576B2 (en) | 2010-12-29 | 2016-07-12 | Motorola Solutions, Inc. | Methods for tranporting a plurality of media streams over a shared MBMS bearer in a 3GPP compliant communication system |
US20120174196A1 (en) | 2010-12-30 | 2012-07-05 | Suresh Bhogavilli | Active validation for ddos and ssl ddos attacks |
US9473530B2 (en) | 2010-12-30 | 2016-10-18 | Verisign, Inc. | Client-side active validation for mitigating DDOS attacks |
KR101036750B1 (ko) * | 2011-01-04 | 2011-05-23 | 주식회사 엔피코어 | 좀비행위 차단 시스템 및 방법 |
US8776207B2 (en) | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
US8555276B2 (en) | 2011-03-11 | 2013-10-08 | Joyent, Inc. | Systems and methods for transparently optimizing workloads |
FR2973626A1 (fr) * | 2011-03-31 | 2012-10-05 | France Telecom | Mecanisme de redirection entrante sur un proxy inverse |
WO2011113383A2 (zh) * | 2011-04-26 | 2011-09-22 | 华为终端有限公司 | 一种业务处理的方法和服务器 |
US20120324572A1 (en) | 2011-06-16 | 2012-12-20 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods that perform application request throttling in a distributed computing environment |
US8621038B2 (en) | 2011-09-27 | 2013-12-31 | Cloudflare, Inc. | Incompatible network gateway provisioned through DNS |
US8438240B2 (en) * | 2011-09-27 | 2013-05-07 | Cloudflare, Inc. | Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service |
US10754913B2 (en) | 2011-11-15 | 2020-08-25 | Tapad, Inc. | System and method for analyzing user device information |
CN102404345A (zh) * | 2011-12-26 | 2012-04-04 | 山石网科通信技术(北京)有限公司 | 分布式攻击阻止方法及装置 |
US8782224B2 (en) * | 2011-12-29 | 2014-07-15 | Joyent, Inc. | Systems and methods for time-based dynamic allocation of resource management |
US8547379B2 (en) | 2011-12-29 | 2013-10-01 | Joyent, Inc. | Systems, methods, and media for generating multidimensional heat maps |
US9633201B1 (en) | 2012-03-01 | 2017-04-25 | The 41St Parameter, Inc. | Methods and systems for fraud containment |
US9521551B2 (en) | 2012-03-22 | 2016-12-13 | The 41St Parameter, Inc. | Methods and systems for persistent cross-application mobile device identification |
US8677510B2 (en) | 2012-04-06 | 2014-03-18 | Wayne Odom | System, method, and device for communicating and storing and delivering data |
US8448236B1 (en) | 2012-12-07 | 2013-05-21 | Wayne Odom | System, method, and device for storing and delivering data |
US9043934B2 (en) | 2012-04-06 | 2015-05-26 | Wayne Odom | System, method, and device for delivering communications and storing and delivering data |
US8844054B2 (en) | 2012-04-06 | 2014-09-23 | Wayne Odom | System, method, and device for communicating and storing and delivering data |
US8572720B1 (en) | 2013-05-20 | 2013-10-29 | Wayne Odom | System, method, and device for communicating and storing and delivering data |
US9378339B2 (en) | 2012-04-06 | 2016-06-28 | Wayne Odom | System, method, and device for delivering communications and storing and delivering data |
EP2880619A1 (en) | 2012-08-02 | 2015-06-10 | The 41st Parameter, Inc. | Systems and methods for accessing records via derivative locators |
WO2014078569A1 (en) | 2012-11-14 | 2014-05-22 | The 41St Parameter, Inc. | Systems and methods of global identification |
CN102984153A (zh) * | 2012-11-29 | 2013-03-20 | 华为技术有限公司 | 一种黑客防止方法、设备及系统 |
US9906552B1 (en) * | 2013-02-13 | 2018-02-27 | Amazon Technologies, Inc. | Managing system load |
US10182041B2 (en) * | 2013-02-27 | 2019-01-15 | CipherTooth, Inc. | Method and apparatus for secure data transmissions |
US8677359B1 (en) | 2013-03-14 | 2014-03-18 | Joyent, Inc. | Compute-centric object stores and methods of use |
US8943284B2 (en) | 2013-03-14 | 2015-01-27 | Joyent, Inc. | Systems and methods for integrating compute resources in a storage area network |
US8881279B2 (en) | 2013-03-14 | 2014-11-04 | Joyent, Inc. | Systems and methods for zone-based intrusion detection |
US9104456B2 (en) | 2013-03-14 | 2015-08-11 | Joyent, Inc. | Zone management of compute-centric object stores |
US8826279B1 (en) | 2013-03-14 | 2014-09-02 | Joyent, Inc. | Instruction set architecture for compute-based object stores |
US9092238B2 (en) | 2013-03-15 | 2015-07-28 | Joyent, Inc. | Versioning schemes for compute-centric object stores |
US8793688B1 (en) | 2013-03-15 | 2014-07-29 | Joyent, Inc. | Systems and methods for double hulled virtualization operations |
US9264414B2 (en) * | 2013-03-15 | 2016-02-16 | Microsoft Technology Licensing, Llc | Retry and snapshot enabled cross-platform synchronized communication queue |
US8775485B1 (en) | 2013-03-15 | 2014-07-08 | Joyent, Inc. | Object store management operations within compute-centric object stores |
JP2014197726A (ja) * | 2013-03-29 | 2014-10-16 | 株式会社東芝 | 計測装置、情報処理装置、鍵管理装置および使用量計算システム |
KR20150024056A (ko) * | 2013-08-26 | 2015-03-06 | 삼성전자주식회사 | Http 메시지 처리 방법 및 이를 구현하는 전자장치 |
US10902327B1 (en) | 2013-08-30 | 2021-01-26 | The 41St Parameter, Inc. | System and method for device identification and uniqueness |
IL235233A0 (en) * | 2013-12-03 | 2015-01-29 | Verisign Inc | Active authentication on the client side to handle ddos attacks |
EP2887602A1 (en) * | 2013-12-17 | 2015-06-24 | Stonesoft Corporation | Session level mitigation of service disrupting attacks |
US9407659B2 (en) * | 2014-04-23 | 2016-08-02 | Arbor Networks, Inc. | Protecting computing assets from resource intensive querying attacks |
EP3136277B1 (en) * | 2014-04-25 | 2020-04-08 | Hitachi Systems, Ltd. | Illicit activity sensing network system and illicit activity sensing method |
US9686312B2 (en) | 2014-07-23 | 2017-06-20 | Cisco Technology, Inc. | Verifying network attack detector effectiveness |
US10091312B1 (en) | 2014-10-14 | 2018-10-02 | The 41St Parameter, Inc. | Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups |
US9628455B2 (en) * | 2014-12-09 | 2017-04-18 | Akamai Technologies, Inc. | Filtering TLS connection requests using TLS extension and federated TLS tickets |
US20160173529A1 (en) * | 2014-12-15 | 2016-06-16 | King Fahd University Of Petroleum And Minerals | Controlled resource access to mitigate economic denial of sustainability attacks against cloud infrastructures |
US9888034B2 (en) * | 2014-12-24 | 2018-02-06 | Oracle International Corporation | Pluggable API firewall filter |
US9626515B2 (en) * | 2014-12-30 | 2017-04-18 | Samsung Electronics Co., Ltd. | Electronic system with risk presentation mechanism and method of operation thereof |
CN104580207B (zh) * | 2015-01-04 | 2019-03-19 | 华为技术有限公司 | 物联网中的认证信息的转发方法、装置以及转发器 |
CN104717205A (zh) * | 2015-02-04 | 2015-06-17 | 上海展湾信息科技有限公司 | 基于报文重构的工控防火墙控制方法 |
EP3407565B1 (en) * | 2015-06-24 | 2019-12-18 | Accenture Global Services Limited | Device authentication |
CN106656912B (zh) * | 2015-10-28 | 2020-03-20 | 华为技术有限公司 | 一种检测拒绝服务攻击的方法及装置 |
CN105306494A (zh) * | 2015-11-26 | 2016-02-03 | 上海斐讯数据通信技术有限公司 | 一种防止dos攻击的服务器及方法 |
DE102015016832B4 (de) | 2015-12-28 | 2019-05-09 | Link11 GmbH | Abwehr eines Angriffs über ein Netzwerk auf ein Computersystem |
AU2016381499A1 (en) * | 2015-12-31 | 2018-08-09 | Cyber 2.0 (2015) Ltd. | Monitoring traffic in a computer network |
US10893069B2 (en) * | 2016-04-06 | 2021-01-12 | Nokia Technologies Oy | Diameter edge agent attack detection |
US9792782B1 (en) | 2016-05-17 | 2017-10-17 | Visa International Service Association | Systems and methods for transferring resource access |
US10713272B1 (en) | 2016-06-30 | 2020-07-14 | Amazon Technologies, Inc. | Dynamic generation of data catalogs for accessing data |
US10284521B2 (en) * | 2016-08-17 | 2019-05-07 | Cisco Technology, Inc. | Automatic security list offload with exponential timeout |
US10218515B2 (en) | 2016-08-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Evolving a signature during trust verification of an object |
US10523715B1 (en) * | 2016-08-26 | 2019-12-31 | Symantec Corporation | Analyzing requests from authenticated computing devices to detect and estimate the size of network address translation systems |
CN106161478B (zh) * | 2016-09-19 | 2019-02-19 | 成都知道创宇信息技术有限公司 | 基于http响应头变化的准确攻击识别方法 |
US11481408B2 (en) | 2016-11-27 | 2022-10-25 | Amazon Technologies, Inc. | Event driven extract, transform, load (ETL) processing |
US11138220B2 (en) | 2016-11-27 | 2021-10-05 | Amazon Technologies, Inc. | Generating data transformation workflows |
US10621210B2 (en) | 2016-11-27 | 2020-04-14 | Amazon Technologies, Inc. | Recognizing unknown data objects |
US11277494B1 (en) | 2016-11-27 | 2022-03-15 | Amazon Technologies, Inc. | Dynamically routing code for executing |
US10963479B1 (en) | 2016-11-27 | 2021-03-30 | Amazon Technologies, Inc. | Hosting version controlled extract, transform, load (ETL) code |
US11036560B1 (en) * | 2016-12-20 | 2021-06-15 | Amazon Technologies, Inc. | Determining isolation types for executing code portions |
US10545979B2 (en) | 2016-12-20 | 2020-01-28 | Amazon Technologies, Inc. | Maintaining data lineage to detect data events |
RU2638001C1 (ru) * | 2017-02-08 | 2017-12-08 | Акционерное общество "Лаборатория Касперского" | Система и способ выделения части резерва производительности антивирусного сервера для выполнения антивирусной проверки веб-страницы |
CN108512711B (zh) * | 2017-02-24 | 2021-07-13 | 阿里巴巴(中国)有限公司 | 得到瞬时接口访问统计量的方法、装置和设备 |
EP3379807A1 (en) * | 2017-03-21 | 2018-09-26 | Thomson Licensing | Device and method for forwarding connections |
US20200084225A1 (en) * | 2017-12-01 | 2020-03-12 | Trusted Knight Corporation | In-stream malware protection |
US11870870B2 (en) * | 2018-01-19 | 2024-01-09 | Apollo Graph, Inc. | Systems and/or methods to limit query handling |
CN108234342B (zh) * | 2018-01-25 | 2021-08-13 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态主动限流方法及系统 |
CN108234341B (zh) * | 2018-01-25 | 2021-06-11 | 北京搜狐新媒体信息技术有限公司 | 基于设备指纹的Nginx动态被动限流方法及系统 |
US11258795B2 (en) * | 2018-03-12 | 2022-02-22 | Prevade, LLC | Cybersecurity training system and process |
US10841281B2 (en) * | 2018-03-26 | 2020-11-17 | Kuo Chiang | Methods for preventing or detecting computer attacks in a cloud-based environment and apparatuses using the same |
US11157571B2 (en) | 2018-07-12 | 2021-10-26 | Bank Of America Corporation | External network system for extracting external website data using generated polymorphic data |
US11140158B1 (en) * | 2018-08-07 | 2021-10-05 | United Services Automobile Association (Usaa) | Authentication for application downloads |
CN109743331B (zh) * | 2019-01-29 | 2021-06-15 | 杭州电子科技大学 | 一种基于匹配的访问控制方法 |
US20210367784A1 (en) * | 2019-04-16 | 2021-11-25 | Google Llc | Self-authenticating domain specific browser identifiers |
RU2740027C1 (ru) * | 2020-02-12 | 2020-12-30 | Варити Менеджмент Сервисез Лимитед | Способ и система предотвращения вредоносных автоматизированных атак |
CN113452803B (zh) * | 2020-03-25 | 2022-11-22 | 中国互联网络信息中心 | 一种验证方法、装置、服务器及存储介质 |
CN111726334A (zh) * | 2020-05-08 | 2020-09-29 | 深圳知路科技有限公司 | 防止网络攻击的方法、客户端、服务器及系统 |
CN111565193B (zh) * | 2020-05-12 | 2020-12-25 | 广州锦行网络科技有限公司 | 一种安全隐蔽访问控制方法 |
US11558183B2 (en) * | 2020-05-15 | 2023-01-17 | Bank Of America Corporation | System for exchanging symmetric cryptographic keys using computer network port knocking |
US11849040B2 (en) * | 2020-07-27 | 2023-12-19 | Micro Focus Llc | Adaptive rate limiting of API calls |
CN112153001B (zh) * | 2020-08-21 | 2023-06-23 | 杭州安恒信息技术股份有限公司 | 基于waf的网络通信方法、系统、电子装置和存储介质 |
CN112311776B (zh) * | 2020-10-21 | 2022-08-30 | 浪潮云信息技术股份公司 | 一种防范api网关泛洪攻击的系统及方法 |
CN112685451B (zh) * | 2020-12-28 | 2024-02-13 | 招商局金融科技有限公司 | 数据查询处理方法、装置、计算机设备及存储介质 |
CN112953850B (zh) * | 2021-04-06 | 2022-09-02 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668322B1 (en) * | 1999-08-05 | 2003-12-23 | Sun Microsystems, Inc. | Access management system and method employing secure credentials |
CN1558601A (zh) * | 2004-01-19 | 2004-12-29 | �Ϻ���ͨ��ѧ | 一种抗拒绝服务攻击的Web服务器负载控制方法 |
CN1716868A (zh) * | 2004-06-29 | 2006-01-04 | 华为技术有限公司 | 一种抵御拒绝服务攻击的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802178A (en) * | 1996-07-30 | 1998-09-01 | Itt Industries, Inc. | Stand alone device for providing security within computer networks |
US5832228A (en) * | 1996-07-30 | 1998-11-03 | Itt Industries, Inc. | System and method for providing multi-level security in computer devices utilized with non-secure networks |
US7086085B1 (en) * | 2000-04-11 | 2006-08-01 | Bruce E Brown | Variable trust levels for authentication |
KR100350316B1 (ko) * | 2000-08-28 | 2002-08-28 | 엘지전자 주식회사 | 에이에이에이 서버에 과부하 방지를 위한 접근요청 메시지처리 방법 |
JP2002158699A (ja) * | 2000-11-20 | 2002-05-31 | Nippon Telegr & Teleph Corp <Ntt> | DoS攻撃防止方法および装置およびシステムおよび記録媒体 |
US7308715B2 (en) * | 2001-06-13 | 2007-12-11 | Mcafee, Inc. | Protocol-parsing state machine and method of using same |
GB2378272A (en) * | 2001-07-31 | 2003-02-05 | Hewlett Packard Co | Method and apparatus for locking an application within a trusted environment |
US7383433B2 (en) * | 2001-07-31 | 2008-06-03 | Sun Microsystems, Inc. | Trust spectrum for certificate distribution in distributed peer-to-peer networks |
US7275260B2 (en) * | 2001-10-29 | 2007-09-25 | Sun Microsystems, Inc. | Enhanced privacy protection in identification in a data communications network |
US20030084172A1 (en) * | 2001-10-29 | 2003-05-01 | Sun Microsystem, Inc., A Delaware Corporation | Identification and privacy in the World Wide Web |
US20040025018A1 (en) * | 2002-01-23 | 2004-02-05 | Haas Zygmunt J. | Secure end-to-end communication in mobile ad hoc networks |
US7343619B2 (en) * | 2002-03-16 | 2008-03-11 | Trustedflow Systems, Inc. | Trusted flow and operation control method |
CN1231847C (zh) * | 2002-09-09 | 2005-12-14 | 中国科学院研究生院 | 一种网络设备身份认证装置及方法 |
US20040181665A1 (en) * | 2003-03-12 | 2004-09-16 | Houser Daniel D. | Trust governance framework |
US20050166053A1 (en) * | 2004-01-28 | 2005-07-28 | Yahoo! Inc. | Method and system for associating a signature with a mobile device |
AU2005234051A1 (en) * | 2004-04-12 | 2005-10-27 | Intercomputer Corporation | Secure messaging system |
US20070022479A1 (en) * | 2005-07-21 | 2007-01-25 | Somsubhra Sikdar | Network interface and firewall device |
US20070022474A1 (en) * | 2005-07-21 | 2007-01-25 | Mistletoe Technologies, Inc. | Portable firewall |
-
2006
- 2006-05-12 US US11/433,534 patent/US7721091B2/en not_active Expired - Fee Related
-
2007
- 2007-05-10 CN CN201010136621A patent/CN101820423A/zh active Pending
- 2007-05-10 CN CN2007101074144A patent/CN101072106B/zh not_active Expired - Fee Related
-
2010
- 2010-04-09 US US12/757,836 patent/US8250631B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668322B1 (en) * | 1999-08-05 | 2003-12-23 | Sun Microsystems, Inc. | Access management system and method employing secure credentials |
CN1558601A (zh) * | 2004-01-19 | 2004-12-29 | �Ϻ���ͨ��ѧ | 一种抗拒绝服务攻击的Web服务器负载控制方法 |
CN1716868A (zh) * | 2004-06-29 | 2006-01-04 | 华为技术有限公司 | 一种抵御拒绝服务攻击的方法 |
Non-Patent Citations (1)
Title |
---|
CN 1716868 A,全文. |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667831A (zh) * | 2018-04-27 | 2018-10-16 | 河海大学常州校区 | 一种易于部署和保护隐私的ddos预防服务系统 |
Also Published As
Publication number | Publication date |
---|---|
US7721091B2 (en) | 2010-05-18 |
US20070266426A1 (en) | 2007-11-15 |
US8250631B2 (en) | 2012-08-21 |
US20100235632A1 (en) | 2010-09-16 |
CN101072106A (zh) | 2007-11-14 |
CN101820423A (zh) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101072106B (zh) | 用于防御拒绝服务攻击的方法和系统 | |
Plohmann et al. | Case study of the miner botnet | |
Harris et al. | TCP/IP security threats and attack methods | |
US9106695B2 (en) | Method and system for user authentication using DNSSEC | |
Srivatsa et al. | Mitigating application-level denial of service attacks on Web servers: A client-transparent approach | |
CN107634967B (zh) | 一种CSRF攻击的CSRFToken防御系统和方法 | |
EP2611106A1 (en) | System for automated prevention of fraud | |
US20110047610A1 (en) | Modular Framework for Virtualization of Identity and Authentication Processing for Multi-Factor Authentication | |
CN109327426A (zh) | 一种防火墙攻击防御方法 | |
Li et al. | B-DNS: A secure and efficient DNS based on the blockchain technology | |
US9661002B2 (en) | Method for user authentication using DNSSEC | |
Osanaiye et al. | TCP/IP header classification for detecting spoofed DDoS attack in Cloud environment | |
CN111953678B (zh) | 一种验证dns请求安全性的方法及系统 | |
Wang et al. | Design and implementation of an SDN-enabled DNS security framework | |
US20060200566A1 (en) | Software proxy for securing web application business logic | |
Yu et al. | A lightweight mechanism to mitigate application layer DDoS attacks | |
Tsow | Phishing with Consumer Electronics-Malicious Home Routers. | |
Zhao et al. | DCG: A Client-side Protection Method for DNS Cache. | |
Gajek et al. | A forensic framework for tracing phishers | |
CN110581843B (zh) | 一种拟态Web网关多应用流量定向分配方法 | |
Lee et al. | Pervasive random beacon in the internet for covert coordination | |
Comer | Network processors: programmable technology for building network systems | |
Nguyen et al. | Blockchain-based auditing of transparent log servers | |
Srivatsa et al. | A client-transparent approach to defend against denial of service attacks | |
Vorobiev et al. | An ontology framework for managing security attacks and defences in component based software systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100811 Termination date: 20200510 |
|
CF01 | Termination of patent right due to non-payment of annual fee |