数据处理系统中的威胁检测的制作方法

文档序号:7913207阅读:226来源:国知局
专利名称:数据处理系统中的威胁检测的制作方法
技术领域
本发明一般地涉及数据处理系统中的威胁检测。
背景技术
web应用可能会遭受有意或无意的滥用和攻击。诸如拒绝服务(DoS)、蛮力攻击 (brute force)或利用无边界条件(unbounded condition)之类的应用层攻击通过限制应用的可用性和完整性来影响企业。确定问题并部署解决方案可能会非常耗时。当问题存在时,应用会继续不可用,通常导致收益损失。替代地,限制对应用的访问是无效的,因为攻击代理可以轻松地更改位置,并且置于网络层的任何障碍都可能对应用的有效用户社区产生巨大影响。一般的解决方案会在发生可疑活动时瞄准网络层。但是,如上所述,应用层攻击经常是无意的。经常地,实施异常但非恶意行为的网络蜘蛛程序(web crawler)(也称为机器人或简称为bot)、业务伙伴或用户会造成应用层攻击。了解有关攻击者的更多信息(攻击者经常愿意披露此类数据)会在问题解决中起到非常重要的作用。

发明内容
根据一个实施例,提供了一种计算机实现的用于解决检测到的威胁的方法。所述计算机实现的过程接收来自请求者的请求以形成收到的请求,提取与所述收到的请求关联的统计信息以形成提取的统计信息,使用所述提取的统计信息对所述收到的请求执行规则验证,以及判定所述请求者是否为威胁。响应于判定所述请求者为威胁,使用提升增量提升所述请求者的级别,其中所述使用提升增量进一步包括通过渗入到下一用户级别或直接进入一个用户级别之一来增加用户身份和验证要求。根据另一实施例,提供了一种用于解决检测到的威胁的计算机程序产品,所述计算机程序产品包括包含上面存储的计算机可执行程序代码的计算机可记录介质,所述计算机可执行程序代码包括用于接收来自请求者的请求以形成收到的请求的计算机可执行程序代码,用于提取与所述收到的请求关联的统计信息以形成提取的统计信息的计算机可执行程序代码,用于使用所述提取的统计信息对所述收到的请求执行规则验证的计算机可执行程序代码,用于判定所述请求是否为威胁的计算机可执行程序代码,以及用于响应于判定所述请求为威胁,使用提升增量提升所述请求者的级别的计算机可执行程序代码,其中所述用于使用提升增量的计算机可执行程序代码进一步包括用于通过渗入(percolate) 到下一用户级别或直接进入一个用户级别之一来增加用户身份和验证要求的计算机可执行程序代码。根据另一实施例,提供了一种用于解决检测到的威胁的装置。所述装置包括通信结构、与所述通信结构相连的存储器(其中所述存储器包含计算机可执行程序代码)、与所述通信结构相连的通信单元、与所述通信结构相连的输入/输出单元、与所述通信结构相连的显示器以及与所述通信结构相连的处理器单元,其中所述处理器单元执行所述计算机可执行程序代码以引导所述装置接收来自请求者的请求以形成收到的请求,提取与所述收到的请求关联的统计信息以形成提取的统计信息,使用所述提取的统计信息对所述收到的请求执行规则验证,判定所述请求是否为威胁,以及响应于判定所述请求为威胁,使用提升增量提升所述请求者的级别,其中所述使用提升增量进一步包括通过渗入到下一用户级别或直接进入一个用户级别之一来增加用户身份和验证要求。


为了更全面地理解本发明,现在结合附图,参考下面的简要描述以及详细的描述, 其中相同的标号表示相同的部分。图1是可针对本发明的各实施例运行的示例性数据处理系统的方块图;图2是根据本发明的各实施例的基于异常的应用入侵检测系统的流程图;图3是根据本发明的一个实施例与图2中的基于异常的应用入侵检测系统结合使用的提升增量和用户级别的方块图;图4是根据本发明的一个实施例使用图3中的用户级别的阻止过程的流程图;图5a是根据本发明的一个实施例的图4中的提升过程的流程图;以及图5b是根据本发明的一个实施例的图5a中的验证过程的流程图。
具体实施例方式尽管下面提供了一个或多个实施例的说明性实现,但是所披露的系统和/或方法可以使用任意多种技术来实现。本发明绝不限于下面展示的说明性的实现、附图和技术,包括在此示出和描述的示例性设计和实现,而是可以在所附权利要求及其等价物的全部范围内进行修改。本领域的技术人员将理解,本发明可以实现为系统、方法或计算机程序产品。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,所有这些方面在此通常被称为“电路”、“模块”或 “系统”。此外,本发明可以采取有形地体现在任何表现介质(在介质中具有计算机可用程序代码)中的计算机程序产品的形式。用于执行本发明的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java 、Smalltalk、C++或类似语言之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。Java和所有基于Java的商标和徽标是Sun Microsystems,公司在美国和/或其他国家/地区的商标。所述程序代码可以完全地在用户计算机上执行,部分地在用户计算机上执行,作为独立的软件包执行,部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如, 使用因特网服务提供商通过因特网连接)。下面参考根据本发明的示例性实施例的方法、装置、系统和计算机程序产品的流程图和/或方块图对本发明进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。
这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。这些计算机程序指令也可以被存储在引导计算机或其他可编程数据处理装置以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的所述指令产生一件包括实现在所述一个或多个流程图和/或方块图方块中指定的功能/操作的指令装置的制品。所述计算机程序指令还可被加载到计算机或其他可编程数据处理装置,以导致在所述计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。现在参考图1,其示出可针对本发明的各实施例运行的示例性数据处理系统的方块图。在该所示的示例中,数据处理系统100包括通信结构102,所述通信结构提供处理器单元104、存储器106、持久性存储装置108、通信单元110、输入/输出(I/O)单元112和显示器114之间的通信。处理器单元104用于执行可以加载到存储器106内的软件的指令。处理器单元 104可以是一个或多个处理器的组,也可以是多处理器核,这取决于特定的实现。进一步地, 处理器单元104可以使用一个或多个异构处理器系统来实现,在所述异构处理器系统中, 单个芯片上同时包括主处理器和从处理器。作为另一说明性示例,处理器单元104可以是包含多个同类型处理器的对称多处理器系统。存储器106和持久性存储装置108是存储设备116的示例。存储设备是能够存储信息的任何硬件,所述信息例如为但不限于数据、功能形式的程序代码和/或其他适当的临时和/或持久信息。在这些示例中,存储器106可以例如是随机存取存储器或其他任何适当的易失性或非易失性存储设备。持久性存储装置108可以根据特定的实现采取各种形式。例如,持久性存储装置108可以包含一个或多个组件或设备。例如,持久性存储装置 108可以是硬盘驱动器、闪存、可擦写光盘、可擦写磁带或上述元件的某种组合。持久性存储装置108所使用的介质也可以是可拆装的。例如,可以将可拆装硬盘驱动器用作持久性存储装置108。在这些示例中,通信单元110提供与其他数据处理系统或设备的通信。在这些示例中,通信单元110为网络接口卡。通信单元110可以通过使用物理通信链路和无线通信链路中的任何一个或两者提供通信。输入/输出单元112允许与数据处理系统100上连接的其他设备进行数据输入和输出。例如,输入/输出单元112可以提供连接,用于通过键盘、鼠标和/或其他某种适当的输入设备进行的用户输入。进一步地,输入/输出单元112可以将输出发送到打印机。显示器114提供向用户显示信息的装置。操作系统、应用和/或程序的指令可以位于通过通信结构102与处理器单元104 通信的存储设备116中。在这些说明性示例中,所述指令采取位于持久性存储装置108中的功能形式。这些指令可以加载到存储器106内以便由处理器单元104执行。处理器单元104可以使用计算机实现的指令执行不同实施例的过程,所述指令可以位于诸如存储器
8106之类的存储器中。这些指令被称为程序代码、计算机可用程序代码或计算机可读程序代码,其可由处理器单元104中的处理器读取和执行。不同实施例中的程序代码可以体现于不同的物理或有形可读介质,例如存储器106或持久性存储装置108中。程序代码118采取功能形式并位于可选择性地拆装的计算机可读介质120中,并且可以加载或传输到数据处理系统100内以便由处理器单元104执行。在这些示例中,程序代码118和计算机可读介质120构成计算机程序产品122。在一个示例中,计算机可读介质 120可以采取有形形式,例如光盘或磁带,所述光盘或磁带被插入或放入作为持久性存储装置108的一部分的驱动器或其他设备,以便传输到诸如作为持久性存储装置108的一部分的硬盘的存储设备上。在有形形式中,计算机可读介质120还可以采取持久性存储装置的形式,所述持久性存储装置例如为与数据处理系统100相连的硬盘、闪盘(thumb drive)或闪存。计算机可读介质120的有形形式还被称为计算机可记录存储介质。在某些示例中, 计算机可读介质120可以是不可拆装的。替代地,程序代码118可以通过与通信单元110的通信链路和/或通过与输入/ 输出单元112的连接从计算机可读介质120传输到数据处理系统100。在所示的示例中,所述通信链路和/或连接可以是物理的或无线的。所述计算机可读介质还可以采取非有形介质的形式,例如通信链路或包含程序代码的无线传输。在某些示例性实施例中,程序代码118可以通过网络从另一设备或数据处理系统下载到持久性存储装置108中以便在数据处理系统100内使用。例如,服务器数据处理系统内的计算机可读存储介质中存储的程序代码可以通过网络从服务器下载到数据处理系统100中。提供程序代码118的数据处理系统可以是服务器计算机、客户端计算机或其他某种能够存储和传输程序代码118的设备。针对数据处理系统100示出的不同组件并非旨在对不同实施例的实现方式做出体系结构方面的限制。可以在包括作为针对数据处理系统100所示的那些组件的补充或替代的组件的数据处理系统中实现其他说明性实施例。图1中所示的其他组件可以不同于所示的说明性示例。可以使用能够执行程序代码的任何硬件设备或系统实现不同实施例。作为一个示例,数据处理系统可以包括与无机组件集成的有机组件和/或可以完全由不包括人类的有机组件构成。例如,存储设备可以由有机半导体组成。作为另一示例,数据处理系统100中的存储设备可以是任何可以存储数据的硬件装置。存储器106、持久性存储装置108和计算机可读介质120是采取有形形式的存储设备的示例。在另一示例中,可以使用总线系统来实现通信结构102,并且所述总线系统可以包括诸如系统总线或输入/输出总线之类的一条或多条总线。当然,所述总线系统可以使用在与所述总线系统相连的不同组件或设备之间提供数据传输的任何适当类型的体系结构来实现。此外,通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。进一步地,存储器可以是例如可以在通信结构102中出现的接口或存储控制集线器中找到的存储器106或高速缓冲存储器。根据一个说明性实施例,提供了计算机实现的用于解决检测到的威胁的过程。所述计算机实现的过程接收来自请求者的请求以形成收到的请求,提取与所述收到的请求关联的统计信息以形成提取的统计信息,使用所述提取的统计信息对所述收到的请求执行规则验证,以及判定所述请求者是否为威胁。响应于判定所述请求者为威胁,使用提升增量提升所述请求者的级别,其中所述提升进一步包括渗入到下一用户级别和直接进入一个用户级别。使用图1中的数据处理系统100作为示例,说明实施例提供了存储在存储器106 中由处理器单元104执行的计算机实现的过程,所述过程,例如通过通信单元110或输入/ 输出单元112,接收来自请求者的请求以形成收到的请求。处理器单元104提取与所述收到的请求关联的统计信息以形成可以存储在存储设备116中的提取的统计信息。处理器单元104使用所述提取的统计信息对所述收到的请求执行规则验证,以及判定所述请求者是否为威胁。响应于判定所述请求者为威胁,处理器单元104使用可以存储在存储器106或持久性存储装置108中的提升增量提升所述请求者,其中所述提升进一步包括渗入到下一用户级别和直接进入一个用户级别。所述提升一般涉及增加用户身份和验证要求。在备选实施例中,包含计算机实现的过程的程序代码118可以存储在计算机可读介质120内作为计算机程序产品122。在另一说明性实施例中,可以在装置中实现用于通过使用分级权重的信任断言(trust assertion)进行访问控制的过程,所述装置包括通信结构、与所述通信结构相连的存储器(其中所述存储器包含计算机可执行程序代码)、与所述通信结构相连的通信单元、与所述通信结构相连的输入/输出单元、与所述通信结构相连的显示器以及与所述通信结构相连的处理器单元。所述装置的处理器单元执行所述计算机可执行程序代码以弓I导所述装置执行所述过程。现在参考图2,其示出根据本发明的各种实施例的基于异常的应用入侵检测系统的流程图。检测系统200是能够逐步提升用户级别的基于异常的应用入侵检测系统示例。 检测系统200可以基于新的或现有的基于异常的应用层入侵检测系统,例如基于异常的应用入侵检测系统202。—般的基于异常的应用入侵检测系统(APIDS)可以由基于异常的应用入侵检测系统202来代表。例如,基于异常的应用入侵检测系统202包括若干组件,其中包括规则生成器204、会话跟踪器206、活动会话和标识符数据库208、规则210和对策212。规则生成器204是使用所获取的不同格式的信息来定义可变的使用基准并产生规则的组件,所述信息包括人工输入、使用历史、预测及使用异常。规则用于建立符合性性标准,根据此标准,可以在开始于操作214的过程中度量有关接收来自请求者的请求以形成收到的请求216的请求。例如,当使用网站时,规则生成器204可以包括但不限于用于与页面分发、响应时间、每会话命中数以及上一页和下一页相关的标准的能力。会话跟踪器206是能够跟踪用户与系统的交互的组件。该组件一般包括安全会话标识机制,例如,用于与接收来自请求者的请求以形成收到的请求216关联的web应用的加密 cookie。活动会话和标识符数据库208是与会话跟踪器206协作以收集活动会话及关联标识符的使用统计信息的组件示例。例如,标识符可以包括形式为网际协议地址或用户代理标识的请求位置。可以执行提取与收到的请求关联的统计信息218以提供与(在接收来自请求者的请求以形成收到的请求216中获取的)请求会话相关的信息集合,以便存储。如果基于异常的应用入侵检测系统202先前将此请求者检测为威胁,则可在提取与收到的请求关联的统计信息218的操作期间提取额外的统计信息。规则210是能够在执行针对收到的请求的规则验证220时将传入请求的统计信息或特性及关联标识符与现有规则进行比较的组件示例。执行用于所使用的特定用户级别的规则的选择以识别相关规则。当获取请求时,通过对收到的请求执行规则验证220来根据预定的标准执行比较。在判定请求者是否为威胁222中,判定所述请求是否满足预定阈值。 当所述比较不满足阈值时,在提升请求者的用户级别224中,将所述请求标记为可疑的。可疑请求一般被称为威胁。提升可疑请求将创建用于判定请求者验证是否成功226的新请求。当所述判定得出成功的结果时,执行针对收到的请求的规则验证220,然后再次判定请求者是否为威胁222。当没有任何威胁时,执行处理请求230,并且过程在结束232处终止。对策212是系统内能够对已识别的威胁做出反应的组件示例。对策212表示可以发生增加用户识别和验证要求的位置示例。例如,提供对策作为阻止该请求228。在另一示例中,最经常被置于web表单中以判定用户是否为人类并收集验证信息的挑战_应答测试也可以作为针对可疑攻击者或可疑用户提供的对策。现在参考图3,其示出根据本发明的一个实施例与图2中的基于异常的应用入侵检测系统结合使用的提升增量和用户级别的方块图。提升增量300是包括不同提升级别的系统示例,其中每个级别需要不同于上一级别并且更具体的用户信息。图2中的检测系统200检测需要哪些级别,所述级别具有逐渐增加的用户信息披露和用户验证要求。当检测到威胁或异常时,强制将用户提升到下一级别。提升到下一级别包括增加用户身份和验证要求。通过提升用户身份和验证要求来防御应用层攻击具有多个优点,包括强制攻击者披露有关攻击者的更多信息。增加的信息通常会缩短识别攻击者所需的时间。由于许多应用层攻击是无意的,因此,使用提升增量300的过程可以有效地揭露攻击者的身份。对应用的其他用户的影响可以降到最低,因为验证过程是非侵入式的并且集成在应用中。使用提升增量300使得能够以编程的方式检测和阻止机器人或非人类代理的未授权访问。所述用户级别一般分为多个类别或用户级别302,包括匿名304、跟踪306、认证 308、验证310、信任312和阻止314。匿名304是与其中用户不提供有关用户的任何特定信息的请求关联的类别。例如,如果这是发往网站的第一个请求的话。匿名请求被提升到跟踪306类别。如果请求属于可疑组,例如与特定网际协议地址或用户代理关联的已知恶意位置,则将所述请求提升到认证308用户级别。跟踪306表示属于在服务器层被安全跟踪的会话的请求。跟踪允许检测系统在特定代理使用应用的方式中检测异常,例如蛮力攻击或拒绝服务攻击。认证308表示当针对跟踪的请求发现异常时使用的跟踪306之后的下一更高级另ij,此时将强制代理进行认证。认证一般要求重定向到登录页面,在此要求用户提供身份并输入密码。所述登录页面通常被弄混乱以阻止机器人或其他自动用户的自动登录。作为另一示例,如果用户未在系统中注册,则系统可提供注册选项并在此时认证用户。系统可以执行验证并确保代理的注册信息完整。注册过程还可要求人类用户向系统提供更新的电话号码或电子邮件地址。验证310是当针对已认证的请求发现异常时使用的高于认证308的级别。在这种情况下,用户被提升到验证级别。验证310 —般涉及使用人类验证工具或要求管理员或客户服务代表对用户进行验证。所述工具确保呈现的用户不是诸如通过脚本编写的机器人之类的自动装置,并且当前访问该帐户的用户是最初注册该帐户的用户,或者是最初注册该帐户的用户所信任的用户。信任312表示这样一种用户级别,其中可信用户是指应用管理员已产生异常以始终被信任的用户。可信用户可以存在于所有级别中,例如,当匿名用户来自与可信机器人或管理员帐户关联的可信网际协议地址时,可信任该用户。阻止314表示其中阻止用户执行进一步操作的用户级别。与信任312相同,通过管理操作将用户设置为阻止,所述管理操作可以是自动执行的,也可以不是自动执行的。通常,阻止将响应于用户提交被判定为威胁的请求。例如,当重复使用一组网际协议地址来攻击某个站点时,属于这些地址的所有用户将被阻止。级别可以提升到或者随时被设为信任级别或阻止级别。向上提升遵循采用层次结构的路径,而设为特定级别使用入口点316以便直接访问。与不同的用户级别关联的安全性确定过程路径。可信用户级别是立即被处理的。 当用户被阻止时,将阻止与所述用户关联的请求。匿名用户立即被提升到跟踪级别以提供附加信息。所有其他用户在被视为威胁时,将被提升到下一更高级别。在采取阻止操作之前,可给予用户多种机会来提升。阻止操作的条件或严重性将由管理员或安装定义的策略决定。参考图4,其示出根据本发明的一个实施例使用图3中的提升增量的用户级别的阻止过程的流程图。过程400是使用图3中的提升增量300以及用户级别302的用户阻止过程的示例。过程400开始(步骤402)并判定是否阻止请求(步骤404)。当判定不阻止请求时,获取“否”响应。当判定阻止请求时,获取“是”响应。当在步骤404获取“否”时,在该示例中将用户级别302设为匿名304。用户被自动提升到跟踪306。当在步骤404获取“是” 结果时,需要执行阻止操作并执行阻止请求(步骤406),之后过程400结束(步骤418)。过程400判定请求是否为威胁(步骤408)。可根据所跟踪的该用户或用户类型的信息与先前存储的信息的比较执行判定。所跟踪信息的比较基于比较与提升增量的用户级别关联的预定标准。当判定请求用户或请求为威胁时,获得“是”。当判定请求用户或请求不是威胁时,获得“否”结果。当在步骤408获得“否”结果时,未发现威胁并且在处理请求 (步骤416)中执行用户请求,之后过程400结束(步骤418)。例如,当被跟踪的用户在网店上购物,并且用户尝试购买异常高数量的商品时,操作将触发“威胁”结果。当在步骤408获取“是”时,执行识别提升增量以形成已识别的提升(步骤410)。 选择提升增量可以根据用户级别层次结构中的下一级别或通过安装定义的策略做出。例如,默认设置可以允许用户级别向上渗入。在另一示例中,策略可根据给定的情况要求失败的认证导致将用户请求设为阻止。提升通常涉及增加用户身份和验证要求。执行使用已识别的提升增量进行提升(步骤412)。执行的提升取决于分配给安装或用户管理员规范或选择所确定的相应用户级别的设置。判定提升是否成功(步骤414)。 当判定提升成功时,在步骤414获得“是”结果。当判定提升未成功时,在步骤414获得“否” 结果。当在步骤414获得“是”结果时,过程400循环回到步骤404,在该步骤重新评估用户请求。
但是,当在步骤414获得“否”结果时,提升没有成功并且执行阻止请求的操作(步骤406),之后过程400结束(步骤418)。当请求提升或被设为验证310用户级别时,判定请求是否为威胁(步骤420)。当判定请求为威胁时,获得“是”结果。当判定请求不是威胁时,获得“否”结果。当在步骤420 获得“否”结果时,没有发现任何威胁并且在处理请求步骤416中执行用户请求,之后像上面一样,过程400在步骤418结束。当获得“是”结果时,在阻止请求406中执行阻止操作, 之后像上面一样,过程400在步骤418结束。现在参考图5a,其示出根据本发明的一个实施例的图4中的提升过程的流程图。 过程500是与验证过程结合的提升过程的示例。例如,使用图4中已识别的提升增量提升用户级别以及通常执行的验证细节。过程500开始(步骤502)并判定请求是否可信(步骤504)。当判定请求可信时, 获得“是”结果。当判定请求不可信时,获得“否”结果。当在步骤504获得“是”时,执行 “执行请求”(步骤520),之后过程500结束(步骤534)。当在步骤504获得“否”时,判定是否阻止请求(步骤506)。当判定阻止请求时, 获得“是”结果。当判定不阻止请求时,获得“否”结果。当获得“是”结果时,执行阻止用户请求(步骤508)。执行创建管理警报(步骤510),之后过程500结束(步骤534)。创建管理警报将记录阻止操作信息。例如,管理员或自动执行的过程可以使用管理警报日志将警报中所涉及的该用户设为图3中的阻止314级别。当在步骤506获得“否”结果时,将使用图3中的用户级别302进行提升。当从图 3中用户级别302的匿名304级别进入时,将自动提升到图3中的跟踪306级别。在跟踪时,执行判定请求是否为威胁(步骤512)。当判定请求为威胁时,获得“是”。当判定没有与请求关联的威胁时,获得“否”。当在步骤512获得“是”时,执行增强的认证方法(步骤 514)。提升过程可以包括进一步处理在跟踪与请求关联的会话期间收集的信息。例如,此时可能要求用户登录,并通过区分计算机和人类的全自动图灵测试(CAPTCHA)或一组安全提问以证明用户为人类用户,或者回答一组安全提问以支持用户身份。执行判定提升是否成功(步骤516)。判定提升成功提供“是”结果。判定提升未成功提供“否”结果。当在步骤516获得“否”结果时,过程500像上面一样循环回到执行阻止请求(步骤508)。当在步骤516获得“是”时,过程500循环回以重新评估请求并且像上面一样执行步骤502。当从图3中用户级别302的认证308级别进入时,执行判定请求是否为威胁(步骤518)。当判定存在威胁时,获得“是”结果。当判定没有威胁时,获得“否”结果。当在步骤518获得“否”时,像上面一样在步骤520执行处理请求。当在步骤518获得“是”时,过程500跳到步骤524,该步骤将在下面的部分中描述并在图5b中示出。当从图3中用户级别302的验证310进入时,执行判定请求是否为威胁(步骤 522)。当判定存在威胁时,获得“是”结果。当判定没有威胁时,获得“否”结果。当在步骤 522获得“否”时,像上面一样在步骤520执行处理请求,之后过程500结束(步骤534)。当在步骤522获得“是”时,过程500循环回到阻止请求步骤508。像上面一样,执行创建管理警报(步骤510),之后过程500结束(步骤534)。
现在参考图5b,其示出图5a的验证过程的流程图。当判定存在威胁,并且在步骤 518获得“是”结果时,执行提示请求者进行验证(步骤524)。需要请求者提供信息以帮助判定是否应当执行请求。信息可以是请求者唯一的个人相关信息或业务相关信息,或者是请求者了解的某种形式的特权信息。例如,所述信息可以包括帐户代码、出生日期、员工标识符和访问代码。提示还可以包括判定是否使用实时代理(live agent)的操作(步骤 526)。所述实时代理可以采取聊天会话或电话对话的形式。当判定使用实时代理时,获得 “是”结果。当判定不使用实时代理时,获得“否”结果。当在步骤526获得“是”时,执行与实时代理对话(engage)(步骤528)。所述代理开始与请求者进行对话以获得允许请求继续所需的信息。判定验证是否成功(步骤530)。 当判定验证成功时,获得“是”结果。当判定验证未成功时,获得“否”结果。当在步骤530获得“是”时,过程像上面一样循环回到步骤502中的重新评估请求。当在步骤530获得“否”时,过程500像上面一样循环回到步骤508中的阻止请求。过程500然后创建管理警报(步骤510),之后结束(步骤534)。当在步骤526获得“否”时,执行提示请求者提供所需的信息(步骤532)。在这里,需要请求者输入缺失的信息以在可以处理请求之前用于进一步验证请求者。用户必须提供所需的信息来响应。例如,向请求者显示包括亮显输入字段的面板。请求者必须提供输入并进行验证以允许处理请求。像上面一样执行判定验证是否成功(步骤530)。因此,说明性实施例提供了用于通过增加用户身份和验证要求来解决检测到的威胁的过程、计算机程序产品和装置。一个说明性实施例提供了计算机实现的用于解决检测到的威胁的过程,其接收来自请求者的请求以形成收到的请求并提取与所述收到的请求关联的统计信息以形成提取的统计信息。使用所述提取的统计信息对所述收到的请求执行规则验证并且响应于判定所述请求为威胁,使用提升增量提升所述请求者的级别,其中所述使用提升增量进一步包括通过渗入到下一用户级别和直接进入一个用户级别之一来增加用户身份和验证要求。例如,说明性实施例可以在机器人代理导致网站流量过大的情况下使用。业务合作伙伴可能正在尝试提取目录信息,实施机器人来扫描网站以及将每个产品添加到购物车以获得价格信息。计算价格是资源密集型操作。在短时间内执行数千次价格操作将导致服务停用,如果未被检测和管理的话。使用所述的过程,将强制业务合作伙伴进行认证,然后管理员便可了解是谁导致问题的产生。验证过程将可以阻止机器人代理工作,因此业务合作伙伴会注意到这点并自行决定与管理员联系。在另一示例中,业务用户尝试创建包括数百项商品的购物车。商店对于购物车中允许的最大商品数目没有固定的限制。购物车需要可产生存储器不足条件的大存储器占用。说明性实施例将在一旦检测到异常行为时强制用户登录。在验证提升期间,客户支持代表可以与用户进行对话。在另一示例中,使用上述说明性实施例,用户故意使用诸如注册功能之类的高冲击性应用功能攻击网站。恶意用户在注意到应用需要很长时间才能处理完大量注册请求后,创建数千个用户注册请求。用户不断地丢弃旧的会话以创建恶意攻击。上述说明性实施例将通过识别来自与攻击关联的特定用户代理的网际协议地址的用户组,来阻止匿名用户。
14
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的逻辑功能的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。下面权利要求中的所有装置或步骤加功能元件的对应结构、材料、操作和等同物旨在包括用于与其他所声明的元件结合执行所述功能的任何结构、材料或操作,如具体声明的那样。出于说明和描述目的给出了对本发明的描述,但是所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围的情况下,许多修改和变化对于本领域的技术人员来说都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。本发明可以采取完全硬件实施例、完全软件实施例或同时包含硬件和软件元素的实施例的形式。在优选实施例中,本发明在软件中实现,所述软件包括但不限于固件、驻留软件、微代码以及本领域的技术人员理解的其他软件介质。值得注意的是,尽管在全功能的数据处理系统中描述本发明,但是本领域的技术人员将理解,本发明的过程能够以指令的计算机可读介质的形式以及各种形式进行分发, 并且本发明不管实际用于执行分发的特定信号承载介质类型是同等适用的。计算机可读介质的示例包括诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM之类的可记录类型介质以及诸如数字和模拟通信链路、有线或使用例如射频和光波传输等传输形式的无线通信链路之类的传输类型介质。所述计算机可读介质可以采取编码格式的形式,所述编码格式被解码以实际用于特定的数据处理系统。适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线直接或间接连接到存储器元件的处理器。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。出于说明和描述目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。许多修改和变化对于本领域的技术人员来说都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。
权利要求
1.一种用于解决检测到的威胁的方法,所述方法包括 接收来自请求者的请求以形成收到的请求;提取与所述收到的请求关联的统计信息以形成提取的统计信息; 使用所述提取的统计信息对所述收到的请求执行规则验证; 判定所述请求是否为威胁;以及响应于判定所述请求为威胁,使用提升增量提升所述请求者的级别,其中所述使用提升增量进一步包括通过渗入到下一用户级别和直接进入一个用户级别之一来增加用户身份和验证要求。
2.如权利要求1中所述的方法,其中提取与所述收到的请求关联的统计信息进一步包括跟踪会话信息以形成跟踪的会话信息;以及将所述跟踪的会话信息存储在活动会话和标识符数据库中。
3.如权利要求1或权利要求2中所述的方法,其中执行规则验证进一步包括 选择与提升增量关联的规则以形成选定规则;以及将所述选定规则应用于所述收到的请求。
4.如权利要求2中所述的方法,其中判定所述请求是否为威胁进一步包括 将所述跟踪的会话信息与和提升增量的用户级别关联的预定标准进行比较以形成比较;以及判定所述比较是否超过预定阈值。
5.如上述任一权利要求中所述的方法,其中提升请求进一步包括 判定所述请求是否为威胁;响应于判定所述请求为威胁,提示所述请求者进行验证;判定是否使用实时代理;响应于判定使用实时代理,与所述实时代理对话;判定所述验证是否成功;以及响应于判定所述验证未成功,阻止所述请求。
6.如权利要求5中所述的方法,其中响应于判定未使用所述实时代理 提示所述请求者提供所需的信息;判定所述验证是否成功;响应于判定所述验证成功,重新评估所述请求。
7.如上述任一权利要求中所述的方法,其中使用提升增量提升所述请求者的级别进一步包括使用选定的一个提升增量创建提升请求; 判定所述提升请求是否成功;以及响应于判定所述提升请求成功,重新评估所述请求;以及响应于判定所述提升请求未成功,阻止所述请求。
8.一种用于解决检测到的威胁的计算机程序产品,所述计算机程序产品包括包括存储于其中的计算机可执行程序代码的计算机可记录介质,所述计算机可执行程序代码包括用于接收来自请求者的请求以形成收到的请求的计算机可执行程序代码; 用于提取与所述收到的请求关联的统计信息以形成提取的统计信息的计算机可执行程序代码;用于使用所述提取的统计信息对所述收到的请求执行规则验证的计算机可执行程序代码;用于判定所述请求是否为威胁的计算机可执行程序代码;以及用于响应于判定所述请求为威胁,使用提升增量提升所述请求者的级别的计算机可执行程序代码,其中所述用于使用提升增量的计算机可执行程序代码进一步包括用于通过渗入到下一用户级别和直接进入一个用户级别之一来增加用户身份和验证要求的计算机可执行程序代码。
9.如权利要求8中所述的计算机程序产品,其中所述用于提取与所述收到的请求关联的统计信息的计算机可执行程序代码进一步包括用于跟踪会话信息以形成跟踪的会话信息的计算机可执行程序代码;以及用于将所述跟踪的会话信息存储在活动会话和标识符数据库中的计算机可执行程序代码。
10.如权利要求8或权利要求9中所述的计算机程序产品,其中所述用于执行规则验证的计算机可执行程序代码进一步包括用于选择与提升增量关联的规则以形成选定规则的计算机可执行程序代码;以及用于将所述选定规则应用于所述收到的请求的计算机可执行程序代码。
11.如权利要求9中所述的计算机程序产品,其中所述用于判定所述请求是否为威胁的计算机可执行程序代码进一步包括用于将所述跟踪的会话信息与和提升增量的用户级别关联的预定标准进行比较以形成比较的计算机可执行程序代码;以及用于判定所述比较是否超过预定阈值的计算机可执行程序代码。
12.如权利要求8至11中任一权利要求中所述的计算机程序产品,其中所述用于提升请求的计算机可执行程序代码进一步包括用于判定所述请求是否为威胁的计算机可执行程序代码;用于响应于判定所述请求为威胁,提示所述请求者进行验证的计算机可执行程序代码;用于判定是否使用实时代理的计算机可执行程序代码;用于响应于判定使用实时代理,与所述实时代理对话的计算机可执行程序代码;用于判定所述验证是否成功的计算机可执行程序代码;用于响应于判定所述验证未成功,阻止所述请求的计算机可执行程序代码。
13.如权利要求12中所述的计算机程序产品,进一步包括用于响应于判定未使用所述实时代理,提示所述请求者提供所需的信息的计算机可执行程序代码;用于判定所述验证是否成功的计算机可执行程序代码;以及用于响应于判定所述验证成功,重新评估所述请求的计算机可执行程序代码。
14.如权利要求8至13中任一权利要求中所述的计算机程序产品,其中所述用于使用提升增量提升所述请求者的级别的计算机可执行程序代码进一步包括 用于使用选定的一个提升增量创建提升请求的计算机可执行程序代码; 用于判定所述提升请求是否成功的计算机可执行程序代码;以及用于响应于判定所述提升请求成功,重新评估所述请求的计算机可执行程序代码;以及用于响应于判定所述提升请求未成功,阻止所述请求的计算机可执行程序代码。
15.一种用于解决检测到的威胁的装置,所述装置包括 用于接收来自请求者的请求以形成收到的请求的装置;用于提取与所述收到的请求关联的统计信息以形成提取的统计信息的装置; 用于使用所述提取的统计信息对所述收到的请求执行规则验证的装置; 用于判定所述请求是否为威胁的装置;以及用于响应于判定所述请求为威胁,通过渗入到下一用户级别和直接进入一个用户级别之一来增加用户身份和验证要求,使用提升增量提升所述请求者的级别的装置。
16.如权利要求15中所述的装置,其中所述提取装置进一步包括 用于跟踪会话信息以形成跟踪的会话信息的装置;以及用于将所述跟踪的会话信息存储在活动会话和标识符数据库中的装置。
17.如权利要求15或权利要求16中所述的装置,其中所述执行装置进一步包括 用于选择与提升增量关联的规则以形成选定规则的装置;以及用于将所述选定规则应用于所述收到的请求的装置。
18.如权利要求16中所述的装置,其中所述判定装置进一步包括用于将所述跟踪的会话信息与和提升增量的用户级别关联的预定标准进行比较以形成比较的装置;以及用于判定所述比较是否超过预定阈值的装置。
19.如权利要求15至18中任一权利要求中所述的装置,其中所述提升装置进一步包括用于判定所述请求是否为威胁的装置;用于响应于判定所述请求为威胁,提示所述请求者进行验证的装置;用于判定是否使用实时代理的装置;用于响应于判定使用实时代理,与所述实时代理对话的装置;用于判定所述验证是否成功的装置;用于响应于判定所述验证未成功,阻止所述请求的装置。
20.如权利要求19中所述的装置,进一步包括,响应于判定未使用所述实时代理 用于提示所述请求者提供所需的信息的装置;用于判定所述验证是否成功的装置;以及用于响应于判定所述验证成功,重新评估所述请求的装置。
21.如权利要求15至20中任一权利要求中所述的装置,其中所述提升装置进一步包括用于使用选定的一个提升增量创建提升请求的装置; 用于判定所述提升请求是否成功的装置;以及用于响应于判定所述提升请求成功,重新评估所述请求的装置;以及用于响应于判定所述提升请求未成功,阻止所述请求的装置。
全文摘要
说明性实施例提供了用于解决检测到的威胁的方法。所述方法接收来自请求者的请求以形成收到的请求,提取与所述收到的请求关联的统计信息以形成提取的统计信息,使用所述提取的统计信息对所述收到的请求执行规则验证,以及判定所述请求是否为威胁。响应于判定所述请求为威胁,使用提升增量提升所述请求者的级别,其中所述使用提升增量进一步包括通过渗入到下一用户级别和直接进入一个用户级别之一来增加用户身份和验证要求。
文档编号H04L29/06GK102484640SQ201080038051
公开日2012年5月30日 申请日期2010年8月23日 优先权日2009年8月28日
发明者A·H·沃尔德曼, J·考迪斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1