具体实施方式
检测恶意软件的***和过程可以检测单个ESM安装程序中事件的模式、生成在每个安装程序中检测到的模式的标准形式、与社区共享关于标准形式的信息、以及合并多个安装程序中的共享信息以识别模式中的哪一个存在最大威胁或恶意行为的可能。与新事件的模式关联的威胁的水平可以基于发生的数目或速率以及事件的模式在ESM安装程序的社区中传播有多广泛而评分。例如,模式的威胁评分可以基于在单个机构中模式的支持,例如机器或呈现行为的用户账号的数目,和/或被模式影响的机构的数目。为了有利于这种评估,使用公共或专用交换机,例如威胁交换机,模式的标准形式可以被合并和共享。模式的标准形式还可以被安全分析师通过诸如即时消息、邮件、论坛或社交媒体的其他通信模式而交换。分析师可以特别研究最新出现的广泛传播的模式,以在零日攻击的更具毁灭性的部分开始之前发现传播的恶意软件。
图1为社区100的框图,社区100包括企业***110,企业***110包括网络安全,例如ESM安装程序,其可以检测事件的模式并共享关于检测到的模式的信息。因此,***110中的信息可以与发生在别处的模式相对应的信息合并,并且该合并的信息可以被用于在零日攻击中提早识别恶意软件行为。
***110包括网络115、一个或多个代理120和管理器130。在一些实施方式中,代理、管理器和/或控制台中的一些或全部可以在单个计算平台中组合或者在两个或多个物理平台中分配。网络115可以为传统局域网并且可以被采用为覆盖企业的全部或部分。网络115的特定类型(例如,网络115的拓扑结构,不管网络115使用无线或有线通信以及实施哪个特定协议)对于事件模式的检测和恶意行为的识别通常不是关键的,如这里进一步描述的。通常,网络115可以包括诸如路由器和交换器的设备,以使诸如服务器、网络家电和个人电脑的计算设备与诸如打印机和扫描仪的外部设备互连。网络115可以进一步包括一个或多个网关112,以连接至包括诸如因特网的公共或广域网的其他网络165。覆盖企业的其他部分的网络(未示出)可以由其他网络安全***(未示出)服务。
***110中的代理120可以为执行模块,其捕获、过滤或聚合与网络115关联的多个网络安全设备和/或应用程序中的本地事件数据。代理120可以随着事件的发生实时(或接近于实时)处理事件或者可以定期访问可以被维持在特定设备中的事件的日志。安全事件的一些典型源为常见的网络安全设备,诸如防火墙、指令检测***和操作***日志。代理120可以,例如,收集来自产生事件日志或消息的任意源的事件,并且可以在诸如服务器、网络家电、个人电脑或网关112的本地设备上操作、在网络115内的合并点上操作和/或通过简单网络管理协议(SNMP)陷阱操作。
管理器130可以被部署在任意计算机硬件平台上,并且可以例如包括进一步合并、过滤和交叉关联从代理120接收的事件的基于服务器的部件。管理器130的一个特定角色为捕获和存储实时事件和历史事件的数据,以构建网络115上安全行为的表征。为此,管理器130采用集中事件数据库140,其可以包括用于存储事件数据的事件表142。在一些实施方式中,管理器130可以充当多个代理120的集中器,并且可以将包括事件数据的信息转发至另一个管理器(未示出),其可以被部署在包括网络115的企业中的公司总部或别处。
控制台135可以采用应用程序用于允许安全专家访问管理器130并执行诸如事件监控、规则设计、事故调查和报告的日常管理和操作任务。例如,控制台135可以采用浏览器访问来自管理器130或社区100的其他部分的安全事件、知识库文件、报告和通知,社区100的其他部分包括其他企业的管理器170、威胁交换机180、分析师资源190或其他当事人。管理器130可以包括可经由托管在控制台135或代替控制台135并提供控制台135的一些或全部功能的便携式计算机(未示出)上的网络浏览器访问的网络服务器部件(未示出)。在安全专家不在直接连接至网络115的设备的物理位置上时,浏览器访问可能是特别有用的。在将模式上的信息与威胁交换机180或分析师资源190共享时,浏览器访问也可以是有用的。控制台135或远程设备和管理器130之间的通信可以为双向或加密的。访问控制列表可以被用于允许多个安全专家使用相同的管理器130和数据库140。因此,单个管理器130可以支持多个控制台135或远程设备。
在图1的实施例中,管理器130包括与代理120通信以接收事件数据的事件管理器132,以及实施事件数据库140的功能的数据库管理器134。管理器130和代理120之间的通信可以为双向的,例如允许管理器130将命令发送至托管代理120的平台。如果使用与代理120的双向通信,则事件管理器132可以将消息发送至代理120。如果代理-管理器的通信采用加密,则事件管理器132可以将从代理120接收的消息解密,并且将发送至代理120的任意消息加密。事件管理器132还可以负责产生一些事件数据消息,诸如关联事件和审计事件,或可以执行这些功能的规则引擎136。事件管理器132可以将事件数据直接或通过规则引擎136传递至数据库管理器134,并且数据库管理器134可以控制数据库140中事件数据的存储和组织。数据库管理器134还可以执行搜索查询或其他指令,以检索数据库140中的事件数据。
在一个实施方式中,数据库管理器134使用通过事件管理器132从代理120接收的事件数据在事件数据库140中构建事件表142。例如,代理120可以以单个事件的形式和/或以聚合形式提供事件数据。事件的聚合形式可以为相同类型的多个事件的单个表征。例如,代理120可以将表示550字节的事件信息从第一IP地址发送至第二IP地址,而不是将十个不同字节,例如10、20、30、40……100字节的事件,从第一IP地址提供至第二IP地址。在一个示例中,代理120给事件管理器132提供事件流。事件流为事件的连续流,其中每个事件由一组数据区表示。事件管理器132可以将事件传递至规则引擎136以处理。可替代地,事件或事件数据可以被聚合或产生在管理器130中,例如通过事件管理器132或规则引擎136。数据库管理器134可以将从代理120接收或由管理器130产生的事件数据存储在数据库140中的事件表142中。在一个实施方式中,事件表142可以具有对应于单个事件的行和对应于事件字段的列。
管理器130还包括模式处理能力,并且规则引擎136可以包括经由数据库管理器134调用模式检测的规则,诸如描述何时进行模式检测或哪个用户可以看到模式检测结果的规则。在示出的实施例中,管理器130包括处理事件数据以识别事件数据中的模式的模式发现模块150。模式发现模块150可以经由事件管理器132从代理120接收事件数据、从规则引擎136接收事件数据或直接或经由数据库管理器134从事件数据库140接收事件数据。
在一个实施方式中,模式发现模块150采用模式发现配置文件144,其可以被存储在事件数据库140中。每个模式发现配置文件144指示确定一组事件是否符合与模式发现配置文件144关联的模式的准则。在一个特定实施方式中,模式发现配置文件144可以为定义用于发现模式的准则的资源,例如以XML的形式。模式发现配置文件144可以例如指示要考虑的事件发生的时间段、事件的选择性过滤条件、一组包含诸如事件名称的相应值的模式识别字段,诸如源地址和目标地址的模式处理字段、模式中不同行为的最小数目、以及模式横跨不同事务重复次数的最小数目。模式发现模块150可以处理来自数据库140的事件或事件数据,以自动产生配置文件144。配置文件144可以可替代地由其他源提供。例如,模式发现模块150或控制台135的用户可以产生配置文件144,或者配置文件144可以通过威胁交换机180或其他通信来共享。
管理器130可以将事件表142中的事件与模式发现配置文件144中定义的准则相比较,以识别对应于模式148匹配的事件组。例如,管理器130可以仅使用产生的模式发现配置文件144或者使用事件数据库140中的任意之前存储的模式发现配置文件144。然后,数据库管理器134可以执行SQL命令以将事件表142中的事件字段与模式发现配置文件144中定义的准则相比较。匹配可以包括表示满足模式发现配置文件中定义的准则的一系列行为的一组事件。匹配模式发现配置文件144的每个实例为模式148的发生。模式的发生可以被用于产生与网络115上事件的模式148相应关联的统计值146,并且该具体发生或统计值146可以被存储在数据库140中。可替代地,与特定配置文件144或模式148对应的模式的每个检测可以被报告给社区100或与社区100分享。
产生模式发现配置文件和检测事件数据中的模式的***和方法进一步被描述在美国专利No.7509677中,名称为“Pattern Discovery in a Network Security System(网络安全***中的模式发现)”,其整体通过引用被合并于此。
通知者138可以定期或在检测到新模式时产生通知,例如消息、警告等。通知者138可以例如将包含模式148的标准形式和关联模式统计值146(若有的话)的消息发送至威胁交换机180。同样,用于检测模式的事件数据可以例如通过针对用户/分析师的控制台135来显示和/或在管理器130中分析。
社区100,如上所指出,可以包括可以通过公共网络165互相连接并连接至***110的安装在其他企业中的管理器170、威胁交换机180和分析师资源190。每个管理器170可以与网络管理器130相同,而且用以在作为不同机构和企业的一部分的不同网络(未示出)上监控网络行为。因此,管理器170可以类似地共享关于检测到的发生在事件相应网络上的事件模式的信息。
威胁交换机180可以为实施在可以与ESM安装程序通信的服务器或其他硬件平台上的服务,例如与管理器130和170以及分析师资源190通信。威胁交换机180的一个功能是合并关于可以在多个企业中检测到的模式的信息。具体而言,威胁交换机180可以构建包含会被报告给威胁交换机180的模式的标准形式的表182。表184可以包含合并的统计值或包括与标准形式关联的入口的其他数据,包括,例如,报告模式检测的机构或企业的总数目、被事件模式影响的机器或用户账号的总数目、以及指示事件的模式的风险或威胁水平的评分。由合并的数据184估算或另外确定的评分可以被用于区分用于分析的模式的优先次序并选择分析的模式。威胁交换机180还可以合并或收集在检测的模式中任一个上共享的分析186。分析186可以指示检测的模式是否已经被分析并确定为恶意或善意的行为。分析186还可以响应于检测模式而指示要采取的解决方案或动作。通信模块188可以包括允许管理器130和170将标准形式、关联统计值或分析上载到威胁交换机180或下载标准形式182、合并的数据184和分析186的网络服务器部件,例如,用于模式检测、分析和校正动作。通信模块可以类似地允许分析师190上载或下载信息。
分析师资源190可以是单独或与威胁交换机180相关联而提供以识别恶意行为或推荐校正行为的服务。
图2示出过程200,其使用在零日攻击期间并且可能地在攻击的延迟和特别有害部分发生之前提早识别恶意行为的模式检测。为了说明,这里结合图1***中的行为描述过程200,尽管过程200可以在不同的***中进行。
过程200开始于检测和共享发生在被监控的网络中的事件的模式的框210。框210可以特别地在诸如图1中示出的ESM安装程序中进行,其中管理器130可以实施模式检测框212。框212检测在特定时间周期期间发生在被监控的网络中的事件的模式。框214产生检测到的模式的一些或全部的标准形式,并且框216共享该模式中的一些或全部的标准形式,框214针对该模式产生标准形式。通常,仅仅需要针对会被共享的模式而产生标准形式。如果模式没有被检测***分类,则过程200的一些实施方式仅可以产生标准形式(或共享模式),检测***例如为与善意或恶意行为相对应的管理器130或社区100。检测到的模式可以被分类,例如,通过诸如下面进一步描述或通过历史描述的分析。例如,与新出现的模式相比,已经发生了延长的时间周期,而不是有害的模式可以被认为不太可能是恶意的。在一个实施方式中,如果对于安装程序来说模式是新的,即如果模式的第一发生小于某个特定时间之前而发生,则ESM安装可以仅共享模式。
框214可以由原始事件数据产生模式的标准形式,以移除或另外保护原始事件数据中潜在的机密信息并且提供可以适用于许多网络***的事件模式的格式。原始事件经常包含日志线形式的信息。在***110中,代理120可以解析事件或日志线,以识别字段,例如事件名称、源地址、目标地址等,并且将一些或全部事件字段发送管理器130。管理器130可以使用资产模型、用户模型和其他信息完善或增大事件数据。***110中被识别的事件模式148可以包括在模式的计算中使用的各个字段值的具体快照。这个信息经常是机密的,并且因此不与其他当事人共享。在产生标准形式时的框214可以提取或更改包含机密信息的字段,以使针对模式更改的事件数据可以与社区100共享或特别与威胁交换机180共享。因此,一些字段值可以被转换为传送针对识别的模式要求的信息而不传送机密信息的公认通用值。例如,事件的模式的标准形式可以为避免公开特定设备或***细节并且可以被一般地映射到网络上常见设备的模式的表征。在一个实施方式中,模式的标准形式148可以为由模式发现配置文件144中的模式识别字段(例如,事件名称)表示的一系列行为。模式的标准形式的一个特定实施方式可以进一步包括其中每个事件都可以包括行为识别字段的一组事件。针对行为字段的不同值可以指示诸如TCP探测、端口扫描、shell代码x86NOOP和成功登陆等的行为。连同模式的标准形式,模式的支持也可以被共享。该支持为其中观察到模式的唯一的源-目标结合的数目。在一个实施方式中,源和目标识别字段可以指示源或目标的地址和网络区。在不指示特定或保密值的情况下,源和目标字段还可以指指示值类型的单个字段,例如用户ID或信用***。
在具有或不具有诸如与检测到的模式关联的统计信息的辅助信息的情况下,框216与社区共享检测到的标准形式的模式。如上所述,社区100可以包括其他ESM安装程序的管理者,诸如管理器170、威胁交换机180、以及其他安全性专家或分析师资源190。社区100可以特别包括管理器130的制造商作为服务提供给社区100的管理器130和分析师资源190的特定类型或品牌的用户,社区100包括使用管理器130的企业。共享216可以包括将新模式指派给管理器130的制造商可以维护的威胁交换机180。
威胁交换机180可以合并来自许多安装程序的模式的报告并积聚关于每个模式的信息,该信息诸如是已经报告模式的安装程序的数目和模式在全部安装程序上发生的数目。作为合并的一部分,框220可以检查社区100中报告的匹配模式,并且可以产生指示模式表示恶意行为的可能性的评分。威胁交换机108可以被配置为通过收集、登记和评价管理器130和170共享的模式来实施框220。可替代地,管理器130可以针对匹配新模式的当前报告的其他管理器170中之前的报告检查威胁交换机180的记录,并且管理器130可以产生将模式代表的威胁水平建议给网络115的评分。在确定威胁评分过程中,模式可以呈现更多的威胁,并且如果模式是新的、发生在许多采用威胁交换机180的不同安装程序中并且大量发生,则具有更高的威胁评分。广泛传播并且在许多安装程序上具有很高的发生率的新模式通常值得另外的调查。
指示模式的威胁水平的评分可以使用根据举报方的声誉而加权的发生的报告之和来确定。方程1,例如,示出其中评分为当事人的信誉的产物的所有部分或参与者和当事人的安装程序处的模式支持之和的示例。在方程1中,当事人信誉为举报参与者的信誉,并且模式支持为报告的统计值或数值,例如设备的数目或包含在模式中的用户账号、针对该模式而报告的参与者。可替代的威胁评分可以为标准化评分,其中对于每个参与者,评分包含作为参与者的IT***中的百分比或标准化模式支持的贡献。例如,对于来自每个参与者的评分的贡献可以等于例如模式支持除以IT***的大小的测量的比率。这会使得较小***的贡献在整个威胁评分中更加重要,并且评分会受到被影响的每个参与者更平等的干涉。该对于机构的大小的测量可以通过多种方式确定。例如,一个测量可以为参与者的***中服务器的数目。
[方程1]:
机构决定框230可以确定模式中的任一个是否应当被进一步分析,例如具有特定水平以上的威胁评分。尽管不是全部的广泛传播的新模式会实际对应于恶意软件,但是这种准则可以将模式区分优先次序并减少不必要的分析或误报。例如,完全假的随机模式会趋向于具有不同当事人或安装程序之间的低聚合数,并且因此降低威胁评分和降低分析的优先级。机构特定模式会趋向于具有不同机构之间的低聚合数,并且因此降低威胁评分和降低分析的优先级。不论何种情况,判定230可以避免分析不可能为恶意行为的模式。对于分析的模式的优先次序可以将模式的分析的总量从不切实际的水平减少到可管理水平。社区100中分析的共享可以进一步减少单个安装程序上模式分析的负担。
框230针对分析选择或识别的任何模式可以在框240中检查,以确定新模式是否对应于恶意软件的行为。例如,一旦威胁交换机180识别具有高威胁评分的模式,则威胁交换机180可以通知分析师资源190或管理器130和170的管理者检测到的模式具有是恶意行为的高风险,并且被警告的当事人中的一个或多个可以分析模式的发生。在图2中示出的分析240的实施方式中,第一步骤242检查社区以确定社区中的任意其他分析师是否已经分析模式。如果社区中的某个人已经分析模式,则解决恶意行为的动作过程也可以是有效的。偶尔接收很高或上升数的新的“善意”模式可以被社区通过共享效果和共享信息而确认为善意的,并且因此参与者可以减少他们自己的工作负载,以清除误报以及识别威胁和选择动作过程。
图2的分析框240还包括关于模式是否需要进一步分析的决定244。具体而言,如果决定框230将模式识别为潜在威胁,则另一当事人可能已经分析该模式并提供关于该模式是否为恶意行为的结论,并且甚至可以提供推荐动作(或者如果该模式为善意的话,不作为)。为了使社区没有内部人故意宣告恶意模式为善意的危险,威胁交换机180可以使用需要同意可疑模式为善意的随机分配的社区成员之间的一些表决来应用机理。对于社区成员的随机分配分析减少了可以向社区提供错误消息的恶意参与者联合的机会。如果安装程序的管理者相信来自社区的分析和推荐,则该管理者可以跳至框260并对威胁采取行动。如果之前的分析不存在或不足,或者如果管理者不相信之前的分析,则框246中的管理者可以调查其***上模式的发生,以尝试识别模式是否表示善意或恶意行为。
模式的分析可以包含分析对于该模式有贡献的全部事件,并且还通过分析发生在接近于对该模式有贡献的事件的时序的源/目标上的行为而获得态势感知。对于这种分析的效果量可以随着要分析的数据而变化,以理解由模式发现确定的行为序列的影响。框250可以将分析246的结果与社区共享,例如,通过将结果通过威胁交换机180或其他***指派,或者通过邮件、即时消息或其他通信将结果直接通信至潜在感兴趣的当事人。
框260表示对已经分析的模式采取动作。通常,如果模式表示善意或良性的行为,则可以不要求采取行动。然而,如果模式分析240揭露了行为为恶意软件行为,则软件和硬件可以隔离,以防止行为的模式的永久存在以及停止零日攻击的结果的有害延迟行为。因此,恶意软件的行为可以在对***有害的零日攻击之前被检测并停止。
过程200示出其中安装程序在没有外部引导的情况下识别并共享模式信息的特定实施方式。在另一个实施方式中,安装程序可以使用共享的模式的标准形式并调查事件模式是否已经发生在它们的***中。例如图3示出过程300的实施方式,以使用其他***中的模式的标准形式来识别本地***中的模式。过程300开始于接收310别处检测到的模式的标准形式。在图1的***110中,模式的标准形式可以被接收,例如,通过针对任意新模式检查威胁交换机180和访问新模式的标准形式的管理器130。可替代地,访问管理器130的管理者可以意识到来自威胁交换机180的新模式或者来自其他管理者或分析师的通信。
如果需要的话,模式的标准形式可以被转换为框320中的模式发现配置文件。转换可以是不必须的,例如,如果标准形式与模式发现配置文件的格式相同。然后,框330可以搜索匹配标准形式的事件。例如,在***110中,模式发现模块150可以针对匹配具有标准形式的模式的事件搜索事件数据库140。然后如果模式未被发现,则决定框340可以确定当前没有进一步动作的必要,但是框330可以定期执行。如果模式被发现,则过程300分支到框350,以将发现报告给社区。然后,***可以执行图2的框220至260以估计模式是否表示恶意行为以及采取适当的动作。
图4示出可以共享来自ESM安装的模式信息的管理器400的简单实施方式。管理器400包括被配置为在网络中检测事件的模式的模式发现模块410。通知者420被配置为将检测到的模式的标准形式与社区共享。
在过程中,图4的管理器400可以被采用,以选择用于分析使分析模式有优先顺序或选择分析模式。例如图5为用于选择模式的过程500的流程图。过程500特别包括分析在网络上的报告事件以检测事件模式的框510和将检测到的模式上的信息与社区共享的框520。如上所述,社区可以包括其他ESM安装程序和管理器。然后,管理器530可以在框530中,使用包括别处检测到的模式信息的合并信息,以选择分析的模式。
这里所描述的一些***和过程可以使用计算机可读媒体来实现,计算机可读媒体例如诸如光盘或磁盘、记忆卡、或包含指令的其他固态存储的非临时性媒体,计算设备可以运行该指令以执行这里所述的特定过程。这种媒体可以进一步为连接至网络的服务器或其他设备或被包含于其中,网络诸如为因特网,其提供数据和可执行指令的下载。
尽管已经结合特定的实施方式描述了***和过程,但是描述仅仅为一些实施方式的示例,并且不应当作为限制。公开的实施例的特征的各种应用和组合位于本发明如以下权利要求所限定的范围内。