一种网络攻击路线还原方法及系统
技术领域
本发明涉及网络安全技术领域,具体涉及一种网络攻击路线还原方法及系统。
背景技术
随着计算机技术的不断发展和互联网的不断普及,网络攻击形式层出不穷,网络安全问题日益突出,造成的社会影响和经济损失越来越大,对网络威胁检测与防御提出了新的需求和挑战。网络流量异常是目前主要的网络安全威胁之一,也是网络安全监测的关键对象。快速、准确地发现网络异常流量,对恶意代码及时准确捕获、分析、跟踪与监测,可以为网络安全态势指标评估和免疫决策提供知识支撑,从而提高网络安全应急组织的整体响应能力。
告警信息是在检测到网络攻击行为后,给网络管理人员展示的第一手直观信息。基于网络设备接入层面的不同,告警信息数量就不同,会差出几个数量级。传统的告警方式采取的是一个网络攻击对应一个告警信息,即检测到一个网络攻击,对应就会产生一个告警信息。然而,这种采用孤立的告警信息进行攻击展现的方式,不能从整体上把握攻击过程,不能直观展示攻击效果,更不能引领用户对攻击行为做出判断。
发明内容
本发明所要解决的是采用孤立的告警信息进行网路攻击展现不能从整体上把握攻击过程、不能直观展示攻击效果以及不能引领用户对攻击行为做出判断的问题。
本发明通过下述技术方案实现:
一种网络攻击路线还原方法,包括:
对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签,所述攻击链标签用于表征所述网络攻击在攻击链中所处的攻击阶段;
根据所述攻击链标签,对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,获得所述攻击事件中每个攻击阶段各自的告警内容汇总;
根据同一攻击事件中每个攻击阶段各自的告警内容汇总,生成攻击路线信息,其中,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。
可选的,所述告警信息为用于表征所述目标主机受到成功网络攻击的第一告警子信息或者为用于表征所述目标主机受到无效网络攻击的第二告警子信息;
所述第一告警子信息的告警内容包括所述网络攻击的攻击类型和所述网络攻击的攻击动作,所述第二告警子信息的告警内容包括所述网络攻击的攻击类型。
可选的,所述对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签包括:
根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的攻击链标签。
可选的,所述攻击链标签包括两级以上,所述对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签包括:
根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的各级标签,其中,所述标签库存储有M个攻击链标签,所述M个攻击链标签被划分为两级以上,M为大于4的整数。
可选的,所述告警内容汇总包括网络攻击总次数、成功的网络攻击次数以及成功的网络攻击的攻击动作中的一种或多种组合。
可选的,在所述对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签之前,还包括:
检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型;
若所述目标主机受到所述网络攻击,则检测所述网络攻击是否成功并确定成功的网络攻击的攻击动作;
若所述网络攻击成功,则生成所述第一告警子信息,否则生成所述第二告警子信息。
可选的,所述检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型包括:
采集所述目标主机的网络数据;
从所述网络数据中提取待检测特征;
将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,根据归类结果确定所述目标主机是否受到网络攻击以及所述网络攻击的攻击类型。
可选的,所述从所述网络数据中提取待检测特征包括:
从所述网络数据中提取请求数据,其中,所述请求数据用于向所述目标主机发起请求服务;
从所述请求数据中提取所述待检测特征。
可选的,在所述将所述待检测特征导入预先建立的人工智能模型之前,还包括:
建立所述人工智能模型。
可选的,所述建立所述人工智能模型包括:
收集模型训练数据;
从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据;
对所述攻击特征数据进行分类,获得训练样本;
根据所述训练样本进行模型训练,获得所述人工智能模型。
可选的,所述收集模型训练数据包括:
收集互联网已公开的攻击数据、互联网已公开的漏洞数据、所述目标主机已采集的攻击数据以及所述目标主机已采集的漏洞数据中的一种或多种组合。
可选的,所述根据所述训练样本进行模型训练包括:
根据所述训练样本,采用朴素贝叶斯算法进行模型训练。
可选的,所述检测所述网络攻击是否成功包括:
从所述网络攻击对应的网络数据中提取待比对特征;
将所述待比对特征与一个以上攻击响应规则进行比对,其中,所述攻击响应规则根据第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答;
若所述待比对特征与所述攻击响应规则相匹配,则判定所述网络攻击成功。
可选的,所述从所述网络攻击对应的网络数据中提取待比对特征包括:
从所述网络数据中提取第二响应数据,其中,所述第二响应数据用于所述目标主机应答请求服务;
从所述第二响应数据中提取所述待比对特征。
可选的,所述从所述网络攻击对应的网络数据中提取待比对特征包括:
从所述网络数据中提取请求数据和第二响应数据,其中,所述请求数据用于向所述目标主机发起请求服务,所述第二响应数据用于所述目标主机应答请求服务;
从所述请求数据和所述第二响应数据中提取所述待比对特征。
可选的,在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,还包括:
建立包含所述一个以上攻击响应规则的特征库。
可选的,所述建立包含所述一个以上攻击响应规则的特征库包括:
创建数据库;
从一个以上第一响应数据中对应提取一个以上攻击响应特征;
对每个攻击响应特征进行确定性描述,形成一个以上攻击响应规则;
将所述一个以上攻击响应规则存储到所述数据库中,获得所述特征库。
可选的,所述特征库包括N个子特征库,N为不小于2的整数,所述建立包含所述一个以上攻击响应规则的特征库包括:
创建N个数据库;
从两个以上第一响应数据中对应提取两个以上攻击响应特征;
对每个攻击响应特征进行确定性描述,形成两个以上攻击响应规则;
将所述两个以上攻击响应规则中属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。
可选的,所述将所述待比对特征与一个以上攻击响应规则进行比对包括:
将所述待比对特征与和所述网络攻击的攻击类型对应的子特征库中一个以上攻击响应规则进行比对。
可选的,所述对每个攻击响应特征进行确定性描述包括:
采用正则表达式对每个攻击响应特征进行确定性描述。
可选的,在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,还包括:
建立每个所述攻击响应规则与攻击动作之间的关联关系;
所述确定成功的网络攻击的攻击动作包括:
根据每个所述攻击响应规则与攻击动作之间的关联关系,将与所述待比对特征匹配的攻击响应规则所对应的攻击动作,确定为所述成功的网络攻击的攻击动作。
可选的,所述攻击路线信息还包括每个攻击阶段各自的起止时间,在所述生成攻击路线信息之后,还包括:
按照每个攻击阶段各自的起始时间的先后顺序显示所述攻击路线信息。
基于同样的发明构思,本发明还提供一种网络攻击路线还原系统,包括:
标签添加模块,用于对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签,所述攻击链标签用于表征所述网络攻击在攻击链中所处的攻击阶段;
统计模块,用于根据所述攻击链标签,对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,获得所述攻击事件中每个攻击阶段各自的告警内容汇总;
路线信息生成模块,用于根据同一攻击事件中每个攻击阶段各自的告警内容汇总,生成攻击路线信息,其中,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。
可选的,所述告警信息为用于表征所述目标主机受到成功网络攻击的第一告警子信息或者为用于表征所述目标主机受到无效网络攻击的第二告警子信息;
所述第一告警子信息的告警内容包括所述网络攻击的攻击类型和所述网络攻击的攻击动作,所述第二告警子信息的告警内容包括所述网络攻击的攻击类型。
可选的,所述标签添加模块用于根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的攻击链标签。
可选的,所述攻击链标签包括两级以上,所述标签添加模块用于根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的各级标签,其中,所述标签库存储有M个攻击链标签,所述M个攻击链标签被划分为两级以上,M为大于4的整数。
可选的,所述告警内容汇总包括网络攻击总次数、成功的网络攻击次数以及成功的网络攻击的攻击动作中的一种或多种组合。
可选的,所述网络攻击路线还原系统,还包括:
第一检测模块,用于检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型;
第二检测模块,用于在所述目标主机受到所述网络攻击时,检测所述网络攻击是否成功并确定成功的网络攻击的攻击动作;
告警信息生成模块,用于在所述网络攻击成功时,生成所述第一告警子信息,否则生成所述第二告警子信息。
可选的,所述第一检测模块包括:
采集模块,用于采集所述目标主机的网络数据;
第一提取模块,用于从所述网络数据中提取待检测特征;
导入模块,用于将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,根据归类结果确定所述目标主机是否受到网络攻击以及所述网络攻击的攻击类型。
可选的,所述第一提取模块包括:
第一提取单元,用于从所述网络数据中提取请求数据,其中,所述请求数据用于向所述目标主机发起请求服务;
第二提取单元,用于从所述请求数据中提取所述待检测特征。
可选的,所述网络攻击路线还原系统,还包括:
模型创建模块,用于在所述将所述待检测特征导入预先建立的人工智能模型之前,建立所述人工智能模型。
可选的,所述模型创建模块包括:
收集模块,用于收集模型训练数据;
第二提取模块,用于从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据;
分类模块,用于对所述攻击特征数据进行分类,获得训练样本;
训练模块,用于根据所述训练样本进行模型训练,获得所述人工智能模型。
可选的,所述模型训练数据包括互联网已公开的攻击数据、互联网已公开的漏洞数据、所述目标主机已采集的攻击数据以及所述目标主机已采集的漏洞数据中的一种或多种组合。
可选的,所述训练模块为朴素贝叶斯算法模块。
可选的,所述第二检测模块包括:
第三提取模块,用于从所述网络攻击对应的网络数据中提取待比对特征;
比对模块,用于将所述待比对特征与一个以上攻击响应规则进行比对,其中,所述攻击响应规则根据第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答;
判定模块,用于在所述待比对特征与所述攻击响应规则相匹配时,判定所述网络攻击成功;
攻击动作确定模块,用于确定成功的网络攻击的攻击动作。
可选的,所述第三提取模块包括:
第三提取单元,用于从所述网络数据中提取第二响应数据,其中,所述第二响应数据用于所述目标主机应答请求服务;
第四提取单元,用于从所述第二响应数据中提取所述待比对特征。
可选的,所述第三提取模块包括:
第五提取单元,用于从所述网络数据中提取请求数据和第二响应数据,其中,所述请求数据用于向所述目标主机发起请求服务,所述第二响应数据用于所述目标主机应答请求服务;
第六提取单元,用于从所述请求数据和所述第二响应数据中提取所述待比对特征。
可选的,所述网络攻击路线还原系统,还包括:
特征库创建模块,用于在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,建立包含所述一个以上攻击响应规则的特征库。
可选的,所述特征库创建模块包括:
数据库创建模块,用于创建数据库;
第四提取模块,用于从一个以上第一响应数据中对应提取一个以上攻击响应特征;
规则形成模块,用于对每个攻击响应特征进行确定性描述,形成一个以上攻击响应规则;
存储模块,用于将所述一个以上攻击响应规则存储到所述数据库中,获得所述特征库。
可选的,所述特征库包括N个子特征库,N为不小于2的整数,所述特征库创建模块包括:
数据库创建模块,用于创建N个数据库;
第四提取模块,用于从两个以上第一响应数据中对应提取两个以上攻击响应特征;
规则形成模块,用于对每个攻击响应特征进行确定性描述,形成两个以上攻击响应规则;
存储模块,用于将所述两个以上攻击响应规则中属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。
可选的,所述比对模块用于将所述待比对特征与和所述网络攻击的攻击类型对应的子特征库中一个以上攻击响应规则进行比对。
可选的,所述规则形成模块为正则表达式编写模块。
可选的,所述网络攻击路线还原系统,还包括:
关联关系创建模块,用于在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,建立每个所述攻击响应规则与攻击动作之间的关联关系;
所述攻击动作确定模块用于根据每个所述攻击响应规则与攻击动作之间的关联关系,将与所述待比对特征匹配的攻击响应规则所对应的攻击动作,确定为所述成功的网络攻击的攻击动作。
可选的,所述攻击路线信息还包括每个攻击阶段各自的起止时间,还包括:
显示模块,用于在所述生成攻击路线信息之后,按照每个攻击阶段各自的起始时间的先后顺序显示所述攻击路线信息。
基于同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述网络攻击路线还原方法。
基于同样的发明构思,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述网络攻击路线还原方法。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明提供的网络攻击路线还原方法及系统,通过为用于表征目标主机受到网络攻击的告警信息,添加用于表征所述网络攻击在攻击链中所处的攻击阶段的攻击链标签,可以获得同一攻击事件中所有网络攻击在攻击链中所处的攻击阶段,因而通过对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,可以获得所述攻击事件中每个攻击阶段各自的告警内容汇总,从而生成网络攻击路线信息。本发明提供的网络攻击路线还原方法及系统,按照攻击事件的攻击链划分,从大数据分析的角度分阶段地给网络管理人员呈现出网络攻击的整个过程,可以进行攻击态势感知和预测,直观地展示攻击效果,并引领网络管理人员对攻击行为做出判断。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1是本发明实施例的网络攻击路线还原方法的流程示意图;
图2是本发明实施例的攻击路线信息的示意图;
图3是本发明实施例的标签库的示意图;
图4是本发明实施例的获得告警信息的流程示意图;
图5是本发明实施例的检测目标主机是否受到网络攻击的流程示意图;
图6是本发明实施例的建立人工智能模型的流程示意图;
图7是本发明实施例的检测网络攻击是否成功的流程示意图;
图8是本发明一种实施例的建立特征库的流程示意图;
图9是本发明另一种实施例的建立特征库的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
本实施例提供一种网络攻击路线还原方法,图1是所述网络攻击路线还原方法的流程示意图,所述网络攻击路线还原方法包括:
步骤S11,对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签,所述攻击链标签用于表征所述网络攻击在攻击链中所处的攻击阶段;
步骤S12,根据所述攻击链标签,对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,获得所述攻击事件中每个攻击阶段各自的告警内容汇总;
步骤S13,根据同一攻击事件中每个攻击阶段各自的告警内容汇总,生成攻击路线信息,其中,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。
具体地,所述目标主机可以是提供各种服务的服务器,也可以是能够实现特定功能的个人计算机,还可以是其他能够提供网络服务的网络设备。所述目标主机可以接收终端设备发送过来的用于向所述目标主机发起请求服务的请求数据,根据所述请求数据进行相应的数据处理以获得第二响应数据,即所述第二响应数据用于所述目标主机应答请求服务,并将所述第二响应数据反馈给所述终端设备。所述终端设备可以是具有显示功能并且支持交互功能的各种电子设备,包括但不限于智能手机、平板电脑、个人计算机以及台式计算机等。在本发明检测网络攻击这一具体的应用场景中,发起网络攻击的攻击者通常为恶意发送大量数据请求的用户。攻击者所利用的终端设备可以是具有强大计算功能的电子设备,甚至还可以是服务器。
在所述目标主机受到网络攻击时,网络攻击检测系统会针对每次网络攻击对应产生一个告警信息。根据所述目标主机受到的网络攻击是否成功,所述告警信息的告警内容也不一样。在本实施例中,若所述目标主机受到网络攻击且所述网络攻击成功,则所述告警信息为用于表征所述目标主机受到成功网络攻击的第一告警子信息,所述第一告警子信息的告警内容包括所述网络攻击的攻击类型和所述网络攻击的具体攻击动作;若所述目标主机受到网络攻击但所述网络攻击不成功,则所述告警信息为用于表征所述目标主机受到无效网络攻击的第二告警子信息,所述第二告警子信息的告警内容包括所述网络攻击的攻击类型。
根据所述目标主机受到的网络攻击的攻击阶段不同,告警信息的告警内容也不一样,即告警信息的告警内容揭示了告警信息对应的网络攻击想要实现的攻击目的,不同告警内容的告警信息对应不同攻击阶段。因此,根据目标主机遭受的网络攻击对应的告警信息的告警内容可以确定攻击阶段。根据所述告警信息的告警内容,可以从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的攻击链标签。所述标签库存储有M个攻击链标签,每个攻击链标签对应表征攻击链中的一个攻击阶段。所述攻击链是指攻击者对目标主机从探测到破坏的一系列循环处理过程,通常由几个不同攻击阶段构成。例如,所述攻击链可以由侦察阶段、入侵阶段、命令控制阶段、横向渗透阶段、数据外泄阶段以及痕迹清理阶段六个攻击阶段构成,即M的值为6。相应地,所述M个攻击链标签为侦察标签、入侵标签、命令控制标签、横向渗透标签、数据外泄标签以及痕迹清理标签。当然,所述攻击链的划分并不限于此种方式,具体可根据实际情况进行灵活设置。由于每个攻击事件对应有一个攻击链,因而同一攻击事件可以划分为多个攻击阶段。
如前所述,不同告警内容的告警信息对应不同攻击阶段,而每个攻击链标签对应表征一个攻击阶段,因而可以根据已公开的网络攻击事件,预先建立不同告警内容的告警信息与不同攻击链标签之间的关联关系。根据所述告警信息的告警内容,可以从预先建立的标签库中确定与所述第一告警信息或者所述第二告警信息对应的攻击链标签。以所述第一告警子信息或者所述第二告警子信息中所述网络攻击的攻击类型为PHP代码执行攻击为例,对于PHP代码执行攻击,其在攻击链中处于命令控制阶段,因此为所述第一告警子信息或者所述第二告警子信息添加的攻击链标签为命令控制标签。进一步,所述攻击链标签可以作为所述第一告警子信息或者所述第二告警子信息的属性进行添加。
在为一个攻击事件的所有告警信息添加对应的攻击链标签之后,根据所述攻击链标签可以确定各个告警信息对应的网络攻击处于所述攻击事件中的哪个攻击阶段。通过对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,可以获得所述攻击事件中每个攻击阶段各自的告警内容汇总。具体地,通过统计同一攻击事件中处于同一攻击阶段的所述第一告警子信息和所述第二告警子信息的总数量,可以获得所述攻击事件中每个攻击阶段各自的网络攻击总次数;通过统计同一攻击事件中处于同一攻击阶段的所述第一告警子信息的数量,可以获得所述攻击事件中每个攻击阶段各自的成功的网络攻击次数;通过统计同一攻击事件中处于同一攻击阶段的所述第一告警子信息的告警内容,可以获得所述攻击事件中每个攻击阶段各自的成功的网络攻击的攻击动作。在本实施例中,所述告警内容汇总包括网络攻击总次数、成功的网络攻击次数以及成功的网络攻击的攻击动作中的一种或多种组合。
以所述攻击事件中所述目标主机受到10次网络攻击为例,对应产生了4个第一告警子信息和6个第二告警子信息,所述4个第一告警子信息对应的攻击链标签分别为:入侵标签、入侵标签、命令控制标签以及命令控制标签,所述6个第二告警子信息对应的攻击链标签分别为:侦察标签、侦察标签、入侵标签、侦察标签、入侵标签以及命令控制标签。通过统计可知,所述目标主机受到侦察阶段的网络攻击3次,受到入侵阶段的网络攻击4次,受到命令控制阶段的网络攻击3次;所述目标主机受到入侵阶段的成功的网络攻击2次,受到命令控制阶段成功的网络攻击2次。
在获得所述攻击事件中每个攻击阶段各自的告警内容汇总之后,生成所述攻击路线信息,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。进一步,所述攻击路线信息还可以包括每个攻击阶段各自的起止时间,在所述生成攻击路线信息之后,还可以按照每个攻击阶段各自的起始时间的先后顺序显示所述攻击路线信息。各个攻击阶段的起始时间为处于该攻击阶段的首个网络攻击时间,各个攻击阶段的终止时间为处于该攻击阶段的末个网络攻击时间。还是以上述所述目标主机受到10次网络攻击为例,若侦察阶段的起止时间为2018-3-15 03:20~2018-3-19 15:12,入侵阶段的起止时间为2018-3-17 07:38~2018-3-21 05:21,命令控制阶段的起止时间为2018-3-20 14:47~2018-3-20 18:21,则根据统计结果生成的网络攻击路线信息可以显示为“2018-3-15 03:20~2018-3-19 15:12,侦查阶段:3次;2018-3-17 07:38~2018-3-21 05:21,入侵阶段,4次;2018-3-20 14:47~2018-3-20 18:21,命令控制阶段,4次”。当然,所述攻击路线信息还可以包括所述目标主机的IP地址和整个攻击事件的持续时间等信息,如图2所示,本实施例对此不作限定。
进一步,由于所述攻击链中的各个攻击阶段还可以被划分为若干个更小的攻击阶段,每个更小的攻击阶段也由攻击链标签表征。相应地,所述攻击链标签可以包括两级以上,所述根据所述告警信息的告警内容为所述第一告警子信息或者所述第二告警子信息添加对应的攻击链标签包括:根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的各级标签,其中,所述标签库存储有M个攻击链标签,所述M个攻击链标签被划分为两级以上,M为大于4的整数。
图3是本实施例提供的一种标签库的示意图,所述标签库中的攻击链标签分为三个等级。一级标签包括侦察标签、入侵标签、命令控制标签、横向渗透标签、数据外泄标签以及痕迹清理标签。侦察标签对应的二级标签包括端口扫描标签、信息泄露标签、IP扫描标签以及子域名收集标签;入侵标签对应的二级标签包括漏洞探测标签、漏洞利用标签、拒绝服务标签、暴力破解标签以及高危操作标签;命令控制标签对应的二级标签包括主机受控标签、黑客工具上传标签、服务器中转行为标签、提权标签、关闭杀毒软件标签以及主机信息获取标签;横向渗透标签包括内网侦查标签、嗅探攻击标签、内网漏洞探测标签以及内网漏洞利用标签;数据外泄标签对应的二级标签包括文件下载标签和拖库行为标签;痕迹清理标签对应的二级标签包括后门删除标签、关闭攻击服务标签以及清除日志标签。高危操作标签对应的三级标签包括数据库操作标签和弱口令成功登录标签。
通过将攻击链标签设置为多个等级,可以更详细地描述攻击链中的攻击阶段,从而更详细地给网络管理人员呈现出攻击事件的整个过程。需要说明的是,所述标签库可以由所述目标主机创建,也可以由其他主机创建,所述目标主机需要添加对应的攻击链标签时直接从其他主机调用所述标签库即可。进一步,也可以直接为所述第一告警子信息或者所述第二告警子信息添加对应的攻击链标签,而不需要创建所述标签库。
在生成所述攻击路线信息之后,可以通过邮件、短信、对话框以及即时通信中的一种或多种组合方式将所述攻击路线信息发送给网络管理人员。通过为所述第一告警子信息或者所述第二告警子信息添加对应的攻击链标签,根据所述攻击链标签统计处于所述攻击事件各个攻击阶段的网络攻击总次数、成功的网络攻击次数以及成功的网络攻击的攻击动作,可以对攻击事件重新按照事件的攻击链划分,能够从大数据分析的角度分攻击阶段地给网络管理人员呈现出攻击事件的整个过程,避免攻击线路混乱。
实施例2
本实施例提供另一种网络攻击路线还原方法,与实施例1提供的网络攻击路线还原方法相比,本实施例在所述为用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签之前,还获得所述告警信息。图4是本实施例获得所述告警信息的流程示意图,所述获得所述告警信息包括:
步骤S41,检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型;
步骤S42,若所述目标主机受到所述网络攻击,则检测所述网络攻击是否成功并确定成功的网络攻击的攻击动作;
步骤S43,若所述网络攻击成功,则生成所述第一告警子信息,否则生成所述第二告警子信息。
具体地,检测所述目标主机是否受到网络攻击,可以采用传统的网络攻击检测方法。考虑到传统的网络攻击检测方法存在漏报率高、灵活性差的缺陷,本实施例提供一种检测所述目标主机是否受到网络攻击的具体方法。图5是检测所述目标主机是否受到网络攻击的流程示意图,所述检测所述目标主机是否受到网络攻击包括:
步骤S51,采集所述目标主机的网络数据;
步骤S52,从所述网络数据中提取待检测特征;
步骤S53,将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,根据归类结果确定所述目标主机是否受到网络攻击以及所述网络攻击的攻击类型。
具体地,对于所述目标主机的网络数据的采集,可以采用网络嗅探方式获取,也可以通过网络端口镜像方式获取。所述网络嗅探方式是指将所述目标主机的网卡设置为混杂模式,通过调用网络截包工具来捕获所述目标主机的网路数据。所述网络端口镜像方式是指将所述目标主机的采集端口映射到另一端口,对数据进行实时拷贝,从而获得所述目标主机的网络数据。当然,采集所述目标主机的网络数据的具体实现方式并不限于上述两种方式,本实施例对此不作限定。
采集到所述网络数据之后,从所述网络数据中提取所述待检测特征。所述网络数据包括所述请求数据和所述第二响应数据,如前所述,所述请求数据用于向所述目标主机发起请求服务,是由终端设备发送给所述目标主机的数据;所述第二响应数据用于所述目标主机应答请求服务,是由所述目标主机发送给终端设备的数据。所述待检测特征的提取,可以是直接从所述网络数据中提取所述请求数据的特征来获得所述待检测特征,也可以是先从所述网络数据中提取所述请求数据,再从所述请求数据中提取所述待检测特征,本实施例对此不作限定。所述待检测特征可以包括请求时间、IP信息、端口信息、协议类型、发包频度、邮件地址、文件名称以及目标URL地址中的一项或多项组合。需要说明的是,所述待检测特征可根据实际情况进行灵活设定,本实施例对此不作限制。
根据所述目标主机与终端设备之间采用的传输协议的不同,例如包括但不限于超文本传输协议(HTTP,Hyper Text Transfer Protocol)、文件传输协议(FTP,FileTransfer Protocol)、简单邮件传输协议(SMTP,Simple Mail Transfer Protocol),所述请求数据的结构也不相同。以HTTP类型的网络请求为例,所述请求数据包括以下三个部分:请求行,由方法(例如,POST)、统一资源标识符(URI,Uniform Resource Identifier)以及协议版本(例如,HTTP 1.1)三个部分构成;请求头部,用于通知所述目标主机有关终端设备请求的信息,包括但不限于产生请求的浏览器类型、终端设备可识别的内容类型列表以及请求的主机名;请求主体。在采集到所述网络数据后,进行HTTP请求头部中各个字段的解析,查找出需要进行检测的字段内容,即提取到所述待检测特征。
获得所述待检测特征之后,将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,获得归类结果。所述人工智能模型可以为机器学习分类模型,例如朴素贝叶斯分类模型,还可以为深度学习分类模型。若所述归类结果为所述待检测特征不属于任何一种已知攻击类型的网络攻击,也不属于未知攻击类型的网络攻击,则确定所述目标主机未受到网络攻击;若所述归类结果为所述待检测特征属于某种已知攻击类型的网络攻击,则确定所述目标主机受到该种攻击类型的网络攻击;若所述归类结果为所述待检测特征属于某种未知攻击类型的网络攻击,则确定所述目标主机受到未知攻击类型的网络攻击。
本实施例提供的检测所述目标主机是否受到网络攻击的方法,由于所述人工智能模型是利用人工智能技术的分类模型,具有自学习、自组织、自适应等能力,所以可有效地发现新型或变种的网络攻击,有效地弥补传统的网络攻击检测方法不能检测未知网络攻击的缺点,提高整体网络攻击检测能力,能够降低漏报率,并能够根据所述归类结果确定所述网络攻击的攻击类型。
进一步,在将所述待检测特征导入预先建立的人工智能模型之前,还需要建立所述人工智能模型。图6是建立所述人工智能模型的流程示意图,所述建立所述人工智能模型包括:
步骤S61,收集模型训练数据;
步骤S62,从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据;
步骤S63,对所述攻击特征数据进行分类,获得训练样本;
步骤S64,根据所述训练样本进行模型训练,获得所述人工智能模型。
具体地,所述模型训练数据包括互联网已公开的攻击数据、互联网已公开的漏洞数据、所述目标主机已采集的攻击数据以及所述目标主机已采集的漏洞数据中的一种或多种组合。所述攻击数据为从已有的网络攻击案例中提取出的数据,所述漏洞数据为从已有的漏洞案例中提取出的数据。所述攻击数据和所述漏洞数据可以是互联网公开的,也可以是所述目标主机根据以往遭受的网络攻击事件进行分析和提炼而来。
获得所述模型训练数据之后,从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据。进一步,提取的攻击特征数据可以包括请求时间、IP信息、端口信息、协议类型、发包频度、邮件地址、文件名称以及目标URL地址中的一项或多项组合。需要说明的是,所述攻击特征数据可根据实际情况进行灵活设定,本实施例对此不作限制。获得所述攻击特征数据之后,按照其所属网络攻击的攻击类型进行分类以形成训练样本,所述网络攻击的攻击类型包括但不限于SQL注入攻击和XSS攻击。
根据所述训练样本进行模型训练,即计算每种攻击类型的网络攻击在所述训练样本中的出现频率以及每个攻击特征数据划分对每种攻击类型的网络攻击的条件概率估计,并将计算结果进行记录就获得所述人工智能模型。在本实施例中,进行模型训练采用的算法为朴素贝叶斯算法。朴素贝叶斯算法对小规模的数据表现很好,适合多分类任务,适合增量式训练。当然,也可以采用其他机器学习分类算法或者深度学习分类算法进行模型训练,例如,还可以采用决策树算法进行模型训练,本实施例对此不作限定。
在检测到所述目标主机受到所述网络攻击后,在本实施例中采用规则匹配的方式检测所述网络攻击是否成功。图7是检测所述网络攻击是否成功的流程示意图,所述检测所述网络攻击是否成功包括:
步骤S71,从所述网络攻击对应的网络数据中提取待比对特征;
步骤S72,将所述待比对特征与一个以上攻击响应规则进行比对,其中,所述攻击响应规则根据第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答;
步骤S73,若所述待比对特征与所述攻击响应规则相匹配,则判定所述网络攻击成功。
具体地,每种成功的网络攻击都有其独特性,这种独特性主要通过受攻击主机对成功攻击请求的应答体现。因此,所述待比对特征的提取即是提取所述第二响应数据的特征。提取所述待比对特征可以是直接从所述网络数据中提取所述第二响应数据的特征,也可以是先从所述网络数据中提取所述第二响应数据,再从所述第二响应数据中提取所述待比对特征,本实施例对此不作限定。
仍以HTTP类型的网络响应为例,所述第二响应数据包括以下三个部分:状态行,由协议版本(例如,HTTP 1.1)、状态码以及状态码描述三个部分组成;响应头部,包括但不限于应用程序的名称、应用程序的版本、响应正文类型、响应正文长度以及响应正文所采用的编码;响应主体。在采集到所述网络数据后,进行HTTP响应头部中各个字段的解析,查找出需要进行比对的字段内容,即提取到所述待比对特征。
进一步,要判断一个网络攻击是否成功,还可以从攻击者的角度进行逆向推导,通过响应内容反推攻击请求应具备的特征,以提高识别网络攻击是否成功的准确性。因此,所述待比对特征的提取还可以是从所述第二响应数据和所述请求数据中共同提取。具体地,可以从所述网络数据中提取所述请求数据和所述第二响应数据,再从所述请求数据和所述第二响应数据中提取所述待比对特征。仍以HTTP类型的网络请求和HTTP类型的网络响应为例,在采集到所述网络数据后,进行HTTP请求头部和HTTP响应头部中各个字段的解析,查找出需要进行比对的字段内容,即提取到所述待比对特征。
获得所述待比对特征之后,将所述待比对特征与一个以上攻击响应规则进行比对。仍以HTTP类型的传输协议为例,若所述待比对特征与某个攻击响应规则相匹配,则判定HTTP请求为恶意攻击,所述目标主机受到的网络攻击成功;若所述待比对特征不能与任意一个攻击响应规则相匹配,则判定HTTP请求为无效网络攻击,可以直接忽略该HTTP请求。
进一步,还可以预先建立特征库,所述特征库用于存储所述一个以上攻击响应规则。所述特征库存储的攻击响应规则是根据所述第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答,即所述攻击响应规则是根据已经存在的成功攻击请求对应的攻击响应的响应特性预先生成的。图8是本实施例提供的一种建立所述特征库的流程示意图,所述建立所述特征库包括:
步骤S81,创建数据库;
步骤S82,从一个以上第一响应数据中对应提取一个以上攻击响应特征;
步骤S83,对每个攻击响应特征进行确定性描述,形成一个以上攻击响应规则;
步骤S84,将所述一个以上攻击响应规则存储到所述数据库中,获得所述特征库。
具体地,所述创建数据库即是创建空白的存储空间。所述第一响应数据用于受攻击主机对成功攻击请求的应答,可以从互联网已公开的攻击数据和/或所述目标主机已采集的攻击数据中进行收集。例如,攻击者向被攻击主机发送了floor()函数报错注入攻击请求,且所述floor()函数报错注入攻击请求获得了成功,所述被攻击主机对所述floor()函数报错注入攻击请求的应答即为所述第一响应数据。对于同一种攻击类型的网络攻击,根据具体攻击动作的不同还可以进行划分。例如,对于SQL注入攻击,还包括count()函数报错注入、rand()函数报错注入以及floor()函数报错注入等。对于每种攻击动作的网络攻击,对应可以收集一个第一响应数据,因而从一个以上第一响应数据中可以对应提取一个以上攻击响应特征,即每个第一响应数据可以对应提取到一个攻击响应特征。与所述攻击特征数据类似,所述攻击响应特征可以包括请求时间、IP信息、端口信息、协议类型、发包频度、邮件地址、文件名称以及目标URL地址中的一项或多项组合。需要说明的是,所述攻击响应特征也可根据实际情况进行灵活设定,本实施例对此不作限制。
获得所述攻击响应特征之后,对每个攻击响应特征进行确定性描述,所述确定性描述是按照预设的规则进行描述。在本实施例中,可以采用传统的正则表达式对每个攻击响应特征进行确定性描述,也可以在所述正则表达式中加入运算逻辑、匹配逻辑等复杂逻辑,以提高匹配结果的准确性。获得所述攻击响应规则之后,将所有攻击响应规则存储到所述数据库中,即在所述空白的存储空间中写入相应的数据,就获得所述特征库。
进一步,所述特征库还可以包括N个子特征库,每个子特征库对应存储同一种攻击类型的所有攻击响应规则,其中,N为不小于2的整数。基于此,图9是本实施例提供的另一种建立所述特征库的流程示意图,所述建立所述特征库包括:
步骤S91,创建N个数据库;
步骤S92,从两个以上第一响应数据中对应提取两个以上攻击响应特征;
步骤S93,对每个攻击响应特征进行确定性描述,形成两个以上攻击响应规则;
步骤S94,将所述两个以上攻击响应规则中属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。
具体地,步骤S91~步骤S93可参考前述对步骤S81~步骤S83的描述,在此不再赘述。在获得两个以上攻击响应规则之后,按照每个攻击响应规则所属的攻击类型,将属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。在本实施例中,所述子特征库可以为基础特征库、SQL注入特征库、XSS动态特征库以及工具指纹库,其中,所述基础特征库存储的是命令特征和文件特征,所述SQL注入特征库存储的是SQL注入攻击的特征,所述XSS动态特征库存储的是XSS动态攻击的特征,所述工具指纹库存储的是大马连接指纹和菜刀指纹。需要说明的是,所述子特征库可根据实际情况进行灵活设定,本实施例对此不作限制。
针对采用图9所示流程建立的特征库,所述将所述待比对特征与一个以上攻击响应规则进行比对具体包括:将所述待比对特征与和所述网络攻击的攻击类型对应的子特征库中的一个以上攻击响应规则进行比对。例如,若所述网络攻击的攻击类型为SQL注入攻击,则将所述待比对特征与SQL注入特征库中的一个以上攻击响应规则进行比对;若所述网络攻击的攻击类型为XSS动态攻击,则将所述待比对特征与XSS动态特征库中的一个以上攻击响应规则进行比对。通过将所述特征库设置为多个子特征库,可以减少与所述待比对特征进行比对的攻击响应规则数量,只需与某个子特征库中的攻击响应规则进行匹配即可,因而能够提高所述待比对特征与所述攻击响应规则的比对效率。
对于每种攻击动作的网络攻击,对应得到一个攻击响应规则,因而可以通过建立所述每个攻击响应规则与攻击动作之间的关联关系,根据所述每个攻击响应规则与攻击动作之间的关联关系,将与所述待比对特征匹配的攻击响应规则所对应的攻击动作,确定为所述成功的网络攻击的攻击动作。例如,与所述待比对特征相匹配的攻击响应规则对应的攻击动作为floor()函数报错注入,则成功的网络攻击的攻击动作为floor()函数报错注入。
在检测所述网络攻击是否成功之后,就可以根据检测结果生成所述第一告警子信息或者生成所述第二告警子信息。例如,当所述目标主机受到SQL注入攻击但攻击不成功时,生成所述第二告警子信息,其告警内容可以为“受到SQL注入攻击”;当所述目标主机受到SQL注入攻击并且攻击成功,具体的攻击动作是利用floor()函数报错注入,生成所述第一告警子信息,其告警内容可以为“受到SQL注入攻击,floor()函数报错注入”。
进一步,在生成所述第一告警子信息或者所述第二告警子信息之后,还可以将所述第一告警子信息或者所述第二告警子信息发送给网络管理人员。例如,可以通过邮件的方式将所述告警信息发送至指定的邮箱地址,还可以通过短信的方式将所述第一告警子信息或者所述第二告警子信息发送至指定的移动终端,还可以通过对话框的形式直接在所述目标主机显示所述第一告警子信息或者所述第二告警子信息,还可以通过即时通信的方式将所述第一告警子信息或者所述第二告警子信息发送给网络管理人员。当然,可以采用上述任意一种方式将所述第一告警子信息或者所述第二告警子信息发送给网络管理人员,也可以采用任意几种方式的组合将所述第一告警子信息或者所述第二告警子信息发送给网络管理人员。
实施例3
本实施例提供一种网络攻击路线还原系统,所述网络攻击路线还原系统包括:标签添加模块,用于对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签,所述攻击链标签用于表征所述网络攻击在攻击链中所处的攻击阶段;统计模块,用于根据所述攻击链标签,对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,获得所述攻击事件中每个攻击阶段各自的告警内容汇总;路线信息生成模块,用于根据同一攻击事件中每个攻击阶段各自的告警内容汇总,生成攻击路线信息,其中,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。
进一步,所述攻击链标签包括两级以上,所述标签添加模块用于根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的各级标签,其中,所述标签库存储有M个攻击链标签,所述M个攻击链标签被划分为两级以上,M为大于4的整数。
所述网络攻击路线还原系统的具体工作原理可参考实施例1中对各个步骤的描述,本实施例在此不再赘述。
实施例4
本实施例提供另一种网络攻击路线还原系统,与实施例3提供的网络攻击路线还原系统相比,所述网络攻击路线还原系统还包括:第一检测模块,用于检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型;第二检测模块,用于在所述目标主机受到所述网络攻击时,检测所述网络攻击是否成功并确定成功的网络攻击的攻击动作;告警信息生成模块,用于在所述网络攻击成功时,生成所述第一告警子信息,否则生成所述第二告警子信息。
进一步,所述第一检测模块包括:采集模块,用于采集所述目标主机的网络数据;第一提取模块,用于从所述网络数据中提取待检测特征;导入模块,用于将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,根据归类结果确定所述目标主机是否受到网络攻击以及所述网络攻击的攻击类型。
进一步,所述第一提取模块包括:第一提取单元,用于从所述网络数据中提取请求数据,其中,所述请求数据用于向所述目标主机发起请求服务;第二提取单元,用于从所述请求数据中提取所述待检测特征。
进一步,所述网络攻击路线还原系统还包括:模型创建模块,用于在所述将所述待检测特征导入预先建立的人工智能模型之前,建立所述人工智能模型。具体地,所述模型创建模块包括:收集模块,用于收集模型训练数据;第二提取模块,用于从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据;分类模块,用于对所述攻击特征数据进行分类,获得训练样本;训练模块,用于根据所述训练样本进行模型训练,获得所述人工智能模型。
进一步,所述第二检测模块包括:第三提取模块,用于从所述网络攻击对应的网络数据中提取待比对特征;比对模块,用于将所述待比对特征与一个以上攻击响应规则进行比对,其中,所述攻击响应规则根据第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答;判定模块,用于在所述待比对特征与所述攻击响应规则相匹配时,判定所述网络攻击成功;攻击动作确定模块,用于确定成功的网络攻击的攻击动作。
进一步,所述第三提取模块可以包括:第三提取单元,用于从所述网络数据中提取第二响应数据,其中,所述第二响应数据用于所述目标主机应答请求服务;第四提取单元,用于从所述第二响应数据中提取所述待比对特征。
进一步,所述第三提取模块也可以包括:第五提取单元,用于从所述网络数据中提取请求数据和第二响应数据,其中,所述请求数据用于向所述目标主机发起请求服务,所述第二响应数据用于所述目标主机应答请求服务;第六提取单元,用于从所述请求数据和所述第二响应数据中提取所述待比对特征。
进一步,所述网络攻击路线还原系统还包括:特征库创建模块,用于在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,建立包含所述一个以上攻击响应规则的特征库。具体地,所述特征库创建模块可以包括:数据库创建模块,用于创建数据库;第四提取模块,用于从一个以上第一响应数据中对应提取一个以上攻击响应特征;规则形成模块,用于对每个攻击响应特征进行确定性描述,形成一个以上攻击响应规则;存储模块,用于将所述一个以上攻击响应规则存储到所述数据库中,获得所述特征库。
所述特征库可以包括N个子特征库,N为不小于2的整数,基于此,所述特征库创建模块也可以包括:数据库创建模块,用于创建N个数据库;第四提取模块,用于从两个以上第一响应数据中对应提取两个以上攻击响应特征;规则形成模块,用于对每个攻击响应特征进行确定性描述,形成两个以上攻击响应规则;存储模块,用于将所述两个以上攻击响应规则中属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。
进一步,所述网络攻击路线还原系统还包括:关联关系创建模块,用于在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,建立每个所述攻击响应规则与攻击动作之间的关联关系;所述攻击动作确定模块用于根据每个所述攻击响应规则与攻击动作之间的关联关系,将与所述待比对特征匹配的攻击响应规则所对应的攻击动作,确定为所述成功的网络攻击的攻击动作。
所述网络攻击路线还原系统的具体工作原理可参考实施例2中对各个步骤的描述,本实施例在此不再赘述。
实施例5
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,本发明实施例1或实施例2提供的任一种网络攻击路线还原方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现实施例1或实施例2提供的任一种网络攻击路线还原方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成。所述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明公开A 1、一种网络攻击路线还原方法,包括:
对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签,所述攻击链标签用于表征所述网络攻击在攻击链中所处的攻击阶段;
根据所述攻击链标签,对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,获得所述攻击事件中每个攻击阶段各自的告警内容汇总;
根据同一攻击事件中每个攻击阶段各自的告警内容汇总,生成攻击路线信息,其中,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。
A2、根据A1所述的一种网络攻击路线还原方法,所述告警信息为用于表征所述目标主机受到成功网络攻击的第一告警子信息或者为用于表征所述目标主机受到无效网络攻击的第二告警子信息;
所述第一告警子信息的告警内容包括所述网络攻击的攻击类型和所述网络攻击的攻击动作,所述第二告警子信息的告警内容包括所述网络攻击的攻击类型。
A3、根据A2所述的一种网络攻击路线还原方法,所述对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签包括:
根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的攻击链标签。
A4、根据A2所述的一种网络攻击路线还原方法,所述攻击链标签包括两级以上,所述对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签包括:
根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的各级标签,其中,所述标签库存储有M个攻击链标签,所述M个攻击链标签被划分为两级以上,M为大于4的整数。
A5、根据A2所述的一种网络攻击路线还原方法,所述告警内容汇总包括网络攻击总次数、成功的网络攻击次数以及成功的网络攻击的攻击动作中的一种或多种组合。
A6、根据A2所述的一种网络攻击路线还原方法,在所述对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签之前,还包括:
检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型;
若所述目标主机受到所述网络攻击,则检测所述网络攻击是否成功并确定成功的网络攻击的攻击动作;
若所述网络攻击成功,则生成所述第一告警子信息,否则生成所述第二告警子信息。
A7、根据A6所述的一种网络攻击路线还原方法,所述检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型包括:
采集所述目标主机的网络数据;
从所述网络数据中提取待检测特征;
将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,根据归类结果确定所述目标主机是否受到网络攻击以及所述网络攻击的攻击类型。
A8、根据A7所述的一种网络攻击路线还原方法,所述从所述网络数据中提取待检测特征包括:
从所述网络数据中提取请求数据,其中,所述请求数据用于向所述目标主机发起请求服务;
从所述请求数据中提取所述待检测特征。
A9、根据A7所述的一种网络攻击路线还原方法,在所述将所述待检测特征导入预先建立的人工智能模型之前,还包括:
建立所述人工智能模型。
A10、根据A9所述的一种网络攻击路线还原方法,所述建立所述人工智能模型包括:
收集模型训练数据;
从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据;
对所述攻击特征数据进行分类,获得训练样本;
根据所述训练样本进行模型训练,获得所述人工智能模型。
A11、根据A10所述的一种网络攻击路线还原方法,所述收集模型训练数据包括:
收集互联网已公开的攻击数据、互联网已公开的漏洞数据、所述目标主机已采集的攻击数据以及所述目标主机已采集的漏洞数据中的一种或多种组合。
A12、根据A10所述的一种网络攻击路线还原方法,所述根据所述训练样本进行模型训练包括:
根据所述训练样本,采用朴素贝叶斯算法进行模型训练。
A13、根据A6所述的一种网络攻击路线还原方法,所述检测所述网络攻击是否成功包括:
从所述网络攻击对应的网络数据中提取待比对特征;
将所述待比对特征与一个以上攻击响应规则进行比对,其中,所述攻击响应规则根据第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答;
若所述待比对特征与所述攻击响应规则相匹配,则判定所述网络攻击成功。
A14、根据A13所述的一种网络攻击路线还原方法,所述从所述网络攻击对应的网络数据中提取待比对特征包括:
从所述网络数据中提取第二响应数据,其中,所述第二响应数据用于所述目标主机应答请求服务;
从所述第二响应数据中提取所述待比对特征。
A15、根据A13所述的一种网络攻击路线还原方法,所述从所述网络攻击对应的网络数据中提取待比对特征包括:
从所述网络数据中提取请求数据和第二响应数据,其中,所述请求数据用于向所述目标主机发起请求服务,所述第二响应数据用于所述目标主机应答请求服务;
从所述请求数据和所述第二响应数据中提取所述待比对特征。
A16、根据A13所述的一种网络攻击路线还原方法,在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,还包括:
建立包含所述一个以上攻击响应规则的特征库。
A17、根据A16所述的一种网络攻击路线还原方法,所述建立包含所述一个以上攻击响应规则的特征库包括:
创建数据库;
从一个以上第一响应数据中对应提取一个以上攻击响应特征;
对每个攻击响应特征进行确定性描述,形成一个以上攻击响应规则;
将所述一个以上攻击响应规则存储到所述数据库中,获得所述特征库。
A18、根据A16所述的一种网络攻击路线还原方法,所述特征库包括N个子特征库,N为不小于2的整数,所述建立包含所述一个以上攻击响应规则的特征库包括:
创建N个数据库;
从两个以上第一响应数据中对应提取两个以上攻击响应特征;
对每个攻击响应特征进行确定性描述,形成两个以上攻击响应规则;
将所述两个以上攻击响应规则中属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。
A19、根据A18所述的一种网络攻击路线还原方法,所述将所述待比对特征与一个以上攻击响应规则进行比对包括:
将所述待比对特征与和所述网络攻击的攻击类型对应的子特征库中一个以上攻击响应规则进行比对。
A20、根据A17或A18所述的一种网络攻击路线还原方法,所述对每个攻击响应特征进行确定性描述包括:
采用正则表达式对每个攻击响应特征进行确定性描述。
A21、根据A17或A18所述的一种网络攻击路线还原方法,在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,还包括:
建立每个所述攻击响应规则与攻击动作之间的关联关系;
所述确定成功的网络攻击的攻击动作包括:
根据每个所述攻击响应规则与攻击动作之间的关联关系,将与所述待比对特征匹配的攻击响应规则所对应的攻击动作,确定为所述成功的网络攻击的攻击动作。
A22、根据A1所述的一种网络攻击路线还原方法,所述攻击路线信息还包括每个攻击阶段各自的起止时间,在所述生成攻击路线信息之后,还包括:
按照每个攻击阶段各自的起始时间的先后顺序显示所述攻击路线信息。
本发明还公开了B 23、一种网络攻击路线还原系统,包括:
标签添加模块,用于对用于表征目标主机受到网络攻击的告警信息添加对应的攻击链标签,所述攻击链标签用于表征所述网络攻击在攻击链中所处的攻击阶段;
统计模块,用于根据所述攻击链标签,对同一攻击事件中处于同一攻击阶段的各个网络攻击的告警信息的告警内容进行统计,获得所述攻击事件中每个攻击阶段各自的告警内容汇总;
路线信息生成模块,用于根据同一攻击事件中每个攻击阶段各自的告警内容汇总,生成攻击路线信息,其中,所述攻击线路信息携带有所述攻击事件中每个攻击阶段各自的告警内容汇总。
B24、根据B23所述的一种网络攻击路线还原系统,所述告警信息为用于表征所述目标主机受到成功网络攻击的第一告警子信息或者为用于表征所述目标主机受到无效网络攻击的第二告警子信息;
所述第一告警子信息的告警内容包括所述网络攻击的攻击类型和所述网络攻击的攻击动作,所述第二告警子信息的告警内容包括所述网络攻击的攻击类型。
B25、根据B24所述的一种网络攻击路线还原系统,所述标签添加模块用于根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的攻击链标签。
B26、根据B24所述的一种网络攻击路线还原系统,所述攻击链标签包括两级以上,所述标签添加模块用于根据所述告警信息的告警内容,从预先建立的标签库中确定与所述第一告警子信息或者所述第二告警子信息对应的各级标签,其中,所述标签库存储有M个攻击链标签,所述M个攻击链标签被划分为两级以上,M为大于4的整数。
B27、根据B24所述的一种网络攻击路线还原系统,所述告警内容汇总包括网络攻击总次数、成功的网络攻击次数以及成功的网络攻击的攻击动作中的一种或多种组合。
B28、根据B24所述的一种网络攻击路线还原系统,还包括:
第一检测模块,用于检测所述目标主机是否受到所述网络攻击并确定所述网络攻击的攻击类型;
第二检测模块,用于在所述目标主机受到所述网络攻击时,检测所述网络攻击是否成功并确定成功的网络攻击的攻击动作;
告警信息生成模块,用于在所述网络攻击成功时,生成所述第一告警子信息,否则生成所述第二告警子信息。
B29、根据B28所述的一种网络攻击路线还原系统,所述第一检测模块包括:
采集模块,用于采集所述目标主机的网络数据;
第一提取模块,用于从所述网络数据中提取待检测特征;
导入模块,用于将所述待检测特征导入预先建立的人工智能模型,通过所述人工智能模型对所述待检测特征进行归类,根据归类结果确定所述目标主机是否受到网络攻击以及所述网络攻击的攻击类型。
B30、根据B29所述的一种网络攻击路线还原系统,所述第一提取模块包括:
第一提取单元,用于从所述网络数据中提取请求数据,其中,所述请求数据用于向所述目标主机发起请求服务;
第二提取单元,用于从所述请求数据中提取所述待检测特征。
B31、根据B29所述的一种网络攻击路线还原系统,还包括:
模型创建模块,用于在所述将所述待检测特征导入预先建立的人工智能模型之前,建立所述人工智能模型。
B32、根据B31所述的一种网络攻击路线还原系统,所述模型创建模块包括:
收集模块,用于收集模型训练数据;
第二提取模块,用于从所述模型训练数据中提取已知网络攻击的特征,获得攻击特征数据;
分类模块,用于对所述攻击特征数据进行分类,获得训练样本;
训练模块,用于根据所述训练样本进行模型训练,获得所述人工智能模型。
B33、根据B32所述的一种网络攻击路线还原系统,所述模型训练数据包括互联网已公开的攻击数据、互联网已公开的漏洞数据、所述目标主机已采集的攻击数据以及所述目标主机已采集的漏洞数据中的一种或多种组合。
B34、根据B32所述的一种网络攻击路线还原系统,所述训练模块为朴素贝叶斯算法模块。
B35、根据B28所述的一种网络攻击路线还原系统,B所述第二检测模块包括:
第三提取模块,用于从所述网络攻击对应的网络数据中提取待比对特征;
比对模块,用于将所述待比对特征与一个以上攻击响应规则进行比对,其中,所述攻击响应规则根据第一响应数据形成,所述第一响应数据用于受攻击主机对成功攻击请求的应答;
判定模块,用于在所述待比对特征与所述攻击响应规则相匹配时,判定所述网络攻击成功;
攻击动作确定模块,用于确定成功的网络攻击的攻击动作。
B36、根据B35所述的一种网络攻击路线还原系统,所述第三提取模块包括:
第三提取单元,用于从所述网络数据中提取第二响应数据,其中,所述第二响应数据用于所述目标主机应答请求服务;
第四提取单元,用于从所述第二响应数据中提取所述待比对特征。
B37、根据B35所述的一种网络攻击路线还原系统,所述第三提取模块包括:
第五提取单元,用于从所述网络数据中提取请求数据和第二响应数据,其中,所述请求数据用于向所述目标主机发起请求服务,所述第二响应数据用于所述目标主机应答请求服务;
第六提取单元,用于从所述请求数据和所述第二响应数据中提取所述待比对特征。
B38、根据B35所述的一种网络攻击路线还原系统,还包括:
特征库创建模块,用于在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,建立包含所述一个以上攻击响应规则的特征库。
B39、根据B38所述的一种网络攻击路线还原系统,所述特征库创建模块包括:
数据库创建模块,用于创建数据库;
第四提取模块,用于从一个以上第一响应数据中对应提取一个以上攻击响应特征;
规则形成模块,用于对每个攻击响应特征进行确定性描述,形成一个以上攻击响应规则;
存储模块,用于将所述一个以上攻击响应规则存储到所述数据库中,获得所述特征库。
B40、根据B38所述的一种网络攻击路线还原系统,所述特征库包括N个子特征库,N为不小于2的整数,所述特征库创建模块包括:
数据库创建模块,用于创建N个数据库;
第四提取模块,用于从两个以上第一响应数据中对应提取两个以上攻击响应特征;
规则形成模块,用于对每个攻击响应特征进行确定性描述,形成两个以上攻击响应规则;
存储模块,用于将所述两个以上攻击响应规则中属于同种攻击类型的攻击响应规则存储到相同的数据库中,获得所述子特征库。
B41、根据B40所述的一种网络攻击路线还原系统,所述比对模块用于将所述待比对特征与和所述网络攻击的攻击类型对应的子特征库中一个以上攻击响应规则进行比对。
B42、根据B39或B40所述的一种网络攻击路线还原系统,所述规则形成模块为正则表达式编写模块。
B43、根据B39或B40所述的一种网络攻击路线还原系统,还包括:
关联关系创建模块,用于在所述将所述待比对特征与一个以上攻击响应规则进行比对之前,建立每个所述攻击响应规则与攻击动作之间的关联关系;
所述攻击动作确定模块用于根据每个所述攻击响应规则与攻击动作之间的关联关系,将与所述待比对特征匹配的攻击响应规则所对应的攻击动作,确定为所述成功的网络攻击的攻击动作。
B44、根据B23所述的一种网络攻击路线还原系统,所述攻击路线信息还包括每个攻击阶段各自的起止时间,还包括:
显示模块,用于在所述生成攻击路线信息之后,按照每个攻击阶段各自的起始时间的先后顺序显示所述攻击路线信息。
本发明还公开了C 45、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现A1至A22任一项所述的一种网络攻击路线还原方法。
本发明还公开了D 46、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现A1至A22任一项所述的一种网络攻击路线还原方法。