基于恶意软件相似性和在线信任度的对事件的全局聚类的制作方法

文档序号:13810421阅读:209来源:国知局

本公开一般涉及改进的计算机实现的入侵检测系统。更具体地,本公开涉及用于基于被包括在事件数据记录(incidentdatarecord)中的行为特征值(behavioralcharacteristicvalue)和起源特征值(origincharacteristicvalue)来创建和存储事件数据记录的簇(cluster)并使用该簇来改进在联网分布式计算机系统中对安全故障或事件的检测的技术。



背景技术:

本节描述的方法是可以实行的方法,但并不一定是先前设想过或实行过的方法。因此,除非另有说明,否则不应假设本节所描述的任何方法仅因为被包括在本节中而成为现有技术。

网络安全系统使用关于数据流量的信息来标识通信网络中的恶意事件(maliciousincident)。不幸的是,一些良性的数据流量经常被错误地归类为恶意的,而一些恶意流量经常被错误地归类为良性的。不正确的分类可能会导致不正确的报告和错误的告警。

由网络安全系统生成的报告中的不准确性通常是由于无法正确标识由复杂和成熟的恶意软件(malware)引起的攻击。例如,由指挥和控制(c2)企业的牧人(herder)发起的攻击中的一些经常被广泛分散,因此可能难以确定其起源或特征。这种攻击往往是未检测到的或分类错误的。

检测恶意攻击的问题可能由于网络安全系统的各种缺点而变得复杂。例如,网络安全系统中的一些错误地对检测到的事件进行优先级排序,或者没能将正确的上下文与检测到的事件相关联。其他网络安全系统错误地对从多个网络或多个系统接收到的事件数据进行分组。

附图说明

在图中:

图1示出了用于实现基于恶意软件相似性和在线信任度对事件进行全局聚类(globalclustering)的方法的网络环境的示例;

图2示出了用于在多节点网络环境中收集关于网络事件的信息的方法的示例;

图3示出了事件起源数据的示例;

图4示出了事件起源数据的标识符的示例;

图5a示出了事件行为数据的示例;

图5b示出了附加的事件行为数据的示例;

图6示出了事件行为的图形表示的示例;

图7示出了用于创建信任簇(trustfulnesscluster)的方法的示例;

图8示出了用于创建相似性行为簇(similaritybehavioralcluster)的方法的示例;

图9示出了用于创建信任簇的方法的流程图;

图10示出了用于创建相似性行为簇的方法的流程图;

图11a示出了恶意事件起源数据表的示例;

图11b示出了恶意事件行为数据表的示例;

图12示出了可以使用各种实施例的计算机系统。

具体实施方式

在下面的描述中,出于解释的目的,阐述了许多具体细节,以便提供对本方法的透彻理解。然而,显而易见的是,可以在没有这些具体细节的情况下实践本方法。在其他实例中,公知的结构和装置以框图形式示出,以避免不必要地模糊本方法。

1.概览

实施例提供了用于将相似的网络安全事件聚类成高等级的事件簇的方法。该聚类方法确定并考虑与检测到的网络事件相关联的上下文数据,并使用该上下文数据来基于其信任度和行为相似性不断地对事件进行聚类。该上下文信息还用于改进对检测到的事件的分类,从而提高入侵检测系统的效率。

在一个实施例中,一种数据处理方法由被配置用作服务器的计算设备的一个或多个处理器执行,以用于基于事件数据记录中的行为特征值和事件数据记录中的起源特征值来创建和存储事件数据记录的簇。在一个实施例中,该方法包括接收多个输入事件数据记录,其中该输入事件数据记录包括基于已在一个或多个计算机网络中发生的多个事件确定的计算机网络属性值的集合。多个输入事件数据记录中的事件数据记录可以包括至少一个或多个行为特征值、严重性等级值、以及置信度分数值。

在一个实施例中,该方法包括标识两个或更多个第一事件数据记录,其中该两个或更多个第一事件数据记录具有被存储在两个或更多个第一事件数据记录中的全部第一事件数据记录中的特定行为特征值。可以通过使用恶意事件行为数据表来执行对该两个或更多个第一事件数据记录的标识。

恶意事件行为数据表可以被存储在数据存储设备中。该表可以被用于将行为特征值的集合映射到网络中的恶意动作的标识符。该方法还包括多个比较操作,该多个比较操作使用了恶意事件行为数据表和该两个或更多个第一事件数据记录。

响应于确定来自该两个或更多个第一事件数据记录的第一事件数据记录已被标识为恶意的,创建相似性行为簇记录并将其存储在计算机存储器中。相似性簇记录可以包括该两个或更多个第一事件数据记录。

在一个实施例中,通过将严重性等级值增加第一值来修改存储在该两个或更多个第一事件数据记录中的每一者中的严重性等级值。

在一个实施例中,通过将置信度分数值增加第二值来修改存储在该两个或更多个第一事件数据记录中的每一者中的置信度分数值。

2.结构概览

实施例提供了用于基于事件的行为属性和关于源发事件的源的信息来将在一个或多个数据通信网络中检测到的网络事件相互关联的方法。基于网络事件的相关性,这些事件可以被聚类成一个或多个簇。簇中的一些可以包括包含以相似行为为特征的网络事件的簇。其他簇可以包括由已知发起恶意软件攻击的源源发的网络事件。

包括展现出相似行为的网络事件的簇可以被称为相似性行为簇,而包括由已知发起恶意软件攻击的同一源源发的网络事件的簇可以被称为信任簇。

图1示出了用于实现基于恶意软件相似性和在线信任度、对事件进行全局聚类的方法的网络环境的示例。在一个实施例中,网络环境10包括一个或多个攻击者节点120、122、124,一个或多个受攻击节点140、142、144,一个或多个安全系统110,以及一个或多个数据库112。攻击者节点120、122、124,受攻击节点140、142、144,以及安全系统110经由通信网络150与彼此通信,并且可选地与附加的计算机网络130、132、134通信。例如,攻击者节点120、122、124中的一个或多个可以经由通信网络150对受攻击节点140、142、144中的一个或多个发起恶意软件攻击。关于攻击事件的信息可以被安全系统110收集和处理。基于经处理的信息,安全系统110可以实现用于对事件进行全局聚类的方法,以改进对检测到的事件的分类。

在一个实施例中,术语“攻击者节点”被非常广泛地理解为包括能够发起网络攻击的任何类型的实体。因此,术语“攻击者节点”不仅可以包括任何类型的物理设备,还可以包括计算机用户、计算机域、计算机网络、计算机子网络等等。例如,攻击者节点不仅可以是计算机服务器、膝上型计算机、pc、工作站或平板电脑,还可以是从各种计算机设备对其他计算机设备发起攻击的用户、从其发起攻击的计算机域、从其发起攻击的计算机网络、和/或从其发起攻击的计算机子网络。事实上,术语“攻击者节点”不限于计算机设备、用户、域、网络和子网络;它可以包括能够发起网络攻击的任何物理或非物理实体。

出于说明清楚示例的目的,网络环境10包括三个攻击者节点120、122、124,三个受攻击节点140、142、144,一个网络150,一个数据库112,以及三个远程通信网络130、132、134。然而,其他实现方式可以包括任何数目的攻击者节点、受攻击节点、通信网络、数据库以及远程通信网络。

2.1攻击者节点和受攻击节点

攻击者节点120、122、124和受攻击节点140、142、144可以是单独的网络设备、工作站、服务器或其他计算设备、以及网络设备或服务器的集群。攻击者节点120、122、124和受攻击节点140、142、144还可以是用户的工作站、膝上型计算机、智能电话、平板电脑、以及其他用户的特定设备。此外,攻击者节点120、122、124和受攻击节点140、142、144可以与本地计算机网络、广域网、或公司或机构的网络等相关联。

根据另一示例,攻击者节点120、122、124中的一个或多个可以经由通信网络150对受攻击节点140、142、144中的一个或多个发起一个或多个恶意软件攻击。关于这些攻击事件的信息可以由第三方系统(未示出)收集和处理,并且经处理的信息可以被传送到安全系统110。基于经处理的信息,安全系统110可以实现用于对事件进行全局聚类的方法,以改进对检测到的事件的分类。

在一个实施例中,攻击者节点120、122、124,受攻击节点140、142、144以及安全系统110经由通信网络150与彼此通信,并且可选地经由一个或多个远程网络130、132、134与彼此通信。例如,一个或多个攻击者节点120、122、124可以经由通信网络150以及经由一个或多个远程通信网络130、132、134来对受攻击节点140、142、144中的一个或多个发起恶意软件攻击。一旦攻击被发起,则包括事件特征的事件数据记录就可以被创建并被提供给安全系统110,并且被用于以本文进一步描述的方式检测攻击。

2.2安全系统

安全系统110可以被配置为从受攻击节点140、142、144和/或网络中的其他设备接收事件数据记录。安全系统110可以在单个网络设备、网络设备集群、分布式系统等等中实现。例如,安全系统110可以在独立服务器中实现,或者可以在服务器网络中实现。

在一个实施例中,受攻击节点140可以检测事件,收集关于事件的信息,创建包括事件的一个或多个特征的记录,将事件数据记录存储在其本地数据库中,并将事件数据记录发送到安全系统110。

基于接收到的事件数据记录,安全系统110可以实现用于对事件进行全局聚类的方法,以改进对检测到的事件的分类。例如,安全系统110可以对包括相同特定行为特征值(已知指示恶意攻击)的事件数据记录进行聚类。包括这种特定行为特征值的事件数据记录可以被聚类以形成相似性行为簇记录。

相似性行为簇记录可以包括两个或更多个事件数据记录,其包括已知指示例如恶意攻击的特定行为特征值。安全系统110可以通过使用恶意事件行为数据表来确定特定行为特征值可以是已知为指示恶意攻击的。

在一个实施例中,安全系统110可以对包括已知指示恶意攻击者的相同特定起源特征值的事件数据记录进行聚类。包括这种特定起源特征值的事件数据记录可以被聚类以形成信任簇记录。在一些实例中,该特征与指示起源是恶意攻击者的数据相关联。

信任簇记录可以包括两个或更多个事件数据记录,该事件数据记录包括已知指示恶意攻击者的特定起源特征值。安全系统110可以通过使用恶意事件起源数据表来确定特定起源特征值可以是已知指示恶意攻击者的。

2.4事件数据表

一个或多个数据库112可以被配置为存储支持本文所描述的操作的数据结构,包括事件数据记录和映射表。例如,数据库112可以被配置为存储被用于标识恶意的、不明确恶意的(borderline-malicious)、良性的(benign)等行为的一个或多个恶意事件行为数据表。恶意事件起源数据表可用于标识已知发起恶意攻击的起源。

2.4.1恶意事件起源数据表

恶意事件起源数据表可以由安全系统、系统管理员、或计算机应用生成。恶意事件起源数据表可以包括事件的起源特征值的集合和恶意攻击者的标识符之间的映射。例如,一个起源特征值的集合可以包括例如服务器的互联网协议(ip)地址。这种服务器可能已被标识为恶意攻击者、可能的攻击者、或者不太可能的攻击者。如果服务器的特定ip地址已被标识为恶意攻击者的ip地址,则系统可以创建或修改恶意事件起源数据表以包括将相应ip地址映射到恶意攻击者的指示符的映射条目等。在图11a中描述了恶意事件起源数据表的示例。

2.4.2恶意事件行为数据表

恶意事件行为数据表可以由安全系统、系统管理员、或计算机应用生成。恶意事件行为数据表可以包括事件行为特征值的集合与网络中的恶意行为的标识符之间的映射。例如,一个行为特征值的集合可以包括特定于用于向或从特定网络隧道传输大量数据的数据隧传方法的特征。这种数据隧传方法可能已被标识为恶意的、不明确恶意的、良性的、或其他。如果数据隧传方法已被标识为恶意的,则系统可以创建或修改恶意事件行为数据表以包括将相应行为特征值映射到恶意攻击的指示符的映射条目等。在图11b中描述了恶意事件行为数据表的示例。行为特征值可以指示数据隧传方法。

2.5未确认(non-confirmed)事件

未确认事件是其分类是恶意的、良性的等尚未以特定确定度(particularcertainty)被确认的事件。例如,一旦检测到事件,则该事件可以被分配有初始分类。初始分类可以由任何类型的事件检测装置或应用来确定并使用各种方法和工具。然而,由于初始分类是在不执行深入分析的情况下被确定的,所以初始分类的提供可以不提供确保分类正确的任何保证。例如,事件可以被初始分类为不明确恶意的;然而,在应用深入分析时,初始分类可能会被修改和/或更改为指示事件是恶意的或指示事件是良性的。

2.6确认(confirmed)事件

确认事件是其分类是恶意的、良性的等已经以特定确定度被确认的事件。例如,被初始分类为恶意的事件可以成为确认事件,如果已经以特定确定度确定该事件确实是恶意的话。例如,如果以某种程度的确定度确定事件确实是恶意的,则该事件可以成为确认的恶意事件。

可以以多种方式来确定特定确定度的度量。确定特定确定度的度量的一种方法是计算被分配给事件的分类是正确的概率或可能性。确定特定确定度的度量的另一种方法是计算指示被分配的分类有多大可能性是正确的分数。如果特定确定度的度量结果超过阈值,则该分类可以得到确认。例如,如果特定事件是恶意的概率超过50%,则可以确认该事件确实是恶意的。然而,如果特定事件是恶意的概率低于10%,则可以确认该事件是良性的而非恶意的。如果特定事件是恶意的概率在10%到50%之间,则可以确认该事件是不明确恶意的。

2.7事件簇

在一个实施例中,安全系统110对检测到的事件进行聚类。随着新事件被检测到并被标识,检测事件簇的过程可以被连续执行。例如,每当检测到新的事件、标识新的行为、识别出已知发起恶意软件攻击的新的源、以及新的事件分类变得可用时,可以执行该过程。例如,安全系统110可以接收包括多个检测到的网络事件的特征的多个输入事件数据记录,并且标识具有特定行为特征值的两个或更多个第一事件数据记录。通过使用恶意事件行为数据表,安全系统110可以确定特定行为特征值已知是指示恶意攻击的。基于该发现,安全系统110可以从该两个或更多个第一事件数据记录中创建相似性行为簇记录。安全系统110还可以修改簇中的两个或更多个第一事件数据记录中的每一者的严重性等级和/或置信度分数。

此外,安全系统110可以标识包括特定起源特征值的两个或更多个第二事件数据记录。此外,安全系统110可以通过使用恶意事件起源数据表来确定特定起源特征值是已知指示恶意攻击者的。基于该发现,安全系统110可以创建信任簇记录,并且将两个或更多个第二事件数据记录包括在该信任簇记录中。安全系统110还可以修改被包括在信任簇记录中的两个或更多个第二事件记录中的每一者的严重性等级和置信度等级。安全系统110还可以确定信任簇记录的信任等级。下面将描述记录修改的各种示例。

在一个实施例中,安全系统110确定事件的严重性等级以指示事件的严重性。例如,严重性等级越高,事件恶意的程度可能会越强。

在一个实施例中,安全系统110确定事件的置信度分数以指示事件与相应分类行为的接近程度。例如,展现恶意行为的事件的置信度越高,则该事件越有可能是恶意的。

在一个实施例中,安全系统110可以确定信任簇记录的信任等级以指示该簇被信任或不被信任的程度。例如,如果与特定信任簇记录相关联的信任等级相对较高,则该簇包括具有被包括在簇记录中的关联事件记录的事件的概率可能相对较低。然而,如果与特定信任簇记录相关联的信任等级相对较低,则该簇包括具有关联事件记录的事件的概率可能相对较高。

安全系统110可以生成至少部分重叠的簇。例如,在接收到关于多个检测到的网络事件的信息时,安全系统110可以确定检测到的网络事件中的一些属于两个或更多个簇。例如,一些事件可以属于信任簇和相似性行为簇两者。

在一个实施例中,安全系统110确定事件的源。源可以包括单独设备、单独网络、子网络、用户、用户群组等。这些源可以包括还未已知是发起恶意软件攻击的源,以及已知是发起恶意软件攻击的源。后者可以包括c2服务器等等。

可以使用各种方法来对恶意行为进行建模,包括但不限于包括来自德州奥斯汀(austin,tx)的solarwindsworldwide,llc的统计建模网络流分析工具。其他行为建模可以由代理日志等提供。

在一个实施例中,安全系统110实现用于改进由事件检测器获得的结果的聚类方法。可以通过对展现出相同的恶意行为和/或相同的已知为恶意的起源的事件进行相关来实现对结果的改进。例如,可以基于行为的相似性和源发这些事件的起源的特征来对这些事件进行相关。

安全系统110还可以被配置为维持全局在线服务器信任度的数据库。可以从所有报告的事件、事件分类、事件聚类、事件行为、以及事件起源构建数据库。聚类后的事件可以根据各种标准被组织在数据库中,并且关于聚类后的事件的信息被用于生成事件报告。这些报告可以以各种形式被呈现并且可以提供事件的概要。

2.8事件特征

在一个实施例中,聚类机制包括处理各种事件特征数据集合的两个阶段。这些特征集合可以包括但不限于包括描述恶意软件行为的特征、包括事件量、持久性、频率、恶意软件样本之间的相似性等。

其他特征集合可以包括描述事件源的身份的特征。源的身份可以由源名称、源ip地址、源电子邮件地址等来标识。描述恶意软件属性的特征可以被用于将相似类型的恶意行为聚类到事件簇中。例如,一簇可以由托管在不同位置的服务器生成的事件组成。服务器不必互连,不必互相通信,且不必以任何方式相互关联。

在一个实施例中,安全系统110使用身份特征来确定对服务器的全局信任度。可以根据关于被包括在簇中的其他事件的信息来更新对源发被包括在簇中的事件的服务器的信任度。例如,如果特定信任簇包括两个或更多个事件,其中的一者(一个事件)源发自已知发起恶意攻击的源,则整个信任簇的信任等级或者一个或多个单独服务器的信任等级可能会被降低,以反映该源已知是发起恶意攻击的事实。

通过使用关于事件簇的信息,安全系统110可以对已检测到的事件的优先级进行修改或者对等待进一步确认的检测到的事件的优先级进行确认。例如,通过使用对由入侵检测系统生成的事件数据进行连续聚类的方法,安全系统110可以确定被初始分类为具有不明确严重性的事件是否应被重新分类为恶意的。例如,如果簇中的一个事件展现出与已被分类为恶意的行为相似的行为,则簇中所有事件的分类可以被更新为恶意的。

在一个实施例中,安全系统110实现用于对网络事件进行聚类以提供各种类型的信息(包括所报告的事件的上下文信息)的方法。这种信息通常不能通过常规方法获得。此外,安全系统110可以实现用于生成对事件的分类相对准确的确认的方法。这种信息在实现常规方法时很少可获得。此外,与常规方法所提供的置信度等级相比,安全系统110可以提高检测到的事件的分类的置信度等级。

3.事件示例

图2示出了用于在多节点网络环境中收集关于网络事件的信息的方法的示例。在图2所示的示例中,各种攻击者节点120、122对各种受攻击节点140、142、144发起攻击。

一旦攻击被检测到并被标识,则该攻击可以被称为事件。事件是被检测到的并被标识为发生在受攻击节点上的攻击。

事件可以由受攻击节点本身来检测和/或标识。例如,受攻击节点可以使用被配置为对接收恶意的、不需要的或不期望的电子邮件进行检测的一个或多个防火墙应用。此外,受攻击节点可以使用被配置为拦截不期望的通信或数据传输的一个或多个垃圾信息检测应用。此外,受攻击节点可以使用被配置为检测或标识由攻击者节点发起的其他类型的攻击的其他类型的应用。

事件还可以由受攻击节点以外的实体检测和/或标识。例如,安全系统服务器或节点可以被在网络中实现,并被配置为拦截和分析在网络中的节点之间交换的通信。安全系统服务器可以被配置为对所拦截的通信进行分析,确定所拦截的通信是否源发于被列入黑名单或者以其他方式已知对这些节点发起攻击的节点。此外,安全系统服务器可以被配置为通过确定所拦截的通信是否包括或者以其他方式表示恶意攻击或其他不需要的活动的签名,来分析所截取的通信。此外,安全系统服务器可以被配置为通过确定所截取的通信是否是根据已知是恶意的或不需要的通信模式发送的,来分析所截取的通信。其他类型的检测攻击如下所述。

在一个实施例中,一旦检测到受攻击节点上已发生事件,受攻击节点或安全系统服务器就确定特定于该事件的信息并将该信息存储在数据库中。信息可以包括关于事件的类型、事件的起源、事件的特征等的数据。

在一个实施例中,关于事件的信息可以作为与被分配给该事件的标识符相关联的记录来被保存在数据库中。各种记录的示例如下所述。

一个或多个攻击者节点中的每一者可以对一个或多个受攻击节点发起一个或多个攻击。攻击可能具有相同的类型或不同的类型。攻击可以具有相同的特征或不同的特征。相同类型和/或相同特征的攻击可以由同一攻击者对一个或多个受攻击节点发起。此外,不同类型和/或特征的攻击可以由一个或多个攻击者对同一受攻击节点发起。例如,一个攻击者节点可以对一个或多个受攻击节点发起一个或多个第一类型的攻击,并对该一个或多个受攻击节点或一些其他受攻击节点发起一个或多个第二类型的攻击。

作为示例,如图2所示,假设攻击者节点120经由连接252对公司a的受攻击节点140发起攻击。此外,假设攻击者节点120还经由连接254对受攻击节点140发起攻击,并经由连接256对公司b的受攻击节点142进行攻击。事件220已经被标识为恶意的或严重的,而事件224、226被标识为不明确恶意的。

此外,攻击者节点122经由连接258对受攻击节点142发起攻击。事件258已被标识为不明确严重的。可以使用各种方法来确定攻击是恶意的还是不明确恶意的。例如,如果攻击使得计算机网络关闭,则该攻击可能是恶意的。如果攻击引起计算机网络中的数据通信的短暂暂停,则该攻击可能是不明确恶意的。例如,这些方法中的一种方法可以基于确定攻击的行为特征,并且如果行为特征指示如此(恶意)则确定攻击是恶意的。此外,如果行为特征指示如此(不明确严重),则可以确定攻击是不明确严重的。其他方法可以使用允许区分恶意攻击和不明确攻击的阈值或其他度量。

在一个实施例中,攻击者节点120针对公司a执行两次相同类型1的攻击,并针对公司b执行类型2的不同攻击。只有一个攻击被检测到并被报告为恶意事件,而其他攻击被报告为等待进一步确认的严重程度低的不明确事件。攻击者节点122针对公司c执行类型2的攻击。该攻击被检测为不明确事件,并等待进一步确认。在所描述的示例中,攻击者节点120、122彼此不互连。在其他示例中,攻击者节点可以至少部分地互连。

在一个实施例中,聚类方法允许计算机自动生成关于检测到的事件是否已被正确分类的确认。生成确认可以通过确定事件所属的簇,然后增大或减小与事件相关联的置信度分数来实现。例如,如果安全系统创建信任簇来包括攻击者节点120发起的事件并且由攻击者节点120发起的攻击中的一个已被标识为恶意的,则与攻击者节点120相关联的不明确事件也可能被从不明确严重的重新分类到恶意的。

聚类方法还可以被配置为生成各种类型的确认。例如,安全系统可以针对展示出相似行为的事件创建相似性行为簇。基于簇中的事件之间的相似性,如果相似性行为簇中的事件中的至少一个已被分类为恶意的,则已被初始分类为不明确严重的事件可能会被重新分类为恶意的。详细的示例将在以下部分提供。

4.事件的初始严重性等级

在一个实施例中,诸如受攻击节点或网络中的任何其他节点之类的网络设备检测到事件并收集关于事件的数据。所收集的数据可以包括指示事件何时、如何、由谁、以何等级的严重性被发起的事件的各种特征。例如,针对特定事件收集的数据可以包括指示攻击发生在11:55ampdt(太平洋夏季时间)的信息、指示攻击严重影响了与特定域相关联的一个或多个网络设备的信息、指示攻击造成在一个或多个设备中的寄存器缓冲区溢出的信息、指示攻击是由从特定ip地址发送的不安全电子邮件引起的信息等。收集关于事件的数据的网络设备可以将所收集的数据传播到一个或多个安全系统112。

在一个实施例中,在接收到关于检测到的事件的数据时,安全系统112处理接收到的数据。例如,安全系统112可以将严重性等级值与事件相关联和/或将置信度分数值与事件相关联。

在一个实施例中,严重性等级值被用于指示事件的严重性,并且置信度分数值被用于描述事件确实对应于已被确定并已与事件相关联的行为的可能性。

5.初始安全等级和置信度分数

安全系统112可以向事件分配初始或默认的安全等级和/或分数。例如,安全系统112可以基于事件的特征、事件的起源、以及针对事件收集的其他信息向事件分配初始严重性等级和/或初始置信度分数值。

事件的初始严重性等级可以指示事件的严重性并且可以被编码为字母数字的文本代码。例如,可以对事件的初始严重性等级进行编码,以指示事件是恶意的、不明确恶意的、还是良性的等等。

事件的初始置信度分数值可以被编码为字母数字的文本代码,并且可以指示事件确实对应于已被确定并已与事件相关联的行为的可能性。例如,可以对事件的初始置信度分数值进行编码,以指示被初步分类为恶意的事件确实是恶意的可能性。

6.修改严重性等级和置信度分数

在一个实施例中,安全系统112修改事件的初始严重性等级和/或初始置信度分数值。例如,当安全系统112确定事件的一个或多个事件簇时,可以修改事件的初始严重性等级和/或初始置信度分数值。

在一些情况下,可以增加事件的初始严重性等级和/或初始置信度分数值。例如,如果安全系统112确定事件被聚类到被用于对已知为恶意的事件进行分组的特定事件簇中,则可以将事件的初始严重性等级增加某预定量。

此外,如果安全系统112确定事件确实属于包括恶意事件的特定事件簇的概率,则可以将事件的初始置信度分数等级减少某预定量。

在一些其他情况下,可以减少事件的初始严重性等级和/或初始置信度分数值。例如,如果安全系统112确定事件被聚类到被用于对已知为良性的事件进行分组的特定事件簇中,则可以将事件的初始严重性等级减少某预定量。

此外,如果安全系统112确定事件确实属于被用于对已知为良性的事件进行分组的特定事件簇的概率,则可以将事件的初始置信度分数等级增加某预定量。

在一个实施例中,严重性等级或严重性基于相应簇的严重性或信任度而被修改,而置信度分数等级值或置信度分数被逐渐增加并取决于若干因素。这些因素可以包括事件所属簇的大小或事件被分类到的簇的大小。可以基于确认的受感染的用户的数目或确认的与事件相关联的恶意域来确定簇的大小。这些因素还可以包括表明簇是否已被验证为恶意的指示。

置信度分数可以被表示为百分比值,并且可以在0%和100%之间变化。例如,0%的置信度分数可以指示事件不太可能属于确认的恶意软件簇,而100%的置信度分数可以指示事件确实属于确认的恶意软件簇。

分配初始严重性等级和初始置信度分数值以及修改严重性等级和置信度分数值可以由其他独立系统手动或自动地执行。例如,事件的簇的严重性等级可以由系统管理员或安全系统工程师离线确定。该确定可以基于关于事件被分配到的簇的信息或者基于其他类型的信息。

簇的严重性等级也可以被自动确定(在线)。例如,当确定事件被分配到的特定事件簇时,安全系统112可以确定在该簇中的所有恶意的或已确认的事件的严重性等级的平均值。

在一个实施例中,可以针对在一定时间段内发生的所有事件修改严重性等级和/或置信度分数。例如,安全系统112可以确定在一定时间段内已被检测到并被标识的每个事件的严重性等级和/或置信度分数,或者从特定时间点起已被检测并被标识的每个事件的严重性等级和/或置信度分数。根据另一示例,安全系统112可以确定从特定时间点起活动的或者不迟于特定时间点被检测到的每个事件的严重性等级和/或置信度分数。

这可以使用以下示例来说明:如果与特定事件相关的活动仍然是活动的但事件所属的特定簇自事件开始起已发生改变,则可以根据最新的簇值来执行对属于特定簇的事件的严重性等级和置信度分数的修改。然而,如果属于特定簇的事件已变为非活动的,则对属于特定簇的事件的严重性等级和置信度分数的修改可以被暂停或终止。例如,如果特定簇的成员改变或与属于特定簇的事件相关的任何活动变为活动的,则可以恢复对这种事件的置信度分数和严重性等级的修改。

在一个实施例中,严重性等级和置信度分数可以被修改特定值。可以启发式地或依经验地确定该特定值。例如,属于特定簇的事件的严重性等级和/或置信度分数可以被修改以下值,该值被确定为正比于与属于该特定簇的事件相关联的分数。

或者,属于特定簇的事件的严重性等级和/或置信度分数可以被修改启发式确定的值,其中该启发式确定的值随后可以被修改和细化。

在一个实施例中,可以通过启发式的值和预定的值两者来修改严重性等级和置信度分数。例如,可以基于启发式选择的初始严重性等级分数来初始确定属于特定簇的事件的严重性等级,然后基于与属于该特定簇的事件相关联的分数来对其进行修改。

7.事件起源数据

一旦检测到事件,就可以收集事件数据并使用它来确定事件的特征。该特征可以被分组或分类到不同的类别,并且关于特征以及相应类别的信息可以被存储在一个或多个数据库中。例如,针对事件确定的关于特征以及相应类别的信息可以存储在与分配给该事件的标识符相关联的数据库记录中。

针对事件确定的特征可以被归类到一个或多个类别中。一个或多个类别可以包括但不限于事件的起源、事件的类型等。

事件的起源指示在一个或多个受攻击节点上作为事件被检测到的攻击的发起者。攻击的发起者可以被解释为攻击者节点,或在某些情况下被解释为多个攻击者节点的群组。例如,发起者可以是攻击者节点120、122、124中的任一者。

在一个实施例中,术语“攻击者节点”被非常广泛地理解,并且包括能够对其他实体发起网络攻击的任何类型的实体。因此,术语“攻击者节点”不仅可以包括任何类型的物理设备,还可以包括用户、计算机域、计算机网络、计算机子网络等。例如,攻击者节点不仅可以包括计算机服务器、膝上型计算机、pc、工作站或平板电脑,还包括从各种计算机设备对其他计算机设备发起攻击的用户、从其发起攻击的计算机域、从其发起攻击的计算机网络、和/或从其发起攻击的计算机子网络。事实上,术语“攻击者节点”不限于计算机设备、用户、域、网络、和子网络。此外,它可以包括能够发起网络攻击的任何物理或非物理实体。例如,它可以包括虚拟计算机网络、被配置为感染其他应用和系统的软件应用,等等。

在一个实施例中,通过使用事件起源数据来表示关于事件起源的信息。事件的事件起源数据可以唯一地标识事件的起源。特定事件的事件起源数据可以被用于对关于事件的起源的信息进行编码。例如,特定事件的事件起源数据可以包括事件的起源的标识符、事件的起源的描述,等等。

图3示出了事件起源数据300的示例。所描述的示例仅为了示出各种类型的事件起源数据的非限制性示例而被提供。在所描述的示例中,事件起源数据300可以包括下述各项中的一个或多个:事件起源节点数据310、事件起源用户数据320、事件起源域数据330、事件起源网络数据340、以及事件起源子网络数据350。

事件起源节点数据310可以被用于标识或以其他方式描述发起攻击的节点或节点群组。节点或节点群组可以被解释为物理设备、虚拟网络、虚拟用户群组、或者已知能够发起攻击并具有一些共同特征的其他实体。例如,事件起源节点数据310可以指示源发或以其他方式发起网络攻击的特定路由器。事件起源节点数据310可以包括唯一地标识攻击者的任何类型的标识符。图4中描述了这种标识符的示例。

事件起源用户数据320可以被用于标识或以其他方式描述发起攻击的一个或多个用户。例如,事件起源用户数据320可以指示源发或以其他方式发起网络攻击的特定用户或特定用户群组。可以使用各种类型的标识符来标识用户,其中的一些在图4中描述。

事件起源域数据330可被用于标识或以其他方式描述已从其发起攻击的一个或多个域。例如,事件起源域数据330可以指示包括发起网络攻击的一个或多个计算设备或用户的特定计算机域。事件起源域数据330的标识符的一些示例在图4中描述。

事件起源网络数据340可被用于标识或以其他方式描述已从其发起攻击的一个或多个计算机网络。事件起源网络数据340可以包括物理计算机网络以及虚拟计算机网络。例如,事件起源网络数据340可以指示已经从其发起网络攻击的特定虚拟私有网络。事件起源网络数据340的标识符的一些示例在图4中描述。

事件起源子网络数据350可以被用于标识或以其他方式描述已从其发起攻击的一个或多个物理或虚拟计算机子网络。物理或虚拟子网络可以包括一个或多个计算物理或虚拟设备、一个或多个物理或虚拟计算机网络等等。例如,事件起源子网络数据350可以指示已从其发起网络攻击的特定本地子网络。事件起源子网络数据350的标识符的一些示例在图4中描述。

图3中示出的事件起源数据的示例将被解释为起源数据的非限制性示例。图3中未示出的事件起源数据的其他示例可以包括但不限于指示、标识或者允许确定事件的源的基本上任何类型的数据。例如,事件的事件起源数据可以包括指示僵尸牧人(botherder)或任何类型的指挥和控制(c2)中心的数据。

僵尸牧人通常是恶意软件的所有者,该恶意软件允许所有者控制受感染计算机的僵尸网络。僵尸网络是由僵尸牧人用恶意软件感染的、互连的自主计算机网络。一旦僵尸牧人的软件被安装在计算机中,僵尸就被迫执行僵尸牧人的命令,其中僵尸牧人可以使用僵尸网络所包括的计算机中的一些或全部来发起恶意攻击。由于标识僵尸牧人通常是困难的,所以可以针对僵尸牧人本身生成一些代码(标识符),而非依赖于僵尸牧人正在使用的计算机的标识符。

8.事件起源标识符

事件起源标识符唯一地标识事件的起源。例如,起源可以由起源的ip地址、起源的域名等等来标识。

事件的起源的标识符可以是唯一地标识起源的任何类型的字母数字字符串。例如,标识符可以是从其发起攻击的设备的ip地址或从其发送恶意消息的电子邮件地址。事件起源标识符的一些示例在图4中描述。

图4示出了事件起源数据的标识符400的示例。图4中示出的示例包括事件起源节点域标识符410、事件起源网络域标识符420、事件起源ip地址430、设备群组的事件起源ip地址440、以及发起一个或多个攻击的用户的事件起源电子邮件地址450。

事件的事件起源节点域标识符410可以是唯一地标识发起作为事件被检测到的攻击的起源节点的任何类型的字母数字字符串。域名是标识互联网资源(例如,网站)的唯一名称。例如,域名可以表示为mywebsite.com。域名被用在各种网络环境中并用于应用特定的命名和寻址目的。例如,参考图2,如果攻击者节点120发起作为事件220被检测到的攻击,则攻击者节点120的事件节点域标识符可以用作事件220的事件节点域标识符410。事件节点域标识符的示例可以包括已被专门的应用和工具(包括各种垃圾信息杀手应用、垃圾过滤器、垃圾邮件过滤器等等)检测到的域。

事件的事件起源网络域标识符420可以是唯一地标识发起作为事件被检测到的攻击的起源网络的任何类型的字母数字字符串。例如,参考图2,如果攻击者节点120发起作为事件220被检测到的攻击,攻击者节点122发起作为事件230被检测到的攻击,并且攻击者节点120和攻击者节点122都属于相同的网络域,则两个攻击者节点120、122的事件网络域标识符都可以用作事件220、232的事件网络域标识符420。

事件的事件起源ip地址430可以是唯一地标识发起作为事件被检测到的攻击的起源节点的任何类型的互联网协议(ip)地址。ip地址是分配给使用互联网协议的计算机网络中的设备的数字标签。参考图2,如果攻击者节点120发起作为事件220被检测到的攻击,则攻击者节点120的事件ip地址可以用作事件220的事件ip地址430。事件节点ip地址的示例可以包括由句点隔开的四个数字的序列,例如38.104.134.186。

事件的设备群组的事件起源ip地址440可以是唯一地标识源发作为事件被检测到的攻击的设备群组的任何类型的互联网协议(ip)地址。例如,如果发起作为事件被检测到的攻击的两个攻击者节点形成设备群组,并且该群组具有一个分配的ip地址,则该群组的ip地址可以用作事件起源ip地址440。设备群组的事件起源ip地址440可以包括由句点隔开的三个数字的序列,例如38.0.0.1。

事件的事件起源电子邮件地址450可以是唯一地标识可以发送和接收电子邮件的实体的任何类型的互联网电子邮件地址。例如,如果用户attacker@attackemode.com发起了作为事件被检测到的攻击,则电子邮件地址attacker@attackernode.com可以被用作事件起源电子邮件地址450。

9.事件行为数据

在检测到事件时,针对事件收集数据,并针对事件确定和存储事件的一个或多个特征。特征中的一些包括如上所述的事件起源数据。其他特征是涉及事件的行为特征的特征。可以通过使用事件行为数据来表示行为特征。

事件的事件行为数据可以包括关于事件的行为和/或唯一特征的信息。事件行为数据可以捕获允许确定下述内容的信息:事件在何时发生、事件在何种情况下发生、事件发生的频率、事件发生的持续时间、什么触发事件的发生,等等。

在一个实施例中,事件行为数据包括关于低级特征和高级特征的数据。低级特征以及高级特征可以被用于描述恶意软件行为。低级特征可以包括通过使用简单的工具和方法确定的特征,而高级特征可以包括通过使用相对复杂的工具和方法确定的特征。例如,一些低级特征可以通过收集关于网络连接、网络请求等的信息来确定,而一些高级特征可以通过数据流量的复杂分析器(例如,流量嗅探器等)来确定。

图5a示出了事件行为数据500的示例。所示出的示例包括涉及低级特征的数据,并且包括隧道数据510、随机域联络数据520、连接检查数据530、周期性轮询数据540、以及文件下载数据550。隧道数据510包括关于在网络中建立的隧道的信息;随机域联络数据520包括关于访问网络的随机尝试的信息;连接检查数据530包括关于测试在网络中建立的连接的信息;周期性轮询数据540包括关于对网络中设备和连接的状态的周期性轮询的信息;以及文件下载数据550包括关于由网络的用户执行的文件下载的信息。所示出的示例仅为了示出用作低级特征的数据的类型而被提供。例如,可以通过使用系统管理员工具来收集文件下载数据550,并且文件下载数据550可以指示大型文件何时已被下载或被发送到特定网络、设备或用户、大型文件被下载或被发送到特定实体的频率、特定实体是否发起对大型文件的下载,等等。

图5b示出了附加事件行为数据560的示例。所描述的示例包括涉及高级特征的数据,并且包括量数据562、持久性数据564、频率数据566、样本之间的相似性数据568以及附加数据570。量数据562可以包括指示传送的文件和传送的通信的量的任何类型的数据。持久性数据564可以包括指示数据访问尝试的计数的任何类型的数据。频率数据566可以包括指示执行数据访问尝试的频率的任何类型的数据。样本之间的相似性数据568可以包括指示所传输的数据是否展现出与已传输的数据的任何相似性的数据。例如,样本之间的相似性数据568可以通过使用数据流量分析器来获得,其中数据流量分析器拦截数据流量,分析被拦截的流量,并确定是否可以针对被拦截的流量标识任何模式或相似性。

事件行为数据可以被用于确定一个或多个事件簇。当检测到新的事件时,附加的事件行为数据被获得并被用于更新关于已标识的簇的信息,或者创建新的事件簇,或者两者。例如,如果已使用事件行为数据创建了事件的两个事件簇,则在接收到附加事件行为数据时,系统可以确定一些事件簇变为非活动的和/或可以创建附加簇。

事件行为数据还可以被用于对疑似由僵尸网络发起的事件进行聚类。一些僵尸网络使用互联网中继聊天(irc)信道作为用于实时互联网消息传递的介质。其他僵尸网络可以使用端对端(p2p)技术。这种僵尸网络难以标识和关闭。被设计为通过p2p通信信道传播的恶意软件不需要向用于更新和指挥的集中式服务器登记(checkin)。相反,受感染的机器相互通信以查看最新的更新。受这种恶意软件感染的机器将恶意软件传送到其他计算机,在不使用集中式c2服务器的情况下传播恶意软件。通过收集事件行为数据500、560,系统可以对检测到的事件进行聚类(即使它们作为c2攻击被发起),并使用聚类方法来增强对事件的分类。

10.事件行为的图形表示

可以以各种方式表示事件行为,包括各种形式的图形表示。图形表示可以有助于生成显示在安全系统的操作控制台上的图形用户界面(gui)。

图6示出了事件行为600的图形表示的示例。事件行为600的图形表示的示例可以被示出为绘制事件的严重性相对于时间轴的二维图。例如,示例610示出了描述在一定时间段内特定事件被多次重复,并且事件的严重性在一定范围内变化的二维图。

示例620示出了描述在一定时间段内特定事件被多次重复,并且事件的严重性在第一时间段变化并且在第二时间段内减小的二维图。

示例630示出了描述在一定时间段内特定事件被多次重复,并且事件的严重性随着时间的推移而减小的二维图。

示例640示出了描述在一定时间段内特定事件被多次重复,并且事件的严重性在第一时间段内相对较高但在第二时间段内减小的二维图。

示例650示出了描述在一定时间段内特定事件仅重复一次,并且在检测到事件时事件的严重性相对较高的二维图。

可以使用其他类型的图形表示来表示事件行为表示。例如,可以使用字母数字字符串来标记事件,例如,type1(类型1)、type2(类型2)等。还可以使用各种颜色方案或已知描述不同类型行为的符号来示出事件。例如,可以通过画出描述墙和在墙顶部的x标志来图形化地表示疑似导致防火墙安全漏洞的事件。也可以实现图形化地表示事件行为的其他方法。

11.信任簇

图7-8中描述的示例示出了各种事件聚类方法,包括创建信任簇和相似性簇。在图7-8中,攻击者节点120也被标记为攻击者节点1,攻击者节点122也被标记为攻击者节点2,受攻击节点140也被标记为公司a,受攻击节点142也被标记为公司b,并且受攻击节点144也被标记为公司c。在图7-8描述的示例中,节点中的每一者(以及公司中的每一者)可以表示一个或多个网络设备、一个或多个网络、一个或多个用户等等。因此,对受攻击节点或公司的引用可以包括已受所发起的一个或多个攻击的一个或多个实体。

在图7和图8中示出了信任簇722。在图8中示出了相似性簇840。即使图7、图8仅示出了一个信任簇722和一个相似性簇840,但是各种的多个事件可以被分组到一个或多个信任簇和/或一个或多个相似性簇。

如图2所示,攻击者节点120对受攻击节点140执行两次相同类型212的攻击,并对受攻击节点142执行类型214的攻击。只有一个攻击被检测到并被报告为恶意事件,而其他攻击被报告为等待进一步确认的具有低严重性的不明确事件。此外,攻击者节点122对受攻击节点144执行类型218的攻击。该攻击被检测为不明确事件,并等待进一步确认。

在图2、图7、图8中,攻击类型214与攻击类型218是相同类型。然而,攻击类型214、218都与攻击类型212不同。

如果通过使用一些参考数据或等级量表可以确定事件的严重性相对较高,则事件可以被标识为恶意的。

如果通过使用一些参考数据或等级量表可以确定事件的严重性相对较低,则事件可以被标识为不明确的。例如,疑似导致计算机网络中的安全漏洞的事件可以被认为是恶意的,而疑似将向特定设备的数据流量传输关闭5秒的事件可以被认为是不明确的。

在一个实施例中,已经以某种程度的确定度被标识为不明确恶意的事件可以被标记或标签为被请求确认的事件。确认事件确实是不明确恶意的还是恶意的可以通过使用各种方法来执行,包括事件聚类方法。

在一个实施例中,聚类方法允许生成各种类型的确认。确认的非限制性示例可以包括指示下述内容的确认:检测到的起初被分类为不明确严重的事件是否是恶意的。这可以通过下述操作来实现:确定包括该事件的簇,并且基于与已被标识为恶意事件并属于该簇的事件相关的反馈来降低发起该事件的节点的信任度。例如,如果安全系统创建用于包括由攻击者节点120发起的事件的信任簇,并且由攻击者节点120发起的攻击中的一个已被标识为恶意的,则与攻击者节点120相关联的不明确事件也可能被从不明确严重的重新分类到恶意的。

图7示出了创建信任簇的方法的示例。在所描述的示例中,系统创建了信任簇722,信任簇722包括从疑似发起恶意攻击的攻击者发起的事件。信任簇722包括事件220、724和726。

在一个实施例中,创建信任簇来包括由同一攻击者节点发起的攻击引起的事件,并且这些事件中的至少一个已被确认为具有某些特征。例如,如果特定的攻击者对各种受攻击节点发起了若干次攻击,并且这些攻击中的一个所引起的事件被检测为恶意的,则可以创建信任簇来包括该恶意事件和由该攻击者发起的攻击引起的其他事件(即使并不是所有事件都被初始分类为恶意的)。因此,如果特定的攻击者节点发起了两次攻击,其中的一次攻击引起已被确认为恶意事件的事件并且其他攻击引起尚未确认的事件,则可以创建信任簇来包括该确认的恶意事件和由特定攻击者节点发起的攻击引起的其他未确认事件。

在图7描述的示例中,创建信任簇722来包括事件220、724和726,因为事件220(由攻击者节点120发起的攻击引起的)已被确认为恶意的并且事件724、726是由从同一攻击者节点120发起的攻击引起的。

因此,由于攻击者节点120发起了被标识为恶意事件220的攻击,所以图2中的不明确恶意事件224和226被分别确认为恶意事件724、726,因为它们是从被确认为已知发起恶意攻击的攻击者节点120发起的。通过将事件224、226分别确认为事件724、726,来将事件724、726与事件220一起包括在信任簇722中。

在一个实施例中,将事件包括到特定信任簇包括:修改与该事件相关联的严重性等级值和/或置信度分数值。例如,如果事件被初始分类为不明确恶意的,但后来被确认为恶意的,则与该事件相关联的严重性等级值可以被增加某个预定值。此外,如果置信度分数值与该事件相关联,并且该事件的分类已被确认,则与该事件相关联的置信度分数值也可以被增加。

根据另一示例,如果事件被初始分类为恶意的,但后来被确认为良性的,则与该事件相关联的严重性等级值可以被减少某个预定值。此外,如果置信度分数值与该事件相关联,并且该事件的分类已被确认,则与该事件相关联的置信度分数值也可以被减少。

在一个实施例中,信任簇可以具有相关联的严重性等级值和/或相关联的置信度分数值。当新的事件被添加到簇时、当某些事件被从簇中移除时、或者当簇被确定为非活动的或休眠的时,这些值可以被修改。例如,可以将特定信任簇的相关联的置信度分数值计算为与被包括在簇中的事件相关联的置信度分数值的平均值。此外,如果新的事件被添加到恶意事件的特定信任簇中,则所添加的事件的相关联的置信度分数值可以被用于重新计算与该特定信任簇相关联的置信度分数值。

可以针对各种类型的事件创建信任簇。例如,可以针对已被确认为恶意的事件创建信任簇,可以针对已被确认为良性的事件创建其他信任簇,等等。

在一个实施例中,可以针对多个事件创建一个或多个不同类型的信任簇。例如,可以针对来自已被确认为恶意的多个事件中的一些事件创建用于恶意事件的一个或多个信任簇。此外,可以针对已被确认为不明确恶意的这些事件创建一个或多个信任簇。此外,可以针对已被确认为良性的这些事件创造一个或多个信任簇,等等。

12.相似性簇

如图2所描述的,攻击者节点120对受攻击节点140执行类型212的攻击,并对受攻击节点142执行类型214的攻击。该攻击被检测到并被报告为不明确恶意事件224、226。此外,攻击者节点122对受攻击节点144执行类型218的攻击。该攻击被检测为不明确事件230,并等待进一步确认。

如图7所描述的,通过分别将事件224、226确认为恶意事件724、726来将事件724、726包括到信任簇722中。因此,信任簇722包括事件220、724和726,其中的每一者都被确认为是恶意的。然而,事件230仍然等待进一步确认。确认事件230的严重性的结果如图8所示。

图8示出了用于创建相似性行为簇840的方法的示例。图2中的攻击者节点120、122对应于图7和图8中的攻击者节点120、122。图2中的受攻击节点140、142、144对应于图2和图7中的受攻击节点140、142、144。图7中的信任簇722对应于图8中的信任簇722。信任簇722包括事件220、724和726。相似性簇840包括事件726和830。

在一个实施例中,创建相似性簇840来包括由相同类型的攻击引起的这些事件,但是这些事件中的至少一个已被确认为具有某些特征。例如,如果特定事件已被确认为恶意的并且是由某种类型的攻击引起的,则由相同某种类型的攻击引起的其他事件可以被包括在与该特定事件相同的相似性簇中。因此,即使事件是由不同攻击者发起的攻击引起,只要事件是由相同类型的攻击引起并且它们中的一个已被确认为具有某些特征,则这样的事件就可以被包括在同一相似性簇中。例如,如果各种攻击者节点发起若干次相同类型的攻击,并且这些攻击中的一个引起已被分类为恶意的事件,则系统可以创建相似性簇来包括所有这样的攻击,即使它们可能是由不同实体发起的攻击所引起。

在图8描述的示例中,创建相似性簇840来包括事件726和830,因为它们都是由相同类型(214、218)的攻击所引起。具体而言,一旦事件726被确认为恶意的并被包括在相似性簇840中,则由相同类型214、218的攻击引起的其他事件也可以被包括在相似性簇840中。

因此,由于事件726和830是由相同类型214、218的攻击引起的,并且事件726已被确认为恶意事件,因此事件830也被确认为恶意的,即使它初始被分类为不明确恶意的,并且它是由从除了引起事件726的攻击者以外的攻击者发起的攻击引起的。通过将事件230确认为恶意事件830来将事件830与事件726一起包括在相似性簇840中。

在一个实施例中,将事件包括到特定相似性簇中包括:修改与该事件相关联的严重性等级值和/或置信度分数值。例如,如果事件被初始分类为不明确恶意的,但后来被确认为恶意的,则与该事件相关联的严重性等级值可以被增加某个预定值。此外,如果置信度分数值与该事件相关联,并且该事件的分类已被确认,则与该事件相关联的置信度分数值也可以被增加。

根据另一示例,如果事件被初始分类为恶意的,但后来被确认为良性的,则与该事件相关联的严重性等级值可以被减少预定值。此外,如果置信度分数值与该事件相关联,并且该事件的分类已被确认,则与该事件相关联的置信度分数值也可以被减少。

在一个实施例中,相似性簇可以具有相关联的严重性等级值和/或相关联的置信度分数值。当新的事件被添加到簇、当某些事件被从簇中移除、或者当簇被确定为非活动的或休眠的时,这些值可以被修改。例如,可以将特定相似性簇的相关联的严重性等级值计算为与被包括在簇中的事件相关联的严重性等级值的平均值。此外,如果新的事件被添加到恶意事件的特定相似性簇中,则被添加的事件的相关联的严重性等级值可以被用于重新计算与该特定信任簇相关联的严重性等级值。

在一个实施例中,可以针对多个事件创建一个或多个不同类型的相似性簇。可以针对来自已被确认为恶意的多个事件中的一些事件创建用于恶意事件的一个或多个相似性簇。此外,可以针对已被确认为不明确恶意的这些事件创建一个或多个相似性簇。此外,可以针对已被确认为良性的这些事件创建一个或多个相似性簇,等等。

13.创建信任簇

图9示出了用于创建信任簇的方法的流程图。流程图描述了可以对未确认和确认的事件的任何组合执行的工作流程。例如,最初工作流程可以被执行来从多个检测到的但未确认的事件中创建至少一个信任簇。此外,工作流程可以被执行来当未确认的事件中的一些被确认时添加新的信任簇或者修改已创建的信任簇。此外,工作流程可以被执行来当簇中的一些变为非活动的或过时的时添加新的信任簇或者修改已创建的信任簇。在创建或修改了相似性行为簇之后,也可以重复该过程。

一旦创建了至少一个相似性行为簇,就可以创建附加的相似性行为簇。簇可以重叠或者可以与彼此分离。当该过程被重复时,一些簇可以变为非活动的或过时的,而其他簇可以变得更大或更小。此外,当检测到新的事件时,可以创建新的簇或者可以修改现有簇。

在步骤910中,在安全系统处接收多个输入事件数据记录。在一个实施例中,多个输入事件数据记录包括任何数目的未确认事件的记录和任何数目的确认事件的记录,只要接收到至少两个事件数据记录。应理解的是,在一些情况下,可以仅基于一个事件数据记录来创建相似性行为簇。

在步骤920中,扫描多个输入事件数据记录以标识包括特定起源特征值的两个或更多个第一事件数据记录。例如,可以扫描多个输入事件数据记录以标识两个或更多个第一事件数据记录,该第一事件数据记录包括与特定攻击者节点(例如,图2中的攻击者节点120)的标识符相对应的起源特征值。

在步骤930中,将包括特定起源特征值的两个或更多个第一事件数据记录与所存储的将特定起源特征值集合映射到恶意软件的指示的表进行比较。例如,可以将包括特定攻击者节点的标识符的两个或更多个第一事件数据记录与图11a的恶意事件起源数据表1152进行比较,以确定恶意事件起源数据表1152是否包括表明特定攻击者节点被已知发起恶意攻击的指示。

在步骤940中,通过使用诸如图11a的恶意事件起源数据表1152之类的表,该过程确定两个或更多个第一事件数据是否包括指示已知发起恶意攻击的攻击者节点的起源特征值。

在步骤950中,该过程确定在步骤940中执行的测试是否返回了肯定结果。如果是,则该过程进行到步骤960。否则,该过程进行到步骤920,在其中再次扫描多个输入事件数据记录以标识包括特定起源特征值的不同的两个或更多个第一事件数据记录。例如,该过程可以扫描事件数据记录,以标识此刻包括与图2中的攻击者节点122的标识符相对应的起源特征值的两个或更多个第一事件数据记录。

在步骤960中,创建信任簇记录。在一个实施例中,创建信任簇记录包括:分配存储器块或磁盘空间,将指针和/或其他位置标识符与存储器块或磁盘空间相关联,以及将存储器块或磁盘空间配置用于存储信任簇记录。此外,该过程可以生成信任簇的标识符并将该标识符存储在信任簇记录中。

在一个实施例中,创建信任簇记录包括:生成初始严重性等级值和初始置信度分数并将其包括在信任簇记录中。生成初始严重性等级值可以包括将初始严重性等级值设置为预定的初始等级值,而生成初始置信度分数可以包括将初始置信度分数设置为预定的初始分数值。

在步骤970中,将包括发起攻击的特定攻击者节点的标识符的两个或更多个第一事件数据记录包括在信任簇记录中,其中两个或更多个第一事件数据记录是针对该特定攻击者节点而被创建的。

在一个实施例中,一旦执行了步骤960、970,则信任簇记录可以包括信任簇的标识符、初始严重性等级值、初始置信度分数、以及包括发起攻击的特定攻击者的标识符的两个或更多个第一事件数据记录(其中,两个或更多个第一事件数据记录是针对该特定攻击者而被创建的)。

在步骤980中,修改至少一个初始严重性等级值和至少一个初始置信度分数。例如,可以通过计算与第一事件相关联的所有初始严重性等级值的和、并将该和除以被包括在信任簇中的第一事件的计数,来修改特定第一事件的初始严重性等级值。所获得的结果可以与特定第一事件数据记录相关联(该特定第一事件数据记录与特定第一事件相关联),并且与特定第一事件记录相关联地被存储在信任簇记录中。

此外,可以通过计算与第一事件相关联的所有初始置信度分数的和、并将该和除以被包括在信任簇中的第一事件的计数,来修改特定第一事件的初始置信度分数。所获得的结果可以被包括在与特定第一事件相关联的特定第一事件数据记录中,或者与特定第一事件记录相关联地被存储在信任簇记录中。

上述过程被执行用于针对最可能由已知发起恶意攻击的攻击者发起的攻击引起的事件创建信任簇。然而,该过程也可以被执行用于创建其他类型的簇,包括针对最可能由已知发起良性攻击的攻击者发起的攻击引起的事件的信任簇等。实际上,图9中描述的过程可以被用于创建任何类型的信任簇。

上述工作流程可以被重复多次。每次工作流程被重复时,先前确定的等级值和分数可以被解释为初始等级值和初始分数。通过多次重复工作流程,可以细化和改进信任簇的选择和内容。

14.创建相似性行为簇

图10示出了用于创建相似性行为簇的方法的流程图。流程图描述了可以对未确认和确认的事件的任何组合执行的工作流程。例如,最初,工作流程可以被执行来从多个检测到但未确认的事件中创建至少一个相似性行为簇。此外,工作流程可以被执行来当未确认的事件中的一些被确认时添加新的相似性行为簇或者修改已创建的相似性行为簇。此外,工作流程可以被执行来当簇中的一些变为非活动的或过时的时添加新的相似性行为簇或者修改已创建的相似性行为簇。在创建或修改信任簇之后,也可以重复此过程。

一旦创建了至少一个相似行为簇,就可以创建附加的相似性行为簇。簇可以重叠或者可以与彼此分离。当该过程被重复时,一些簇可以变为非活动的或过时的,而其他簇可以变得更大或更小。此外,当检测到新的事件时,可以创建新的簇或者可以修改现有的簇。

在步骤1010中,在安全系统处接收多个输入事件数据记录。在一个实施例中,多个输入事件数据记录包括任何数目的未确认事件的记录和任何数目的确认事件的记录,只要接收到至少两个事件数据记录。应理解的是,在一些情况下,可以仅基于一个事件数据记录来创建相似性行为簇。

在步骤1020中,扫描多个输入事件数据记录以标识包括特定行为特征值的两个或更多个第二事件数据记录。例如,可以扫描多个输入事件数据记录以标识两个或更多个第二事件数据记录,该第二事件数据记录包括与特定行为特征(例如,图5b中的量数据特征562)的标识符相对应的行为特征值。

在步骤1030中,将包括特定行为特征值的两个或更多个第二事件数据记录与所存储的将特定行为特征值集合映射到恶意软件的指示的表进行比较。例如,可以将包括特定行为特征的标识符的两个或更多个第二事件数据记录与图11b的恶意事件行为数据表1102进行比较,以确定恶意事件行为数据表1102是否包括表明特定行为特征被已知指示恶意攻击的指示。

在步骤1040中,通过使用诸如图11b的恶意事件行为数据表1102之类的表,该过程确定两个或更多个第二事件数据是否包括已知指示恶意攻击的行为特征值。

在步骤1050中,该过程确定在步骤1040中执行的测试是否返回了肯定结果。如果是,则该过程进行到步骤1060。否则,该过程进行到步骤1020,在其中再次扫描多个输入事件数据记录,以标识包括特定行为特征值的不同的两个或更多个第二事件数据记录。例如,该过程可以扫描事件数据记录,以标识此刻包括与诸如图5b中的持续性数据564之类的特定行为特征的标识符相对应的行为特征值的两个或更多个第二事件数据记录。

在步骤1060中,创建相似性行为簇记录。在一个实施例中,创建相似性行为簇记录包括:分配存储器块或磁盘空间,将指针和/或其他位置标识符与存储器块或磁盘空间相关联,以及将存储器块或磁盘空间配置用于存储相似性行为簇记录。此外,该过程可以生成相似性行为簇的标识符并将该标识符存储在相似性行为簇记录中。

在一个实施例中,创建相似性行为簇记录包括:生成初始严重性等级值和初始置信度分数并将其包括在相似性行为簇记录中。生成初始严重性等级值可以包括将初始严重性等级值设置为预定的初始等级值,而生成初始置信度分数可以包括将初始置信度分数设置为预定的初始分数值。

在步骤1070中,将包括已知由恶意攻击引起的特定行为特征的标识符的两个或更多个第二事件数据记录包括在相似性行为簇记录中,其中特定行为特征被包括在两个或更多个第二事件数据记录中。

在一个实施例中,一旦执行了步骤1060、1070,则相似性行为簇记录可以包括相似性行为簇的标识符、初始严重性等级值、初始置信度分数、以及包括已知由恶意攻击引起的特定行为特征的标识符的两个或更多个第二事件数据记录。

在步骤1080中,修改被包括在相似性行为簇中的两个或更多个第二事件中的每一者的至少一个初始严重性等级值和至少一个初始置信度分数。例如,可以通过计算与第二事件相关联的所有初始严重性等级值的和、并将该和除以被包括在相似性行为簇中的第二事件的计数,来修改特定第二事件的初始严重性等级值。所获得的结果可以与特定第二事件数据记录相关联(该特定第二事件数据记录与特定第二事件相关联),并且与特定第二事件记录相关联地被存储在相似性行为簇记录中。

此外,可以通过计算与第二事件相关联的所有初始置信度分数的和、并将该和除以被包括在相似性行为簇中的第二事件的计数,来修改特定第二事件的初始置信度分数。所获得的结果可以与特定第二事件数据记录相关联(该特定第二事件数据记录与特定第二事件相关联),并且与特定第二事件记录相关联地被存储在相似性行为簇记录中。

上述过程被执行用于针对最可能由已知为恶意的攻击引起的事件创建相似性行为簇。然而,该过程也可以被执行用于创建其他类型的簇,包括针对最可能由已知为良性的攻击引起的事件的相似性行为簇等。实际上,图10中描述的过程可以被用于创建任何类型的相似性行为簇。

上述工作流程可以被重复多次。每次工作流程被重复时,先前确定的等级值和分数可以被解释为初始等级值和初始分数。通过多次重复工作流程,可以细化和改进相似性行为簇的选择和内容。

15.恶意事件起源数据表

图11a示出了恶意事件起源数据表1152的示例。图11a中示出的表是可以被用于表示起源特征值的集合与恶意软件的指示之间的映射的一个或多个数据结构。图11a中未示出的其他数据结构可以包括但不限于:包括指向存储容器的数据指针的数据结构、分层数据库,等等。

在一个实施例中,恶意事件起源数据表1152包括一行或多行以及多列。恶意事件起源数据表1152中的行可以被用于存储:特征值集合的集合标识符、特征值集合中的每一者的一个或多个起源特征值、以及每个特征值集合的起源的特征。

在一个实施例中,恶意事件起源数据表1152中的行包括:第一集合1154的标识符、第一集合1154的一个或多个起源特征值、以及指示1153,指示1153表明第一集合1154被已知与已知从已发起恶意攻击的攻击者发起的攻击相关联。在所描述的示例中,第一集合1154的一个或多个起源特征值可以包括第一起源特征值1155、第二起源特征值1156、第五起源特征值1157、以及第八起源特征值1158。其他示例可以包括附加的起源特征值,或者可以包括不同的起源特征值的集合。

在一个实施例中,恶意事件起源数据表1152中的行包括:第二集合1164的标识符、第二集合1164的一个或多个起源特征值,以及指示1163,指示1163表明第二集合1164被已知与已知从已发起不明确恶意攻击的攻击者发起的攻击相关联。在所描述的示例中,第二集合1164的一个或多个起源特征值可以包括第三起源特征值1165和第七起源特征值1166。其它示例可以包括附加的起源特征值,或者可以包括不同的起源特征值的集合。

16.恶意事件行为数据表

图11b示出了恶意事件行为数据表1102的示例。图11b中描述的表是可以被用于表示行为特征值的集合和恶意软件的指示之间的映射的一个或多个数据结构。图11b中未描述的其他数据结构可以包括但不限于:包括指向存储容器的数据指针的数据结构、分层数据库,等等。

在一个实施例中,恶意事件行为数据表1102包括一行或多行以及多列。恶意事件行为数据表1102中的行可以被用于存储:特征值集合的集合标识符、特征值集合中的每一者的一个或多个行为特征值、以及每个特征值集合的分类。

在一个实施例中,恶意事件行为数据表1102中的行包括:第一集合1104的标识符、第一集合1104的一个或多个行为特征值、以及指示1103,指示1103表明第一集合1104被已知与已知为恶意攻击的攻击相关联。在所描述的示例中,第一集合1104的一个或多个行为特征值可以包括:第一行为特征值、第三行为特征值1106、以及第四行为特征值1107。其他示例可以包括的附加的行为特征值,或者可以包括不同的行为特征值的集合。

在一个实施例中,恶意事件行为数据表1102中的行包括:第二集合1124的标识符、第二集合1124的一个或多个行为特征值、以及指示1123,指示1123表明第二集合1124被已知与已知为不明确恶意攻击的攻击相关联。在所描述的示例中,第二集合1124的一个或多个行为特征值可以包括第二行为特征值1125、第八行为特征值1126、以及第九行为特征值1127。其他示例可以包括附加的行为特征值,或者可以包括不同的行为特征值的集合。

在一个实施例中,聚类方法允许改进对计算机网络的攻击被标识和分类的准确性。通过创建各种类型的事件簇,该方法允许确认初始被分类为恶意的事件是否确实是恶意的,它们是不明确恶意的还是仅是良性的。通过允许对事件进行更准确和精确的分类,安全系统可以生成更准确的报告并可以产生更准确的通知。

在一个实施例中,聚类方法克服了网络安全系统的许多缺点。例如,聚类方法允许解决在网络安全系统错误地对检测到的事件进行优先级排序或者未能将正确的上下文与检测到的事件相关联时的问题。此外,聚类方法允许解决在网络安全系统错误地对从多个网络或多个系统接收的事件数据进行分组时的问题。

17.实施方式示例-硬件概览

根据一个实施例,本文所描述的技术由一个或多个专用计算设备来实现。专用计算设备可以被硬连线以执行这些技术,或者可以包括被永久编程以执行这些技术的数字电子设备(例如,一个或多个专用集成电路(asic)或现场可编程门阵列(fpga)),或者可以包括被编程为依照固件、存储器、其他存储设备或组合中的程序指令执行这些技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制硬连线逻辑、asic或fpga与定制编程进行组合以完成这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、网络设备或者包括用于实现这些技术的硬连线和/或程序逻辑的任何其他设备。

例如,图12是示出了在其上可以实现该方法的实施例的计算机系统1200的框图。计算机系统1200包括用于传送信息的总线1202或其他通信机制,以及与总线1202耦接以用于处理信息的硬件处理器1204。硬件处理器1204可以是例如通用微处理器。

计算机系统1200还包括耦接到总线1202的用于存储信息和要由处理器1204执行的指令的主存储器1206,例如,随机存取存储器(ram)或其他动态存储设备。主存储器1206还可以被用于存储在执行由处理器1204执行的指令期间的其他中间信息或临时变量。这些指令在被存储在可由处理器1204访问的非暂态存储介质中时,使得计算机系统1200成为被定制成执行这些指令中指定的操作的专用机器。

计算机系统1200还包括耦接到总线1202的用于存储处理器1204的指令和静态信息的只读存储器(rom)1208或其他静态存储设备。存储设备1210(例如,磁盘、光盘、固态驱动器)被提供并被耦接到总线1202,用于存储信息和指令。

计算机系统1200可以经由总线1202耦接到显示器1212(例如,阴极射线管(crt))以用于向计算机用户显示信息。包括字母数字和其他键的输入设备1214耦接到总线1202,以用于将信息和命令选择传送到处理器1204。另一类型的用户输入设备是用于将方向信息和命令选择传送到处理器1204以及用于控制显示器1212上的光标移动的光标控制1216(例如,鼠标、轨迹球、或光标方向键)。该输入设备通常在两个轴上具有两个自由度,其中两个轴是允许设备指定平面中的位置的第一轴(例如,x)和第二轴(例如,y)。

计算机系统1200可以通过使用定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实现本文所描述的技术,其与计算机系统相组合使得计算机系统1200成为或将其编程为专用机器。根据一个实施例,响应于处理器1204执行被包括在主存储器1206中的一个或多个指令的一个或多个序列,计算机系统1200执行本文的技术。这种指令可以被从另一存储介质(例如,存储设备1210)读取到主存储器1206中。被包括在主存储器1206中的指令序列的执行使得处理器1204执行本文所描述的过程步骤。在替代实施例中,可以使用硬连线电路来代替软件指令或与软件指令相组合。

本文所使用的术语“存储介质”是指存储使得机器以特定方式工作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘、磁盘、或诸如存储设备1210的固态驱动器。易失性介质包括诸如主存储器1206之类的动态存储器。常见形式的存储介质包括例如:软盘、软磁盘、硬盘、固态驱动器、磁带、或任何其他磁数据存储介质、cd-rom、任何其他光学数据存储介质、具有孔图案的任何物理介质、ram、prom、eprom、flash-eprom、nvram、任何其他存储器芯片或盒。

存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与存储介质之间的信息传送。例如,传输介质包括同轴电缆、铜线、以及光纤,包括含总线1202的导线。传输介质还可以采用声波或光波的形式,例如在无线电波和红外线数据通信期间生成的那些声波或光波。

介质的各种形式可能涉及将一个或多个指令的一个或多个序列载送到处理器1204以供执行。例如,指令可以被初始地承载在远程计算机的固态驱动器或磁盘上。远程计算机可以将指令加载到其动态存储器中,并通过使用调制解调器来通过电话线发送指令。计算机系统1200本地的调制解调器可以接收电话线上的数据,并使用红外发射器将数据转换为红外信号。红外检测器可以接收红外信号中承载的数据,并且适当的电路可以将数据放到总线1202上。总线1202将数据载送到主存储器1206,处理器1204从该主存储器1206检索和执行指令。由主存储器1206接收的指令可以可选地在被处理器1204执行之前或之后被存储在存储设备1210上。

计算机系统1200还包括耦接到总线1202的通信接口1218。通信接口1218提供耦接到与本地网络1222连接的网络链路1220的双向数据通信。例如,通信接口1218可以是综合业务数字网(isdn)卡、电缆调制解调器、卫星调制解调器、或用于向相应类型的电话线提供数据通信连接的调制解调器。作为另一示例,通信接口1218可以是用于提供到兼容lan的数据通信连接的局域网(lan)卡。也可以实现无线链路。在任何这种实现方式中,通信接口1218发送和接收承载表示各种类型信息的数字数据流的电信号、电磁信号或光信号。

网络链路1220通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路1220可以通过本地网络1222向主机计算机1224或向由互联网服务提供商(isp)1226操作的数据设备提供连接。isp1226继而通过现在通常被称为互联网的全球分组数据通信网络1228提供数据通信服务。本地网络1222和互联网1228两者都使用承载数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路1220上并通过通信接口1218的信号(其载送去往和来自计算机系统1200的数字数据)是传输介质的示例形式。

计算机系统1200可以通过(一个或多个)网络、网络链路1220和通信接口1218发送消息和接收包括程序代码的数据。在互联网示例中,服务器1230可以通过互联网1228、isp1226、本地网络1222、以及通信接口1218发送针对应用程序的请求代码。

接收到的代码可以在其被接收时由处理器1204执行,和/或被存储在存储设备1210或其他非易失性存储器中以供后续执行。

在前述说明书中,已参考可以随实现方式变化的许多具体细节来描述方法的实施例。因此,说明书和附图被认为是说明性的而非限制性的。方法范围的唯一和排他的指示以及申请人旨在作为方法范围的是本申请的一组权利要求的字面范围和等同范围,这种权利要求以特定形式给出,并包括任何后续的修正。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1