著录项信息
专利名称 | 一种可并发和断续分析的日志事件关联分析方法和装置 |
申请号 | CN201110058800.5 | 申请日期 | 2011-03-11 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-08-17 | 公开/公告号 | CN102158355A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4查看分类表>
|
申请人 | 广州蓝科科技股份有限公司 | 申请人地址 | 广东省广州市越秀区寺右新马路108号丰伟大厦A栋23B
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 广州蓝科科技股份有限公司 | 当前权利人 | 广州蓝科科技股份有限公司 |
发明人 | 梁英宏;杨东晓;王玉中;司徒新红;周铁道;龚春媚 |
代理机构 | 广州市华学知识产权代理有限公司 | 代理人 | 黄磊 |
摘要
本发明公开了一种可并发和断续分析的日志事件关联分析方法和装置,该方法是首先定义分析规则,将规则传入事件关联分析模块,然后依次采集各个日志来源的日志报文,将日志报文传入事件关联分析模块,事件关联分析模块对日志进行解析,在解析过程中将当前事件关联分析的中间状态变量值保存到状态保存模块;如果解析过程中触发某关联事件,就对外发出该关联事件的报警信号。该装置包括规则定义模块、日志报文采集模块、状态保存模块、报警输出模块和事件关联分析模块。本发明能同时对多个日志进行并发和断续分析,增强了网络监控、网络管理系统的日志审计功能,提高了网络预警的准确度,保障了网络监控和管理系统的安全。
1.一种可并发和断续分析的日志事件关联分析方法,其特征在于,具体包括以下步骤:
(1)准备阶段:首先根据所分析事件的性质在规则定义模块中定义分析规则,分析规则被传送至事件关联分析模块,然后日志报文采集模块依次采集各个来源的日志报文,并根据状态保存模块所保存的日志最近时间戳,即日志报文的最后一行的时间戳,每次只采集上一次采集后新增的日志内容,采集完成后更新状态保存模块所保存的该日志最近时间戳;定义的分析规则由一个或若干个子规则组成,子规则的内容包括日志来源,日志来源由一个或若干个日志名组成;
(2)事件关联分析:事件关联分析模块接收到日志报文采集模块采集到的日志报文后按照顺序送入缓存区,根据子规则的需求判断是否需要对多个日志进行合并分析,如日志来源只包含一个日志名,就将所采集的该名称的日志报文传入事件关联分析模块直接进行解析;如日志来源包含多个日志名,就将名称在日志来源中的所有日志报文合并成单个报文再传入事件关联分析模块进行解析;
(3)状态信息保存:将当前事件关联分析的中间状态变量值保存到状态保存模块;
(4)分析结果输出:事件关联分析过程中如触发某关联事件,就将该关联事件传送至报警输出模块,发出该关联事件的报警信号,然后继续进行日志报文的采集,如果触发另一子规则,则导入该子规则,转入步骤(2)。
2.根据权利要求1所述的可并发和断续分析的日志事件关联分析方法,其特征在于,所述步骤(1)中,定义的分析规则由下面的一个或若干个子规则组成,子规则的内容包括:
(1-1)子规则名,用于对各个规则进行标记;
(1-2)日志来源,日志来源由一个或若干个日志名组成;
(1-3)触发动作前提,即在满足设定的条件下才触发动作;
(1-4)动作,即步骤(1-3)所采用的触发动作前提被满足后所需完成的动作。
3.根据权利要求2所述的可并发和断续分析的日志事件关联分析方法,其特征在于,所述步骤(1-3)中所述的触发动作前提为以下四种:
(1-3-1)某正则表达式被匹配则触发动作;
(1-3-2)某正则表达式在时间戳A和时间戳B之间被匹配则触发动作,时间戳A小于时间戳B;
(1-3-3)计算某正则表达式在规定时间内被匹配的次数,如在时间戳C和时间戳D之间被匹配的次数达到一定阈值则触发动作,时间戳C小于时间戳D;
(1-3-4)正则表达式1被匹配的前提下,接着又匹配正则表达式2,则触发动作。
4.根据权利要求2所述的可并发和断续分析的日志事件关联分析方法,其特征在于,所述步骤(1-4)中,所述的动作分为两种形式,一种是从一个子规则触发另一个子规则,此时需在此子规则中写入下一个子规则的规则名;另一种是从一个子规则触发一个关联事件,此时需在这一个子规则中写入此关联事件的事件名。
5.根据权利要求3所述的可并发和断续分析的日志事件关联分析方法,其特征在于,所述步骤(2)中,解析具体是指根据规则和上次保存的中间状态信息依次对日志报文进行解析,具体解析流程如下:
(2-1)读取规则中的第一个子规则;
(2-2)根据子规则中的触发动作前提对日志报文进行正则表达式匹配;
(2-3)完成此子规则所读入的日志报文的所有行的匹配后,将中间状态变量保存到状态保存模块;
(2-4)在该条子规则解析过程中如触发动作,则根据触发对象不同采用不同的处理方式,具体如下:若触发另一子规则,则立即转入此子规则并进行解析,解析方法如上;若触发关联事件,将该关联事件传送至报警输出模块。
6.根据权利要求5所述的可并发和断续分析的日志事件关联分析方法,其特征在于,所述步骤(2-3)中所述的中间状态变量包括:
(2-3-1)当前正在解析的子规则名;
(2-3-2)根据触发动作前提的种类不同,所保存的匹配信息也不同,具体分类如下:触发动作前提为步骤(1-3-1)或(1-3-2)所述类型时,不记录匹配信息;触发动作前提为步骤(1-3-3)所述类型时,保存匹配次数;触发动作前提为步骤(1-3-4)所述类型时,记录正则表达式1是否被匹配。
7.一种实现权利要求1所述方法的可并发和断续分析的日志事件关联分析装置,包括:
规则定义模块,用于提供用户可以进行规则定义的人机交互接口;
日志报文采集模块,用于根据设定的时间间隔和状态保存模块中的日志最近时间戳依次采集不同来源的日志报文,在采集完毕后将此次所采集的日志最近时间戳发送至状态保存模块;
事件关联分析模块,用于根据定义好的规则对日志报文进行解析,如需要同时解析多个日志来源,就首先对多个日志报文进行合并,然后再进行解析,在对日志进行分析时使用上一次分析所保存的各种中间状态变量值,并更新状态保存模块中的中间状态变量;
状态保存模块,用于保存日志分析中的中间状态变量和每一个日志的最近时间戳;
报警输出模块,用于在事件关联分析过程中触发某关联事件时,发出该关联事件的报警信号;
其中规则定义模块、日志报文采集模块、状态保存模块、报警输出模块均分别与事件关联分析模块相连,日志报文采集模块也与状态保存模块相连。
8.根据权利要求7所述的可并发和断续分析的日志事件关联分析装置,其特征在于,所述日志报文采集模块有两种方式,一种是在服务器上安装单个日志报文采集模块,采集不同来源的日志报文;另一种是将多个日志报文采集模块分散部署到日志来源所在的系统上,多个日志报文采集模块同时运行采集。
一种可并发和断续分析的日志事件关联分析方法和装置\n技术领域\n[0001] 本发明涉及信息安全领域内事件关联分析技术领域,特别涉及一种对多个不同的日志进行并发分析和断续分析的日志事件关联分析方法和装置。\n背景技术\n[0002] 近年来,由于信息技术的快速发展,企业信息技术基础设施建设规模不断扩大,IT监控、运维系统也得到广泛运用,此类系统针对网络设备、主机、操作系统、数据库系统以及各种应用系统进行监控,其技术手段主要是对各种日志数据进行采集,并通过对这些数据进行有效地分析,使用者或管理员就能够提前发现和避开灾难,并且找到安全事件的根本原因。这里的日志是指系统对某些对象的某些操作和其操作结果,比如用户登录或者是其在系统上的行为按时间有序的集合。每条日志记录存储着一次单独的事件,记录中一般包含一个时间戳和一个消息。\n[0003] 目前流行的日志分析的方法可分为三种:(1)字串查找方法:这是最简单的方法,即从日志文件中搜寻特征字串,并根据搜寻的结果来判断是否需要报警。这种方法提取速度快,但无分析功能,功能简单,智能化不高。(2)正则表达式方法:利用正则表达式对日志文件进行分析,正则表达式实际上也是一种规则表达式,这种方法能够实现单个日志内的复杂字串分析,但是无法适用于多日志联合分析。(3)事件关联分析:事先按一定的定义规则脚本,利用规则脚本进行日志审计,能够在整体上将日志文件中不同信息行在时间和事件上进行关联,这种方式现在已逐渐成为日志分析的主流技术。\n[0004] 但是目前的事件关联分析方法均没有从多日志的并发分析和断续分析上考虑,日志并发分析是指单个分析模块能够在同一时间间隔内对多个不同来源的日志进行分析,并能够在不同日志之间进行事件关联分析,日志断续分析是指分析模块能够保存前一次日志分析的状态,当新的日志片段到来时,能够结合所保存的前一次的分析状态继续运行。现有的方法均没有给出实现上述功能的启示。\n[0005] 因此,研究一种可对多个不同的日志进行并发分析和断续分析的日志分析方法和装置具有极大的理论和实用价值。\n发明内容\n[0006] 本发明的主要目的在于克服现有技术的缺点与不足,提供一种可并发和断续分析的日志事件关联分析方法和装置,使得单一事件关联分析装置能够在同一时间间隔内对不同来源的日志进行分析,并能够保证日志分析中断后能从断点开始继续分析,从而实现单个日志内以及多个日志之间的事件关联分析。\n[0007] 本发明的一个目的通过以下的技术方案实现:一种可并发和断续分析的日志事件关联分析方法,具体包括以下步骤:\n[0008] (1)准备阶段:首先根据所分析事件的性质在规则定义模块中定义分析规则,分析规则被传送至事件关联分析模块,然后日志报文采集模块依次采集各个日志来源的日志报文,并根据状态保存模块所保存的日志最近时间戳,即日志报文的最后一行的时间戳,每次只采集上一次采集后新增的日志内容,采集完成后更新状态保存模块所保存的该日志最近时间戳;定义的分析规则由一个或若干个子规则组成,子规则的内容包括日志来源,日志来源由一个或若干个日志名组成;\n[0009] (2)事件关联分析:事件关联分析模块接收到日志报文采集模块采集到的日志报文后按照顺序送入缓存区,根据子规则的需求判断是否需要对多个日志进行合并分析,是则将多个日志进行合并然后进行解析,否则直接进行解析;\n[0010] (3)状态信息保存:将当前事件关联分析的中间状态变量值保存到状态保存模块;\n[0011] (4)分析结果输出:事件关联分析过程中如触发某关联事件,就将该关联事件传送至报警输出模块,发出该关联事件的报警信号,然后继续进行日志报文的采集,如果触发另一子规则,则导入该子规则,转入步骤(2)。\n[0012] 所述步骤(1)中,定义的分析规则由下面的一个或若干个子规则组成,子规则的内容包括:\n[0013] (1-1)子规则名,用于对各个规则进行标记;\n[0014] (1-2)日志来源,日志来源由一个或若干个日志名组成;\n[0015] (1-3)触发动作前提,即在满足设定的条件下才触发动作;\n[0016] (1-4)动作,即步骤(1-3)所采用的触发动作前提被满足后所需完成的动作。\n[0017] 所述步骤(1-3)中所述的触发动作前提为以下四种:\n[0018] (1-3-1)某正则表达式被匹配则触发动作;\n[0019] (1-3-2)某正则表达式在时间戳A和时间戳B之间被匹配则触发动作,时间戳A小于时间戳B;\n[0020] (1-3-3)计算某正则表达式在规定时间内被匹配的次数,如在时间戳C和时间戳D之间被匹配的次数达到一定阈值则触发动作,时间戳C小于时间戳D;\n[0021] (1-3-4)正则表达式1被匹配的前提下,接着又匹配正则表达式2,则触发动作。\n[0022] 所述步骤(1-4)中,所述的动作分为两种形式,一种是从一个子规则触发另一个子规则,此时需在此子规则中写入下一个子规则的规则名;另一种是从一个子规则触发一个关联事件,此时需在这一个子规则中写入此关联事件的事件名。\n[0023] 所述步骤(2)中,解析具体是指根据规则和上次保存的中间状态信息依次对日志报文进行解析,具体解析流程如下:\n[0024] (2-1)读取规则中的第一个子规则;\n[0025] (2-2)根据子规则中的触发动作前提对日志报文进行正则表达式匹配;\n[0026] (2-3)完成此子规则所读入的日志报文的所有行的匹配后,将中间状态变量保存到状态保存模块,\n[0027] (2-4)在该条子规则解析过程中如触发动作,则根据触发对象不同采用不同的处理方式,具体如下:若触发另一子规则,则立即转入此子规则并进行解析,解析方法如上;\n若触发关联事件,将该关联事件传送至报警输出模块。\n[0028] 所述步骤(2-3)中所述的中间状态变量包括:\n[0029] (2-3-1)当前正在解析的子规则名;\n[0030] (2-3-2)根据触发动作前提的种类不同,所保存的匹配信息也不同,具体分类如下:触发动作前提为步骤(1-3-1)或(1-3-2)所述类型时,不记录匹配信息;触发动作前提为步骤(1-3-3)所述类型时,保存匹配次数;触发动作前提为步骤(1-3-4)所述类型时,记录正则表达式1是否被匹配。\n[0031] 一种实现上述方法的可并发和断续分析的日志事件关联分析装置,包括:\n[0032] 规则定义模块,用于提供用户可以进行规则定义的人机交互接口;\n[0033] 日志报文采集模块,用于根据设定的时间间隔和状态保存模块中的日志最近时间戳依次采集不同来源的日志报文,在采集完毕后将此次所采集的日志最近时间戳发送至状态保存模块;\n[0034] 事件关联分析模块,用于根据定义好的规则对日志报文进行解析,如需要同时解析多个日志来源,就首先对多个日志报文进行合并,然后再进行解析,在对日志进行分析时使用上一次分析所保存的各种中间状态变量值,并更新状态保存模块中的中间状态变量;\n[0035] 状态保存模块,用于保存日志分析中的中间状态变量和每一个日志的最近时间戳;\n[0036] 报警输出模块,用于在事件关联分析过程中触发某关联事件时,发出该关联事件的报警信号;\n[0037] 其中规则定义模块、日志报文采集模块、状态保存模块、报警输出模块均分别与事件关联分析模块相连,日志报文采集模块也与状态保存模块相连。\n[0038] 所述日志报文采集模块有两种方式,一种是在服务器上安装单个日志报文采集模块,采集不同来源的日志报文;另一种是将多个日志报文采集模块分散部署到日志来源所在的系统上,多个日志报文采集模块同时运行采集。\n[0039] 本发明与现有技术相比,具有如下优点和有益效果:\n[0040] 1、本发明可同时采集多个日志,然后通过一个事件关联分析装置进行分析,能够更好的将采集的数据进行综合分析,把分散的异常事件痕迹关联起来,从而给出完整的事件描述,例如对于黑客入侵行为,因为黑客入侵行为并不是独立的,而都是有关联的,所以要保护网络的安全及在黑客入侵时做出提前报警,就需要对入侵行为进行全面分析,而入侵痕迹大多是以日志的形式表现,因此能够将多日志进行同时分析,可提高预测的准确性。\n[0041] 2、本发明将事件关联分析后的值以中间状态值的形式存入状态保存模块,同时还保存最后的日志时间,从而可使日志分析中断后能从断点开始继续分析,能够解决现有技术在日志采集不是实时连续时会导致分析中断的问题,能够提高分析的准确度。\n[0042] 3、本发明为网络监控、网络管理系统提供了多个日志的并发分析功能、以及断续分析功能,实现单个日志内以及多个日志之间的事件关联分析,增强了网络监控、网络管理系统的日志审计功能,并能够提高网络预警的准确度,进而保障网络监控和管理系统的安全。\n附图说明\n[0043] 图1是本发明装置的结构示意图;\n[0044] 图2是本发明方法的流程示意图。\n具体实施方式\n[0045] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。\n[0046] 实施例1\n[0047] 如图1所示,一种实现可并发和断续分析的日志事件关联分析装置,包括:\n[0048] 规则定义模块,用于提供用户可以进行规则定义的人机交互接口;\n[0049] 日志报文采集模块,用于根据设定的时间间隔和状态保存模块中的日志最近时间戳依次采集不同来源的日志报文,在采集完毕后将此次所采集的日志最近时间戳发送至状态保存模块;\n[0050] 事件关联分析模块,用于根据定义好的规则对日志报文进行解析,如需要同时解析多个日志来源,就首先对多个日志报文进行合并,然后再进行解析,在对日志进行分析时使用上一次分析所保存的各种中间状态变量值,并更新状态保存模块中的中间状态变量;\n[0051] 状态保存模块,用于保存日志分析中的中间状态变量和每一个日志的最近时间戳;\n[0052] 报警输出模块,用于在事件关联分析过程中触发某关联事件时,发出该关联事件的报警信号;\n[0053] 其中规则定义模块、日志报文采集模块、状态保存模块、报警输出模块均分别与事件关联分析模块相连,日志报文采集模块也与状态保存模块相连。\n[0054] 所述日志报文采集模块有两种方式,一种是在服务器上安装单个日志报文采集模块,采集不同来源的日志报文;另一种是将多个日志报文采集模块分散部署到日志来源所在的系统上,多个日志报文采集模块同时运行采集。\n[0055] 如图2所示,本实施例中通过对三个日志来源(Log_A、Log_B、Log_C)进行日志事件关联分析,来说明本发明方法是如何实现并发和断续分析,具体包括以下步骤:\n[0056] (1)准备阶段:首先根据所分析事件的性质在规则定义模块中定义分析规则,分析规则具体包含4个子规则,分别是:\n[0057] (1-1)子规则1:\n[0058] 规则名:Rule_A\n[0059] 日志来源:Log_A\n[0060] 触发动作前提:正则表达式Reg_A被触发\n[0061] 动作:转入子规则Rule_B\n[0062] (1-2)子规则2:\n[0063] 规则名:Rule_A\n[0064] 日志来源:Log_B\n[0065] 触发动作前提:正则表达式Reg_B在时间戳Time_A和Time_B之间被匹配[0066] 动作:转入子规则Rule_C\n[0067] (1-3)子规则3:\n[0068] 规则名:Rule_C\n[0069] 日志来源:Log_A和Log_B\n[0070] 触发动作前提:正则表达式Reg_C在时间戳Time_C和Time_D之间被匹配5次以上\n[0071] 动作:转入子规则Rule_D\n[0072] (1-4)子规则4:\n[0073] 规则名:Rule_D\n[0074] 日志来源:Log_C\n[0075] 触发动作前提:首先匹配正则表达式Reg_D,接着又匹配正则表达式Reg_E[0076] 动作:触发关联事件Event_A\n[0077] 然后将这4个子规则传送至事件关联分析模块,然后日志报文采集模块依次采集Log_A、Log_B、Log_C的日志报文,并将采集的日志报文传送至事件关联分析模块,同时将Log_A、Log_B、Log_C的日志报文最后一行的时间戳ts_A、ts_B、ts_C保存在状态保存模块。\n[0078] (2)事件关联分析:事件关联分析模块接收到日志报文采集模块采集到的日志报文后按照顺序送入缓存区,根据子规则的需求判断是否需要对多个日志进行合并分析,是则将多个日志进行合并然后进行解析,否则直接进行解析。对于本实施例,根据4个子规则不同,具体解析过程描述如下:\n[0079] (2-1)读入子规则Rule_A,规则中日志来源为Log_A,所以仅对Log_A的日志报文进行分析,如果日志报文中的内容使得正则表达式Reg_A被触发,则触发动作前提成立转入动作,即转入子规则Rule_B,进行步骤(2-2)的操作;否则结束分析,等待最新采集的日志报文;\n[0080] (2-2)读入子规则Rule_B,规则中日志来源为Log_B,所以仅对Log_B的日志报文进行分析,如果日志报文中的内容使得正则表达式Reg_B在时间戳Time_A和Time_B之间被匹配,则触发动作前提成立转入动作,即转入子规则Rule_C,进行步骤(2-3)的操作;否则结束分析,等待最新采集的日志报文;\n[0081] (2-3)读入子规则Rule_C,规则中日志来源为Log_A和Log_B,所以需先将Log_A和Log_B进行合并,然后再对合并后的日志报文进行分析,如果合并后的日志报文中的内容使得正则表达式Reg_C在时间戳Time_C和Time_D之间被匹配5次以上,则触发动作前提成立转入动作,即转入子规则Rule_D,进行步骤(2-4)的操作;否则结束分析,将Reg_C匹配成功的次数存储到状态保存模块,用于下次连续分析,然后等待最新采集的日志报文;\n[0082] (2-4)读入子规则Rule_D,规则中日志来源为Log_C,所以仅对Log_C的日志报文进行分析,如果该日志报文中的内容首先匹配了正则表达式Reg_D,接着又匹配了正则表达式Reg_E,则触发动作前提成立从而触发关联事件Event_A;否则结束分析,在状态保存模块中记录正则表达式Reg_D是否被匹配,用于下次连续分析,然后等待最新采集的日志报文。\n[0083] (3)分析结果输出:对于步骤(2-1)、(2-2)、(2-3)所述的动作均为触发另一子规则,则分析过程立即转入此子规则并进行解析;对于步骤(2-4)所述的动作为触发关联事件Event_A,就将该关联事件传送至报警输出模块,发出该关联事件的报警信号。\n[0084] (4)日志报文采集模块继续依次采集时间戳ts_A、ts_B、ts_C后的Log_A、Log_B、Log_C的日志报文,并将Log_A、Log_B、Log_C的日志报文最后一行的时间戳ts_A'、ts_B'、ts_C'保存在状态保存模块,然后按照上述步骤继续对新的日志报文进行分析。\n[0085] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
法律信息
- 2016-05-04
未缴年费专利权终止
IPC(主分类): H04L 12/24
专利号: ZL 201110058800.5
申请日: 2011.03.11
授权公告日: 2013.08.14
- 2014-04-16
专利权质押合同登记的生效
IPC(主分类): H04L 12/24
专利号: ZL 201110058800.5
申请日: 2011.03.11
授权公告日: 2013.08.14
登记号: 2014440000003
登记生效日: 2014.03.12
出质人: 广州蓝科科技股份有限公司
质权人: 吴立
发明名称: 一种可并发和断续分析的日志事件关联分析方法和装置
- 2013-08-14
- 2011-09-28
实质审查的生效
IPC(主分类): H04L 12/24
专利申请号: 201110058800.5
申请日: 2011.03.11
- 2011-08-17
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-11-26
|
2007-05-24
| | |
2
| |
2005-07-27
|
2005-01-20
| | |
3
| |
2010-11-17
|
2010-06-30
| | |
4
| |
2004-04-28
|
2002-10-22
| | |
5
| |
2009-12-23
|
2009-07-24
| | |
6
| | 暂无 |
2007-12-06
| | |
7
| |
2007-10-24
|
2007-06-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |