专利名称:用于控制计算机应用程序的方法和系统的制作方法
技术领域:
本发明涉及使用一个或多个计算机设备的电子通信领域。
背景技术:
随着因特网的飞速发展,主机系统可以将其服务提供给许多客户端系统,其中主 机和客户端系统两者都分布于世界各地。一旦建立了正确的连接,信息可以在主机系统和 客户端系统间自由地流动。例如,在常规的分布式网络中,多个主机系统或服务器经由网络或网络的集合 (例如,因特网)与多个客户端系统通信。这种分布式网络体系结构是力量的来源(例如, 使得信息能够在许多系统之间自由流动),也是脆弱性的来源(例如,产生了易受恶意攻击 的脆弱性)。特别地,当客户端系统试图建立到主机系统的连接,例如,TCP (传输控制协议)连 接时,客户机和主机交换一组消息或分组序列。这种一般方法应用于所有TCP连接Web、远 程登陆、电子邮件等。当连接建立后,客户端系统可以向主机系统发送请求,例如对内容的 请求。为了防止或减少客户端系统对主机系统的恶意攻击行为,防火墙是公知的。防火 墙是专用装置或软件,用以检查通过它的网络通信量,并且基于一组规则拒绝或允许通过。根据通信发生在何处,在何处拦截通信和被跟踪的状态,存在若干防火墙分类。网 络层防火墙,已被称为分组过滤器,工作在TCP/IP协议栈的相对低的层次,其不允许分组 通过防火墙,除非分组与确立的规则集合匹配。这些防火墙基于分组属性过滤通信。防火 墙管理员可以定义该规则;或可以应用默认规则。网络层防火墙一般分为两个子类。状态 防火墙是跟踪经过它的网络连接(诸如,TCP流、UDP通信)的状态的防火墙。该防火墙被 编程为区分用于不同类型连接的合法分组。仅有与已知连接状态匹配的分组才被防火墙允 许,而其它分组将被拒绝。无状态防火墙具有分组过滤能力,但是不能进行关于主机之间的 通信达到了何种阶段的更复杂的判断。应用层防火墙工作于TCP/IP协议栈的应用层(即,所有浏览器通信量或所有远程 登陆或ftp通信量),并且可以拦截传送到一个应用或来自于该应用的所有分组。原则上, 应用防火墙可以防止所有不希望的外部通信到达受保护的机器。这些防火墙检查分组中不 适当的内容。XML防火墙是一种新近的应用层防火墙的例子。在EPl 296 252中提供了这 种防火墙的例子。网络层防火墙的缺点在于必须建立并且维护复杂的规则集。在另一方面,应用层 防火墙的确定在于对分组内容的筛选需要相当大数量的资源,和/或可能花费大量时间。本领域中需要能够例如节省资源的改进的安全系统。
发明内容
提出了控制配置为与客户端进行电子通信的计算机系统中的计算机应用程序的计算机实现方法。该计算机系统配置为能够访问相应于所述计算机应用程序的第一应用状 态的一个或多个可允许请求的第一请求集合。所述计算机应用程序可以运行在计算机系统 上,或运行在一个或多个其它计算机系统上。在该计算机系统处接收对该计算机应用程序 的客户请求。该计算机应用程序相对于所述客户端处于第一应用状态(例如,使用客户连 接)。分析客户请求,以便确定客户请求是否与相应于计算机应用程序的第一应用状态的可 允许请求中的一个请求相匹配。通过指示计算机应用程序仅在客户请求与第一请求集合中 的可允许请求相匹配时执行客户请求,控制该计算机应用程序。还提出了用于执行该方法的计算机程序,以及包含这种计算机程序的计算机可读 介质。还提出了用于控制计算机应用程序的计算机系统。计算机应用程序安装在计算机 系统或一个或多个其它计算机系统上。计算机系统配置为用于连接至少一个客户端。该计 算机系统包括客户请求接收器,配置为接收被定向到所述计算机应用程序的客户请求。计 算机程序然后可以处于第一应用状态。该计算机系统还包括分析器模块,配置为分析客户 请求是否与第一请求集合中的可允许请求中的一个请求相匹配。第一请求集合包括相应于 与所述客户端相关的计算机应用程序的第一应用状态的一个或多个可允许请求。该计算机 系统还包括指示模块,配置为用于指示计算机应用程序仅当客户请求与第一请求集合的可 允许请求中的一个请求相匹配时执行所述客户请求。客户请求可以例如包括对该计算机应用程序的命令。应当明了,可允许请求的第一集合可以包括对所述计算机应用程序有效的多个或 大量请求的选择。提出了方法和系统将增加的安全性和降低的资源应用相结合。一般地,计算机应 用程序能够处理多个请求,经常是大量或极大量的请求。提出的方法和系统能够根据一个 或多个计算机程序的应用状态,仅选择可被允许的那些请求。仅有与对于该状态可允许的 请求匹配的请求将被执行,提供了一种安全的系统。在另一方面,该方法和系统不检查内容 本身,而是追踪相对于特定时刻的一个或多个计算机程序的应用状态,预期可能来自客户 端的低级请求(例如,应用级请求)。否则,请求被拒绝或简单地被停止而不被执行。这种 方法允许快速而且安全的通信量筛选。应当明了,该方法和计算机系统可以与实际运行计算机应用程序的一个或多个其 它计算机系统通信。从而该计算机系统起看门人的作用。应用程序的例子包括web服务器、web服务、应用服务器,并且特别是数据库。权利要求2和19的实施例提供了动态建立相应于计算机应用程序的适用应用状 态的请求集合的优点。如权利要求3定义的,可以通过应用程序对请求的执行,确定该计算 机系统或另一个计算机系统的通信状态的改变。存在各种方法将针对计算机应用程序的特定应用状态的可允许请求的适用请求 集合通知给计算机系统。权利要求20的实施例具有计算机应用程序仅向该计算机系统报告其针对特定客 户端(连接)的应用状态的优点。该计算机系统可以使用报告的状态,以便获得、检索或更 新针对计算机应用程序的这个状态的适用请求集合。在另一方面,权利要求4和21的实施例具有从计算机应用程序(或配置为向计算
6机系统报告该计算机程序的应用状态的另一个程序)直接接收适用请求集合的优点。权利要求5、6和22定义了在实际内容层次之下的一个层次上的请求的实施例。对 这个层次的筛选快且安全。权利要求7和23的实施例使得能够借助于多个客户端的连接(例如,类似于有状 态(stateful)防火墙)跟踪连接到该计算机系统的所述多个客户端。特别地,该计算机系 统监视例如连接了哪个客户端,和/或哪个客户端已经进行了哪些客户请求(连接状态)。 然后,计算机应用程序的应用状态可被与特定连接状态相关联。权利要求8和24的实施例允许区分恶意和非恶意客户端。大部分组织使用通常 被称为代理服务器的计算机系统,代理服务器分隔局域网和诸如因特网的广域网。在其它 功能中,代理服务器使用网络地址变换(NAT)。向代理服务器做出的请求数量相当大,但是 这些请求很可能是非恶意的。通过设置适当的阈值(例如,使用从内部客户端接收的登录 请求数目的历史数据,基于预期可以来自局域网的请求的平均数),可以区分恶意外部请求 和来自局域网的非恶意请求。可以基于登录请求数目以及应用程序流量,即,计算机应用程 序的应用状态序列,估计来自内部客户端的请求的频率。来自外部客户端的大量请求可以 指示攻击。可以拒绝这种请求。可以基于联系历史、过去的行为和/或域,监视、拒绝或分 析来自这些客户端的请求。权利要求9-12和25-28的实施例允许阻断或遏制发送大量请求或大量相同客户 请求的客户端。更一般地,可以区分恶意客户端和非恶意客户端,即使非恶意客户端请求达 到计算机系统稍晚,非恶意客户端请求被在恶意客户端请求之前服务。虽然这些实施例全 面增加了安全性,应当明了,如权利要求1-8定义的,这些实施例还可被在本发明中单独应用。虽然客户端和计算机系统可在单个设备上实现,权利要求13和29的实施例是优 选的。对于数据库计算机应用程序来说,可能请求的数量特别大。权利要求14、15、30和 31的实施例在这些情况下特别有利。此后,将更详细地描述本发明的实施例。然而,应当明了,这些实施例不被认为限 制本发明的保护范围。
在附图中图IA和IB提供了对根据本发明一个实施例的计算机系统的各种使用情况的示意 说明;图2A和2B提供了对根据本发明一个实施例的系统的示意说明;图3A和3B显示了根据本发明的方法的步骤。
具体实施例方式图IA和IB提供了对根据本发明一个实施例的计算机系统1的各种使用情况的示 意说明。在图IA中,客户设备2A、2B经由网络3连接到计算机系统1。然而,计算机系统1还可以自己运行客户端,并且在显示器4上提供客户端的用户界面。计算机系统1还运行 计算机应用程序,诸如,web服务器或数据库应用,而客户端的请求(命令)则被定向到这 些计算机应用程序。客户设备可以包括通过无线接入网络5与网络3通信的移动无线设备 2A,诸如电话、PDA、膝上计算机等,以及有线设备,诸如台式计算机2B。在图IB中,客户设备2C、2D和2E经由第一网络3连接到计算机系统1。计算机系 统1作为运行特定计算机应用程序的主机系统或服务器6的看门人,而来自客户端的请求 则可被定向到该特定计算机应用程序。可以提供多个这种服务器6。计算机系统1经由第 二网络7通信地连接到主机系统6。主机系统6可以访问数据库8,并且尤其可以运行使用 数据库8的数据库应用。本领域的技术人员可以构想应用计算机系统1的各种其它情况,而不脱离本发明 的范围。客户端应用程序可被安装在计算机系统1、主机系统6或一个或多个其它计算机 系统上并且在其上运行。该计算机应用程序具有多个应用状态。应用状态可以表示应用程 序的特定(预定)状态序列中的逻辑步骤。计算机应用程序的应用状态可以在对该程序的 请求的执行之后改变。大量请求对于这些应用状态是有效的。然而,对于每个应用状态,仅 有该大量请求的特定子集是可允许的。作为例子,对一个网站页面上的链接的激活可以转到具有一组新链接的另一个网 页(应用状态的改变)。对于这个应用状态,在对web服务器的许多可能请求中,仅有所转 到的网页上的链接的激活属于可允许请求的集合。在图2A中,示意地示出了图IA和IB的计算机系统1。计算机系统1包括处理器 10、存储器11、用于经由网络3与一个或多个设备2A-2E(并且可能经由第二网络7与主机 系统6)通信的网络适配器12。应当明了,通常图IA和IB的计算机系统1被配置为连接到 多于两个或三个客户设备。计算机系统1还可以包含数据库13,数据库13具有针对由计算机系统1或主机 系统6运行的应用程序的各种应用状态的请求集合。数据库13还可被运行在计算机系统 1上的数据库应用程序使用。图2B示意地示出了计算机系统1的特定功能,并且现在将对其进行更详细的描 述。应当明了,这些功能可被大部分实现为在处理器10上执行的一个或多个计算机程序的 软件代码部分。计算机系统1包括用于建立与客户设备2A-2E的连接的连接模块20。该连接模块 监视与客户设备的连接。连接模块20可被配置为确定客户端到计算机系统1的通信状态。计算机系统1包括配置为从客户设备2A-2E或内部客户端接收请求(并可能处理 该请求)的客户请求接收器21。客户请求是对安装在计算机系统1和/或主机系统6上的 计算机应用程序的请求或命令。客户请求可以例如是由特定网页上的链接激活导致的http 请求,或是针对数据库8、13的命令。计算机系统1还可以具有分析器模块22,其配置为分析由客户请求接收器21接收 的客户请求是否与包括相应于计算机应用程序相对于该客户端的应用状态的一个或多个 可允许请求的请求集合中的可允许请求相匹配。计算机系统1还包括指示模块23,指示模块23用于指示计算机系统1和/或主机
8系统6的计算机应用程序仅当客户请求与所述请求集合中的一个可允许请求相匹配时才 执行客户请求。当然,客户请求接收器21可以接收进一步客户请求。分析器模块22可以分析该 进一步客户请求是否与进一步相应请求集合中的可允许请求匹配,每个请求集合相应于计 算机应用程序的不同应用状态。指示模块23然后可以指示计算机应用程序仅当所述进一 步请求与相应应用状态的适用请求集合中的可允许请求相匹配时执行这些请求。存在各种方法用以将针对计算机应用程序的特定应用状态的可允许请求的适用 请求集合通知给计算机系统1。计算机系统1可以例如包括应用状态检测器24,其配置为检测计算机系统1和/ 或主机系统6的计算机应用程序的应用状态。如果检测器24检测到该程序的一个应用状 态,则提供用于检索、获得和/或更新针对该特定应用状态的请求集合的请求集合检索器 25。例如,可以从数据库13检索该请求集合。然而,还可以由计算机系统1的请求集合接收器26接收针对计算机应用程序的特 定应用状态的可允许请求的适用请求集合。例如,可以从运行在计算机系统1或服务器6 上的计算机应用程序或从另一个计算机程序接收该请求集合。计算机系统1还可以存储客户请求的阈值数量。计算机系统1被配置为保持每个 时间单位的客户请求的阈值数量。指示模块23被配置为指示计算机应用程序仅当客户请 求的数量在所述阈值数量之下时执行客户请求。当计算机系统1在代理服务器内实现时, 或许多客户端共享一个公共IP地址时,这种功能可以例如被证明是有利的。在替换实施例中,计算机系统1还可以具有配置为区分恶意客户端和非恶意客户 端的区分模块27。可以基于从客户端接收到的客户请求的数目、客户端与计算机系统1的 联系历史、从所述客户端接收到的请求内容类型和/或请求的内容,来区分恶意客户端和 非恶意客户端。提供评分模块28,排序模块28配置为对来自分恶意客户端和所述非恶意客 户端的客户请求进行排序,以便获得恶意客户请求跟在非恶意客户请求之后的队列。指示 模块23配置为指示所述计算机应用程序首先执行所述非恶意客户请求。在已经处理了合 法请求之后,可由另一个分析模块29分析恶意客户请求,从而惩罚恶意客户端。所得结果 例如可用于更新计算机系统1和恶意客户端之间的联系历史。计算机系统1可以具有用于存储来自客户端的联系历史的存储模块30。排序模 块28可被配置为给所述联系历史中已知的客户端授予高于所述联系历史中未知的客户端 的评级。接着,将参考图3A和3B描述计算机系统1的操作。与图IB保持一致,假设计算 机系统1作为运行从数据库8中检索数据的数据库应用程序的主机系统6的看门人。安装在客户设备2C上的客户端经由通信网络3请求使用运行在主机系统6上的 计算机应用程序。在步骤40,计算机系统1拦截该请求,并且使用连接模块20建立连接。连接模块 20监视该连接和来自客户设备2C的请求。向客户设备2C呈现一个开始页面,例如,html 页面。此处假设计算机系统1不筛选初始请求,虽然可以应用具有用于启动该计算机应用 的指定可允许请求的初始应用状态。呈现在客户设备2C上的计算机应用程序的开始页面允许进行若干请求,例如,
9http GET请求。这些请求构成相应于计算机应用程序的开始页面(应用状态)的可允许请 求的第一请求集合。出于简化的原因,假设此处有效请求仅由可被激活的一组超链接构成。 然而,应当明了,例如http-post请求的其它请求或命令也是可行的。在步骤41,从客户设备2C接收到由开始页面中的超链接的激活产生的http请求。 连接模块20监测到这个请求来自从开始页面发出请求的客户设备2C。请求集合接收器26从运行在主机系统6上的计算机应用程序接收对于开始页面 有效的第一请求集合。在步骤42,计算机系统1的分析器模块22检查从客户设备2C接收 到的http请求是否与接收到的针对该http开始页面的第一请求集合中的可允许请求相匹 配。如果该http请求不与第一请求集合内的请求匹配,指示模块23将不指示运行在 主机系统6上的计算机应用程序执行该http请求(步骤43)。应当注意,当请求不是适用 请求集合中的一部分时,从客户设备的视角看似有效的请求将可能不被执行。在步骤44,对不被执行的请求执行进一步动作。这些动作包括但不限于丢弃该请 求、分析该请求、存储该请求、从该请求提取信息以便建立请求历史等。如果分析器模块22发现来自客户设备2C的http请求与开始html页面的第一请 求集合中的可允许请求相匹配,在步骤45,指示模块23指示计算机应用程序在数据库8上 执行该http请求。注意,还可以对这些被执行的请求执行进一步的动作。执行请求以使得应用程序从数据库中提取数据,由此建立独立于该请求的新html 页面。新html页面被传输到客户设备2C。新html页面对应于计算机应用程序的新应用状态(步骤46)。保持与客户设备 2C的开放连接的连接模块20记录新html页面已经被传输到客户设备2C。在步骤47,从客户设备2C接收到进一步的http请求。在接收到该http请求之前或之后,计算机应用程序已经将相应于新应用状态的 请求集合通知给分析器模块22。在接收到该进一步的http请求之后,分析器模块22在步 骤48检查该进一步的http请求是否与对于新应用状态有效的请求集合中的可允许请求相 匹配。最后,根据分析器模块22的分析的输出,指示模块23指示计算机应用程序执行请 求(步骤49)或不执行请求(步骤50)。应当明了,该流程图继续用于客户设备2C的进一步请求。还应当明了,计算机系统1例如使用具有针对每个连接的表的连接模块20追踪每 个客户端的应用状态,从而计算机系统被1配置为处理来自多个客户端的请求,而一个或 多个计算机应用程序的应用状态在特定时刻对于每个客户端可能不同。还应当明了,例如出于统计的原因,可以根据步骤44分析从客户端接收到的每个 请求。
10
权利要求
一种控制计算机系统中的计算机应用程序的计算机实现方法,该计算机系统配置为与客户端电子通信,并且能够访问相应于运行在所述计算机系统或与所述客户端有关的另一个计算机系统上的所述计算机应用程序的第一应用状态的一个或多个可允许请求的第一请求集合,该方法包括步骤 在所述计算机系统处,接收来自所述客户端的针对预定的第一应用状态中的所述计算机应用程序的客户请求; 响应接收到所述客户请求,分析所述客户请求是否与所述可允许请求中的一个请求相匹配; 仅当所述客户请求与所述第一请求集合的所述可允许请求中的一个请求相匹配时,指示所述计算机应用程序执行所述客户请求。
2.如权利要求1所述的方法,还包括如下步骤-将所述计算机应用程序的所述第一应用状态改变为第二应用状态,所述第二应用状 态不同于所述第一应用状态;-从客户设备接收进一步的客户请求;_分析所述进一步的客户请求是否与相应于所述第二应用状态的一个或多个可允许请 求的第二请求集合中的可允许请求相匹配;_仅当所述进一步的客户请求与所述第二请求集合中的所述可允许请求中的一个请求 相匹配时,指示所述计算机应用程序执行所述进一步的客户请求。
3.如权利要求2所述的方法,其中所述第一应用状态响应执行所述客户请求而改变为 所述第二应用状态。
4.如前面一个或多个权利要求所述的方法,其中从运行在所述计算机系统或所述另一 个计算机系统上的所述计算机应用程序获得所述第一请求集合或所述第一应用状态中的 至少一个。
5.如前面一个或多个权利要求所述的方法,其中所述第一请求集合中的所述可允许请 求与应用层请求有关。
6.如权利要求5所述的方法,其中所述应用层请求包括超文本传输协议(HTTP)请求、 文件传输协议(FTP)请求、简单邮件传输协议(SMTP)请求和远程登陆请求中的至少一个。
7.如前面一个或多个权利要求所述的方法,还包括如下步骤-由所述计算机系统确定所述客户端和所述计算机系统之间的连接状态;_将所述第一应用状态和第二应用状态与所述连接状态相联系。
8.如前面一个或多个权利要求所述的方法,其中所述计算机系统保持每个时间单位客 户请求的阈值数量,该方法包括仅在客户请求数量低于所述阈值数量时指示所述计算机应 用程序执行所述客户请求的步骤。
9.如前面一个或多个权利要求所述的方法,还包括如下步骤-区分恶意客户端和非恶意客户端;_对来自所述恶意客户端和所述非恶意客户端的客户请求进行排序,以便获得恶意客 户请求跟在非恶意客户请求之后的队列;-指示所述计算机应用程序首先执行所述非恶意客户请求。
10.如权利要求9所述的方法,还包括在指示所述计算机应用程序执行了所有非恶意客户请求之后,分析所述队列中的所述恶意客户请求的步骤。
11.如权利要求9或10所述的方法,其中所述计算机系统存储与客户端的联系历史,还 包括给予所述队列中的根据所述联系历史已知的客户端高于根据所述联系历史未知的客 户端的排序的步骤。
12.如权利要求9-11中的一个或多个权利要求所述的方法,还包括基于下列中的至少 一个区分所述恶意客户端和非恶意客户端的步骤从客户端接收到的客户请求的数目、客 户端与所述计算机系统的联系历史、请求的内容的类型、从所述客户端接收到的请求的内 容。
13.如前面一个或多个权利要求所述的方法,其中所述客户端在客户设备内实现,并且 所述计算机系统被连接到至少一个通信网络,以便与所述客户设备电子地通信,该方法包 括在所述通信网络上接收所述客户请求的步骤。
14.如前面一个或多个权利要求所述的方法,其中所述计算机系统或所述另一个计算 机系统包括数据库,并且所述计算机应用程序是数据库应用程序。
15.如权利要求14所述的方法,还包括如下步骤-从所述数据库应用程序接收可允许数据库请求的所述第一请求集合;_仅当所述客户请求与所述可允许数据库请求中的一个请求相匹配时,指示所述数据 库的所述数据库应用程序的数据库操作。
16.一种计算机程序,包括适用于当被安装在电子系统上并且被电子系统执行时,执行 根据权利要求1到15所述的方法的软件代码部分。
17.一种包含权利要求16的计算机程序的载体。
18.一种计算机系统,用于控制所述计算机系统或另一个计算机系统上的计算机应用 程序,并配置为连接到至少一个客户端的所述计算机系统包括-客户请求接收器,配置为接收被定向到所述计算机应用程序的客户请求,所述计算机 应用程序包括至少第一应用状态;-分析器模块,配置为分析所述客户请求是否与第一请求集合中的可允许请求相匹配, 所述第一请求集合包含相应于与所述客户端有关的所述计算机应用程序的所述第一应用 状态的一个或多个可允许请求;_指示模块,配置为仅当所述客户请求与所述第一请求集合中的所述可允许请求中的 一个请求相匹配时,指示所述计算机应用程序执行所述客户请求。
19.如权利要求18所述的计算机系统,其中-所述客户请求接收器配置为从所述客户端接收进一步的客户请求;_所述分析器模块配置为分析所述进一步的客户请求是否与第二请求集合中的可允许 请求匹配,所述第二请求集合包含相应于所述计算机应用程序的第二应用状态的一个或多 个可允许请求,所述第二应用状态不同于所述第一应用状态;_所述指示模块还配置为仅当所述进一步的客户请求与所述第二请求集合中的所述可 允许请求中的一个请求相匹配时,指示所述计算机应用程序执行所述进一步的客户请求。
20.如权利要求19所述的计算机系统,其中所述计算机系统还包括-应用状态检测器,配置为检测所述第一应用状态和所述第二应用状态;-请求集合检索器,配置为响应于检测到所述第一应用状态或所述第二应用状态,分别检索所述第一请求集合和所述第二请求集合。
21.如权利要求19所述的计算机系统,其中所述计算机系统还包括配置为接收所述第 一请求集合和所述第二请求集合的请求集合接收器。
22.如权利要求18-21中的一个或多个所述的计算机系统,其中所述客户请求接收器 配置为接收应用层请求,诸如超文本传输协议(HTTP)请求、文件传输协议(FTP)请求、简单 邮件传输协议(SMTP)请求和远程登陆请求。
23.如权利要求18-22中的一个或多个所述的计算机系统,其中所述计算机系统还包 括配置为确定所述客户端和所述计算机系统之间的连接状态的连接状态监视器,所述计算 机系统配置为使得所述计算机应用程序的所述第一应用状态和第二应用状态与所述连接 状态有关。
24.如权利要求18-23中的一个或多个所述的计算机系统,其中所述计算机系统配置 为保持每时间单位客户请求的阈值数量,并且其中所述指示模块配置为仅在客户请求数量 低于所述阈值数量时,指示所述计算机应用程序执行所述客户请求。
25.如权利要求18-24中的一个或多个所述的计算机系统,其中所述计算机系统还包括-区分模块,配置为区分恶意客户端和非恶意客户端;-排序模块,配置为对来自所述恶意客户端和所述非恶意客户端的客户请求进行排序, 以便获得恶意客户请求跟在非恶意客户请求之后的队列;_其中所述指示模块配置为指示所述计算机应用程序首先执行所述非恶意客户请求。
26.如权利要求25所述的计算机系统,还包括第二分析器模块,配置为在安装模块指 示了所有非恶意客户请求之后,分析所述队列中的所述恶意客户请求。
27.如权利要求25或26所述的计算机系统,还包括用于存储与客户端的联系历史的存 储模块,以及排序模块,该排序模块配置为给予所述队列中的根据所述联系历史已知的客 户端高于根据所述联系历史未知的客户端的排序。
28.如权利要求25-27中的一个或多个所述的计算机系统,其中所述区分模块配置为 基于下列中的至少一个区分所述恶意客户端和非恶意客户端从客户端接收到的客户请求 的数目、客户端与所述计算机系统的联系历史、请求的内容的类型、从所述客户端接收到的 请求的内容。
29.如权利要求18-28中的一个或多个所述的计算机系统,其中所述计算机系统配置 为通过通信网络接收所述客户请求。
30.如权利要求18-29中的一个或多个所述的计算机系统,其中所述计算机应用程序 是数据库应用程序,并且优选地安装在所述另一个计算机系统上。
31.如权利要求30所述的计算机系统,其中所述计算机系统包括-接收器,配置为从所述另一个计算机系统的所述数据库应用程序接收可允许数据库 请求的所述第一请求集合;_所述指示模块配置为仅当所述客户请求与所述可允许数据库请求中的一个请求相匹 配时,指示所述数据库应用程序执行数据库操作。
全文摘要
本发明涉及控制计算机系统中的计算机应用程序的计算机实现方法,该计算机系统配置为与客户端进行电子通信。该计算机系统配置为能够访问与所述计算机应用程序的第一应用状态相对应的一个或多个可允许请求的第一请求集合。计算机应用程序可以在计算机系统上运行,或在一个或多个其它计算机系统上运行。在该计算机系统处接收针对该计算机应用程序的客户请求。计算机应用程序相对于所述客户端处于第一应用状态(例如,使用客户连接)。分析客户请求,以便确定客户请求是否与相应于计算机应用程序的第一应用状态的可允许请求中的一个请求相匹配。通过指示这个计算机应用程序仅在客户请求与第一请求集合中的可允许请求相匹配时执行客户请求,控制该计算机应用程序。
文档编号H04L29/06GK101919224SQ200880124649
公开日2010年12月15日 申请日期2008年1月17日 优先权日2008年1月17日
发明者D·L·本肖普, H·R·本肖普 申请人:Dlb金融咨询有限责任公司;Hitd信息技术有限责任公司