攻击检测方法和装置转让专利

申请号 : CN201010603695.4

文献号 : CN102571469B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周涛廖江李靖段文国诸葛凌霄

申请人 : 北京启明星辰信息技术股份有限公司北京启明星辰信息安全技术有限公司中国电信上海公司互联网安全操作中心

摘要 :

本发明提供了一种攻击检测方法和装置。涉及信息管理领域;解决了关联分析方式不适用于复杂情景的问题。该方法包括:提取符合预置的关联规则中场景的安全事件;对所述安全事件进行关联分析;在所述关联分析的结果符合所述关联规则时,确定检测到攻击。本发明提供的技术方案适用于信息安全,实现了对关联的多事件攻击的检测。

权利要求 :

1.一种攻击检测方法,其特征在于,包括:

提取符合预置的关联规则中场景的安全事件;所述安全事件是指,对采集到的原始事件进行过滤,从中提取关联规则中涉及的原始事件作为安全事件;所述关联规则中涉及的原始事件即符合关联规则中任一场景内的任一事件属性的原始事件;

再从过滤出来的所述安全事件中进一步筛选,得到与所述场景完全符合的一个或多个安全事件,组成所述场景;

对所述安全事件进行关联分析;

匹配模块和逻辑关联模块共同作用,将与所述安全事件相匹配的原始事件提取出来,将提取出来的所述原始事件作为安全事件,存储至安全事件缓存区域,各安全事件占用所述安全事件缓存区域的一个存储位置;

所述匹配模块将所有与关联规则相关的事件属性构造成一棵匹配树;

在所述关联分析的结果符合所述关联规则时,确定检测到攻击。

2.根据权利要求1所述的攻击检测方法,其特征在于,该方法还包括:设置至少一个场景,每个场景包括一个安全事件,或在一时间窗内发生多次的多个相同的安全事件,所述安全事件具有至少一个事件属性,所述事件属性之间具有逻辑关系,所述逻辑关系包括逻辑关系和(and)和/或逻辑关系或(or);

设置所述场景之间的关联关系;

将所述场景和所述场景之间的关联关系作为一项关联规则。

3.根据权利要求2所述的攻击检测方法,其特征在于,所述提取符合预置的关联规则中场景的安全事件具体为:将符合所述场景的一个或多个所述安全事件提取出来组成所述场景。

4.根据权利要求2所述的攻击检测方法,其特征在于,所述提取符合预 置的关联规则中场景的安全事件的步骤之前还包括:解析所述关联规则,确定所述关联规则中的场景、所述场景的数量和所述场景之间的关联关系。

5.根据权利要求2所述的所述的攻击检测方法,其特征在于,所述关联关系包括:不同场景发生的时序关系,不同场景的引用属性,和在先发生的场景与在后发生的场景间的引用属性关系。

6.根据权利要求2所述的攻击检测方法,其特征在于,对所述安全事件进行关联分析包括:若在先发生的场景存在引用属性,则从所述在先发生的场景中提取所述引用属性的值,构造引用属性列表;

提取在后发生的场景的所述引用属性的值;

查找所述引用属性列表中所述在先发生的场景的所述引用属性的值;

当所述在后发生的场景与所述在先发生的场景的引用属性的值一致时,将所述在先发生的场景和所述在后发生的场景按照时序排列,将排列后得到的安全事件序列存储于中间事件缓存区域中。

7.根据权利要求6所述的攻击检测方法,其特征在于,所述对所述安全事件进行关联分析的步骤之后,还包括:在所述安全事件序列包含的场景不能满足所述关联规则中全部场景时,继续对所述安全事件序列与其后发生的场景进行关联分析。

8.根据权利要求6所述的攻击检测方法,其特征在于,在所述关联分析的结果符合所述关联规则时,确定检测到攻击具体为:在所述安全事件序列包含的场景满足所述关联规则中的全部场景时,确定所述安全事件序列中的全部安全事件构成一次攻击。

9.一种攻击检测装置,其特征在于,包括:

事件提取模块,用于提取符合预置的关联规则中场景的安全事件;所述安全事件是指,对采集到的原始事件进行过滤,从中提取关联规则中涉及的原始事件作为安全事件;所述关联规则中涉及的原始事件即符合关联规则中任一场景内的任一事件属性的原始事件;

再从过滤出来的所述安全事件中进一步筛选,得到与所述场景完全符合的一个或多个安全事件,组成所述场景;

匹配模块,将所有与关联规则相关的事件属性构造成一棵匹配树;

逻辑关联模块,与所述匹配模块共同作用,将与所述安全事件相匹配的原始事件提取出来,将提取出来的所述原始事件作为安全事件,存储至安全事件缓存区域,各安全事件占用所述安全事件缓存区域的一个存储位置;

事件关联模块,用于对所述安全事件进行关联分析;

攻击判定模块,用于在所述关联分析的结果符合预置的关联规则时,确定检测到攻击。

10.根据权利要求9所述的攻击检测装置,其特征在于,该装置还包括:规则设置模块,用于设置至少一个场景,每个场景包括一个安全事件,或在一时间窗内发生多次的多个相同的安全事件,所述安全事件具有至少一个事件属性,所述事件属性之间具有逻辑关系,所述逻辑关系包括and和/或or,设置所述场景之间的关联关系,将所述场景和所述场景之间的关联关系作为一项关联规则。

11.根据权利要求10所述的攻击检测装置,其特征在于,该装置还包括:规则解析模块,用于解析所述关联规则,确定所述关联规则中的场景和所述场景之间的关联关系。

说明书 :

攻击检测方法和装置

技术领域

[0001] 本发明涉及信息管理领域,尤其涉及一种攻击检测方法和装置。

背景技术

[0002] 为了缓解日益严重的信息安全问题,越来越多的企业和机构部署了防火墙、入侵检测系统(Intrusion Detection Systems,IDS)、异常流量检测系统等网络安全设备,有效降低了信息系统的安全风险。这些传统的网络安全设备能够根据设定的检测规则,对网络中的数据包进行捕获、流重组和协议解析,发现网络中的攻击事件并按照设定的方式进行响应。然而,一次有威胁的攻击行为往往由一系列前后相关的攻击事件组成,这些攻击事件会触发不同的网络安全设备产生若干条相关的报警信息,传统的网络安全设备只能实现单个攻击事件的检测,难以发现不同报警信息之间的关联关系。
[0003] 以一次后门植入攻击为例,攻击者在实施攻击时,一般要先远程扫描,探测目标主机上是否存在可利用的漏洞;然后针对漏洞实施缓冲区溢出攻击,获取一定的远程访问权限;最后植入后门并进行远程连接。攻击者的每次攻击,会分别触发防火墙或IDS产生独立的扫描探测事件、缓冲区溢出攻击事件和后门连接事件,只有把这些事件关联起来进行分析,才能发现攻击者的完整攻击过程和意图。
[0004] 又如一次弱口令猜测攻击,攻击者在登录一个系统时,需要猜测该系统的口令。在猜测过程中会根据字典表进行多次尝试,最终猜对口令实现登录。传统的IDS会针对攻击者的多次尝试产生多条认证失败事件,最终针对攻击成功产生一条认证成功事件,同样的只有把这些事件关联分析,才能发现攻击者的攻击过程。
[0005] 目前已有的规则关联分析系统,大都基于有限状态自动机技术实现。这在规则数量较少、状态数不多的情况下还能正常运行,当规则积累到一定程度时,不可避免地会因为状态数量太多,导致运行时占用大量内存空间,从而引起运行效率的严重下降。由此可见,现有技术中基于有限状态自动机的关联分析方式不适用于状态复杂的情况。

发明内容

[0006] 本发明提供了一种攻击检测方法和装置,解决了关联分析方式不适用于复杂情景的问题。
[0007] 一种攻击检测方法,包括:
[0008] 提取符合预置的关联规则中场景的安全事件;
[0009] 对所述安全事件进行关联分析;
[0010] 在所述关联分析的结果符合所述关联规则时,确定检测到攻击。
[0011] 优选的,上述攻击检测方法还包括:
[0012] 设置至少一个场景,每个场景包括一个安全事件,或在一时间窗内发生多次的多个相同的安全事件,所述安全事件具有至少一个事件属性,所述事件属性之间具有逻辑关系,所述逻辑关系包括逻辑关系和(and)和/或逻辑关系或(or);
[0013] 设置所述场景之间的关联关系;
[0014] 将所述场景和所述场景之间的关联关系作为一项关联规则。
[0015] 优选的,所述提取符合预置的关联规则中场景的安全事件具体为:
[0016] 将符合所述场景的一个或多个所述安全事件提取出来组成所述场景。
[0017] 优选的,所述提取符合预置的关联规则中场景的安全事件的步骤之前还包括:
[0018] 解析所述关联规则,确定所述关联规则中的场景、所述场景的数量和所述场景之间的关联关系。
[0019] 优选的,所述关联关系包括:
[0020] 不同场景发生的时序关系,不同场景的引用属性,和在先发生的场景与在后发生的场景间的引用属性关系。
[0021] 优选的,对所述安全事件进行关联分析包括:
[0022] 若所述在先发生的场景存在引用属性,则从所述在先发生的场景中提取所述引用属性的值,构造引用属性列表;
[0023] 提取在后发生的场景的所述引用属性的值;
[0024] 查找所述引用属性列表中所述在先发生的场景的所述引用属性的值;
[0025] 当所述在后发生的场景与所述在先发生的场景的引用属性的值一致时,将所述在先发生的场景和所述在后发生的场景按照时序排列,将排列后得到的安全事件序列存储于中间事件缓存区域中。
[0026] 优选的,所述对所述安全事件进行关联分析的步骤之后,还包括:
[0027] 在所述安全事件序列包含的场景不能满足所述关联规则中全部场景时,继续对所述安全事件序列与其后发生的场景进行关联分析。
[0028] 优选的,在所述关联分析的结果符合所述关联规则时,确定检测到攻击具体为:
[0029] 在所述安全事件序列包含的场景满足所述关联规则中的全部场景时,确定所述安全事件序列中的全部安全事件构成一次攻击。
[0030] 本发明还提供了一种攻击检测装置,包括:
[0031] 事件提取模块,用于提取符合预置的关联规则中场景的安全事件;
[0032] 事件关联模块,用于对所述安全事件进行关联分析;
[0033] 攻击判定模块,用于在所述关联分析的结果符合预置的关联规则时,确定检测到攻击。
[0034] 优选的,上述攻击检测装置还包括:
[0035] 规则设置模块,用于设置至少一个场景,每个场景包括一个安全事件,或在一时间窗内发生多次的多个相同的安全事件,所述安全事件具有至少一个事件属性,所述事件属性之间具有逻辑关系,所述逻辑关系包括and和/或or,设置所述场景之间的关联关系,将所述场景和所述场景之间的关联关系作为一项关联规则。
[0036] 优选的,上述攻击检测装置还包括:
[0037] 规则解析模块,用于解析所述关联规则,确定所述关联规则中的场景和所述场景之间的关联关系。
[0038] 一种攻击检测方法和装置,提取符合预置场景的安全事件,对所述安全事件进行关联分析,在所述关联分析的结果符合预置的关联规则时,确定检测到攻击,实现了通过关联分析对多事件攻击的检测,解决了关联分析方式不适用于复杂情景的问题。

附图说明

[0039] 图1为本发明实施例一提供的查找关联事件系统的结构示意图;
[0040] 图2为本发明的实施例二提供的一种攻击检测方法的流程图;
[0041] 图3为本发明的实施例中匹配模块完成过滤的原理图;
[0042] 图4为逻辑关联模块完成逻辑关联的原理图;
[0043] 图5为事件关联模块的工作原理图;
[0044] 图6为关联分析网的内部逻辑结构示意图;
[0045] 图7为本发明的实施例四提供的一种攻击检测装置的结构示意图;
[0046] 图8为本发明的实施例五提供的一种攻击检测装置的结构示意图;
[0047] 图9为本发明的实施例六提供的一种攻击检测装置的结构示意图。

具体实施方式

[0048] 目前已有的规则关联分析系统,大都基于有限状态自动机技术实现。在规则数量较多的情况下,状态数量也会比较繁多,直接影响了关联分析的运算速度,系统运行效率严重下降。
[0049] 为了解决上述问题,本发明的实施例提供了一种攻击检测方法和装置。使用本发明的实施例提供的攻击检测方法,在查找关联的安全事件时,能够依据设定的关联规则,实现海量事件中相关联安全事件的快速匹配和关联。本发明提供的技术方案在复杂关联规则的情况下,可实现安全事件的高效匹配和关联分析。
[0050] 下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0051] 首先,对本发明的实施例一进行说明。
[0052] 图1为本发明实施例提供的查找关联事件系统的结构示意图,该系统包括规则解析器101,负责读取所有预先设定的关联规则,对关联规则进行解析,并生成关联分析网102。规则解析器101的输入为预先定义的关联规则,一条关联规则由多个场景组成,各个场景均包括至少一个安全事件。例如对于“扫描--攻击--后门植入”攻击行为,可定义如下关联规则:
[0053] 场景1:检测到一条扫描探测事件;
[0054] 场景2:检测到一条缓冲区溢出攻击事件,且其源地址等于扫描探测事件的源地址,目的地址等于扫描探测事件的目的地址;
[0055] 场景3:检测到一条后门连接事件,且其源地址等于缓冲区溢出攻击事件源地址,目的地址等于缓冲区溢出攻击事件目的地址。
[0056] 事件采集器103接收各个网络安全设备产生的原始事件,为每个事件分配一个唯一的编号作为该原始事件的ID,采用统一的格式范式化后输出到关联分析网102。
[0057] 一个范式化后的事件的实例如下:
[0058] sub:ICMP_PING扫描;sr:51.54.51.8;sport:69;dest:192.168.56.214;dport:23;proto:icmp;time:2010-09-21_10:47:35
[0059] 其中:sub表示范式化后的事件类型;sr表示源IP地址;sport表示源端口;dest表示目的IP地址;dport表示目的端口;proto表示协议类型;time表示事件发生时间。
[0060] 关联分析网102包括匹配模块1021、逻辑关联模块1022和事件关联模块1023三个子模块,其输入为原始事件的ID,其功能是通过匹配和关联,生成符合关联规则的安全事件序列,并发送到输出适配器104。输出适配器104接收关联后的事件序列并进行展示。
[0061] 下面,对本发明的实施例二进行说明。
[0062] 本发明实施例提供了一种攻击检测方法,使用该方法完成关联分析,并检测攻击的流程如图2所示,包括:
[0063] 步骤201、设置关联规则;
[0064] 本发明的实施例中,设置至少一个场景,每个场景包括一个安全事件,或在一时间窗内发生多次的多个相同的安全事件,所述安全事件具有至少一个事件属性,所述事件属性之间具有逻辑关系,所述逻辑关系包括and和/或or;之后,再设置所述场景之间的关联关系;最后,将所述场景和所述场景之间的关联关系作为一项关联规则。
[0065] 其中,关联关系包括:
[0066] 不同场景发生的时序关系,不同场景的引用属性,和在先发生的场景与在后发生的场景间的引用属性关系。
[0067] 本发明的实施例所涉及的事件属性包括但不限于:源地址、目的地址、源端口、目的端口、事件类型、网络协议、报警设备类型、报警设备IP、行为。
[0068] 下面举例对关联规则进行说明,例如:
[0069] 关联规则1:“扫描--攻击--后门植入”攻击行为检测规则,具体包括:
[0070] 场景1:检测到一条端口扫描事件或漏洞扫描事件,且其协议类型为TCP;
[0071] 场景2:检测到一条缓冲区溢出攻击事件,且其源地址等于扫描事件的源地址,目的地址等于扫描事件的目的地址;
[0072] 场景3:检测到一条后门连接事件,且其源地址等于缓冲区溢出攻击事件源地址,目的地址等于缓冲区溢出攻击事件目的地址。
[0073] 其中,场景1具有3个事件属性:1a、端口扫描事件(事件类型);1b、漏洞扫描事件(事件类型);1c、TCP协议(网络协议)。1a和1b之间是“或”的关系,1a和1b进行“或”后得到的结果与1c是“与”的关系。
[0074] 场景1为场景2的在先发生的场景。对于场景2,场景1的引用属性包括源地址和目的地址两项。
[0075] 场景2具有1个事件属性:2a、缓冲区溢出攻击事件。
[0076] 场景2为场景3的在先发生的场景。对于场景3,场景2的引用属性包括源地址和目的地址两项。
[0077] 场景3具有1个事件属性:3a、后门连接事件。
[0078] 关联规则2:弱口令猜测攻击行为检测规则,具体包括:
[0079] 场景1:在一分钟内检测到三条认证失败事件,且源IP、目的IP相同;
[0080] 场景2:检测到一条认证成功事件,且其源IP等于认证失败事件源IP,目的IP等于认证失败事件目的IP。
[0081] 其中,场景1具有3个事件属性:1A、认证失败事件;1B、源IP;1C、目的IP。
[0082] 场景1为场景2的在先发生的场景。对于场景2,场景1的引用属性包括源IP和目的IP。
[0083] 步骤202、解析所述关联规则;
[0084] 本步骤中,通过解析关联规则,确定所述关联规则中的场景和所述场景之间的关联关系。具体的,可将全部关联规则解析为一个网状结构,称为关联分析网(参见图1),通过该关联分析网,能够统一对多个关联规则进行关联分析。
[0085] 步骤203、提取符合预置的关联规则中场景的安全事件;
[0086] 本步骤中,对采集到的原始事件进行过滤,从中提取关联规则中涉及的原始事件(即符合关联规则中任一场景内的任一事件属性的原始事件)作为安全事件。
[0087] 本步骤中,首先要对事件采集器采集到的全部原始事件进行过滤,将关联规则所涉及的原始事件过滤出来。再从过滤出来的安全事件中进一步筛选,得到与场景完全符合的一个或多个安全事件,组成场景。
[0088] 需要说明的是,当安全事件只具备单一的事件属性时,那么安全事件是很容易过滤出来的,即只需要将具备该单一属性的原始事件过滤出来即可,由图1中的匹配模块就能够完成;如果安全事件具备多个事件属性,且事件属性之间具有“与”和“或”的逻辑关系时,需要将这些逻辑关系与事件属性结合起来判断安全事件是否可作为场景被过滤出来,此时,就需要通过逻辑关联模块来对匹配模块过滤出来的安全事件进行进一步的逻辑运算,以将多事件属性的安全事件与单一属性的安全事件区别开来。
[0089] 由匹配模块和逻辑关联模块共同作用,将所述原始事件中具有单一事件属性,且所述单一事件属性与所述安全事件相匹配的原始事件提取出来,将所述原始事件中具有多个事件属性,且所述多个事件属性及所述多个事件属性之间的逻辑关系与所述安全事件相匹配的原始事件提取出来,将提取出来的所述原始事件作为安全事件,存储至安全事件缓存区域,各安全事件占用所述安全事件缓存区域的一个存储位置。
[0090] 匹配模块完成过滤的原理图如图3所示,匹配模块将所有与关联规则相关的事件属性构造成一棵匹配树。事件采集器将采集到的原始事件从起始节点Root输入,进入事件属性层301,该层记录了当前系统中所有关联规则里全部安全事件的不同的事件属性。本发明的实施例所支持的事件属性包括但不限于:源地址、目的地址、源端口、目的端口、事件类型、网络协议、报警设备类型、报警设备IP、行为。
[0091] 从事件属性层301中的每个属性里都延伸出一个关系运算符列表,组成了关系运算符层302,这里包含当前系统中所有关联规则里与某一特定事件属性相关的不同关系运算符。本发明的实施例支持的关系运算符包括但不限于:等于、不等于、大于、小于、大于等于、小于等于、包含、不包含、属于、不属于、范围区间。
[0092] 从关系运算符层302中延伸出运算数的列表,组成了操作数层303,这里包含了当前系统中所有关联规则里与某一特定事件属性相关的关系运算符的操作数(即事件属性的具体内容/值)。
[0093] 从操作数层303继续延伸出来的就是记录上述匹配结果的安全事件缓存区域,即事件缓存层304,本发明的实施例中将安全事件缓存简称为AM,AM中缓存的数据可用于逻辑关联模块的进一步匹配。优选的,在AM中存储安全事件的事件ID。
[0094] 图4为逻辑关联模块完成逻辑关联的原理图。当关联规则规定的事件属性之间具有“and”或者“or”的逻辑关系操作符时,就需要进一步图3所示的匹配模块进行延展。具体的,找到保存“and”或者“or”操作符两侧的逻辑表达式的匹配结果的AM,添加一个and节点或者or节点,作为这两个AM的下级节点,然后再给这个and节点或者or节点添加一个AM作为输出结果缓存。and节点和or节点的特征为,当上级节点也即AM中有数据更新时,立刻触发and节点和or节点内部的检测操作,对两侧AM的更新数据进行“与”判断和“或”判断,将满足要求的结果存入输出AM。最底层的AM(即一个完整的场景对应的AM)存在一个对应的引用属性列表,本发明的实施例中将该引用属性列表简称为REF,在REF中存储了该安全事件中包含的、可能会被下级事件(即在后发生的安全事件)引用的引用属性。
[0095] 具体更新方法为:
[0096] 如果为and节点,只有and节点的两个输入AM均有同一事件ID时,才将该事件ID作为输出继续向下传播;
[0097] 如果为or节点,仅当or节点的两个输入AM之一出现了某事件ID时,就将该事件ID作为输出继续向下传播。
[0098] 步骤204、对所述安全事件进行关联分析;
[0099] 本步骤中,由关联分析网中的事件关联模块完成对已确定的构成场景之间的安全事件之间的关联关系的分析,分析依据关联规则进行。
[0100] 图5为事件关联模块的工作原理图。完成逻辑关联分析的事件ID(存储于AM中),被进一步传播到事件关联模块中处理,构成一个场景的一个或多个安全事件在事件关联模块中以事件关联分析对象的形式存在,简称为BM。一个BM对应于关联规则中的一个场景;BM之间的上下级关系(即场景的在先发生和在后发生关系),与关联规则中场景的上下级关系相同。
[0101] 如图5所示,将事件缓存层中AM501存储的事件ID,根据关联规则中定义的关联关系,传播到对应的事件关联分析对象503;AM502中的事件ID,传播到对应的事件关联分析对象504;另外事件关联分析对象504还接受其上级(即在先发生)事件关联分析对象503中的事件ID。事件关联分析对象504引用了上一级事件关联分析对象503对应场景的引用属性,那么事件关联分析对象504在将来自事件关联分析对象503和AM502的事件进行关联时,还需要比较关联规则中定义的场景的引用属性是否匹配,需要比较的引用属性可在引用属性列表506中查询。当所述在后发生的场景与所述在先发生的场景的引用属性值一致时,将所述在先发生的场景和所述在后发生的场景按照时序排列,将排列后得到的安全事件序列存储于中间事件缓存区域中。
[0102] 此外,对于步骤201中关联规则2所涉及的情况,在所述统计安全事件发生次数的时间窗内,对同一安全事件进行统计,得到在所述时间窗内的统计结果,在所述统计结果达到所述安全事件发生次数时,将所述多次发生的同一安全事件按照时序排列,排列后得到的安全事件序列构成规则2中的场景1,以事件关联分析对象的形式存储于中间事件缓存区域中。
[0103] 在安全事件的事件ID由AM传递到BM中后,认为该安全事件分析完毕,该安全事件对应的AM中的缓存结果将会清空,但BM中的缓存将不清空,直至完成一个关联规则的匹配或超时。
[0104] 综上,BM具备的功能包括:
[0105] 1、完成安全事件上下级间属性的引用。当一个BM接收到来自上级BM和/或AM的事件ID后,还需要通过查询该上级BM和/或AM的引用属性列表来判断两个输入的事件ID对应的安全事件之间是否存在关联关系。例如,对于本发明实施例中提到的“扫描--攻击--后门植入”关联规则,当对应的BM接收到扫描事件(端口扫描或漏洞扫描)的事件ID,和缓冲区溢出攻击事件的事件ID后,还会进一步检查该缓冲区溢出攻击事件的源IP和目的IP是否等于扫描事件的源IP和目的IP,只有二者相等时才完成相应的关联,确定在扫描事件和缓冲区溢出攻击事件之间存在关联关系,将扫描事件和缓冲区溢出攻击事件按照时序组成事件序列,存储于中间事件缓存区域,即BM对应的缓存区域。
[0106] 2、完成安全事件发生次数归并统计与时间窗约束。一个BM包括两种类型的输入:一种来自上一级BM,另外一种是来自AM。针对每种输入,BM都维护一个缓存,在缓存中对事件进行统计计数,如果在时间窗内同一安全事件的发生的次数达到了关联规则中定义的安全事件发生次数,则将这些安全事件按照时序组成安全事件序列(构成一个场景),向下传播到下一级BM;如果在时间窗内事件的数量未达到规则中定义的事件数量,则将超时的事件从缓存中清除。
[0107] 步骤205、在所述关联分析的结果符合预置的关联规则时,确定检测到攻击;
[0108] 在步骤204安全事件序列包含的场景不能满足所述关联规则中全部场景时,继续对所述安全事件序列与其后发生的场景进行关联分析。
[0109] 在步骤204得到的所述安全事件序列包含的场景满足所述关联规则中的全部场景时,确定所述安全事件序列中的全部安全事件构成一次攻击。至此,对安全事件的关联分析完毕。
[0110] 下面结合附图,对本发明的实施例三进行说明。
[0111] 仍以本发明的实施二的步骤201中列举的关联规则为例进行说明,此时,关联分析网的内部逻辑结构如图6所示,两条关联规则中需要匹配的事件属性包括事件类型和协议类型,因此该关联分析网的事件属性列表层包括两种属性:事件类型601和协议类型602。每种事件属性进行的运算只有一种,即判断“等于”运算,因此在事件类型601和协议类型602下面添加“等于”运算符603、运算符604。其中在事件类型属性中参与比较的属性值包括端口扫描、漏洞扫描、溢出攻击、后门连接、认证成功、认证失败;在协议类型中参与比较的属性值包括TCP协议;因此在运算符603、运算符604下面添加对应的操作数,并在每个操作数下面添加一个AM,保存匹配成功的事件ID。
[0112] 关联规则1中的场景1指定了事件类型为“端口扫描”或“漏洞扫描”,且协议类型为TCP。那么找到匹配“端口扫描”的AM1,与匹配“漏洞扫描”的AM2,在其下方添加一个“或”逻辑关联运算符605,运算后的结果保存在AM8中;找到匹配“TCP协议”的AM7,在AM8与AM7下面添加一个“与”逻辑关联运算符606,运算后的结果保存在AM9中,则AM9中缓存的事件ID即满足“事件类型为端口扫描事件或漏洞扫描事件,且其协议类型为TCP”的要求。
[0113] 关联规则1包括三个场景:其中满足场景1的事件ID缓存在AM9中,满足场景2的事件缓存在AM3中,满足场景3的事件缓存在AM4中。为此添加一个BM1,接收AM9的输出,缓存满足场景1的事件列表;添加一个BM2,接收BM1和AM3的输出,并参照REF1确定二者的输出是否能够进行关联,缓存满足场景1和场景2的安全事件序列;添加一个BM3,接收BM2和AM4的输出,并参照REF2确定二者的输出是否能够进行关联,缓存满足场景1、场景2和场景3的安全事件序列,并将满足关联规则1的完整安全事件序列输出到输出适配器1,依时序展示符合关联规则1的所有安全事件。
[0114] 关联规则2包括两个安全事件:其中满足场景1的事件ID缓存在AM5中,满足场景2的事件ID缓存在AM6中。为此添加一个BM4,接收AM5的输出,并对事件ID进行时间窗约束和安全事件发生次数统计,缓存满足场景1的事件序列;添加一个BM5,接收BM4和AM6的输出,并参照REF3确定二者的输出是否能够进行关联,缓存满足场景1和场景2的事件序列,并将满足规则2的全部安全事件序列输出到输出适配器2,依时序展示符合关联规则2的所有安全事件。
[0115] 具体流程如下,假设系统中先后接收到以下8条原始事件:
[0116] 原始事件1:ID=101,类型=端口扫描,协议类型=tcp;
[0117] 原始事件2:ID=102,类型=漏洞扫描,协议类型=udp,源IP、目的IP同原始事件1;
[0118] 原始事件3:ID=103,类型=缓冲区溢出攻击,源IP、目的IP同原始事件1;
[0119] 原始事件4:ID=104,类型=后门连接,源IP、目的IP同原始事件1;
[0120] 原始事件5-7:ID=105-107,类型=认证失败,且发生在一分钟之内;
[0121] 原始事件8:ID=108,类型=认证成功,源IP、目的IP同原始事件6。
[0122] 系统接收到原始事件1,该原始事件匹配事件类型=端口扫描和协议类型=tcp,因此将该原始事件作为一安全事件,将相应的事件ID缓存于AM1和AM7中,事件ID值为101;由于AM1传播到一个or节点605,则不论AM2是否为空,该事件ID将继续传播至AM8;
由于AM8和AM7连接到同一个and节点606,且这两个事件缓存中均包含101这一事件ID值,则该事件ID继续传播到AM9;AM9对应的REF1中记录了该安全事件的源IP、目的IP作为引用属性,将被下一级场景引用,同时继续将该事件ID传播到BM1;BM1发现该安全事件中定义的发生次数为1次,因此确定该安全事件构成场景,该事件ID传播到BM2。然后所有AM、BM1中的缓存结果将被清空,BM2中缓存的该事件ID值11将会保留。
[0123] 2、系统接收到原始事件2,该原始事件匹配事件类型=漏洞扫描,因此将该原始事件作为安全事件,在AM2中缓存该事件的ID值12;由于AM2传播到一个or节点605,则不论AM1是否为空,该事件ID将继续传播至AM8;由于AM8和AM7连接到同一个and节点606,但AM7为空,只有AM8中包含12,则该事件无法继续向下传播,匹配结束,所有AM中的缓存结果将被清空。
[0124] 3、系统接收到原始事件3,该原始事件匹配事件类型=溢出攻击,因此将该原始事件作为安全事件,AM3中缓存该事件的ID值13;AM3对应的REF2中记录了该安全事件的源IP、目的IP属性作为引用属性,将被下一级场景引用,同时继续将该事件ID传播到BM2,BM2接收到该事件后,将其源IP、目的IP与REF1中的源IP、目的IP进行比较,发现二者均相同,同时BM2发现该安全事件中定义的次数为1次,因此完成匹配,事件ID值11、13将被传播到BM3。然后所有AM、BM2中的缓存结果将被清空,BM3中缓存的事件ID值11、13将会保留。
[0125] 4、系统接收到事件4,该事件匹配事件类型=后门连接,因此将该原始事件作为安全事件,在AM4中缓存该事件的ID值14;AM3继续将该事件ID传播到BM3,BM3接收到该安全事件的事件ID后,将其源IP、目的IP与REF2中的源IP、目的IP进行比较,发现二者均相同,同时BM3发现该场景中定义的安全事件发生次数为1次,因此完成匹配,这样14将同BM3原有的11、13组成一个完整的规则匹配,组成规则匹配的事件11、13、14将被传送到输出适配器1进行展示。然后所有AM、BM3中的缓存结果将被清空。
[0126] 5、系统接收到原始事件5,该原始事件匹配事件类型=认证失败,将该事件作为安全事件,在AM5中缓存该安全事件的事件ID值15;AM5对应的REF3中记录了该安全事件的源IP、目的IP属性将被下一级场景引用,并继续将该事件ID传播到BM4,BM4发现该安全事件中定义的次数为3次,因此未完成匹配,然后所有AM中的缓存结果将被清空,BM4中缓存的事件ID值15。
[0127] 6、系统接收到原始事件6,分析过程同上,BM4中缓存的事件ID变为15、16。
[0128] 7、系统接收到原始事件7,分析过程同上,BM4中缓存的事件ID变为15、16、17,此时BM4中定义的安全事件的发生次数3次被满足,因此完成关联分析,事件ID值15、16、17将被传播到BM5,然后所有AM、BM4中的缓存结果将被清空。
[0129] 8、系统接收到原始事件8,该原始事件匹配事件类型=认证失败,因此将该原始事件作为一个安全事件,在AM6中缓存该安全事件的ID值18;AM6继续将该事件ID传播到BM5,BM5接收到该事件ID后,将其源IP、目的IP与REF3中的源IP、目的IP进行比较,发现二者均相同,同时BM3发现该安全事件中定义的次数为1次,因此完成匹配,这样18将同BM3原有的15、16、17组成一个事件序列,完整的符合关联规则,组成事件序列15、16、17、18,被传送到输出适配器2进行展示。然后所有AM、BM5中的缓存结果将被清空。
[0130] 下面结合附图,对本发明的实施例四进行说明。
[0131] 本发明实施例提供了一种攻击检测装置,其结构如图7所示,包括:
[0132] 事件提取模块701,用于提取符合预置的关联规则中场景的安全事件;
[0133] 事件关联模块702,用于对所述安全事件进行关联分析;
[0134] 攻击判定模块703,用于在所述关联分析的结果符合预置的关联规则时,确定检测到攻击。
[0135] 上述事件提取模块701所实现的功能可由图1所示查找关联事件系统中的匹配模块1021和逻辑关联模块1022共同完成;事件关联模块702所实现的功能可由图1所示关联分析系统中的事件关联模块1023完成。
[0136] 优选的,本发明的实施例五还提供了一种攻击检测装置,在本发明的实施例四所述攻击检测装置的基础之上,其结构如图8所示,还包括:
[0137] 规则设置模块704,用于设置至少一个场景,每个场景包括一个安全事件,或在一时间窗内发生多次的多个相同的安全事件,所述安全事件具有至少一个事件属性,所述事件属性之间具有逻辑关系,所述逻辑关系包括and和/或or,设置所述场景之间的关联关系,将所述场景和所述场景之间的关联关系作为一项关联规则。
[0138] 优选的,本发明的实施例六还提供了一种攻击检测装置,在本发明的实施例四和/或五所述攻击检测装置的基础之上,其结构如图9所示,还包括:
[0139] 规则解析模块705,用于解析所述关联规则,确定所述关联规则中的场景和所述场景之间的关联关系。
[0140] 上述规则设置模块704和规则解析模块705的功能可由图1所示查找关联事件系统中的规则解析器101完成。
[0141] 本发明的四至六所提供的攻击检测装置,可应用于图1所示查找关联事件系统中,与事件采集器103与输出适配器104相连,提供规则解析器101和关联分析网102的功能,完成多事件关联的攻击检测。
[0142] 本发明的实施例提供了一种攻击检测方法和装置,提取符合预置场景的安全事件,对所述安全事件进行关联分析,在所述关联分析的结果符合预置的关联规则时,确定检测到攻击,实现了通过关联分析对多事件攻击的检测,解决了关联分析方式不适用于复杂情景的问题。在从原始事件中过滤出安全事件时,采用共享相同规则前缀匹配结果以及缓存中间匹配结果的手段,提高了匹配效率。此外,在关联规则中还实现了“与”和“或”的逻辑运算关系、安全事件发生次数统计与时间窗约束、安全事件上下级间的引用属性,大大扩展了关联规则的描述能力,提高了关联分析的效率。
[0143] 本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
[0144] 可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0145] 上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
[0146] 上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
[0147] 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。