基于进程的终端异常分析方法、装置、设备及存储介质
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于进程的终端异常分析方法、装置、设备及存储介质。
背景技术
近年来,各类互联网攻击事件层出不穷,而针对终端的高级威胁攻击行为更是不断上演。随着对终端的高级威胁攻击行为的攻击形式复杂化、攻击手段多变化以及攻击性持续化和高隐蔽化,如何能快速从海量的原始日志中识别出异常行为、从混杂的数据中找出有关联的攻击事件是亟待解决的问题。
为了解决上述问题,一般是采用基于特征的单点异常检测手段,但是这种技术手段,分析引擎误报性高,容易产生大量的告警信息,使得有效的告警信息淹没于大量的误报中,导致安全运维效率低。
发明内容
本发明的主要目的在于解决现有技术中,安全运维效率低的问题。
本发明第一方面提供了一种基于进程的终端异常分析方法,包括:
接收预置终端发送的日志流数据,获取所述日志流数据中的事件类型和进程行为信息,以及匹配与所述事件类型对应的攻击场景检测规则;
根据所述攻击场景检测规则对所述日志流数据进行检测,将符合所述攻击场景检测规则的日志流数据确定为初始子事件数据;
通过预置的攻击场景模板,对所述初始子事件数据进行攻击场景的匹配重组,得到符合所述攻击场景模板的候选子事件数据,并根据所述进程行为信息创建预置终端的目标进程树;
将所述候选子事件数据和所述目标进程树进行匹配关联,得到与所述目标进程树对应的目标子事件数据,以及所述目标进程树中对应所述目标子事件数据的目标进程行为数据;
生成所述目标进程行为数据的可视化图表,将所述目标子事件数据和所述可视化图表发送至预置安全管理中心平台。
可选的,在本发明第一方面的第一种实现方式中,所述通过预置的攻击场景模板,对所述初始子事件数据进行攻击场景的匹配重组,得到符合所述攻击场景模板的候选子事件数据,包括:
获取预置的攻击场景模板中的攻击步骤,根据所述攻击步骤运行所述初始子事件数据;
获取运行所述初始子事件数据的每个攻击步骤的状态机,得到多个状态机,并判断所述多个状态机在预设时段内是否均处于触发状态;
若所述多个状态机在预设时段内均处于触发状态,则判断所述多个状态机的触发是否均符合预设的时序规则;
若所述多个状态机的触发均符合预设的时序规则,则将对应的初始子事件数据确定为候选子事件数据。
可选的,在本发明第一方面的第二种实现方式中,所述获取运行所述初始子事件数据的多个攻击步骤的状态机,得到多个状态机,并判断所述多个状态机在预设时段内是否均处于触发状态之后,还包括:
若所述多个状态机在预设时段内不是均处于触发状态,则获取在预设时段内不是处于触发状态的目标状态机;
判断所述目标状态机在预设时刻是否处于触发状态,所述预设时刻晚于所述预设时段的结束时刻;
若所述目标状态机在预设时刻不处于触发状态,则删除所述目标状态机对应的初始子事件数据。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述进程行为信息创建预置终端的目标进程树,包括:
获取所述进程行为信息的进程控制符,创建所述进程控制符的索引;
将所述进程行为信息作为节点信息,并将所述索引作为根节点;
根据所述节点信息和所述根节点生成预置终端的目标进程树。
可选的,在本发明第一方面的第四种实现方式中,所述生成所述目标进程行为数据的可视化图表,将所述目标子事件数据和所述可视化图表发送至预置安全管理中心平台,包括:
获取所述目标子事件数据中的告警数据,对所述告警数据依次进行时间序列的快速傅里叶变换处理和过滤处理,得到过滤后的告警数据;
对所述过滤后的告警数据进行属性相似度分类处理,得到目标告警数据;
获取所述目标告警数据对应的目标子事件数据,将所述目标告警数据对应的目标子事件数据和所述目标进程行为数据进行格式化处理,得到格式化后的目标子事件数据和格式化后的目标进程行为数据;
生成格式化后的目标进程行为数据的桑葚图,将所述桑葚图和所述格式化后的目标子事件数据发送至预置安全管理中心平台。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述攻击场景检测规则对所述日志流数据进行检测,将符合所述攻击场景检测规则的日志流数据确定为初始子事件数据之后,所述通过预置的攻击场景模板,对所述初始子事件数据进行攻击场景的匹配重组,得到符合所述攻击场景模板的候选子事件数据,并根据所述进程行为信息创建预置终端的目标进程树之前,还包括:
获取所述日志流数据对应的终端标识号,按照所述终端标识号对所述初始子事件数据进行分组,得到分组后的初始子事件数据;
通过预置的时间窗口,将所述分组后的初始子事件数据写入预置的攻击场景模板。
可选的,在本发明第一方面的第六种实现方式中,所述接收预置终端发送的日志流数据,获取所述日志流数据中的事件类型和进程行为信息,以及匹配与所述事件类型对应的攻击场景检测规则之前,还包括:
获取历史攻击场景以及所述历史攻击场景的攻击策略;
根据所述攻击策略提取所述历史攻击场景的机制异常特征;
根据所述机制异常特征创建攻击场景模板,并对所述攻击场景模板进行实时监测和更新。
本发明第二方面提供了一种基于进程的终端异常分析装置,包括:
接收匹配模块,用于接收预置终端发送的日志流数据,获取所述日志流数据中的事件类型和进程行为信息,以及匹配与所述事件类型对应的攻击场景检测规则;
检测确定模块,用于根据所述攻击场景检测规则对所述日志流数据进行检测,将符合所述攻击场景检测规则的日志流数据确定为初始子事件数据;
匹配创建模块,用于通过预置的攻击场景模板,对所述初始子事件数据进行攻击场景的匹配重组,得到符合所述攻击场景模板的候选子事件数据,并根据所述进程行为信息创建预置终端的目标进程树;
匹配关联模块,用于将所述候选子事件数据和所述目标进程树进行匹配关联,得到与所述目标进程树对应的目标子事件数据,以及所述目标进程树中对应所述目标子事件数据的目标进程行为数据;
生成发送模块,用于生成所述目标进程行为数据的可视化图表,将所述目标子事件数据和所述可视化图表发送至预置安全管理中心平台。
可选的,在本发明第二方面的第一种实现方式中,所述匹配创建模块包括:
运行单元,用于获取预置的攻击场景模板中的攻击步骤,根据所述攻击步骤运行所述初始子事件数据;
第一判断单元,用于获取运行所述初始子事件数据的每个攻击步骤的状态机,得到多个状态机,并判断所述多个状态机在预设时段内是否均处于触发状态;
第二判断单元,用于若所述多个状态机在预设时段内均处于触发状态,则判断所述多个状态机的触发是否均符合预设的时序规则;
确定单元,用于若所述多个状态机的触发均符合预设的时序规则,则将对应的初始子事件数据确定为候选子事件数据。
可选的,在本发明第二方面的第二种实现方式中,所述匹配创建模块还包括:
第一获取单元,用于若所述多个状态机在预设时段内不是均处于触发状态,则获取在预设时段内不是处于触发状态的目标状态机;
第三判断单元,用于判断所述目标状态机在预设时刻是否处于触发状态,所述预设时刻晚于所述预设时段的结束时刻;
删除单元,用于若所述目标状态机在预设时刻不处于触发状态,则删除所述目标状态机对应的初始子事件数据。
可选的,在本发明第二方面的第三种实现方式中,所述匹配创建模块还包括:
第二获取单元,用于获取所述进程行为信息的进程控制符,创建所述进程控制符的索引;
处理单元,用于将所述进程行为信息作为节点信息,并将所述索引作为根节点;
生成单元,用于根据所述节点信息和所述根节点生成预置终端的目标进程树。
可选的,在本发明第二方面的第四种实现方式中,所述生成发送模块具体用于:
获取所述目标子事件数据中的告警数据,对所述告警数据依次进行时间序列的快速傅里叶变换处理和过滤处理,得到过滤后的告警数据;
对所述过滤后的告警数据进行属性相似度分类处理,得到目标告警数据;
获取所述目标告警数据对应的目标子事件数据,将所述目标告警数据对应的目标子事件数据和所述目标进程行为数据进行格式化处理,得到格式化后的目标子事件数据和格式化后的目标进程行为数据;
生成格式化后的目标进程行为数据的桑葚图,将所述桑葚图和所述格式化后的目标子事件数据发送至预置安全管理中心平台。
可选的,在本发明第二方面的第五种实现方式中,所述基于进程的终端异常分析装置,还包括:
分组模块,用于获取所述日志流数据对应的终端标识号,按照所述终端标识号对所述初始子事件数据进行分组,得到分组后的初始子事件数据;
写入模块,用于通过预置的时间窗口,将所述分组后的初始子事件数据写入预置的攻击场景模板。
可选的,在本发明第二方面的第六种实现方式中,所述基于进程的终端异常分析装置,还包括:
获取模块,用于获取历史攻击场景以及所述历史攻击场景的攻击策略;
提取模块,用于根据所述攻击策略提取所述历史攻击场景的机制异常特征;
监测更新模块,用于根据所述机制异常特征创建攻击场景模板,并对所述攻击场景模板进行实时监测和更新。
本发明第三方面提供了一种基于进程的终端异常分析设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于进程的终端异常分析设备执行上述的基于进程的终端异常分析方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于进程的终端异常分析方法。
本发明提供的技术方案中,接收预置终端发送的日志流数据,获取日志流数据中的事件类型和进程行为信息,以及匹配与事件类型对应的攻击场景检测规则;根据攻击场景检测规则对日志流数据进行检测,将符合攻击场景检测规则的日志流数据确定为初始子事件数据;通过预置的攻击场景模板,对初始子事件数据进行攻击场景的匹配重组,得到符合攻击场景模板的候选子事件数据,并根据进程行为信息创建预置终端的目标进程树;将候选子事件数据和目标进程树进行匹配关联,得到与目标进程树对应的目标子事件数据,以及目标进程树中对应目标子事件数据的目标进程行为数据;生成目标进程行为数据的可视化图表,将目标子事件数据和可视化图表发送至预置安全管理中心平台。本发明中,通过采集预置终端的日志流数据,进行攻击场景检测规则的检测、攻击场景模板中攻击场景的匹配重组、目标进程树的匹配关联,以及将目标子事件数据和目标进程行为数据发送至安全管理中心,并以可视化图表可视化呈现出目标进程行为数据中进程的行为路径,实现了多层次的关联分析,有效地聚合了预置终端的日志流数据,降低了分析引擎的误报,便于后续对安全事件的分析和调查,提高了安全运维效率。
附图说明
图1为本发明实施例中基于进程的终端异常分析方法的一个实施例示意图;
图2为本发明实施例中基于进程的终端异常分析方法的另一个实施例示意图;
图3为本发明实施例中基于进程的终端异常分析装置的一个实施例示意图;
图4为本发明实施例中基于进程的终端异常分析装置的另一个实施例示意图;
图5为本发明实施例中基于进程的终端异常分析设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于进程的终端异常分析方法、装置、设备及存储介质,解决了现有技术中,安全运维效率低的问题。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于进程的终端异常分析方法的一个实施例包括:
101、接收预置终端发送的日志流数据,获取日志流数据中的事件类型和进程行为信息,以及匹配与事件类型对应的攻击场景检测规则。
可以理解的是,本发明的执行主体可以为基于进程的终端异常分析装置,还可以是物流总部对应的终端或者服务器,具体此处不做限定。本发明实施例以物流总部对应的服务器为执行主体为例进行说明。
进程行为信息包括文件读写信息、注册表项的修改信息、网络连接的信息以及进程的子进程创建信息。事件类型为攻击场景的攻击战术,即攻击行为和攻击方式。攻击场景检测规则为对每一种攻击场景的攻击战术分析提炼出来的特征组合形成的检测规则。
服务器实时接收预置终端发送的日志流数据后,通过预置的基于攻防原理的威胁分析框架ATT&CK对日志流数据进行攻击战术分析,获得日志流数据中的事件类型,并调用***插件(windows management instrumentation,WMI)获取日志流数据中的进程行为信息,遍历预置的检测规则列表,匹配得到与事件类型对应的攻击场景检测规则。其中,服务器可接收多个预置终端各自发送的日志流数据,并对多个预置终端各自发送的日志流数据进行并行处理。
102、根据攻击场景检测规则对日志流数据进行检测,将符合攻击场景检测规则的日志流数据确定为初始子事件数据。
服务器将日志流数据与攻击场景检测规则进行对比分析,并记录命中攻击场景检测规则(即符合攻击场景检测规则)的日志流数据为子事件,子事件对应的日志流数据为初始子事件数据。其中,可通过计算日志流数据与攻击场景检测规则之间的相似度,若相似度大于预设阈值,则日志流数据命中攻击场景检测规则,将对应的日志流数据确定为初始子事件数据,若相似度小于或等于预设阈值,则日志流数据不命中攻击场景检测规则,将对应的日志数据删除或存储至预置的存储空间。
103、通过预置的攻击场景模板,对初始子事件数据进行攻击场景的匹配重组,得到符合攻击场景模板的候选子事件数据,并根据进程行为信息创建预置终端的目标进程树。
服务器将初始子事件数据写入预置的攻击场景模板中,将初始子事件数据中的攻击行为数据与攻击场景模板中的攻击场景依次进行匹配重组,将满足攻击场景模板中整个攻击场景的步骤条件的初始子事件数据确定为候选子事件数据,以获取需要进一步分析的终端异常数据,并生成预置终端的进程行为信息对应的所有进程树(即目标进程树)。
104、将候选子事件数据和目标进程树进行匹配关联,得到与目标进程树对应的目标子事件数据,以及目标进程树中对应目标子事件数据的目标进程行为数据。
服务器对于完成攻击场景模板中攻击场景的匹配重组得到候选子事件数据后,将候选子事件数据和这个预置终端上的所有进程树(即目标进程树)一一进行匹配,若所有候选子事件数据都能和其中的一棵目标进程树关联上,则说明这些攻击全都是由这个进程引发的,以此实现进程行为的关联,即遍历目标进程树,判断候选子事件数据是否均与目标进程树匹配;若是,则将对应的候选子事件数据确定为目标子事件数据,并获取目标进程树中对应目标子事件数据的目标进程行为数据;若否,则将该候选子事件数据存储至预置存储空间。
通过进行匹配关联,以确保满足攻击场景模板的候选子事件数据全部都是同一个进程所产生的,能够消除很多干扰数据,减少了分析引擎的误报,减少了告警信息的产生,使得有效的告警信息不会被大量的误报淹没。
105、生成目标进程行为数据的可视化图表,将目标子事件数据和可视化图表发送至预置安全管理中心平台。
服务器得到目标子事件数据和目标进程行为数据后,将目标子事件数据和目标进程行为数据进行统一格式化,通过统一格式化,便于后续的对安全事件的分析和调查,将统一格式化后的目标子事件数据和目标进程行为数据发送至安全管理中心(securityoperations center,SOC),并以可视化图表echarts可视化呈现出目标进程行为数据中进程的行为路径,以便于后续对安全事件的分析和调查,提高安全运维效率。
本发明实施例中,通过采集预置终端的日志流数据,以及进行攻击场景检测规则的检测、攻击场景模板中攻击场景的匹配重组、目标进程树的匹配关联,以及将目标子事件数据和目标进程行为数据发送至安全管理中心,并以可视化图表可视化呈现出目标进程行为数据中进程的行为路径,实现了多层次的关联分析,有效地聚合了预置终端的日志流数据,降低了分析引擎的误报,便于后续对安全事件的分析和调查,提高了安全运维效率。
请参阅图2,本发明实施例中基于进程的终端异常分析方法的另一个实施例包括:
201、接收预置终端发送的日志流数据,获取日志流数据中的事件类型和进程行为信息,以及匹配与事件类型对应的攻击场景检测规则。
具体地,服务器接收预置终端发送的日志流数据,获取日志流数据中的事件类型和进程行为信息,以及匹配与事件类型对应的攻击场景检测规则之前,获取历史攻击场景以及历史攻击场景的攻击策略;根据攻击策略提取历史攻击场景的机制异常特征;根据机制异常特征创建攻击场景模板,并对攻击场景模板进行实时监测和更新。
其中,机制异常特征为贴合机制层面的异常特征,机制异常特征包括注册表项、***接口调用、***进程、***进程的相关服务、域名***查询和网络连接的异常特征等。
服务器从预置数据库中提取已存储的各类常见的攻击场景,以及从网络上爬取各类常见的攻击场景,从而获得历史攻击场景。获取历史攻击场景数据中的攻击类型,例如:攻击类型为路由信息协议(routing information protocol,RIP)的攻击,根据攻击类型匹配对应的攻击策略,再根据匹配的攻击策略与历史攻击场景进行对比分析,若匹配的攻击策略中描述的内容与历史攻击场景的内容相对应,则匹配的攻击策略为历史攻击场景的攻击策略,若匹配的攻击策略中描述的内容与历史攻击场景的内容不相对应,则将匹配的攻击策略中描述的不对应的内容替换为历史攻击场景的内容,得到历史攻击场景的攻击策略。
服务器实时监测攻击场景模板,若监测到有新的攻击场景,则将新的攻击场景发送至预置的攻击场景管理***,通过攻击场景管理***根据新的攻击场景对攻击场景模板进行更新,并将更新后的攻击场景模板发送至预置的检测模块,实现攻击场景的动态加载。
202、根据攻击场景检测规则对日志流数据进行检测,将符合攻击场景检测规则的日志流数据确定为初始子事件数据。
具体地,服务器根据攻击场景检测规则对日志流数据进行检测,将符合攻击场景检测规则的日志流数据确定为初始子事件数据之后,获取日志流数据对应的终端标识号,按照终端标识号对初始子事件数据进行分组,得到分组后的初始子事件数据;通过预置的时间窗口,将分组后的初始子事件数据写入预置的攻击场景模板。
服务器提取日志流数据中对应预置终端的终端标识号(identity document,ID),将子事件数据分组为预置终端对应的子事件,从而得到分组后的子事件数据,在预置的时间窗口内,将分组后的子事件数据写入预置的攻击场景模板。时间窗口为根据预置的事件时间(攻击行为事件发生的时间)定义的窗口,其中,可通过开源流处理框架flink中的水位线WaterMark机制处理窗口的乱序时间流,从而得到时间窗口,时间窗口可为滚动窗口。通过开源流处理框架flink的时间窗口,实现高效和低延时的分组后的子事件数据处理。
203、获取预置的攻击场景模板中的攻击步骤,根据攻击步骤运行初始子事件数据。
其中,攻击步骤为攻击场景模板中执行攻击行为的全部步骤,例如:步骤a、使用预置的管理员权限账号登陆目标机器;步骤b、管理员启动目标进程psexesvc.exe;步骤c、psexesvc.exe进程创建新的子进程,并执行预置的特殊命令。服务器将初始子事件数据转换为攻击场景模板的规则数据,即根据攻击步骤运行初始子事件数据,对初始子事件数据进行攻击场景的匹配重组。
204、获取运行初始子事件数据的每个攻击步骤的状态机,得到多个状态机,并判断多个状态机在预设时段内是否均处于触发状态。
预设时间段可为时间窗口对应的时间段。服务器将初始子事件数据转换为攻击场景模板的规则数据时(即根据攻击步骤运行初始子事件数据,对初始子事件数据进行攻击场景的匹配重组),记录每个攻击步骤是否有初始子事件数据命中(即若符合攻击步骤的条件,则攻击步骤对应的状态机会被触发),通过时间窗口判断多个状态机在预设时段内是否均处于触发状态,例如:攻击步骤为e、f和g,对应的状态机分别为状态机1、状态机2和状态机3,在预设时间段(10分钟)内,通过时间窗口(滑动窗口)计算10分钟内的处于触发状态的状态机数量,即判断初始子事件数据是否在10分钟内均命中攻击步骤e、f和g,若10分钟内的处于触发状态的状态机数量为3,则状态机1、状态机2和状态机3在10分钟内均处于触发状态,若10分钟内的处于触发状态的状态机数量不为3,则在10分钟内,状态机1、状态机2和状态机3中部分状态机处于触发状态。
具体地,服务器获取运行初始子事件数据的每个攻击步骤的状态机,得到多个状态机,并判断多个状态机在预设时段内是否均处于触发状态之后,还包括:若多个状态机在预设时段内不是均处于触发状态,则获取在预设时段内不是处于触发状态的目标状态机;判断目标状态机在预设时刻是否处于触发状态,预设时刻晚于预设时段的结束时刻;若目标状态机在预设时刻不处于触发状态,则删除目标状态机对应的初始子事件数据。
例如:攻击步骤为e、f和g,对应的状态机分别为状态机1、状态机2和状态机3,预设的时序规则为状态机1先触发,状态机2再触发,状态机3最后触发,预设时间段为30分钟,在30分钟内,初始子事件数据命中攻击步骤e,则将没有命中攻击步骤f和g对应的状态机2和状态机3分别作为目标状态机2和目标状态机3,在该30分钟过后,即第30分钟结束的下一时刻(预设时刻),判断目标状态机2和目标状态机3是否处于触发状态,若目标状态机2不处于触发状态,目标状态机3处于触发状态,则清理目标状态机2对应的初始子事件数据,将判断状态机2和目标状态机3的触发是否符合预设的时序规则。优选地,预设时刻为预置的目标时段内的时刻,例如:预设时段为5分钟,目标时段为该第5分钟结束的下一时刻的3分钟内,预设时段为该3分钟内的任一时刻。
205、若多个状态机在预设时段内均处于触发状态,则判断多个状态机的触发是否均符合预设的时序规则。
例如:预设的时序规则为状态机1先触发,状态机2再触发,状态机3最后触发,即步骤e发生之后步骤f再发生,然后步骤g发生,在10分钟内,初始子事件数据均命中攻击步骤e、f和g,即状态机1、状态机2和状态机3均处于触发状态,则判断攻击步骤e、f和g的发生时序是否为步骤e发生之后步骤f再发生,然后步骤g发生,即状态机1、状态机2和状态机3的触发时序是否为状态机1先触发,状态机2再触发,状态机3最后触发。
206、若多个状态机的触发均符合预设的时序规则,则将对应的初始子事件数据确定为候选子事件数据。
例如:若状态机1、状态机2和状态机3的触发时序为状态机1先触发,状态机2再触发,状态机3最后触发,则将对应的初始子事件数据确定为候选子事件数据,若状态机1、状态机2和状态机3的触发时序不为状态机1先触发,状态机2再触发,状态机3最后触发,则将对应的初始子事件数据存储至预置存储空间,后续分析该初始子事件数据是否满足预置的安全事件条件,以分析其是否为安全事件数据。以此来避免其它进程引发的部分行为影响到攻击场景模板的匹配重组规则导致误判的现象。
207、根据进程行为信息创建预置终端的目标进程树。
具体地,服务器获取进程行为信息的进程控制符,创建进程控制符的索引;将进程行为信息作为节点信息,并将索引作为根节点;根据节点信息和根节点生成预置终端的目标进程树。
服务器通过基于树的双亲表示法,将这棵目标进程树上所有进程控制符processId列表作为索引,在目标进程树的根结点位置添加该索引,以简化后续的匹配关联流程。其中,服务器可根据攻击语义、时序关系和递进关系对预置终端的进程行为信息进行排序,得到时序信息,将时序信息按照进程树从上到下的顺序,依次作为进程树的节点信息,以便于后续的匹配关联,提高后续匹配关联的效率。
208、将候选子事件数据和目标进程树进行匹配关联,得到与目标进程树对应的目标子事件数据,以及目标进程树中对应目标子事件数据的目标进程行为数据。
服务器对于完成攻击场景模板中攻击场景的匹配重组得到候选子事件数据后,将候选子事件数据和这个预置终端上的所有进程树(即目标进程树)一一进行匹配,若所有候选子事件数据都能和其中的一棵目标进程树关联上,则说明这些攻击全都是由这个进程引发的,以此实现进程行为的关联,即遍历目标进程树,判断候选子事件数据是否均与目标进程树匹配;若是,则将对应的候选子事件数据确定为目标子事件数据,并获取目标进程树中对应目标子事件数据的目标进程行为数据;若否,则将该候选子事件数据删除或存储至预置存储空间。
209、生成目标进程行为数据的可视化图表,将目标子事件数据和可视化图表发送至预置安全管理中心平台。
具体地,服务器获取目标子事件数据中的告警数据,对告警数据依次进行时间序列的快速傅里叶变换处理和过滤处理,得到过滤后的告警数据;对过滤后的告警数据进行属性相似度分类处理,得到目标告警数据;获取目标告警数据对应的目标子事件数据,将目标告警数据对应的目标子事件数据和目标进程行为数据进行格式化处理,得到格式化后的目标子事件数据和格式化后的目标进程行为数据;生成格式化后的目标进程行为数据的桑葚图,将桑葚图和格式化后的目标子事件数据发送至预置安全管理中心平台。
服务器得到目标子事件数据和目标进程行为数据后,生成目标子事件数据的告警数据,并将该告警数据添加至目标子事件数据中,得到最终的目标子事件数据。通过对告警数据依次进行时间序列的快速傅里叶变换处理以及过滤处理,得到过滤后的告警数据,减少目标子事件数据中的误告警数据。由于误告警过滤后的告警数据仍然有信息分散、质量低等特点,因而通过计算过滤后的告警数据的属性相似度,根据属性相似度对过滤后的告警数据进行分类处理,能够将大量分散、有关联的告警数据进行整合,其中,属性相似度分类处理中的属性相似度包括端口相似度、攻击类型相似度和动态时间阈值。通过生成格式化处理后的目标进程行为数据的桑葚图,能够有效地呈现出目标进程行为数据中进程的行为路径。
本发明实施例中,通过采集预置终端的日志流数据,进行攻击场景检测规则的检测、攻击场景模板中攻击场景的匹配重组、目标进程树的匹配关联,以及将目标子事件数据和目标进程行为数据发送至安全管理中心,并以可视化图表可视化呈现出目标进程行为数据中进程的行为路径,实现了多层次的关联分析,有效地聚合了预置终端的日志流数据,降低了分析引擎的误报,便于后续对安全事件的分析和调查,提高了安全运维效率。
上面对本发明实施例中基于进程的终端异常分析方法进行了描述,下面对本发明实施例中基于进程的终端异常分析装置进行描述,请参阅图3,本发明实施例中基于进程的终端异常分析装置一个实施例包括:
接收匹配模块301,用于接收预置终端发送的日志流数据,获取日志流数据中的事件类型和进程行为信息,以及匹配与事件类型对应的攻击场景检测规则;
检测确定模块302,用于根据攻击场景检测规则对日志流数据进行检测,将符合攻击场景检测规则的日志流数据确定为初始子事件数据;
匹配创建模块303,用于通过预置的攻击场景模板,对初始子事件数据进行攻击场景的匹配重组,得到符合攻击场景模板的候选子事件数据,并根据进程行为信息创建预置终端的目标进程树;
匹配关联模块304,用于将候选子事件数据和目标进程树进行匹配关联,得到与目标进程树对应的目标子事件数据,以及目标进程树中对应目标子事件数据的目标进程行为数据;
生成发送模块305,用于生成目标进程行为数据的可视化图表,将目标子事件数据和可视化图表发送至预置安全管理中心平台。
上述基于进程的终端异常分析装置中各个模块的功能实现与上述基于进程的终端异常分析方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,通过采集预置终端的日志流数据,进行攻击场景检测规则的检测、攻击场景模板中攻击场景的匹配重组、目标进程树的匹配关联,以及将目标子事件数据和目标进程行为数据发送至安全管理中心,并以可视化图表可视化呈现出目标进程行为数据中进程的行为路径,实现了多层次的关联分析,有效地聚合了预置终端的日志流数据,降低了分析引擎的误报,便于后续对安全事件的分析和调查,提高了安全运维效率。
请参阅图4,本发明实施例中基于进程的终端异常分析装置的另一个实施例包括:
接收匹配模块301,用于接收预置终端发送的日志流数据,获取日志流数据中的事件类型和进程行为信息,以及匹配与事件类型对应的攻击场景检测规则;
检测确定模块302,用于根据攻击场景检测规则对日志流数据进行检测,将符合攻击场景检测规则的日志流数据确定为初始子事件数据;
匹配创建模块303,用于通过预置的攻击场景模板,对初始子事件数据进行攻击场景的匹配重组,得到符合攻击场景模板的候选子事件数据,并根据进程行为信息创建预置终端的目标进程树;
其中,匹配创建模块303具体包括:
运行单元3031,用于获取预置的攻击场景模板中的攻击步骤,根据攻击步骤运行初始子事件数据;
第一判断单元3032,用于获取运行初始子事件数据的每个攻击步骤的状态机,得到多个状态机,并判断多个状态机在预设时段内是否均处于触发状态;
第二判断单元3033,用于若多个状态机在预设时段内均处于触发状态,则判断多个状态机的触发是否均符合预设的时序规则;
确定单元3034,用于若多个状态机的触发均符合预设的时序规则,则将对应的初始子事件数据确定为候选子事件数据;
匹配关联模块304,用于将候选子事件数据和目标进程树进行匹配关联,得到与目标进程树对应的目标子事件数据,以及目标进程树中对应目标子事件数据的目标进程行为数据;
生成发送模块305,用于生成目标进程行为数据的可视化图表,将目标子事件数据和可视化图表发送至预置安全管理中心平台。
可选的,匹配创建模块303还包括:
第一获取单元3035,用于若多个状态机在预设时段内不是均处于触发状态,则获取在预设时段内不是处于触发状态的目标状态机;
第三判断单元3036,用于判断目标状态机在预设时刻是否处于触发状态,预设时刻晚于预设时段的结束时刻;
删除单元3037,用于若目标状态机在预设时刻不处于触发状态,则删除目标状态机对应的初始子事件数据。
可选的,匹配创建模块303还包括:
第二获取单元3038,用于获取进程行为信息的进程控制符,创建进程控制符的索引;
处理单元3039,用于将进程行为信息作为节点信息,并将索引作为根节点;
生成单元3030,用于根据节点信息和根节点生成预置终端的目标进程树。
可选的,生成发送模块305还可以具体用于:
获取目标子事件数据中的告警数据,对告警数据依次进行时间序列的快速傅里叶变换处理和过滤处理,得到过滤后的告警数据;
对过滤后的告警数据进行属性相似度分类处理,得到目标告警数据;
获取目标告警数据对应的目标子事件数据,将目标告警数据对应的目标子事件数据和目标进程行为数据进行格式化处理,得到格式化后的目标子事件数据和格式化后的目标进程行为数据;
生成格式化后的目标进程行为数据的桑葚图,将桑葚图和格式化后的目标子事件数据发送至预置安全管理中心平台。
可选的,基于进程的终端异常分析装置,还包括:
分组模块306,用于获取日志流数据对应的终端标识号,按照终端标识号对初始子事件数据进行分组,得到分组后的初始子事件数据;
写入模块307,用于通过预置的时间窗口,将分组后的初始子事件数据写入预置的攻击场景模板。
可选的,基于进程的终端异常分析装置,还包括:
获取模块308,用于获取历史攻击场景以及历史攻击场景的攻击策略;
提取模块309,用于根据攻击策略提取历史攻击场景的机制异常特征;
监测更新模块310,用于根据机制异常特征创建攻击场景模板,并对攻击场景模板进行实时监测和更新。
上述基于进程的终端异常分析装置中各模块和各单元的功能实现与上述基于进程的终端异常分析方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,通过采集预置终端的日志流数据,进行攻击场景检测规则的检测、攻击场景模板中攻击场景的匹配重组、目标进程树的匹配关联,以及将目标子事件数据和目标进程行为数据发送至安全管理中心,并以可视化图表可视化呈现出目标进程行为数据中进程的行为路径,实现了多层次的关联分析,有效地聚合了预置终端的日志流数据,降低了分析引擎的误报,便于后续对安全事件的分析和调查,提高了安全运维效率。
上面图3和图4从模块化功能实体的角度对本发明实施例中的基于进程的终端异常分析装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于进程的终端异常分析设备进行详细描述。
图5是本发明实施例提供的一种基于进程的终端异常分析设备的结构示意图,该基于进程的终端异常分析设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于进程的终端异常分析设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在基于进程的终端异常分析设备500上执行存储介质530中的一系列指令操作。
基于进程的终端异常分析设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作***531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的基于进程的终端异常分析设备结构并不构成对基于进程的终端异常分析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种基于进程的终端异常分析设备,所述基于进程的终端异常分析设备包括存储器和处理器,存储器中存储有指令,所述指令被处理器执行时,使得处理器执行上述各实施例中的所述基于进程的终端异常分析方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于进程的终端异常分析方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。