用于事件的分布式基于规则的相关的系统和方法

文档序号:6484864阅读:233来源:国知局
用于事件的分布式基于规则的相关的系统和方法
【专利摘要】本发明提供了用于事件的分布式基于规则的相关的系统和方法。接收事件的第一子集的事件对分布式规则的部分匹配的通知。该通知包括事件的第一子集的事件的属性集合。使用事件的第一子集的事件的属性集合和事件的第二子集的事件的属性集合来评估分布式规则。基于评估来确定规则的完全匹配,以及生成相关事件。
【专利说明】用于事件的分布式基于规则的相关的系统和方法
【背景技术】
[0001]安全性信息/事件管理(SM或SIEM)领域一般地涉及I)从网络和联网设备收集反映网络活动和/或设备的操作的数据和2)分析数据以增强安全性。例如,可以分析数据以标识对网络或联网设备的攻击并确定哪个用户或机器是负责的。如果攻击正在进行,则可以执行防范措施(countermeasure)来阻碍(thwart)攻击或者减轻攻击引起的损害。所收集的数据通常源自消息(诸如事件、警告或警报)或日志文件中的条目。
[0002]日志数据可以由各种源生成,包括联网设备和应用二者。这些源可以例如是入侵检测系统(IDS)、入侵预防系统(IPS)、弱点评估工具、防火墙、反病毒工具、反垃圾电子邮件(spam)工具、加密工具、应用审核日志以及物理安全性日志。日志数据由称为“事件”的数据实例构成。事件可以例如是日志文件中的条目、系统日志服务器中的条目、警告、警报、网络包、电子邮件或通知页。
[0003]一般而言,事件表示包括多个字段的数据结构,其中每个字段可以包含值。诸如SIEM系统的安全性系统从潜在的成数千个源接收事件,这些源中的许多是不同的设备。通过分析这些字段,事件可以被交叉相关以提供诸如安全性破坏(breach)的安全性相关智能。相关可以包括向事件应用规则。
【专利附图】

【附图说明】
[0004]通过参考附图,可以更好地理解本公开并使其多个特征和优点清楚。
[0005]图1是根据实施例的网络安全性系统的拓扑框图。
[0006]图2A是根据实施例的用于通过部分规则匹配进行的相关的处理流程图。
[0007]图2B是根据实施例的用于通过完整规则匹配进行的相关的处理流程图。
[0008]图3是根据实施例的滑动聚集窗口的框图。
[0009]图4A是根据实施例的包括多个管理器中的主(master)管理器的网络安全性系统的拓扑框图。
[0010]图4B是根据实施例的包括多个管理器中的专用管理器的网络安全性系统的拓扑框图。
[0011]图5A是根据实施例的用于数据列表同步的处理流程图。
[0012]图5B是根据实施例的用于数据列表访问的处理流程图。
[0013]图6示出了其中可以实现实施例的计算机系统。
【具体实施方式】
[0014]安全性系统从潜在的数千个源接收事件。可以用规则对事件进行交叉相关以提供将不被单独设备标识的安全性相关智能。一般而言,如相关规则所定义的,相关可以指示来自不同源的不同事件与共同的事故相关联。更具体地,相关例如包括发现事件间的关系、推断那些关系的重要性、对事件和元事件进行优先化,以及提供采取动作的框架。在2002年12月2日提交的、系列号为N0.10/308,767的美国申请中进一步描述了相关,通过引用将该申请在其整体上并入本文。
[0015]如本文所使用的,规则或“相关规则”是一种过程并且包括一组简单或复杂的条件,这些条件可以与诸如聚集、分组和触发的其他构造进行组合。以诸如以下的许多方式来使用规则:针对具体条件和模式评估传入的事件;使用规则相关以及像活跃列表、会话列表以及威胁级别计算这样的其他构造来将来自不同事件的信息相关;推断关于事件的重要性的意义;以及响应于事件发起动作。
[0016]换言之,规则表达针对其评估事件流的条件。评估的结果提供用于导出事件流之外的意义的信息。当确定相匹配时,规则可以作为响应而发起动作。
[0017]除了条件之外,规则还可以包括阈值(B卩,发生数量、运行总数)、时间持续期间、力口入准则和/或聚集准则。例如:
如果(来自相同源IP地址的)(失败登录尝试)在(I分钟)内发生(10次),则(动作)。
[0018]对于该规则,条件是“失败登录尝试”、发生数量阈值为“10”、时间持续期间为“I分钟”,以及聚集准则为“来自相同源IP地址”。
[0019]规则条件可以指代各种数据模型。例如,规则条件可以指代网络和资产模型(asset model)的字段或属性,所述资产模型是网络上节点和/或机器的表示。属性可以包括开放端口、操作系统、弱点、事务分类(business classification)等。
[0020]规则条件还可以指代数据列表,诸如活跃列表和会话列表。会话列表将用户与他们在网络上的事件业务相关联。更具体地,会话列表是可配置表,其维持与用户会话相关的临时数据(例如,DCHP会话信息、VPN会话信息、从用户到他们的角色的映射,以及那些性质有效的相应时间段等)。
[0021]活跃列表是可配置表,其聚集事件的指定字段。活跃列表在时间段(例如,天、周等)上提供对特定事件的跟踪。可以使所聚集的数据可用于相关。例如,数据列表可以在账单周期内保持对使用特定信用卡进行的购买的运行总数的跟踪。通过规则对运行总数进行参考以例如向信用卡持有者警告达到信用限制。
[0022]在一些大规模设施中,单个安全性管理器提供事件的相关可能受到挑战。对于此类设施,分布式相关部署是可伸缩的。当分布式部署中的每个安全性管理器接收并处理仅系统范围事件的子集时,相关被限制于每个单独安全性管理器的本地知识。如本文所描述的,即使事件的子集由单个管理器接收,相关也跨网络中的所有事件。
[0023]提供了用于事件的分布式基于规则的相关的系统和方法。接收事件的第一子集的事件对分布式规则的部分匹配的通知。该通知包括事件的第一子集的事件的属性集合。使用事件的第一子集的事件的属性集合和事件的第二子集的事件的属性集合来评估分布式规则。基于该评估来确定规则的完全匹配,并生成相关事件。分布式相关可以实时或以批处理模式发生。
[0024]图1是根据实施例的网络安全性系统100的拓扑框图。系统100包括代理12a_n、至少一个管理器14和至少一个控制台16 (其可以包括其基于浏览器的版本)。在一些实施例中,代理、管理器和/或控制台可以组合在单个平台中或者分布在两个、三个或更多平台中(诸如所示示例那样)。该多层架构的使用支持当计算机网络或系统增长时的伸缩性。
[0025]代理12a_n是作为机器可读指令的软件程序,其提供有效的实时(或接近实时)的本地事件数据捕获和从各种网络安全性设备和/或应用的过滤。安全性事件的典型源是公共网络安全性设备,诸如防火墙、入侵检测系统和操作系统日志。代理12a-n可以从产生事件日志或消息的任何源收集事件,并且可以在本机设备处、在网络内的集合点(consolidation point)处,和/或通过简单网络管理协议(SNMP)陷讲来操作。
[0026]代理12a_n是可通过手工和自动处理并经由相关联的配置文件来配置的。每个代理12可以包括至少一个软件模块,其包括规格化部件、时间修正部件、聚集部件、批处理部件、分解器(resolver)部件、运输部件和/或附加部件。可以通过配置文件中的合适命令来激活和/或解激活这些部件。
[0027]管理器14可以由基于服务器的部件构成,其进一步采用规则引擎18和集中式事件数据库20来对从代理接收到的事件进行合并、过滤和交叉相关。管理器14的一个角色是捕获并存储所有实时和历史事件数据,其接收所述实时和历史事件数据来(经由数据库管理器22)构造安全性活动的图片。管理器14还提供集中式管理、通知(通过至少一个通知器24)和报告以及知识库28和案例管理工作流。管理器14可以部署在任何计算机硬件平台上,并且一个实施例使用数据库管理系统来实现事件数据存储部件。管理器14和代理12a-n之间的通信可以是双向的(例如允许管理器14向平台托管代理12a_n传输命令)并且加密的。在一些设施中,管理器14可以充当用于多个代理12a-n的集中器,并且可以将信息转发给(例如,部署在企业总部的)其他管理器。
[0028]管理器14还包括至少一个事件管理器26,其负责接收由代理12a_n和/或其他管理器传输的事件数据消息,并从其他管理器接收事件概要数据。事件管理器26还负责生成诸如相关事件和审核事件的事件数据消息。在实现与代理12a-n的双向通信的情况下,事件管理器26可以用于向代理12a-n传输消息。如果针对代理-管理器通信采用加密,则事件管理器26负责对从代理12a-n接收的消息进行解密,并对传输给代理12a_n的任何消息进行加密。
[0029]一旦已经接收到事件数据消息和/或事件概要数据,就将事件数据传送到规则引擎18。规则引擎18被配置为将事件数据和/或事件概要数据与相关规则进行交叉相关以便标识部分规则匹配和/或完全规则匹配。
[0030]规则触发的动作可以包括(例如,经由通知器24)传输给指明目的地的通知(例如,可以经由控制台16、电子邮件消息、对电话、蜂窝电话、语音信箱和/或寻呼机号码或地址的呼叫或者通过至诸如传真机的另一通信设备和/或地址的消息的方式等来通知安全性分析员)和/或(例如,经由代理12等)至网络设备的指令。
[0031]控制台16是基于计算机(例如,工作站)的应用,其允许安全性专家执行日常管理和操作任务,诸如事件监视、规则创作、事故研究和报告。单个管理器14可以支持多个控制台16。
[0032]在一些实施例中,控制台16的基于浏览器的版本可以用于提供对安全性事件、知识库文章、报告、通知和案例的访问。即,管理器14可以包括可经由在个人或手持计算机上托管的web浏览器访问的web服务器部件(其替代控制台16),用于提供控制台16的一些或所有功能性。浏览器访问对于远离控制台16的安全性专家和对于兼职用户而言特别有用。控制台16与管理器14之间的通信是双向的并且可以被加密。
[0033]通过上述架构,可以支持集中式或非集中式环境。这是有用的,因为组织可能希望实现系统100的单个实例,并且使用访问控制列表来划分用户。可替代地,组织可以选择针对多个组中的每一个部署单独系统100,并且在“主”级别合并结果。此类部署还可以实现“全天候式(follow-the-sun)”布置,其中地理上分散的对等组相互合作来绕过对于当前在标准办公时间工作的组的监管责任。系统100还可以以企业层级来部署,其中事务部门单独地工作并且支持上卷成集中式管理功能。
[0034]在分布式部署中,诸如管理器14的多个管理器可以安装在网络安全性系统100中。然而,每个个体管理器具有对发送给其的那些事件的访问。如本文所描述的,管理器使用集中式注册而知道彼此的存在。如果规则由多个管理器共享并且标记为分布式规则,则选出管理器之一作为该规则的“主”管理器,并且将其他管理器指明为“从(slave)”。任何一个管理器可以是主和从二者。对于任何一个分布式规则,存在单个主并且剩下的管理器为从。在一个实施例中,网络安全性系统100中的多个管理器中的每个管理器是分布式规则的子集的主。
[0035]管理器14被配置为关于所有分布式规则的集合中的具体规则以从管理器的能力进行动作。在该能力中,管理器14对其接收的事件操作,并且不具有关于其他管理器接收的事件的信息。这样,管理器14执行的相关基于事件的部分集合。具体地,管理器14被配置为接收事件的子集,确定子集中的每个事件是否与该管理器14针对其以从能力进行动作的规则至少部分匹配,生成部分匹配的事件概要数据,并将事件概要数据传输给主管理器。
[0036]如本文所使用的,事件概要包括关于与规则至少部分匹配的事件的属性。事件概要包括诸如以下的属性:一组聚集字段、一组加入字段、事件标识符和/或事件的发生时间(即,事件时间戳)。
[0037]管理器14还被配置为关于所有规则的集合中的具体规则以主管理器的能力进行动作。在该能力中,管理器14对其接收的事件操作,并且还在以下程度上具有其他管理器接收的事件的知识:那些事件与管理器14针对其是主的具体规则至少部分匹配。具体地,管理器14被配置为接收事件的子集,确定子集中的每个事件是否与该管理器14针对其以主能力进行动作的规则至少部分匹配,从(关于该具体规则以从能力进行动作的)其他管理器接收部分匹配的事件概要数据,确定是否存在与管理器14针对其以管理器能力进行动作的具体规则的完全匹配,生成相关事件,以及根据该具体规则执行动作。
[0038]这样,管理器14的一个角色是捕获并存储所有的实时和历史事件数据和/或事件概要以(经由数据库管理器22)构造关于具体规则的完整、企业范围的安全性活动图片,管理器14针对该具体规则是主。在一个实施例中,除了事件概要数据之外,将部分匹配事件提供给主管理器。
[0039]因为每个分布式规则与主管理器相关联,并且每个主管理器关于该规则提供完整的安全性活动图片,所以以主能力进行动作的管理器组针对网络安全性系统100上的所有分布式规则提供完整、企业范围的安全性活动图片。这样,即使事件的子集由单个管理器接收,相关也跨网络中的所有事件。
[0040]网络安全性系统100还包括数据列表能力。在一个实施例中,管理器14还包括数据列表模块30和本地存储器32。数据列表模块30被配置为维持会话列表和/或活跃列表。此外,数据列表模块30被配置为经由事件管理器26从代理12a-n中的至少一个或者从事件管理器26本身接收诸如安全性事件的一组事件,和/或经由事件管理器26从代理12a-n中的至少一个接收事件概要数据。会话列表和/或活跃列表可以维持在本地存储器32中的表(B卩,主表和/或本地表)中。本地存储器32可以是任何合适的存储介质,并且可以位于管理器14本身上、包含管理器14的集群中或者管理器14可访问的网络节点上。针对与具体规则相关联的会话列表和/或活跃列表维持主表,管理器14针对该具体规则是主。针对与具体规则相关联的会话列表和/或活跃列表维持本地表,管理器14针对该具体规则是从。
[0041]数据列表模块30还被配置为例如通过提取事件的会话信息和/或聚集事件的指定字段来处理事件和/或事件概要数据。数据列表模块30还被配置为将分布式部署中的其他管理器的本地表与主表进行同步,并且对本地表中的查找请求进行批处理直到验证本地表中的数据。
[0042]在操作中,代理12a_n提供事件,这些事件在事件流中由事件管理器26接收并被传递到规则引擎18以进行处理。此外,管理器14经由事件管理器26生成的事件也被传递到规则引擎18以进行处理。如本文所使用的,事件流是事件的连续流动。从代理12a-n接收的或由管理器14生成的事件数据经由数据库管理器22存储在数据库20的事件表中。
[0043]在另一示例中,其他管理器向管理器14提供事件概要数据,所述事件概要数据在流中由事件管理器26接收并被传递到规则引擎18以进行处理。
[0044]在接收事件和/或事件概要数据时,规则引擎18就以从能力和/或主能力与规则交叉相关,并且数据列表模块30维持会话列表和/或活跃列表。
[0045]图2A是根据实施例的通过部分规则匹配进行的相关的处理流程图。所描绘的处理流程200可以通过可执行指令序列的执行来实行。在另一实施例中,处理流程200的各部分通过网络安全性系统的部件、例如专用集成电路(ASIC)的硬件逻辑的布置等来实行。例如,处理流程200的框可以在网络安全性系统的规则引擎中通过可执行指令序列的执行来执行。规则弓I擎可以例如部署在网络安全性系统中的管理器处。
[0046]在分布式部署中,多个管理器可以安装在网络安全性系统中。分布式部署中的单个管理器被分配作为每个分布式规则的拥有者或主。分布式部署中的其他管理器关于该规则以从的能力操作。处理流程200可以由以从能力进行动作的管理器实行。
[0047]在步骤210处,例如在事件流中从馈送管理器的源接收事件。如之前所提及的,分布式部署中的每个管理器接收事件的子集。这样,事件是分布式部署中的事件的整个集合中事件子集的一部分。
[0048]管理器将其接收的事件(B卩,事件子集)与分布式规则(或分布式规则的子集)相关。具体地,在步骤220处,确定事件是否与分布式规则至少部分匹配。如果存在部分匹配,则事件可能潜在地产生完全匹配。如之前所讨论的,规则包括条件集合。然而,针对规则的所有条件集合对事件进行评估以产生部分匹配,该事件与那些条件的至少一个集合匹配。
[0049]规则可以是简单规则,其包含条件的一个集合。因此,匹配条件的单个集合的事件是针对规则的完全匹配。例如,简单规则可以包括条件集合,其中该集合包括两个条件。第一条件要求事件以特定类型的资产为目标,并且第二条件要求事件分类为敌对的。在简单规则的情况中,在所接收的事件匹配条件集合,即该示例中的两个条件的情况下,确定部分(和完全)匹配。
[0050]规则可以是加入规则,其由匹配两个或更多条件集合的事件触发。加入规则用于连接来自不同网络节点的事件以便理解共同的性质。加入规则识别涉及多于一种类型的事件的模式。例如,加入规则可以包括第一条件集合,该第一条件集合要求事件来自入侵检测系统(IDS)、指向资产1、在端口 I上。第二条件集合指定来自防火墙、也指向资产1、在端口I上的许可事件。在所接收的事件匹配这些条件集合中的至少一个的情况下,确定部分匹配。
[0051 ] 还可以针对所有分布式规则的所有条件集合对事件进行评估。
[0052]在未确定至少部分匹配的情况下,处理结束直到接收到下一事件。否则,在步骤230处生成规则的部分匹配的通知。该通知包括事件概要数据。如之前所描述的,事件概要包括关于被确定为与规则至少部分匹配的事件的属性。事件概要是关于事件的提要。例如,事件概要是数据结构,其包括诸如事件标识符和事件的某些字段的属性,事件的某些字段诸如事件的发生时间(即,事件时间戳)和加入和/或聚集字段的值。在加入规则寻找IDS事件和防火墙事件的情况下,加入字段可以包括源地址、目标地址和目标端口。事件标识符可以是全局唯一标识符,其是接收事件的管理器所分配的并且跨分布式部署唯一的事件标识符。针对每个规则和针对其确定部分匹配的事件生成通知。在一个实施例中,可以聚集通知以减少传输给主管理器的数据量。
[0053]在步骤240处,将通知传输给规则的主管理器。主管理器使用通知来针对规则跨分布式环境中的所有事件进行相关,该主管理器针对该规则是主。在一个实施例中,在周期的基础上,例如每五秒钟传输通知。
[0054]图2B是根据实施例的用于通过完整规则匹配进行的相关的处理流程图。所描绘的处理流程250可以通过可执行指令序列的执行来实行。在另一实施例中,处理流程250的各部分通过网络安全性系统的部件、例如专用集成电路(ASIC)的硬件逻辑的布置等来实行。例如,处理流程250的框可以在网络安全性系统的规则引擎中通过可执行指令序列的执行来执行。规则引擎可以例如部署在网络安全性系统中的管理器处。
[0055]在分布式部署中,多个管理器可以安装在网络安全性系统中。分布式部署中的单个管理器被分配为每个分布式规则的拥有者或主。分布式部署中的其他管理器关于该规则以从的能力操作。处理流程200可以由以主能力进行动作的管理器实行。
[0056]主管理器可以接收事件和部分匹配的通知二者。通知指示分布式部署中的其他管理器接收的事件的部分匹配。除了步骤255-262是在针对规则评估事件时由管理器执行以夕卜,步骤255-262与图2A的步骤210-230类似,该管理器针对该规则是主。在步骤255处,例如在来自馈送管理器的源的事件流中接收事件。在步骤260处,确定事件是否与管理器针对其是主的规则至少部分匹配。在确定至少部分匹配的情况下,在步骤262处生成与规则部分匹配的通知。通知用于在步骤270处确定与规则的完全匹配。
[0057]在一个实施例中,在步骤260处确定部分匹配之后,处理可以直接前进到步骤270,其中主管理器评估是否存在完全匹配。换言之,可以绕过步骤262。
[0058]在一种配置中,主管理器是专用于评估完全匹配的管理器。该专用管理器可以从其他管理器接收部分匹配通知,但是可以不接收例如来自其自己的源的事件。在该场景中,该专用主管理器可以不执行涉及事件的评估的步骤255-262。关于图4B来进一步描述专用管理器配置。
[0059]在步骤265处,例如从分布式相关部署中的从管理器接收部分匹配的通知。在步骤270处确定是否存在与规则的完全匹配,管理器针对该规则是主。考虑各种部分匹配通知来确定完全匹配。例如,使用主管理器和其他管理器接收的事件的部分匹配的通知。聚集来自部分匹配通知的事件概要数据。如果聚集超过规则定义的阈值(例如,发生数量,运行总数),则确定完全匹配并且触发规则。在一个实施例中,除了从其他管理器接收的部分匹配通知,基于主管理器接收的事件的至少部分匹配(即,来自步骤260)的确定可以用于计算完全匹配。
[0060]在一个实施例中,简单和加入规则二者可以指定在特定时间持续期间上聚集事件。如果简单规则被配置为聚集具有匹配性质的多个事件,则当指定数量的匹配事件发生时确定完全匹配。例如,如果规则被配置为聚集三个匹配事件,则当那三个匹配事件在指定的时限中发生时触发规则。
[0061]如果加入规则被配置用于聚集,则如果指定数量的匹配事件在指定时间持续期间内发生则确定完全匹配。关于图3来进一步描述完全匹配的确定。
[0062]在确定完全匹配的情况下,在步骤275处生成相关事件。除了规则特定信息,相关事件还包括关于触发规则的基事件的信息。在一个实施例中,相关事件可以用于条件匹配,由此允许多个事件的链接(chaining)。
[0063]在步骤280处,执行在规则中指定的动作。动作可以包括执行预定命令或脚本,更新数据列表,记录警告,向控制台或通知被指派者发送警告,基于累积的活动来设置警告的定制安全性级别,向可疑源列表添加源,向弱点列表添加目标,或者这些动作的任意组合。这样,即使事件的子集由单个管理器接收,也可以跨分布式部署中的所有事件执行相关。
[0064]在步骤270的结果是还未确定完全匹配的情况下,在步骤272处更新迄今为止接收到的部分匹配的知识。具体地,维持关于之前的部分匹配的计数、时间戳、规则标识符,其用于与将来的部分匹配进行匹配。例如,当在步骤265处接收到部分匹配的另一通知时,在步骤270处完全匹配的确定基于新接收的通知和之前部分匹配的知识。
[0065]图3是根据实施例的滑动聚集窗口的框图。安全性事件是时间和计数敏感的。例如,如果安全性系统在一秒内接收多个安全文件传输协议(SSH)登录失败,则存在系统处于SSH蛮力攻击下的可能性。另一方面,如果多个失败是例如在数分钟或数小时上在时间上分配(disburse)的,则从安全性视角来看,这些失败可能是无害的。这样,许多相关规则指定时间持续期间和阈值(即,发生数量,运行总数)。
[0066]例如,如果(来自相同源IP地址的)(失败登录尝试)在(I分钟)内发生(10次),则规则可以触发警告。在该示例中,时间持续期间为“I分钟”,并且阈值是“10次”。
[0067]如规则的聚集准则所指定的,聚集过程可以包括将具有类似属性的事件分组在一起。可以将类似事件馈送到诸如时间线缓冲器350的缓冲器中。
[0068]当主管理器接收事件和/或部分匹配通知(其包括事件概要)时,事件或事件概要数据通过相同源IP地址来分组,在该示例中,通过事件的发生时间来排序,以及被馈送到时间线缓冲器350中。
[0069]时间线缓冲器350可以是未限制大小的先入先出(FIFO)缓冲器。时间线缓冲器350的每个元素表示事件并且包括关于事件的数据(即,属性),诸如事件的发生时间和事件被主管理器接收的时间。例如,时间线缓冲器350的元素“[n+6]”包括发生时间属性362和接收时间属性360。[0070]针对完全规则匹配发生,主管理器在诸如滑动窗口 355的时间窗口上聚集事件。可以通过如分布式规则中指定的持续期间来确定滑动窗口聚集的持续期间。如果任何滑动时间窗口可以产生阈值数量的匹配,则确定针对该规则的完全匹配。
[0071]继续之前的示例,例如通过对诸如172.16.254.1的源IP地址的失败登录尝试的发生数量进行计数,来对在窗口 355内的事件的属性执行聚集。如规则中所指定的,将窗口355的持续期间设置为一分钟。如果计数超过十,则触发规则并且生成警告。
[0072]窗口 355是滑动窗口,其可以识别时间持续期间上的规则完成,而不管聚集的初始启动时间。实现滑动窗口的一个益处是防止攻击者将攻击定时在窗口的时间边界(例如,明确的开始时间,明确的结束时间)上,并因此逃脱检测。
[0073]在分布式系统中,可能存在例如由主管理器接收通知和事件的延迟。这可能引起通知和事件以无序的方式被接收。认识到延迟是可能性,可以在随后的时间从时间线缓冲器350丢弃事件。换言之,与当在单个部署的环境中相比,事件的生存时间延长更长的时间段。如所示出的,缓冲器350的元素“ [n+1] ”至“ [n+6] ”在生存时间359内,然而,元素“ [η]”不在并因此被丢弃。
[0074]在一个实施例中,通过以下方式来确定时间线缓冲器中的事件(在被丢弃之前)的生存时间:将该生存时间延长从分布式部署中的其他管理器接收事件和/或通知的预期延迟。
[0075]图4Α是根据实施例的包括多个管理器的主管理器的网络安全性系统的拓扑框图。系统400包括代理402a-n、426a-n、代理436a_n、管理器414、管理器424以及管理器434。如所示出的,代理402a-n、426a-n、代理436a_n和/或管理器414-434分布在多个平台中。此类分布式计算部署在系统400的管理器间提供负载平衡。管理器414-434中的任何一个被配置为充当分布式规则的主管理器和另一分布式规则的从管理器。
[0076]在一个示例中,管理器414是第一规则的主。管理器424和管理器434作为第一规则的从管理器而操作。管理器414从代理402a-n接收事件,而管理器424从代理426a_n接收事件,并且管理器434从代理436a-n接收事件。这样,管理器414-434的每一个接收分布式部署中的所有事件的事件的子集。
[0077]为了跨所有事件相关,从管理器确定其接收的事件是否有资格作为规则的部分匹配。在该示例中,作为第一规则的从管理器而操作的管理器424确定其(从代理426a-n)接收的任何事件是否是第一规则的部分匹配。同样,也作为第一规则的从管理器而操作的管理器434确定其(从代理436a-n)接收的任何事件是否是第一规则的部分匹配。在存在部分匹配的情况下,管理器424和管理器434通知管理器414,管理器414作为第一规则的主而操作。管理器414基于来自管理器424和434的通知并基于从代理402a_n接收的事件的任何部分匹配来确定是否存在第一规则的完全匹配。
[0078]这样,即使事件的子集由主管理器414接收,关于第一规则的相关也跨系统400中的所有事件。
[0079]图4B是根据实施例的包括多个管理器的专用管理器的网络安全性系统的拓扑框图。系统450包括代理476a-n和代理486a-n、管理器464、管理器474以及管理器484。如所示出的,代理476a-n和代理486a_n和/或管理器464-484分布在多个平台中。
[0080]除了管理器(B卩,管理器464)被配置为充当专用管理器以外,系统450与图4A的系统400类似。如本文中所使用的,专用管理器负责针对至少一个分布式规则或者甚至针对所有分布式规则来计算聚集和完全匹配。例如如果其未从其自己的源接收事件,则专用主可以不计算部分匹配。如所示出的,管理器464未连接到任何其自己的代理。分布式部署可以包括多个专用管理器。
[0081 ] 在一个实施例中,管理器464是至少一个分布式规则的专用主。管理器474和管理器484中的每一个被配置为充当分布式规则的从。管理器474和管理器484向管理器464报告部分匹配,管理器464然后基于所接收的通知来确定是否存在完全匹配。因此,管理器464针对规则跨系统400中的所有事件进行相关。
[0082]图5A是根据实施例的用于数据列表同步的处理流程图。所描绘的处理流程500可以通过可执行指令序列的执行来实行。在另一实施例中,处理流程500的各部分通过网络安全性系统的部件、例如专用集成电路(ASIC)的硬件逻辑的布置等来实行。例如,处理流程500的框可以在网络安全性系统的数据列表模块中通过可执行指令序列的执行来执行。数据列表模块可以例如部署在网络安全性系统中的管理器处。
[0083]规则可以从诸如活跃列表和会话列表的数据列表读取更新并向数据列表提供更新。为了维持网络安全性系统的分布式部署中的这些列表间的一致性,可以实现主和从模型。一个管理器被指明为保持特定数据列表的主拷贝。分布式部署中的所有其他管理器维持该特定数据列表的本地拷贝。
[0084]在分布式系统中的所有拷贝(B卩,主和本地)间同步对特定数据列表的更新。在步骤510处,例如通过保持数据列表的主拷贝的管理器来检测对数据列表的本地拷贝的更新。在一个实施例中,保持列表的本地拷贝的管理器传输对数据列表做出的改变的信息(差量更新)而非在其整体上传输数据列表。
[0085]在步骤515处,与数据列表的主拷贝同步更新。更具体地,更新与主拷贝合并在一起。在步骤520处,还与数据列表的其他本地拷贝同步更新。例如,主管理器通知保持数据列表的本地拷贝的其他管理器以同步。在另一实施例中,同步周期地发生。
[0086]数据列表的同步之间的延迟可以是用户可配置的,或者可以由网络安全性系统例如基于负载和需求来管理。一般而言,预期更新的时间间隔为几秒或更少。
[0087]图5B是根据实施例的用于数据列表访问的处理流程图。所描绘的处理流程550可以通过可执行指令序列的执行来实行。在另一实施例中,处理流程550的各部分通过网络安全性系统的部件、例如专用集成电路(ASIC)的硬件逻辑的布置等来实行。例如,处理流程550的框可以在网络安全性系统的数据列表模块中通过可执行指令序列的执行来执行。数据列表模块可以例如部署在网络安全性系统中的管理器处。
[0088]如之前所描述的,规则可以从诸如活跃列表和会话列表的数据列表读取更新并向数据列表提供更新。为了维持网络安全性系统的分布式部署中的这些列表间的一致性,可以实现主和从模型。一个管理器被指明为保持特定数据列表的主拷贝。分布式部署中的所有其他管理器维持该特定数据列表的本地拷贝。
[0089]管理器可以在评估包括涉及运行总数的阈值的规则时从数据列表进行读取。例如,当信用卡上花费的美元的运行总数为信用限制的75%或更多时触发以下规则:
如果(用户A)在(I个月)内(花费的美元)为($1500信用限制的75%),则(向用户A发
送警告)。[0090]前面的规则由以下构成:运行总数阈值(即,“花费的美元”);聚集准则(即,“用户A”);条件(即,“$1500信用限制的75%”);以及时间持续期间(S卩,“I个月”)。运行总数可以维持在活跃列表中。在分布式系统中存在数据列表的多个拷贝的情况下,在评估查找操作之前对本地拷贝执行数据验证。
[0091]在步骤560处,确定对数据列表的本地拷贝的查找请求。在步骤562处,确定数据列表的本地拷贝是否包括最新数据。具体地,基于事件的发生时间来确定数据列表中正被访问的数据是否是最新的。确定管理器与主同步的最近时间。到目前为止,已知管理器为当前的。
[0092]可以由管理器接收事件。事件的评估触发本地数据列表中的查找请求。在事件的发生时间在最近同步的时间之前(即,比其更早)的情况下,确定本地拷贝包括最新数据,并且在步骤564处在数据列表的本地拷贝上评估查找请求。
[0093]在另一实施例中,在本地拷贝与主拷贝同步的情况下,数据被确定为被验证并且在本地拷贝上评估查找请求。
[0094]否则,在步骤566处对查找请求进行批处理。查找请求继续被批处理直到确定本地拷贝中的数据被验证,即在步骤562处本地拷贝包括最新数据。
[0095]图6示出了其中可以实现实施例的计算机系统。系统600可以用于实现上面描述的计算机系统中的任何一个。计算机系统600被示出为包括可以经由总线624电气耦合的硬件元件。硬件元件可以包括至少一个中央处理单元(CPU) 602、至少一个输入设备604以及至少一个输出设备606。计算机系统600还可以包括至少一个存储设备608。作为举例,存储设备608可以包括诸如磁盘驱动器的设备、光存储设备、诸如随机访问存储器(“RAM”)和/或只读存储器(“ROM”)的固态存储设备,其可以是可编程的、闪速可更新(flash-updateable)的等等。
[0096]计算机系统600可以附加地包括计算机可读存储介质读取器612、通信系统614(例如,调制解调器、(无线或有线)网卡、红外通信设备等)以及可以包括如上所述的RAM和ROM设备的工作存储器618。在一些实施例中,计算机系统600还可以包括处理加速单元616,其可以包括数字信号处理器(DSP)、专用处理器等等。
[0097]计算机可读存储介质读取器612还可以连接到计算机可读存储介质610,从而一同(并且在一个实施例中与存储设备608组合)来综合表示远程、本地、固定和/或可移除存储设备加任何有形的非暂态存储介质,用于临时和/或更永久地包含、存储、传输以及获取计算机可读信息(例如,指令和数据)。计算机可读存储介质610可以是非暂态的,诸如硬件存储设备(例如,RAM、ROM、EPROM (可擦除可编程ROM)、EEPROM (电可擦除可编程ROM)、硬盘驱动器以及闪速存储器)。通信系统614可以许可与网络和/或上面关于系统600描述的任何其他计算机交换数据。计算机可读存储介质610包括规则引擎625和数据列表模块626。
[0098]计算机系统600还可以包括软件元件,其是机器可读指令,被示出为当前位于工作存储器618内,包括操作系统620和/或诸如应用程序(其可以是客户端应用、Web浏览器、中间层应用等)的其他代码622。应当意识到,计算机系统600的替代实施例可以具有来自上面描述的许多变型。例如,还可能使用定制硬件和/或特定元件可能用硬件、软件(包括诸如小应用程序的便携软件)或二者来实现。此外,可以采用至诸如网络输入/输出设备的其他计算设备的连接。
[0099]因此,说明书和附图将被认为是说明性的而非限制性的意义。然而,将清楚可以做出各种修改和改变。
[0100]除非另外特别声明,否则本说明书(包括任何所附权利要求、摘要和附图)中所公开的每个特征可以用起到相同、等同或类似目的的替代特征来替换。因此,除非另外特别声明,否则所公开的每个特征是一般性的一系列等同或类似特征的一个示例。
【权利要求】
1.一种用于事件的分布式相关的方法,所述方法包括: 在计算设备处接收事件的第一子集的事件对分布式规则的部分匹配的通知,其中,通知包括事件的第一子集的事件的属性集合; 使用事件的第一子集的事件的属性集合和事件的第二子集的事件的属性集合来评估分布式规则; 基于评估来确定规则的完全匹配;以及 生成相关事件。
2.如权利要求1所述的方法,还包括: 在计算设备处接收事件的第二子集的事件; 使用事件的第二子集的事件的属性集合来评估规则;以及 确定事件的第二子集的事件对规则的部分匹配。
3.如权利要求1所述的方法,其中,在第二计算设备处接收事件的第一子集的事件,并且其中,由第二计算设备来生成由事件的第一子集的事件部分匹配的通知。
4.如权利要求1所述的方法,其中,事件的第一子集的事件的属性集合包括事件时间戳、事件标识符、聚集字段的集合以及加入字段的集合。
5.如权利要求1所述的方法,其中,评估分布式规则包括: 聚集事件的第一子集的事件和事件的第二子集的事件;以及 基于聚集来确定是否满足分布式规则的条件的每个集合。
6.如权利要求1所述的方法,还包括: 通过计算设备来检测对数据列表的本地拷贝的更新;以及 将数据列表的主拷贝与本地拷贝进行同步。
7.如权利要求1所述的方法,其中,在数据列表的本地拷贝上评估查找请求之前在所述本地拷贝上执行数据验证。
8.如权利要求7所述的方法,其中,查找请求被批处理直到数据列表的本地拷贝被验证。
9.一种用于事件的分布式相关的系统,所述系统包括: 第一计算机系统的第一处理器并且被配置为: 接收事件的第一子集的事件;以及 生成事件的第一子集的事件对分布式规则的部分匹配的通知,其中,通知包括事件的第一子集的事件的属性集合;以及 第二计算机系统的第二处理器并且被配置为: 接收事件的第二子集的事件; 接收通知; 使用事件的第一子集的事件的属性集合和事件的第二子集的事件的属性集合来评估分布式规则; 基于评估来确定规则的完全匹配;以及 生成相关事件。
10.如权利要求9所述的系统,其中,事件的第一子集的事件的属性集合包括事件时间戳、事件标识符、聚集字段的集合以及加入字段的集合。
11.如权利要求9所述的系统,其中,第二处理器被配置为通过以下操作来评估分布式规则: 聚集事件的第一子集的事件和事件的第二子集的事件;以及 基于聚集来确定是否满足分布式规则的条件的每个集合。
12.如权利要求9所述的系统,其中,第二处理器被配置为: 检测对数据列表的本地拷贝的更新;以及 将数据列表的主拷贝与本地拷贝进行同步。
13.一种非暂态计算机可读介质,其存储多个指令来控制数据处理器对事件进行相关,所述多个指令包括使得数据处理器进行以下的指令: 接收事件的第一子集的事件对分布式规则的部分匹配的通知,其中,通知包括事件的第一子集的事件的属性集合; 使用事件的第一子集的事件的属性集合和事件的第二子集的事件的属性集合来评估分布式规则; 基于评估来确定规则的完全匹配;以及 生成相关事件。
14. 如权利要求13所述的非暂态计算机可读介质,其中,使得数据处理器评估分布式规则的指令包括使得数据处理器进行以下的指令: 聚集事件的第一子集的事件和事件的第二子集的事件;以及 基于聚集来确定是否满足分布式规则的条件的每个集合。
15.如权利要求13所述的非暂态计算机可读介质,其中,所述多个指令还包括使得数据处理器进行以下的指令: 检测对数据列表的本地拷贝的更新;以及 将数据列表的主拷贝与本地拷贝进行同步。
【文档编号】G06F15/00GK103718170SQ201180072676
【公开日】2014年4月9日 申请日期:2011年7月29日 优先权日:2011年7月29日
【发明者】A.辛格拉 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1