一种针对多步攻击的实时攻击场景重构方法、系统与设备转让专利

申请号 : CN202310050901.0

文献号 : CN115801458B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢峥高庆官路广平付安民

申请人 : 南京赛宁信息技术有限公司

摘要 :

本发明公开了一种针对多步攻击的实时攻击场景重构方法、系统与设备。本发明方法包括警报收集、警报预处理、相似度计算、警报聚合、新建警报簇、关联攻击场景、新建攻击场景等步骤。本发明通过对警报信息进行预处理来筛选警报和将警报与TTP进行关联,实现对警报数据的清洗和初步分析,提高聚合关联的效率;利用警报之间的相似度来将大量高度重复的警报聚合为警报簇,有效解决了入侵警报的冗余问题,同时警报的初步聚合有助于系统提高关联速度,降低系统开销;通过先验知识对警报簇进行前后因果关联,基于实时的映射匹配算法实时重构出攻击场景,实现了对攻击者的攻击链条的复现和攻击意图的展现,使得本发明可以更加高效直观地重构攻击场景。

权利要求 :

1.一种针对多步攻击的实时攻击场景重构方法,其特征在于,包括如下步骤:

基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型;

对原始警报信息进行分析,添加威胁程度字段,并将攻击与TTP框架关联起来在警报中添加TTP字段,标识警报的攻击阶段和攻击技术,得到待匹配的警报;

计算待匹配的警报与警报簇之间的属性相似度,如果存在相似度超过设定阈值的警报簇,则更新该警报簇信息,否则新建警报簇,得到待匹配的警报簇;所述警报簇聚合了同一攻击者同一攻击阶段对同一目标主机发起的同一类型的多次攻击产生的警报;

使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段;如果能够匹配到,则关联该警报簇到攻击场景中,否则根据警报簇新建攻击场景;通过实时的映射匹配算法,将警报簇映射匹配到某一攻击场景的具体阶段,包括:首先调出所有匹配态的攻击场景;然后以IP地址进行初筛,如果攻击场景中不存在警报簇的IP地址,直接跳过;针对每个攻击场景的每个阶段警报簇,使用预先设定的攻击模板,计算两者之间的匹配度;最后依据匹配度进行关联或新增操作;

相似度计算公式为: ,其中ai表示第i个待匹配的警

报信息,Aj表示第j个已聚合的警报簇信息,k表示第k个属性,K是属性总数目,函数h是与属性相关的相似度比较函数,对于每个属性,函数h根据比较结果给予[0,1]的相似值,对于函数h计算得到的属性相似值,使用相应的权重wk进行加权;

与属性相关的相似度比较函数取值规则如下:

源IP地址:警报与警报簇相同为1,不同为0;

源端口:警报与警报簇相同为1,不同为0;

目的IP地址:警报与警报簇相同为1,不同为0;

目的端口:警报与警报簇直接目的端口差值的绝对值比例;

威胁程度:警报与警报簇威胁程度差值的绝对值比例;

时间戳:警报与警报簇之间时间差不超过设定阈值为1,其余为0;

攻击类型:警报与警报簇同属一类为1,其余为0;

攻击阶段:警报与警报簇同属一阶段为1,其余为0。

2.根据权利要求1所述的针对多步攻击的实时攻击场景重构方法,其特征在于,所述警报簇的基础属性与聚合的警报相同,时间戳使用最新时间,威胁程度使用均值,目的端口使用众数。

3.根据权利要求1所述的针对多步攻击的实时攻击场景重构方法,其特征在于,所述攻击模板定义了一次完整攻击的各攻击阶段之间的关系,包括顺序攻击行为关系,失陷回连行为关系以及横向移动行为关系;所述顺序攻击行为关系的特点包括:第i个警报簇Ai与第j个攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相同、警报阶段存在前后因果关系;所述失陷回连行为关系的特点包括:第i个警报簇Ai与第j个攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相反、警报存在前后因果关系;所述横向移动行为关系的特点包括:第i个警报簇Ai的源IP地址和第j个攻击场景Sj某阶段警报簇目的IP地址相同、攻击发生时间存在前后关系。

4.一种针对多步攻击的实时攻击场景重构系统,其特征在于,包括:

警报收集模块,用于基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型;

警报预处理模块,用于基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型对原始警报信息进行分析,添加威胁程度字段,并将攻击与TTP框架关联起来在警报中添加TTP字段,标识警报的攻击阶段和攻击技术,得到待匹配的警报;

警报聚合模块,用于计算待匹配的警报与警报簇之间的属性相似度,如果存在相似度超过设定阈值的警报簇,则更新该警报簇信息,否则新建警报簇,得到待匹配的警报簇;所述警报簇聚合了同一攻击者同一攻击阶段对同一目标主机发起的同一类型的多次攻击产生的警报;

以及,警报簇关联模块,用于使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段;如果能够匹配到,则关联该警报簇到攻击场景中,否则根据警报簇新建攻击场景;

警报簇关联模块中,通过实时的映射匹配算法,将警报簇映射匹配到某一攻击场景的具体阶段,包括:首先调出所有匹配态的攻击场景;然后以IP地址进行初筛,如果攻击场景中不存在警报簇的IP地址,直接跳过;针对每个攻击场景的每个阶段警报簇,使用预先设定的攻击模板,计算两者之间的匹配度;最后依据匹配度进行关联或新增操作;

相似度计算公式为: ,其中ai表示第i个待匹配的警

报信息,Aj表示第j个已聚合的警报簇信息,k表示第k个属性,K是属性总数目,函数h是与属性相关的相似度比较函数,对于每个属性,函数h根据比较结果给予[0,1]的相似值,对于函数h计算得到的属性相似值,使用相应的权重wk进行加权;

与属性相关的相似度比较函数取值规则如下:

源IP地址:警报与警报簇相同为1,不同为0;

源端口:警报与警报簇相同为1,不同为0;

目的IP地址:警报与警报簇相同为1,不同为0;

目的端口:警报与警报簇直接目的端口差值的绝对值比例;

威胁程度:警报与警报簇威胁程度差值的绝对值比例;

时间戳:警报与警报簇之间时间差不超过设定阈值为1,其余为0;

攻击类型:警报与警报簇同属一类为1,其余为0;

攻击阶段:警报与警报簇同属一阶段为1,其余为0。

5.根据权利要求4所述的针对多步攻击的实时攻击场景重构系统,其特征在于,所述攻击模板定义了一次完整攻击的各攻击阶段之间的关系,包括顺序攻击行为关系,失陷回连行为关系以及横向移动行为关系;所述顺序攻击行为关系的特点包括:第i个警报簇Ai与第j个攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相同、警报阶段存在前后因果关系;所述失陷回连行为关系的特点包括:第i个警报簇Ai与第j个攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相反、警报存在前后因果关系;所述横向移动行为关系的特点包括:第i个警报簇Ai的源IP地址和第j个攻击场景Sj某阶段警报簇目的IP地址相同、攻击发生时间存在前后关系。

6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1‑3任一项所述的针对多步攻击的实时攻击场景重构方法的步骤。

说明书 :

一种针对多步攻击的实时攻击场景重构方法、系统与设备

技术领域

[0001] 本发明涉及网络空间安全技术领域,特别是一种针对多步攻击的实时攻击场景重构方法、系统与设备。

背景技术

[0002] 计算机技术的高速发展,在为生产生活带来极大便利的同时,也带来了诸多网络安全隐患。当前,网络攻击活动呈现出多元化、复杂化和频繁化的趋势,造成的网络安全威胁也越来越严重。在众多的网络攻击活动中,多步攻击场景占了很大比例,成为需要防范的重点。不同于传统的单步攻击,多步攻击场景由多个不同的攻击行为构成的完整攻击事件,其存在高隐蔽、高威胁等特点。及时、精准的通过攻击活动还原出多步攻击的全貌,并对攻击者的下一步攻击和攻击意图进行预测,对保护系统的网络安全有着重要的意义。
[0003] 入侵检测被广泛应用于检测计算机网络中违反安全策略行为,而入侵检测系统(IDS)作为应用入侵检测技术的主动防御体系,目前基于特征和异常的传统IDS是商业应用最广泛的解决方案。但是,入侵检测系统仅能对单独的攻击行为进行报警,在当前的攻击活动检测中,会造成大量冗余和高度相似的攻击警报,造成警报疲劳,使得网络安全管理员无法快速直观地识别攻击者的攻击意图。因而,我们需要使用攻击场景重构技术,将大量杂乱的告警信息整合成完整的攻击事件。
[0004] 真实的有效攻击往往是复杂的、多阶段的,通过协调各种单点攻击达到最终的攻击目标,而单条告警中呈现出的信息不足以表征整个攻击行为。攻击场景一般被定义为由入侵检测系统输出的警报信息依据某种联系(例如属性相似度、前后因果关系等)组成的警报集合。攻击场景多用来描述一次完整的攻击,而攻击场景重构技术就是从大量冗余的警报数据中还原攻击场景的全链条,帮助网络安全管理员对日常告警进行安全分析与维护。

发明内容

[0005] 发明目的:针对现有技术存在的问题,本发明的目的在于提供一种针对多步攻击的实时攻击场景重构方法、系统与设备,将大量的入侵警报进行预处理、聚合和关联,实时重构出攻击场景,缓解入侵检测中的警报疲劳问题,同时还原攻击全过程、攻击者意图和攻击影响。
[0006] 技术方案:实现本发明目的的技术解决方案为:一种针对多步攻击的实时攻击场景重构方法,包括如下步骤:
[0007] 基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型;
[0008] 对原始警报信息进行分析,添加威胁程度字段,并将攻击与TTP(Tactics, Techniques and Procedures;战术、技术和过程)框架关联起来在警报中添加TTP字段,标识警报的攻击阶段和攻击技术,得到待匹配的警报;
[0009] 计算待匹配的警报与警报簇之间的属性相似度,如果存在相似度超过设定阈值的警报簇,则更新该警报簇信息,否则新建警报簇,得到待匹配的警报簇;所述警报簇聚合了同一攻击者同一攻击阶段对同一目标主机发起的同一类型的多次攻击产生的警报;
[0010] 使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段;如果能够匹配到,则关联该警报簇到攻击场景中,否则根据警报簇新建攻击场景。
[0011] 作为优选,警报与警报簇之间的相似度计算公式为:,其中ai表示第i个待匹配的警报信息,Aj表示第j个已聚合的警报簇信息,k表示第k个属性,K是属性总数目,函数h是与属性相关的相似度比较函数,对于每个属性,函数h根据比较结果给予[0,1]的相似值,对于函数h计算得到的属性相似值,使用相应的权重wk进行加权。
[0012] 作为优选,与属性相关的相似度比较函数取值规则如下:
[0013] 源IP地址:警报与警报簇相同为1,不同为0;
[0014] 源端口:警报与警报簇相同为1,不同为0;
[0015] 目的IP地址:警报与警报簇相同为1,不同为0;
[0016] 目的端口:警报与警报簇直接目的端口差值的绝对值比例;
[0017] 威胁程度:警报与警报簇威胁程度差值的绝对值比例;
[0018] 时间戳:警报与警报簇之间时间差不超过设定阈值为1,其余为0;
[0019] 攻击类型:警报与警报簇同属一类为1,其余为0;
[0020] 攻击阶段:警报与警报簇同属一阶段为1,其余为0。
[0021] 作为优选,所述警报簇的基础属性与聚合的警报相同,时间戳使用最新时间,威胁程度使用均值,目的端口使用众数。
[0022] 作为优选,通过实时的映射匹配算法,将警报簇映射匹配到某一攻击场景的具体阶段,包括:首先调出所有匹配态的攻击场景;然后以IP地址进行初筛,如果攻击场景中不存在警报簇的IP地址,直接跳过;针对每个攻击场景的每个阶段警报簇,使用预先设定的攻击模板,计算两者之间的匹配度;最后依据匹配度进行关联或新增操作。
[0023] 作为优选,所述攻击模板定义了一次完整攻击的各攻击阶段之间的关系,包括顺序攻击行为关系,失陷回连行为关系以及横向移动行为关系;所述顺序攻击行为关系的特点包括:第i个警报簇Ai与第j个攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相同、警报阶段存在前后因果关系;所述失陷回连行为关系的特点包括:第i个警报簇Ai与第j个攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相反、警报存在前后因果关系;所述横向移动行为关系的特点包括:第i个警报簇Ai的源IP地址和第j个攻击场景Sj某阶段警报簇目的IP地址相同、攻击发生时间存在前后关系。
[0024] 基于相同的发明构思,本发明提供的一种针对多步攻击的实时攻击场景重构系统,包括:
[0025] 警报收集模块,用于基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型;
[0026] 警报预处理模块,用于基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型对原始警报信息进行分析,添加威胁程度字段,并将攻击与TTP框架关联起来在警报中添加TTP字段,标识警报的攻击阶段和攻击技术,得到待匹配的警报;
[0027] 警报聚合模块,用于计算待匹配的警报与警报簇之间的属性相似度,如果存在相似度超过设定阈值的警报簇,则更新该警报簇信息,否则新建警报簇,得到待匹配的警报簇;所述警报簇聚合了同一攻击者同一攻击阶段对同一目标主机发起的同一类型的多次攻击产生的警报;
[0028] 以及,警报簇关联模块,用于使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段;如果能够匹配到,则关联该警报簇到攻击场景中,否则根据警报簇新建攻击场景。
[0029] 基于相同的发明构思,本发明提供的一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的针对多步攻击的实时攻击场景重构方法的步骤。
[0030] 有益效果:本发明与现有技术相比,其显著优点为:
[0031] (1)实时关联。本发明基于网络入侵检测系统实时输出的入侵警报作为输入,实时对警报进行聚合,形成、更新警报簇,同时定时以警报簇为输入,进行前后因果关联,实时构建攻击场景。
[0032] (2)缓解警报疲劳。本发明在对入侵警报进行关联前,首先对警报进行聚合处理,将大量高度相似的警报聚合到警报集合中,极大地减少了警报规模,缓解警报疲劳,以便应对大量攻击警报的状况。
[0033] (3)提前挖掘因果关系。本发明基于警报生成规则与ATT&CK知识库之间的关联算法,提前挖掘出警报之间、警报簇之间的因果关系,在警报聚合后,可以及时快速将警报簇关联到攻击场景中。
[0034] (4)低开销。本发明基于先验知识和因果关系对攻击场景进行重构,为了适应大规模的警报轰炸,系统通过预处理挖掘和警报聚合,减少了传统场景重构的时间空间开销,可以快速高效地复现攻击场景,预测攻击意图。

附图说明

[0035] 图1是本发明实施例的方法总体流程图。
[0036] 图2是马丁杀伤链威胁、影响示意图。
[0037] 图3是通过本发明实施例重构还原的攻击场景示意图。
[0038] 图4是本发明实施例的模块框架设计图。实施方式
[0039] 下面结合附图及具体实施例对本发明作进一步详细描述。以下实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
[0040] 本发明实施例公开的一种基于多步攻击的实时攻击场景重构方法,首先基于网络入侵检测系统检测网络攻击形成原始警报信息,通过清洗警报关键数据和关联警报到TTP框架中进行预处理;然后根据警报之间的属性相似度对警报进行初步聚合,形成属性高度相似、攻击阶段、攻击目标相同的警报簇,初步解决警报疲劳问题;最后使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的攻击警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段,不断扩充,以此还原完整攻击事件,用于评估网络攻击和帮助安全人员迅速定位攻击位置和攻击意图。
[0041] 本发明实施例能够在入侵检测系统之上对检测到的入侵警报进行聚合和关联,从而将大量冗余的入侵警报重构为清晰的攻击场景,来复现攻击的全过程和预测攻击意图,以评估系统的安全态势。如图1所示,本发明实施例的具体实施步骤如下:
[0042] 步骤1,警报收集:
[0043] 在待检测的系统底部(网络边缘)部署网络入侵检测系统Suricata,对系统收到的网络攻击进行检测,同时将检测到的原始警报信息,通过日志采集器Filebeat传输至本系统所在服务器上,服务器端使用数据处理管道Logstash接收Fielbeat发来的原始警报日志,并进行过滤等操作,最后对警报数据进行持久化和结构化处理,选取警报中的关键字段信息将其存储到MySQL数据库的原始警报alert表中,作为后续步骤的输入数据。具体表现:筛选出警报的关键字段,持久化到MySQL数据库中——在本实施例中,我们选出了八个字段——源IP地址、源端口、目的IP地址、目的端口、协议、时间戳、触发规则、攻击类型。
[0044] 步骤2,警报预处理:
[0045] 在这一步,系统需要从数据库中实时获取到最新的警报信息,在原始警报信息的基础上,对警报的危害程度进行初步评估,如端口扫描、主机扫描等攻击行为,对系统的直接威胁小,相应地,其威胁度较低,而对于DDOS攻击、横向移动等入侵行为,攻击性强、威胁大,其警报的威胁度就高,评估完成后,添加威胁度字段到警报中,如图2所示,本实施例中使用数字1 7从小到大表示威胁程度,其划分标准则是根据网络安全威胁的杀伤链模型(侦~察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成)。对警报的威胁评估是为了在构建攻击场景时,尽可能的将威胁程度相近的行为聚合到一起,同时,在重建攻击场景后,亦可以根据各个警报、警报簇的威胁程度来尽快定位到攻击者的攻击意图和攻击目标,便于及时对系统受到的攻击进行紧急维护和后续升级。
[0046] 然后我们对警报信息进行进一步的分析,主要是警报的触发规则信息和攻击类型,来将攻击与ATT&CK的TTP(Tactics, Techniques and Procedures)框架关联起来在警报中添加TTP字段,标识警报的攻击阶段和攻击技术。本系统采用Suricata在线模式,即威胁检测实时网络流量;Suricata以 JSON 格式将包含元信息、文件信息和特定协议相关信息的警报写入日志文件,其中每条警报都会包含其签名 ID,因此可以通过分析检测规则,创建从规则签名 ID 到 CVE 编号的多对一映射。
[0047] 具体来说,就是将告警信息、触发规则与ATT&CK的TTP框架结合起来:利用基于 Suricata 的签名检测方法,我们可以获取攻击行为签名 ID,因此可以通过建立将签名 ID、CVE 编号、CWE、CAPEC、ATT&CK Technique 串联的多条连接路径,将原始日志映射到攻击模式。
[0048] 步骤3,相似度计算:
[0049] 根据警报的基础属性字段(包括源IP地址、源端口、目的IP地址、目的端口、威胁程度、时间、攻击类型和攻击阶段)来计算警报与警报簇(聚合后的警报集合,与警报有相同属性字段)之间的相似度,其计算公式 ;其中ai表示预处理后第i个待匹配的警报信息,Aj表示已聚合的第j个警报簇信息,k表示第k个属性,K是属性总数目,函数h是特定于属性相似度比较函数——对于每个属性,函数h根据比较结果给予[0,1]的相似值,相似值越大,代表属性之间越相似;对于函数h计算得到的属性相似值,使用相应的权重w进行加权,该权重主要用于衡量该属性在警报关联中的重要性。
[0050] 具体来说,对于这些属性字段中,我们分别给出其相似度比较函数[0051] (1)源IP地址(SrcIP):警报与警报簇相同为1,不同为0;
[0052] (2)源端口(SrcPort):警报与警报簇相同为1,不同为0;确保警报簇中的攻击为同一攻击者实施;
[0053] (3)目的IP地址(DestIP):警报与警报簇相同为1,不同为0;确保警报簇中的攻击为攻击者对同一目标主机实施;
[0054] (4)目的端口(DestPort):警报与警报簇直接目的端口差值的绝对值比例——1 ‑ abs(ai.DestPort – Aj.DestPort) / 66536;
[0055] (5)威胁程度(Level):警报与警报簇威胁程度差值的绝对值比例——1 – abs(ai.Level – Aj. Level) /allLevel;本例中allLevel=7;
[0056] (6)时间(Time):警报与警报簇之间时间差<=threshold为1,其余为0;
[0057] (7)攻击类型(Type):警报与警报簇同属一类为1,其余为0;如各类网络扫描(包括主机扫描和端口扫描)均为主动扫描类型的攻击;
[0058] (8)攻击阶段(Stage):警报与警报簇同属一阶段为1,其余为0。
[0059] 我们需要单独设置警报聚合时的各属性字段的权值和相似度判别的阀值来实现此部分中相似度的计算和比较。
[0060] 步骤4,警报聚合:
[0061] 根据步骤3相似度的计算结果,如果已有的警报簇均与该警报的相似度不高,则转到步骤5新建警报簇;否则,更新警报簇信息,包括攻击时间、端口等信息,转至步骤6进行因果关联。
[0062] 警报簇的更新可以分为两部分:一是基础属性,如IP地址、端口、攻击类型等属性,出于警报聚合的初衷,这部分字段标识了警报簇是由同一攻击者早同一阶段对同一目标主机发起的同一类型的多次攻击,因此更新时直接继承即可;二是需要更新、计算的属性字段,包括威胁程度、时间戳、目的端口等,这部分体现了警报簇中不同警报的差异,因而需要不同的处理方式:
[0063] (1)时间戳(Time):使用最新时间更新;
[0064] (2)威胁程度(Level):使用警报簇的均值更新;
[0065] (3)目的端口(DestPort):使用警报簇中所有警报的众数进行更新,若有多个,取其平均值作为更新。
[0066] 步骤5,新建警报簇:
[0067] 在没有警报簇可以与警报进行匹配的时候,以该警报信息来新建警报簇,警报簇的各项属性与警报一致,持久化到数据库中,进行下一步匹配。
[0068] 警报簇作为高度相似警报的集合,表示的是同一攻击者对同一台目标主机在同一攻击阶段发起的多次攻击行为,因而其源IP地址、目的IP地址、攻击类型、攻击阶段等基础信息应当与警报的对应属性相同;其次,时间戳作为同一攻击行为的持续攻击,区分了警报簇的时间关系,因而在新建或更新警报簇之时,应该用最新的时间替代;最后,警报簇的威胁程度,采用取均值的方法,作为警报簇整体的威胁程度。
[0069] 步骤6,关联攻击场景:
[0070] 对于待关联的警报簇,使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的攻击警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段,如果可以得到匹配,更新该警报簇到攻击场景中;不然转到步骤7根据警报簇新建攻击场景。
[0071] 首先,我们需要构建攻击模板:通过对已有攻击的攻击路径和攻击过程的归纳总结,我们发现,一次完整的攻击各阶段之间的关系一般分为三种:
[0072] 1) 顺序攻击行为。此类关系最为常见,是指攻击者对同一台目标主机发起的顺序攻击。如首先对目标主机进行主动扫描探测,然后依据扫描结果,进行暴力破解、载荷投递等进一步攻击。此类关联的主要特点可以归纳为警报簇Ai与攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相同、警报所处阶段存在前后因果关系。
[0073] 2) 失陷回连行为。失陷主机是指网攻击者通过攻击获得了部分或完整控制权的主机。在攻破该主机后,使用主机进行跳板攻击、横向移动前,需要进行失陷回连来确保主机状态、传输重要信息等。此类关联的主要特点可以归纳为警报簇Ai与攻击场景Sj某阶段警报簇之间源IP地址和目的IP地址均相反、警报之间存在前后因果关系。
[0074] 3) 横向移动行为。此类关联主要发生在攻击者基于某主机失陷,进一步的扩大战果。如攻击者需要通过失陷主机向防护等级高的主机扩散。此类关联的主要特点可以归纳为警报簇Ai的源IP地址和攻击场景Sj某阶段警报簇的目的IP地址相同、攻击发生时间存在前后关系。
[0075] 本发明基于先验知识的攻击模板和挖掘出的因果知识、语义知识,设计了实时的映射匹配算法,将警报簇映射匹配到某一攻击场景的具体阶段。具体来说,系统首先调出所有匹配态的攻击场景;然后为了减小开销,系统以IP地址进行初筛,如果此时的攻击场景中不存在警报簇的IP地址,直接跳过;针对每个攻击场景的每个阶段警报簇,使用预先设定的攻击模板,计算两者之间的匹配度;最后依据匹配度进行关联或新增操作。
[0076] 算法1.映射匹配算法
[0077] 输入:待匹配警报簇Alerts
[0078] 输出:更新后的攻击场景集合Scenes
[0079] 1 FUNCTION match(Alerts):
[0080] 2 Scenes<‑ getAllScene()
[0081] 3 isMatch<‑ False
[0082] 4 FOR each scene in Scenes:
[0083] 5 IF Alerts.IP not in ALL scene.IP:
[0084] 6 CONTINUE
[0085] 7 FOR each stage in scene:
[0086] 8 IF getStore(stage, Alerts):
[0087] 9 更新攻击场景scene
[0088] 10 isMatch<‑ True
[0089] 11 BREAK
[0090] 12 END
[0091] 13 IF flag = True:
[0092] 14 BREAK
[0093] 15 END
[0094] 16 IF flag = False:
[0095] 17新建攻击场景
[0096] 18 END
[0097] 输入:攻击场景某阶段stage,警报簇Alerts
[0098] 输出:stage与Alerts是否匹配
[0099] 1 FUNCTION getStore(stage, Alerts):
[0100] 2 IF stage与Alerts符合顺序关系:
[0101] 3 RETURN True
[0102] 4 ELSE IF stage与Alerts符合回连关系:
[0103] 5 RETURN True
[0104] 6 ELSE IF stage与Alerts符合横向移动:
[0105] 7 RETURN True
[0106] 8 ELSE:
[0107] 9 RETURN False
[0108] 10 END
[0109] 如图3所示,通过警报簇与攻击场景的匹配关联,系统得到了一次完整攻击行为的攻击场景,包括探测、攻击、持久化、回连等攻击阶段。
[0110] 步骤7,新建攻击场景:
[0111] 新建攻击场景,使用警报簇的基础属性信息进行赋值,同时将警报簇的攻击时间、攻击阶段作为此次攻击行为的起点,用于后续的因果关联。
[0112] 本发明的模块架构设计和数据交互见图4。如图4所示,本发明实施例提供的一种针对多步攻击的实时攻击场景重构系统,包括:警报收集模块,用于基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型;警报预处理模块,用于基于网络入侵检测系统检测网络攻击形成原始警报信息,包括源IP地址、源端口、目的IP地址、目的端口、时间戳、触发规则和攻击类型对原始警报信息进行分析,添加威胁程度字段,并将攻击与TTP框架关联起来在警报中添加TTP字段,标识警报的攻击阶段和攻击技术,得到待匹配的警报;警报聚合模块,用于计算待匹配的警报与警报簇之间的属性相似度,如果存在相似度超过设定阈值的警报簇,则更新该警报簇信息,否则新建警报簇,得到待匹配的警报簇;所述警报簇聚合了同一攻击者同一攻击阶段对同一目标主机发起的同一类型的多次攻击产生的警报;以及,警报簇关联模块,用于使用基于经验知识和基于因果关系的攻击场景重构技术,依据预处理挖掘出的因果知识和语义知识,通过专家知识提前构建出攻击模板,为每个待匹配的警报簇代表的攻击行为匹配到符合某攻击模板的攻击阶段;如果能够匹配到,则关联该警报簇到攻击场景中,否则根据警报簇新建攻击场景。该系统实施例与前述方法实施例属于同一发明构思,各模块具体实施细节,参见上述方法实施例,此处不再赘述。
[0113] 基于相同的发明构思,本发明实施例提供的一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的针对多步攻击的实时攻击场景重构方法的步骤。
[0114] 本领域技术人员可以理解的是,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储计算机程序的介质。