一种报警关联方法及装置与流程

文档序号:12789473阅读:347来源:国知局
一种报警关联方法及装置与流程

本发明涉及数据安全技术领域,特别是指一种报警关联方法及装置。



背景技术:

当Web应用越来越为丰富的同时,Web服务器以其强大的计算能力、处理性能及蕴含的较高价值逐渐成为主要攻击目标,结构化查询语言(Structured Query Language,简称SQL)注入、网页篡改、网页挂马等安全事件频繁发生,因此Web应用防火墙(Web Application Firewall,简称WAF)应运而生。WAF工作在应用层,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。WAF在运行过程中会产生大量报警且每条报警只能反映单个攻击行为,而由于现实的网络攻击往往结合多种工具和方法在一定的时间和空间跨度内实施多步攻击,WAF报警中分散的单个攻击行为可能只是同一次攻击的组成部分,只着眼于单个攻击行为不利于发现攻击者真实的攻击意图,因此如何将多个分散但有逻辑关系的细粒度的攻击行为组合成粗粒度的攻击过程是一个所面临的重要问题。

目前国内对于报警关联方法的研究主要集中在入侵检测系统(Intrusion Detection System,简称IDS)领域,关联方法主要分为三大类:

1.基于报警之间的相似性

这类方法通过计算不同的报警之间属性值的相似性来衡量报警的相似性,进而对报警进行聚类。

2.基于攻击的因果关系

这类方法首先标识出每个攻击类型的前提和结果,然后通过匹配不同的攻击行为之间因果关系建立多步攻击的关联。

3.基于已知攻击场景

这类方法通过把报警和已知的攻击场景相匹配来关联不同的攻击行为,重建多步攻击场景。

在传统的面向IDS报警的报警关联方法中,基于报警之前的相似性的报警关联方法由于只立足于攻击形式、攻击来源上的相似性对攻击行为聚类,难以对具有多种攻击形式、多种攻击来源的多步攻击完成聚类。基于攻击的因果关系和基于已知攻击场景的报警关联方法由于需要大量先验知识,难以构造完善的先验知识库,而且需要不断更新先验知识库来适应新的攻击方法、攻击过程。

由于WAF报警与IDS报警所包含的信息不尽相同,如WAF报警中攻击者访问的域名就是IDS报警中不具备的信息,无法直接使用面向IDS报警的报警关联方法来关联WAF报警,因此如何设计一个面向WAF报警的报警关联方法是一个所面临的重要问题。



技术实现要素:

本发明的目的在于提供一种报警关联方法及装置,用以解决WAF报警只着眼于单个攻击行为,不能将多个分散但有逻辑关系的细粒度的攻击行为组合成粗粒度的攻击过程,从而不利于发现攻击者真实的攻击意图的问题。

为了实现上述目的,本发明提供了一种报警关联方法,包括:

根据应用防火墙WAF报警日志,得到攻击行为信息;

根据所述攻击行为信息,获取攻击者的攻击模式信息,所述攻击模式信息包括攻击者在一个攻击过程中的各个攻击行为所对应的攻击类型信息;

根据不同的攻击者的攻击模式信息之间的相似度,对不同的攻击者进行关联处理。

其中,所述根据应用防火墙WAF报警日志,得到攻击行为信息,包括:

从所述WAF报警日志中提取出至少一个攻击行为,每个所述攻击行为包括:被攻击者的域名信息、攻击时间信息、攻击类型信息及攻击者的IP信息;

根据每个所述攻击者的IP信息,分配一用于标识攻击者身份的标识信息,其中,不同的IP对应于不同的标识信息;

将包括所述攻击行为及用于标识所述攻击行为中攻击者身份的标识信息的信息组合,作为所述攻击行为信息。

其中,所述根据所述攻击行为信息,获取攻击者的攻击模式信息,包括:

根据所述攻击行为信息,将具有相同域名信息和相同标识信息、且攻击时间的差值小于第一预设阈值的攻击行为划分为同一个攻击过程;

获取每个攻击过程中的攻击类型信息;

将每个攻击过程对应的域名信息、标识信息及攻击类型信息作为所述标识信息所标识攻击者的攻击模式信息。

其中,所述获取每个攻击过程中的攻击类型信息,包括:

根据攻击时间信息,对每个攻击过程中的各个攻击行为所对应的攻击类型信息进行排序处理,得到每个攻击过程中的攻击类型序列信息;

将每个攻击过程的攻击类型序列信息中相邻且相同的两个攻击类型信息进行合并处理,并将合并后的攻击类型序列信息,作为该攻击过程中的攻击类型信息。

其中,所述根据不同的攻击者的攻击模式信息之间的相似度,对不同的攻击者进行关联处理,包括:

获取不同的攻击者的攻击模式信息之间的相似度;

若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息。

其中,所述获取不同的攻击者的攻击模式信息之间的相似度,包括:

分别获取两个不同的攻击者的攻击类型序列信息Sa和Sb

通过如下公式获取Sa和Sb的最长公共子序列的长度ma,b

ma,b=f(na,nb);

其中,Typea,i表示Sa中的第i个攻击类型,Typeb,j表示Sb中的第j个攻击类型,na表示Sa的长度,nb表示Sb的长度;

根据所述最长公共子序列的长度ma,b是否满足预设条件,判断所述两个不同的攻击者的攻击模式信息是否相似,所述预设条件为

若相似,则通过公式计算所述两个不同的攻击者的攻击模式信息之间的相似度。

其中,在所述若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息之后,所述报警关联方法还包括:

判断根据WAF报警日志得到的攻击行为信息中,是否存在所述两个不同的攻击者的攻击行为信息;

若存在,则将所述两个不同的攻击者的攻击行为信息中的标识信息修改为重新分配的标识信息。

本发明还提供了一种报警关联装置,包括:

第一获取模块,用于根据应用防火墙WAF报警日志,得到攻击行为信息;

第二获取模块,用于根据所述攻击行为信息,获取攻击者的攻击模式信息,所述攻击模式信息包括攻击者在一个攻击过程中的各个攻击行为所对应的攻击类型信息;

关联模块,用于根据不同的攻击者的攻击模式信息之间的相似度,对不同的攻击者进行关联处理。

其中,所述第一获取模块包括:

提取子模块,用于从所述WAF报警日志中提取出至少一个攻击行为,每个所述攻击行为包括:被攻击者的域名信息、攻击时间信息、攻击类型信息及攻击者的IP信息;

分配子模块,用于根据每个所述攻击者的IP信息,分配一用于标识攻击者身份的标识信息,其中,不同的IP对应于不同的标识信息;

第一确定子模块,用于将包括所述攻击行为及用于标识所述攻击行为中攻击者身份的标识信息的信息组合,作为所述攻击行为信息。

其中,所述第二获取模块包括:

划分子模块,用于根据所述攻击行为信息,将具有相同域名信息和相同标识信息、且攻击时间的差值小于第一预设阈值的攻击行为划分为同一个攻击过程;

第一获取子模块,用于获取每个攻击过程中的攻击类型信息;

第二确定子模块,用于将每个攻击过程对应的域名信息、标识信息及攻击类型信息作为所述标识信息所标识攻击者的攻击模式信息。

其中,所述第一获取子模块包括:

第一获取单元,用于根据攻击时间信息,对每个攻击过程中的各个攻击行为所对应的攻击类型信息进行排序处理,得到每个攻击过程中的攻击类型序列信息;

第二获取单元,用于将每个攻击过程的攻击类型序列信息中相邻且相同的两个攻击类型信息进行合并处理,并将合并后的攻击类型序列信息,作为该攻击过程中的攻击类型信息。

其中,所述关联模块包括:

第二获取子模块,用于获取不同的攻击者的攻击模式信息之间的相似度;

分配子模块,用于若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息。

其中,所述第二获取子模块包括:

第三获取单元,用于分别获取两个不同的攻击者的攻击类型序列信息Sa和Sb

第一计算单元,用于通过如下公式获取Sa和Sb的最长公共子序列的长度ma,b

ma,b=f(na,nb);

其中,Typea,i表示Sa中的第i个攻击类型,Typeb,j表示Sb中的第j个攻击类型,na表示Sa的长度,nb表示Sb的长度;

判断单元,用于根据所述最长公共子序列的长度ma,b是否满足预设条件,判断所述两个不同的攻击者的攻击模式信息是否相似,所述预设条件为

第二计算单元,用于若相似,则通过公式计算所述两个 不同的攻击者的攻击模式信息之间的相似度。

其中,上述报警关联装置,还包括:

判断模块,用于在所述若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息之后,判断根据WAF报警日志得到的攻击行为信息中,是否存在所述两个不同的攻击者的攻击行为信息;

重新分配模块,用于若根据WAF报警日志得到的攻击行为信息中存在所述两个不同的攻击者的攻击行为信息,则将所述两个不同的攻击者的攻击行为信息中的标识信息修改为重新分配的标识信息。

本发明实施例具有以下有益效果:

本发明实施例的报警关联方法,根据应用防火墙WAF报警日志,得到攻击行为信息;根据所述攻击行为信息,获取攻击者的攻击模式信息,所述攻击模式信息包括攻击者在一个攻击过程中的各个攻击行为所对应的攻击类型信息;根据不同的攻击者的攻击模式信息之间的相似度,对不同的攻击者进行关联处理。本发明实施例不需要额外的报警关联规则、报警关联知识库等先验知识,自动从WAF报警日志中提取攻击行为信息并进一步提取攻击者的攻击模式信息,通过攻击者的攻击模式信息对不同的攻击者进行关联处理,进而将大量细粒度的WAF报警信息关联成粗粒度的WAF报警信息。

附图说明

图1为本发明实施例的报警关联方法的第一工作流程图;

图2为本发明实施例的报警关联方法的第二工作流程图;

图3为本发明实施例的报警关联装置的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合具体实施例及附图进行详细描述。

本发明的实施例提供了一种报警关联方法及装置,解决了WAF报警只着眼于单个攻击行为,不能将多个分散但有逻辑关系的细粒度的攻击行为组合成粗 粒度的攻击过程,从而不利于发现攻击者真实的攻击意图的问题。

如图1所示,本发明实施例的报警关联方法,包括:

步骤11:根据应用防火墙WAF报警日志,得到攻击行为信息。

这里,攻击行为信息可具体包括:被攻击者的域名信息、攻击时间信息、攻击类型信息、攻击者的IP信息及用于标识攻击者身份的标识信息。

步骤12:根据上述攻击行为信息,获取攻击者的攻击模式信息,上述攻击模式信息包括攻击者在一个攻击过程中的各个攻击行为所对应的攻击类型信息。

在本发明的具体实施例中,对攻击行为信息进行划分处理,将具有相同域名信息和标识信息,且攻击时间小于预设阈值的攻击行为划分为同一个攻击过程,然后根据该攻击过程对应的域名信息和标识信息,得到该攻击过程对应的攻击模式信息。

步骤13:根据不同的攻击者的攻击模式信息之间的相似度,对不同的攻击者进行关联处理。

本发明实施例首先计算不同攻击者的攻击模式的相似性,若两个不同攻击者的攻击模式之间的相似性大于预定值,则重新为两个不同攻击者分配一标识信息。本发明实施例中基于攻击模式的相似性能够更加准确的合并攻击者,进而达到将细粒度的WAF报警信息关联成粗粒度的WAF报警信息的目的。

进一步地,在本发明的具体实施例中,上述步骤11包括:

从所述WAF报警日志中提取出至少一个攻击行为,每个所述攻击行为包括:被攻击者的域名信息、攻击时间信息、攻击类型信息及攻击者的IP信息;根据每个所述攻击者的IP信息,分配一用于标识攻击者身份的标识信息,其中,不同的IP对应于不同的标识信息;将包括所述攻击行为及用于标识所述攻击行为中攻击者身份的标识信息的信息组合,作为所述攻击行为信息。本发明实施例通过为每一个IP分配唯一一个身份标识信息ID,方便后续根据所述ID对不同的攻击者进行关联处理。

进一步地,在本发明的具体实施例中,上述步骤12包括:

根据所述攻击行为信息,将具有相同域名信息和相同标识信息、且攻击时间的差值小于第一预设阈值的攻击行为划分为同一个攻击过程;获取每个攻击过程中的攻击类型信息;将所述同一攻击过程对应的域名信息、标识信息及攻 击类型信息作为所述标识信息所标识攻击者的攻击模式信息。

上述获取每个攻击过程中的攻击类型信息具体包括:根据攻击时间信息,对每个攻击过程中的各个攻击行为所对应的攻击类型信息进行排序处理,得到每个攻击过程的攻击类型序列信息;将每个攻击过程的攻击类型序列信息中相邻且相同的两个攻击类型信息进行合并处理,并将合并后的攻击类型序列信息,作为所述该攻击过程中的攻击类型信息。

本发明实施例不需要额外的报警关联规则、报警关联知识库等先验知识,自动从WAF报警日志中提取攻击行为信息并进一步提取攻击者的攻击模式信息,通过攻击者的攻击模式信息对不同的攻击者进行关联处理,进而将大量细粒度的WAF报警信息关联成粗粒度的WAF报警信息。

进一步地,在本发明的具体实施例中,上述步骤13包括:

获取不同的攻击者的攻击模式信息之间的相似度;若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息。

下面具体说明如何获取不同攻击者的攻击模式信息之间的相似度。

假定任意两个具有不同ID的攻击者a,b,其攻击模式信息分别为Pa,Pb,攻击类型序列信息分别为Sa,Sb,设Sa的长度为na,Sb的长度为nb

首先通过如下公式计算Sa和Sb的最长公共子序列的长度ma,b

ma,b=f(na,nb);

其中,Typea,i表示Sa中的第i个攻击类型,Typeb,j表示Sb中的第j个攻击类型,na表示Sa的长度,nb表示Sb的长度;

接着,判断ma,b是否满足以下预设条件:

若ma,b能够满足以上预设条件,则认为a,b的攻击模式信息相似,并通过公式计算a,b的攻击模式信息之间的相似度。

另外,在本发明的具体实施例中,在所述若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息之后,所述报警关联方法还包括:判断根据WAF报警日志得到的攻击行为信息中,是否存在所述两个不同的攻击者的攻击行为信息;若存在,则将所述两个不同的攻击者的攻击行为信息中的标识信息修改为重新分配的标识信息。

下面具体说明本发明实施例的工作流程。

如图2所示,本发明实施例的报警关联方法,包括:

步骤21:从WAF报警日志中提取攻击行为。

具体的,将WAF报警日志中各条记录格式化为攻击行为A=<Time,Domain,Type,IP,ID>,其中Time表示实施攻击的时间,Domain表示被攻击的域名,Type表示攻击的类型,IP表示攻击者的IP,ID用来标识攻击者的身份。初始时Time,Domain,Type,IP均从WAF报警日志记录中直接读取,同时为每个IP分配一个唯一的ID值,即相同的IP具有相同的ID值,不同的IP具有不同的ID值。

步骤22:根据攻击行为,提供攻击者的攻击模式信息。

在本发明的具体实施例中,可根据设定的时间间隔阈值ΔT(如ΔT=12小时),将时间间隔小于ΔT且具有相同Domain和ID的攻击行为A视为同一个攻击过程。对于每个攻击过程,按时序列出其包含的各个攻击行为A的Type属性的值,并将相邻且相同的Type合并为一个,得到攻击类型序列S=<Type1,Type2,...>,综合该攻击过程对应的Domain和ID,得到该攻击过程对应的攻击模式P=<Domain,ID,S>。最后根据设定的攻击类型序列长度阈值ΔL(如ΔL=5),舍弃所有攻击类型序列S长度小于ΔL的攻击模式P。

步骤23:判断是否有可以合并的攻击者。

这里,通过上述公式判断是存在攻击模式相似的攻击者,若存在,则认为有可以合并的攻击者。

步骤24:若存在可以合并的攻击者,则合并相似度最高的攻击者,并返回步骤22。

设具有最高相似度的攻击模式为Px和Py,合并攻击者IDx和IDy:为攻击者 IDx和IDy分配一个新的唯一的ID值u,并逐一检查从WAF报警日志中提取出的各个攻击行为A,如果其ID值为IDx或IDy,则将其ID值修改为新分配的ID值u。

在本发明的具体实施例中,若存在可以合并的攻击者,则迭代执行“合并相似度最高的攻击者”以及“提供攻击者的攻击模式信息”直至不存在ID不同且相似的攻击模式,也即不存在可以合并的攻击者为止。

步骤25:若不存在可以合并的攻击者,则生成结果。

这里生成的结果包括每个攻击过程中,按时序列出的各个攻击行为信息<A1,A2,...>,即关联得到的粗粒度的WAF报警信息。

本发明实施例中,通过将WAF报警日志中多个分散但有逻辑关系的细粒度的攻击行为组合成粗粒度的攻击过程,能够为消除冗余报警、重现攻击场景、分析攻击者攻击意图等相关工作提供基础和便捷。

另外,由于在不同域名下提供的Web服务往往是不同的,攻击者在不同域名下的攻击往往属于不同的攻击过程,因而相比于直接使用传统的面向IDS报警的报警关联方法,结合被攻击的域名来区分不同的攻击过程能够提高关联WAF报警的准确率。

如图3所示,本发明的实施例还提供了一种报警关联装置,包括:

第一获取模块31,用于根据应用防火墙WAF报警日志,得到攻击行为信息;

第二获取模块32,用于根据所述攻击行为信息,获取攻击者的攻击模式信息,所述攻击模式信息包括攻击者在一个攻击过程中的各个攻击行为所对应的攻击类型信息;

关联模块33,用于根据不同的攻击者的攻击模式信息之间的相似度,对不同的攻击者进行关联处理。

进一步地,所述第一获取模块31包括:

提取子模块311,用于从所述WAF报警日志中提取出至少一个攻击行为,每个所述攻击行为包括:被攻击者的域名信息、攻击时间信息、攻击类型信息及攻击者的IP信息;

分配子模块312,用于根据每个所述攻击者的IP信息,分配一用于标识攻击者身份的标识信息,其中,不同的IP对应于不同的标识信息;

第一确定子模块313,用于将包括所述攻击行为及用于标识所述攻击行为中攻击者身份的标识信息的信息组合,作为所述攻击行为信息。

进一步地,所述第二获取模块32包括:

划分子模块321,用于根据所述攻击行为信息,将具有相同域名信息和相同标识信息、且攻击时间的差值小于第一预设阈值的攻击行为划分为同一个攻击过程;

第一获取子模块322,用于获取每个攻击过程中的攻击类型信息;

第二确定子模块323,用于将每个攻击过程对应的域名信息、标识信息及攻击类型信息作为所述标识信息所标识攻击者的攻击模式信息。

进一步地,所述第一获取子模块322包括:

第一获取单元3221,用于根据攻击时间信息,对每个攻击过程中的各个攻击行为所对应的攻击类型信息进行排序处理,得到每个攻击过程中的攻击类型序列信息;

第二获取单元3222,用于将每个攻击过程的攻击类型序列信息中相邻且相同的两个攻击类型信息进行合并处理,并将合并后的攻击类型序列信息,作为该攻击过程中的攻击类型信息。

进一步地,所述关联模块33包括:

第二获取子模块331,用于获取不同的攻击者的攻击模式信息之间的相似度;

分配子模块332,用于若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息。

进一步地,所述第二获取子模块331包括:

第三获取单元3311,用于分别获取两个不同的攻击者的攻击类型序列信息Sa和Sb

第一计算单元3312,用于通过如下公式获取Sa和Sb的最长公共子序列的长度ma,b

ma,b=f(na,nb);

其中,Typea,i表示Sa中的第i个攻击类型,Typeb,j表示Sb中的第j个攻击类型,na表示Sa的长度,nb表示Sb的长度;

判断单元3313,用于根据所述最长公共子序列的长度ma,b是否满足预设条件,判断所述两个不同的攻击者的攻击模式信息是否相似,所述预设条件为

第二计算单元3314,用于若相似,则通过公式计算所述两个不同的攻击者的攻击模式信息之间的相似度。

进一步地,上述报警关联装置,还包括:

判断模块34,用于在所述若两个不同的攻击者的攻击模式信息之间的相似度大于第二预设阈值,则为所述两个不同的攻击者重新分配同一标识信息之后,判断根据WAF报警日志得到的攻击行为信息中,是否存在所述两个不同的攻击者的攻击行为信息;

重新分配模块35,用于若根据WAF报警日志得到的攻击行为信息中存在所述两个不同的攻击者的攻击行为信息,则将所述两个不同的攻击者的攻击行为信息中的标识信息修改为重新分配的标识信息。

需要说明的是,该装置是与上述方法实施例对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。

本发明实施例的报警关联方法及装置,不需要额外的报警关联规则、报警关联知识库等先验知识,自动从WAF报警日志中提取攻击行为信息并进一步提取攻击者的攻击模式信息,通过攻击者的攻击模式信息对不同的攻击者进行关联处理,进而将大量细粒度的WAF报警信息关联成粗粒度的WAF报警信息。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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