CN114357449A - 异常进程检测方法及装置、电子设备和存储介质 - Google Patents
异常进程检测方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114357449A CN114357449A CN202111661510.XA CN202111661510A CN114357449A CN 114357449 A CN114357449 A CN 114357449A CN 202111661510 A CN202111661510 A CN 202111661510A CN 114357449 A CN114357449 A CN 114357449A
- Authority
- CN
- China
- Prior art keywords
- command
- user
- relationship
- information
- relation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本公开是关于一种异常进程检测方法及装置、电子设备以及计算机可读存储介质,涉及网络与信息安全技术领域。该方法包括:获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息;根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系;根据执行命令信息与进程层次关系确定命令关系集合,并确定命令关系集合对应的命令关系特征值;根据执行用户信息与进程层次关系对进程集合确定用户关系集合,并确定用户关系集合对应的用户关系特征值;将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。本公开可以实现对主机中异常进程的检测与告警。
Description
技术领域
本公开涉及网络与信息安全技术领域,具体而言,涉及一种异常进程检测方法、异常进程检测装置、电子设备以及计算机可读存储介质。
背景技术
随着计算机技术的快速发展,大数据、分布式、区块链等各类技术已经渗透至各行各业。在各个行业的技术应用中,安全是所有网络面临的最大问题。为避免黑客和入侵者入侵网络及网站,一般企业通常提前部署入侵检测系统。
目前,主机异常行为检测分析领域主要包括:基于网络的入侵检测和基于主机的入侵检测系统两类技术方案,相关技术通常基于统计或规则匹配技术,通过协议分析和行为分析方式实现对入侵行为的检测,不过无法实现对加密流量的检测分析,且较依赖异常规则库。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种异常进程检测方法、异常进程检测装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服现有的主机入侵检测方案存在滞后性或无法实现对未知行为的检测和告警的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本公开的第一方面,提供一种异常进程检测方法,包括:获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息;根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系;根据执行命令信息与进程层次关系对进程集合进行结构调整,得到命令关系集合,并确定命令关系集合对应的命令关系特征值;根据执行用户信息与进程层次关系对进程集合进行结构调整,得到用户关系集合,并确定用户关系集合对应的用户关系特征值;获取预先确定的特征对比参考值,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。
在本公开的一种示例性实施方案中,特征对比参考值包括命令关系参考特征值与用户关系参考特征值,上述方法还包括:获取历史进程数据,根据历史进程数据生成样本进程数据集;样本进程数据集包括多个样本进程的执行信息;执行信息包括样本进程基本信息、样本进程命令信息与样本进程用户信息;根据样本进程基本信息构建样本进程集合;样本进程集合包含多个样本进程之间的样本进程层次关系;根据样本进程命令信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程命令集合,并确定样本进程命令集合对应的命令关系参考特征值;根据样本进程用户信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程用户集合,并确定样本进程用户集合对应的用户关系参考特征值。
在本公开的一种示例性实施方案中,样本进程命令信息包括进程类型映射表;样本进程集合采用树形结构存储;根据样本进程命令信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程命令集合,并确定样本进程命令集合对应的命令关系参考特征值,包括:根据进程类型映射表与样本进程层次关系确定第一待合并节点;第一待合并节点为具有父子关系且属于同一命令类型的进程节点;对第一待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程命令集合对应的命令关系树;根据命令关系树确定命令关系参考特征值。
在本公开的一种示例性实施方案中,根据命令关系树确定命令关系参考特征值,包括:获取命令关系树对应的命令类型根节点;基于命令类型根节点遍历命令关系树,确定命令关系树包含的命令关系进程链;确定命令关系树对应的命令类型操作数值与命令类型层次数值;根据命令类型操作数值与命令类型层次数值,确定命令关系进程链对应的命令关系链数值;根据命令关系链数值确定命令关系参考特征值。
在本公开的一种示例性实施方案中,样本进程集合采用树形结构存储;根据样本进程用户信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程用户集合,并确定样本进程用户集合对应的用户关系参考特征值,包括:根据样本进程用户信息与样本进程层次关系确定第二待合并节点;第二待合并节点为具有父子关系且属于同一执行用户的进程节点,或者具有父子关系且属于同一执行用户组的进程节点;对第二待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程用户集合对应的用户关系树;根据用户关系树确定用户关系参考特征值。
在本公开的一种示例性实施方案中,根据用户关系树确定用户关系参考特征值,包括:获取用户关系树对应的用户关系根节点;基于用户关系根节点遍历用户关系树,确定用户关系树包含的用户关系进程链;确定用户关系树对应的用户执行数值与用户转换数值;根据用户执行数值与用户转换数值,确定用户关系进程链对应的用户关系链数值;根据用户关系链数值确定用户关系参考特征值。
在本公开的一种示例性实施方案中,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息,包括:如果命令关系特征值大于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程运行正常;如果命令关系特征值大于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程的执行用户的用户行为异常,并输出第一告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程的进程执行存在异常,并输出第二告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程对应的运行设备存在异常,并输出第三告警事件。
根据本公开的第二方面,提供一种异常进程检测装置,包括:信息获取模块,用于获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息;进程集合构建模块,用于根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系;命令值确定模块,用于根据执行命令信息与进程层次关系对进程集合进行结构调整,得到命令关系集合,并确定命令关系集合对应的命令关系特征值;用户值确定模块,用于根据执行用户信息与进程层次关系对进程集合进行结构调整,得到用户关系集合,并确定用户关系集合对应的用户关系特征值;异常检测模块,用于获取预先确定的特征对比参考值,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。
在本公开的一种示例性实施方案中,特征对比参考值包括命令关系参考特征值与用户关系参考特征值,异常进程检测模块还包括参考特征值确定模块,用于获取历史进程数据,根据历史进程数据生成样本进程数据集;样本进程数据集包括多个样本进程的执行信息;执行信息包括样本进程基本信息、样本进程命令信息与样本进程用户信息;根据样本进程基本信息构建样本进程集合;样本进程集合包含多个样本进程之间的样本进程层次关系;根据样本进程命令信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程命令集合,并确定样本进程命令集合对应的命令关系参考特征值;根据样本进程用户信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程用户集合,并确定样本进程用户集合对应的用户关系参考特征值。
在本公开的一种示例性实施方案中,样本进程命令信息包括进程类型映射表;样本进程集合采用树形结构存储;参考特征值确定模块包括命令参考值确定单元,用于根据进程类型映射表与样本进程层次关系确定第一待合并节点;第一待合并节点为具有父子关系且属于同一命令类型的进程节点;对第一待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程命令集合对应的命令关系树;根据命令关系树确定命令关系参考特征值。
在本公开的一种示例性实施方案中,命令参考值确定单元包括命令参考值确定子单元,用于获取命令关系树对应的命令类型根节点;基于命令类型根节点遍历命令关系树,确定命令关系树包含的命令关系进程链;确定命令关系树对应的命令类型操作数值与命令类型层次数值;根据命令类型操作数值与命令类型层次数值,确定命令关系进程链对应的命令关系链数值;根据命令关系链数值确定命令关系参考特征值。
在本公开的一种示例性实施方案中,样本进程集合采用树形结构存储;参考特征值确定模块包括用户参考值确定单元,用于根据样本进程用户信息与样本进程层次关系确定第二待合并节点;第二待合并节点为具有父子关系且属于同一执行用户的进程节点,或者具有父子关系且属于同一执行用户组的进程节点;对第二待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程用户集合对应的用户关系树;根据用户关系树确定用户关系参考特征值。
在本公开的一种示例性实施方案中,用户参考值确定单元包括用户参考值确定子单元,用于获取用户关系树对应的用户关系根节点;基于用户关系根节点遍历用户关系树,确定用户关系树包含的用户关系进程链;确定用户关系树对应的用户执行数值与用户转换数值;根据用户执行数值与用户转换数值,确定用户关系进程链对应的用户关系链数值;根据用户关系链数值确定用户关系参考特征值。
在本公开的一种示例性实施方案中,异常检测模块包括异常检测单元,用于如果命令关系特征值大于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程运行正常;如果命令关系特征值大于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程的执行用户的用户行为异常,并输出第一告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程的进程执行存在异常,并输出第二告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程对应的运行设备存在异常,并输出第三告警事件。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的异常进程检测方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的异常进程检测方法。
本公开提供的技术方案可以包括以下有益效果:
本公开的示例性实施例中的异常进程检测方法,一方面,由于恶意程序往往通过启动多进程进行不同入侵行为,从单个进程的角度难以分析恶意进程完整的行为与特征,本方案通过不同进程的层次关系构建进程集合,基于进程集合分析进程运行过程的启动命令和执行用户信息,可以实现对异常进程的分析与检测。另一方面,通过分析命令关系特征值以及用户关系特征值各自与特征对比参考值的对比结果,可以确定出进程对应的命令执行异常可能性,并实现针对异常用户操作行为的分析与检测。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的示例性实施方式的异常进程检测方法的流程图;
图2示意性示出了根据本公开的示例性实施方式的确定特征对比参考值的流程图;
图3示意性示出了根据本公开的示例性实施方式的样本进程集合对应的树形结构图;
图4示意性示出了根据本公开的示例性实施方式的样本进程集合对应的命令关系树的树形结构图;
图5示意性示出了根据本公开的示例性实施方式的样本进程集合对应用户关系树的树形结构图;
图6示意性示出了根据本公开的示例性实施方式的对待分析进程进行异常检测过程的流程图;
图7示意性示出了根据本公开的示例性实施方式的异常进程检测装置的方框图;
图8示意性示出了根据本公开一示例性实施例的电子设备的框图;
图9示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
目前,在主机异常行为检测分析领域主要包括基于网络的入侵检测和基于主机的入侵检测系统两类技术方案,相关技术通常基于统计或规则匹配技术,通过协议分析和行为分析方式实现对入侵行为的检测,无法实现对加密流量的检测分析,且较依赖异常规则库,无法实现对未知威胁行为的检测与告警。
基于此,在本示例实施例中,首先提供了一种异常进程检测方法,可以利用服务器来实现本公开的异常进程检测方法,也可以利用终端设备来实现本公开所述的方法,其中,本公开中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)等移动终端,以及诸如台式计算机等固定终端。图1示意性示出了根据本公开的一些实施例的异常进程检测方法流程的示意图。参考图1,该异常进程检测方法可以包括以下步骤:
步骤S110,获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息;
步骤S120,根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系;
步骤S130,根据执行命令信息与进程层次关系对进程集合进行结构调整,得到命令关系集合,并确定命令关系集合对应的命令关系特征值;
步骤S140,根据执行用户信息与进程层次关系对进程集合进行结构调整,得到用户关系集合,并确定用户关系集合对应的用户关系特征值;
步骤S150,获取预先确定的特征对比参考值,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。
根据本示例实施例中的异常进程检测方法,一方面,由于恶意程序往往通过启动多进程进行不同入侵行为,从单个进程的角度难以分析恶意进程完整的行为与特征,本方案通过不同进程的层次关系构建进程集合,基于进程集合分析进程运行过程的启动命令和执行用户信息,可以实现对异常进程的分析与检测。另一方面,通过分析命令关系特征值以及用户关系特征值各自与特征对比参考值的对比结果,可以确定出进程对应的命令执行异常可能性,并实现针对异常用户操作行为的分析与检测。
下面,将对本示例实施例中的异常进程检测方法进行进一步的说明。
在步骤S110中,获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息。
在本公开的一些示例性实施方式中,待分析进程可以是等待进行异常检测分析的进程。进程执行信息可以是进程执行时所需的所有相关信息。进程基本信息可以是待分析进程自身的相关信息,如进程名称、进程自身标识与对应的父进程的进程标识等。执行命令信息可以是待分析进程所对应的执行命令的相关信息,例如,执行命令信息可以包括此进程对应的命令编号、命令类型等。执行用户信息可以是待分析进程所对应的执行用户的相关信息,例如,执行用户信息可以包括执行用户的自身信息,还可以包括执行用户所处的用户组的信息。
在对运行设备中的某一进程进行分析检测时,该进程可以被确定为待分析进程,在进行分析检测之前,可以先获取待分析进程对应的进程执行信息,并从进程执行信息中提取进程基本信息、执行命令信息与执行用户信息。举例而言,对进程执行信息进行信息提取处理,可以得到待分析进程的进程名称、进程标识号(Process Identifier,PID)、父进程标识号(Parent Process Identifier,PPID)、进程执行用户标识(User Identifier,UID)、用户组标识号(Group Identifier,GID)以及/执行命令数据等信息。
在步骤S120中,根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系。
在本公开的一些示例性实施方式中,进程集合可以是根据待分析进程的基本进程信息生成的集合,进程集合可以作为待分析进程的分析依据,进程集合中可以包括多个进程。进程层次关系可以是进程集合中多个进程之间的层次关联关系。例如,进程集合可以采用树形结构进行存储,进程层次关系中可以包括待分析进程对应的父进程节点、子进程节点与根进程节点之间的层次关联关系。
在获取到进程基本信息后,可以根据进程基本信息构建进程集合。在构建进程集合之前,还可以获取预先配置的辅助信息,例如,可以获取预先配置的进程白名单、进程类型映射表等辅助信息。在获取到进程白名单列表后,可以过滤掉进程执行信息中所包含的进程白名单列表中的进程。在进程过滤操作结束后,可以确定经过滤操作处理后剩余进程的进程名称、PID以及PPID等信息,并根据提取出的信息构建进程集合。举例而言,进程集合可以采用树形结构进行存储,通过进程的PID信息以及PPID信息,构建进程集合的树形结构,树中每个节点为一个进程,包含进程名称、PID(进程ID号)、PPID(父进程ID号)、进程执行用户UID、用户组GID等信息,树的父节点指向父进程。通过上述构建方法生成的多个进程树,最终生成待分析的进程集合(进程树集合),由于进程集合是采用树形结构进行存储,例如,集合中的每个元素可以是一个进程树,因此,每个进程树均包含了树中包含的进程之间的进程层次关系。
在本公开的一种示例性实施方案中,获取历史进程数据,根据历史进程数据生成样本进程数据集;样本进程数据集包括多个样本进程的执行信息;执行信息包括样本进程基本信息、样本进程命令信息与样本进程用户信息;根据样本进程基本信息构建样本进程集合;样本进程集合包含多个样本进程之间的样本进程层次关系;根据样本进程命令信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程命令集合,并确定样本进程命令集合对应的命令关系参考特征值;根据样本进程用户信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程用户集合,并确定样本进程用户集合对应的用户关系参考特征值。
其中,历史进程数据可以是某一运行设备历史所运行的进程的所有相关数据。样本进程数据集可以是确定特征对比参考值所采用的样本进程及其相关信息构成的数据集。样本进程可以是样本进程数据集中包含的进程。样本进程的执行信息可以是样本进程执行过程中所包含的相关信息。样本进程基本信息可以是样本进程自身的相关信息,样本进程基本信息与待分析进程对应的进程基本信息所包含的内容相似。样本进程命令信息可以是样本进程所对应的执行命令的相关信息,样本进程命令信息与待分析进程的执行命令信息所包含的内容相似。样本进程用户信息可以是待分析进程所对应的执行用户的相关信息,样本进程用户信息与待分析进程的执行用户信息所包含的内容相似。
样本进程集合可以是多个样本进程按照一定的层次结构形成的集合。样本进程层次关系可以是多个样本进程之间的层次关系。样本进程命令集合可以是对样本进程集合按照命令类型之间的关联关系进行结构调整后得到的集合。命令关系参考特征值可以是样本进程命令集合对应的参考特征值。样本进程用户集合可以是对样本进程集合按照执行用户之间的关联关系进行结构调整后得到的集合。用户关系参考特征值可以是样本进程用户集合对应的参考特征值。
参考图2,图2示意性示出了根据本公开的示例性实施方式的确定特征对比参考值的流程图。在步骤S210中,确定样本进程数据集。在确定特征对比参考值之前,可以输入某些运行设备对应的历史进程记录数据,以生成样本进程数据集。与获取待分析进程的进程执行信息相同,在获取到历史进程记录数据之后,可以基于历史进程记录数据进行数据提取操作,提取样本进程名称、样本PID(进程ID号)、样本PPID(父进程ID号)、样本进程执行用户UID、样本进程用户组GID等信息。
在确定出样本进程基本信息之后,可以根据样本进程基本信息构建样本进程集合。例如,样本进程集合可以采用树形结构进行存储,则构建出的样本进程集合对应相应的样本进程树。在构建样本进程树之前,还可以获取其他辅助信息,如进程白名单列表等;例如,进程白名单列表可以为{命令99,命令98,命令97…}。
在步骤S220中,构建样本进程树。在构建样本进程树时,可以输入进程白名单列表,并过滤掉历史进程数据中包含进程白名单列表中的样本进程。接下来,对经过滤处理后所剩余的样本进程进程下述处理:提取样本进程名称、样本进程PID(进程ID号)、样本进程PPID(父进程ID号)等信息。通过样本进程的PID、PPID等信息构建样本进程树,样本进程树中每个节点为一个进程节点,包含样本进程名称、PID(进程ID号)、PPID(父进程ID号)、样本进程执行用户UID、用户组GID等信息,树的父节点指向父进程。由于在构建样本进程树的过程中,可能生成多个样本进程树,因此,可以根据生成的多个样本进程树形成待分析的进程树集合,得到最终的样本进程集合。
参考图3,图3示意性示出了根据本公开的示例性实施方式的样本进程集合对应的树形结构图。图3中示出了某一样本进程集合对应的树形结构,图3中包括6个样本进程,样本进程1~样本进程6;其中,样本进程1为根节点,该树形结构体现了6个样本进程之间的样本进程层次关系,例如,进程2的父进程为进程1,子进程为进程3。同样的,由于样本进程集合采用树形结构进行存储,样本进程集合中可以包括多个样本进程之间的样本进程层次关系,例如,两个样本进程之间的父子关系等。
在本公开的一种示例性实施方案中,根据进程类型映射表与样本进程层次关系确定第一待合并节点;第一待合并节点为具有父子关系且属于同一命令类型的进程节点;对第一待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程命令集合对应的命令关系树;根据命令关系树确定命令关系参考特征值。
其中,进程类型映射表可以是运行设备中各类命令及其对应类型的映射关系,例如,进程类型映射表可以为{(命令1,命令类型1),(命令2,命令类型1),(命令3,命令类型2),…,(命令x,命令类型y)}。第一待合并节点可以是对样本进程树中的进程节点按照命令类型确定出的待合并节点,第一待合并节点的特点为两个节点具有父子关系且属于同一命令类型。命令关系树可以是对样本进程树中的第一待合并节点进行合并处理,调整样本进程集合对应的树形结构后所生成的树形结构。
获取样本进程命令信息中包含的进程类型映射表,进程类型映射表可以包括主机中样本进程的各类命令及其对应类型的映射关系,如{(命令1,命令类型1),(命令2,命令类型2),(命令3,命令类型3)……}。在获取到进程类型映射表之后,可以根据进程类型映射表与样本进程层次关系并结合样本进程基本信息调整样本进程集合(即样本进程树)的树形结构,以生成样本进程命令集合,样本进程命令集合同样采样树形结构进行存储,因此,样本进程命令集合具有对应的命令关系树。命令关系树的具体构建过程如下:
确定样本进程树中,子进程与父进程同属一个命令类型的进程节点,并将其作为第一待合并节点,第一待合并节点可以合并为同一个节点,例如,进程1(pid1)属于命令类型1,进程2(pid2)进程属于命令类型2,进程3(pid3)、进程4(pid4)、进程5(pid5)属于命令类型3,进程6(pid6)进程属于命令类型4。通过上述节点合并处理后,构建出命令关系树。参考图4,图4示意性示出了根据本公开的示例性实施方式的样本进程集合对应的命令关系树的树形结构图。根据图3与图4的对比可知,pid4、pid5两者为第一待合并节点,两个进程节点经过节点合并处理后,转换为一个进程节点。经过上述处理,最终得到命令关系树,以确定命令关系树对应的命令关系参考特征值。
在本公开的一种示例性实施方案中,获取命令关系树对应的命令类型根节点;基于命令类型根节点遍历命令关系树,确定命令关系树包含的命令关系进程链;确定命令关系树对应的命令类型操作数值与命令类型层次数值;根据命令类型操作数值与命令类型层次数值,确定命令关系进程链对应的命令关系链数值;根据命令关系链数值确定命令关系参考特征值。
其中,命令类型根节点可以是命令关系树中的根进程节点。命令关系进程链可以是命令关系树中从根节点到每一个叶子节点之间的路径所对应的路径链。命令类型操作数值可以是每种命令类型对应的操作数值,例如,命令类型操作数值可以是某一命令类型的操作概率。命令类型层次数值可以是两种不同的命令类型间为父子关系的对应概率。命令关系链数值可以是命令关系树中每个命令关系进程链对应的概率数值。
在步骤S230中,特征数值计算。在确定出命令关系树后,可以根据命令关系树的树形结构计算对应的特征数值,包括命令类型操作数值与命令类型层次数值。在确定特征数值之前,可以先确定样本进程数据集中包含的进程总数,记为n。其中,命令类型操作数值包括命令类型操作概率,命令类型层次数值包括命令类型间父子关系概率。
(1)计算命令类型操作概率,计算样本进程数据集中各类型命令的概率值p(命令类型1)、p(命令类型2)等;其中,命令类型1的操作概率计算方式如公式1所示。
p(命令类型1)=count(命令类型1)/n (公式1)
其中,count(命令类型1)可以是样本进程数据集中命令类型1的进程的个数。
(2)计算命令类型间父子关系概率,计算样本进程数据集中每种命令类型分别是所有命令类型的子进程的概率,即命令类型j为命令类型i命令子进程概率值,如类型2为类型1命令子进程概率值p(命令类型2|命令类型1),计算所有情况概率值具体计算方式如公式2所示。
其中,i,j∈[1,y],y为命令类型的数量。
在步骤S240中,确定样本进程树的命令关系参考特征值。在生成命令关系树后,可以确定命令关系树对应的命令类型根节点。然后从命令关系树的命令类型根节点开始,遍历命令关系树,确定出命令关系树所包含的全部命令关系进程链。在遍历命令关系树之前,可以保存由命令关系树中从根节点至叶子节点的路径涉及的样本进程对应的命令类型,以确定出命令关系进程链;其中,每条链中的前一个进程为后一个进程的父进程。参考图4,从图4的命令关系树中确定出的命令关系进程链包括:(命令类型1,命令类型2,命令类型3);(命令类型1,命令类型3,命令类型4)。
遍历命令关系树的每一个命令关系进程链,计算命令关系树中命令关系进程链对应的命令关系链数值。例如,命令关系进程链(命令类型1,命令类型2,命令类型3),该条链对应的命令关系链数值记为p1,p1的具体计算过程如公式3所示。
p=p(命令类型1)×p(命令类型2|命令类型1)×p(命令类型3|命令类型2) (公式3)
在确定出每个命令关系进程链对应的命令关系链数值,确定多个命令关系进程链对应的命令关系链数值C样的最小值。获取预先设定的误差因子α,其中α∈(0,10),根据运行设备环境设定,可将误差因子设定为0.9。根据最小的命令关系链数值C样确定命令关系参考特征值。命令关系参考特征值C'的具体方式如公式4所示。
C'=α×min(C样) (公式4)
在本公开的一种示例性实施方案中,根据样本进程用户信息与样本进程层次关系确定第二待合并节点;第二待合并节点为具有父子关系且属于同一执行用户的进程节点,或者具有父子关系且属于同一执行用户组的进程节点;对第二待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程用户集合对应的用户关系树;根据用户关系树确定用户关系参考特征值。
其中,第二待合并节点可以是对样本进程树中的进程节点按照执行用户确定出的待合并节点,第二待合并节点的特点为两个节点具有父子关系且属于同一执行用户,或者两个节点具有父子关系且属于同一个用户组。在实际应用过程中,可以根据具体场景需求选择其中一种方式确定第二待合并节点。用户关系树可以是对样本进程树中的第二待合并节点进行合并处理,调整样本进程集合对应的树形结构后所生成的树形结构。
在获取到样本进程用户信息后,可以基于样本进程用户信息与样本进程层次关系,并结合样本进程基本信息在样本进程树中确定第二待合并节点。例如,根据样本进程名称、PID、UID与GID等信息,确定样本进程树中子进程与父进程属于同一个执行用户的进程节点,将其作为第二待合并节点。对第二待合并节点进行合并处理合并为一个节点,以调整样本进程树对应的树形结构,生成用户关系树。
举例而言,在本实施例中,以第二待合并节点具有父子关系且属于同一执行用户的进程节点为例进行说明,图3的样本进程树中,pid1进程的执行用户为用户1(user1),pid2进程的执行用户为用户2(user2),pid3进程的执行用户为用户3(user3),pid4、pid5进程的执行用户为用户(user4),pid6进程的执行用户为用户(user5)。通过上述处理后,得到用户关系树如图5所示,图5示意性示出了根据本公开的示例性实施方式的样本进程集合对应用户关系树的树形结构图。图5的用户关系树中包含5个节点,根据图3与图5的对比可知,用户4对应的节点为pid4、pid5进程节点经过合并处理后得到的,转换为一个进程节点。在得到用户关系树后,可以进一步确定用户关系树对应的用户关系参考特征值。
本领域技术人员容易理解的是,在本公开的一些其他实施例中,可以将第二待合并节点的确定方式配置为具有父子关系且属于同一执行用户组的进程节点,其余合并处理过程与上述实施例相同,本公开对此不再进行赘述。
在本公开的一种示例性实施方案中,获取用户关系树对应的用户关系根节点;基于用户关系根节点遍历用户关系树,确定用户关系树包含的用户关系进程链;确定用户关系树对应的用户执行数值与用户转换数值;根据用户执行数值与用户转换数值,确定用户关系进程链对应的用户关系链数值;根据用户关系链数值确定用户关系参考特征值。
其中,用户关系根节点可以是用户关系树中的根进程节点。用户关系进程链可以是用户关系树中从根节点到每一个叶子节点之间的路径所对应的路径链。用户执行数值可以是执行用户执行各类命令所对应的操作数值,例如,用户执行数值可以是用户A执行命令类型1的概率值。用户转换数值可以是特定执行用户所执行进程的子进程仍为该执行用户的概率值。用户关系链数值可以是用户关系树中每个用户关系进程链对应的概率数值。
继续参考图2,在确定用户关系树对应的用户关系参考特征值之前,可以在步骤S230中,计算特征数值。例如,根据用户关系树的树形结构计算用户关系树的特征数值,包括用户执行数值与用户转换数值。具体的,用户执行数值可以是用户执行概率,用户执行概率为每个执行用户执行各类命令的概率值;用户转换数值可以是用户间转换概率,用户间转换概率可以是特定执行用户所执行进程的子进程仍为该特定用户的概率。
(1)计算用户执行概率。计算样本进程数据集中各执行用户执行各类命令的概率值,如用户user1执行命令的概率为p(user1),p(user1)的计算方式如公式5所示,采用同样的方法计算每个用户执行每类命令的概率。
(2)计算用户间转换概率。计算样本进程数据集中特定执行用户所执行进程的子进程为该执行用户的概率。例如,进程2为进程1的子进程,其中,进程2的执行用户为user2,进程1的执行用户为user1,则user1相对user2的转移概率值p(user2|user1),p(user2|user1)的计算方式如公式6所示。遍历所有情况,并采用同样的计算方式得到所有用户转换概率值。
在步骤S250中,确定样本进程树的用户关系参考特征值。在得到用户关系树后,可以确定用户关系树对应的用户关系根节点。从用户关系根节点开始,遍历用户关系树。在遍历命令关系树之前,可以保存由用户关系树中从根节点至叶子节点的路径涉及的执行用户的相关信息,以确定出用户关系进程链;其中,每条链中的前一个进程为后一个进程的父进程。参考图5,从图5的用户关系树中确定出的用户关系进程链包括:(user1,user2,user3);(user1,user4,user5)。
遍历用户关系树的每一个用户关系进程链,计算用户关系树中用户关系进程链对应的用户关系链数值,即用户关系链概率。例如,用户关系进程链(user1,user2,user3)对应的用户关系链概率p的计算方式如公式7所示。
p=p(user1)×p(user2|user1)×p(user3|user2) (公式7)
在确定出每个用户关系进程链对应的用户关系链数值后,可以确定多个用户关系链数值U样的最小值。获取预先设定的误差因子α,此处的误差因子α与在确定命令关系参考特征值时所采用的误差因子相同。根据最小的用户关系链数值U样可以确定出用户关系参考特征值。用户关系参考特征值U'的计算方式如公式8所示,
U'=α×min(U样) (公式8)
在步骤S130中,根据执行命令信息与进程层次关系对进程集合进行结构调整,得到命令关系集合,并确定命令关系集合对应的命令关系特征值。
在本公开的一些示例性实施方式中,命令关系集合可以是根据待分析进程对应的命令类型对进程集合进行结构调整后得到的集合。命令关系特征值可以是命令关系集合对应的特征值。
参考图6,图6示意性示出了根据本公开的示例性实施方式的对待分析进程进行异常检测过程的流程图。在步骤S610中,获取待分析进程的进程执行信息。在获取到进程执行信息后,可以基于进程执行信息生成进程集合,进程集合采用树形结构进行存储,即待分析进程树。此过程在上文已进行详细阐述,此处不再赘述。
在步骤S620中,确定待分析进程的特征值。对于待分析进程而言,根据执行命令信息与待分析进程树中的进程层次关系,可以对待分析进程树的树形结构进行调整,得到命令关系集合对应的命令关系树。命令关系集合对应的命令关系树与上文中样本进程命令集合对应的命令关系树的生成方式相同,此处不再进行赘述。
在生成命令关系集合对应的命令关系树后,可以基于命令关系集合对应的命令关系树确定命令关系集合对应的命令关系特征值。具体的,命令关系特征值同样是根据待分析进程树的命令类型操作概率、命令类型间父子关系概率等特征数值计算得到,此处对该计算过程不再进行赘述。
在步骤S140中,根据执行用户信息与进程层次关系对进程集合进行结构调整,得到用户关系集合,并确定用户关系集合对应的用户关系特征值。
在本公开的一些示例性实施方式中,用户关系集合根据待分析进程对应的执行用户对进程集合进行结构调整后得到的集合。用户关系特征值可以是用户关系集合对应的特征值。
在步骤S620中,确定待分析进程的特征值。对于待分析进程而言,根据执行用户信息与待分析进程树中的进程层次关系,可以对待分析进程树的树形结构进行调整,得到用户关系集合对应的用户关系树。用户关系集合对应的用户关系树与上文中样本进程命令集合对应的用户关系树的生成方式相同,此处不再进行赘述。
在生成用户关系集合对应的用户关系树后,可以基于用户关系集合对应的用户关系树确定用户关系集合对应的用户关系特征值。具体的,用户关系特征值同样是根据待分析进程树的用户执行概率、用户间转换概率等特征数值计算得到,此处对该计算过程不再进行赘述。
在步骤S150中,获取预先确定的特征对比参考值,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。
在本公开的一些示例性实施方式中,特征对比参考值可以是与命令关系特征值与用户关系特征值进行对比的参考数值。异常进程信息可以是异常进程对应的所有相关信息,例如异常进程的PID、UID以及对应的告警事件等等。
在步骤S630中,进程异常状态检测。获取通过上述步骤确定出的特征对比参考值,特征对比参考值可以包括命令关系参考特征值与用户关系参考特征值。然后,将命令关系特征值与命令关系参考特征值进行数值对比,且将用户关系特征值与用户关系参考特征值进行数值对比,并确定数值对比结果,根据得到的数值对比结果确定异常进程信息。
在本公开的一种示例性实施方案中,如果命令关系特征值大于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程运行正常;如果命令关系特征值大于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程的执行用户的用户行为异常,并输出第一告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程的进程执行存在异常,并输出第二告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程对应的运行设备存在异常,并输出第三告警事件。
其中,第一告警事件可以是执行用户的用户行为存在异常所对应的告警事件。第二告警事件可以是待分析进程的执行过程存在异常所对应的告警事件。第三告警事件可以是待分析进程对应的运行设备(如主机)存在异常所对应的告警事件。
将命令关系特征值C与命令关系参考特征值C'进行对比,并将用户关系特征值U与用户关系参考特征值U'进行对比,并根据对比结果确定对应的异常进程信息的具体内容如下:
如果C-C'>0且U-U'>0,则认为主机进程运行正常,不输出告警事件.
如果C-C'>0且U-U'<0,则认为主机执行进程的用户行为存在风险,输出级别A告警事件。
如果C-C'<0且U-U'>0,则认为主机进程执行情况存在风险,输出级别B告警事件。
如果C-C'<0且U-U'<0,则认为主机存在运行风险,输出级别C告警事件。
进一步地,告警事件A/B/C的级别可根据应用场景自行定义,例如,可以将告警事件C对应的异常级别设置为高,将告警事件B对应的异常级别设置为中,将告警事件A对应的异常级别设置为低。
综上所述,获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息;根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系;根据执行命令信息与进程层次关系对进程集合进行结构调整,得到命令关系集合,并确定命令关系集合对应的命令关系特征值;根据执行用户信息与进程层次关系对进程集合进行结构调整,得到用户关系集合,并确定用户关系集合对应的用户关系特征值;获取预先确定的特征对比参考值,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。一方面,由于恶意程序往往通过启动多进程进行不同入侵行为,从单个进程的角度难以分析恶意进程完整的行为与特征,本方案通过不同进程的层次关系构建进程集合,基于进程集合分析进程运行过程的启动命令和执行用户信息,可以实现对异常进程的分析与检测。另一方面,结合设备运行环境对进程命令进行分类,计算各类进程之间的父子关系转换概率,并分析进程命令关系特征,可以实现设备运行环境下命令执行异常可能性值的计算。又一方面,基于进程的执行用户信息,结合进程树结构构建用户关系树,进而基于主机运行环境中执行用户在父子进程之间的转换关系,实现对主机异常用户操作行为的计算与检测。
需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种异常进程检测装置。参考图7,该异常进程检测装置700可以包括:信息获取模块710、进程集合构建模块720、命令值确定模块730、用户值确定模块740以及异常检测模块750。
具体的,信息获取模块710,用于获取待分析进程的进程执行信息;进程执行信息包括进程基本信息、执行命令信息与执行用户信息;进程集合构建模块720,用于根据进程基本信息构建进程集合;进程集合包含多个进程之间的进程层次关系;命令值确定模块730,用于根据执行命令信息与进程层次关系对进程集合进行结构调整,得到命令关系集合,并确定命令关系集合对应的命令关系特征值;用户值确定模块740,用于根据执行用户信息与进程层次关系对进程集合进行结构调整,得到用户关系集合,并确定用户关系集合对应的用户关系特征值;异常检测模块750,用于获取预先确定的特征对比参考值,将命令关系特征值与用户关系特征值分别与特征对比参考值进行对比,以确定异常进程信息。
在本公开的一种示例性实施方案中,特征对比参考值包括命令关系参考特征值与用户关系参考特征值,异常进程检测模块还包括参考特征值确定模块,用于获取历史进程数据,根据历史进程数据生成样本进程数据集;样本进程数据集包括多个样本进程的执行信息;执行信息包括样本进程基本信息、样本进程命令信息与样本进程用户信息;根据样本进程基本信息构建样本进程集合;样本进程集合包含多个样本进程之间的样本进程层次关系;根据样本进程命令信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程命令集合,并确定样本进程命令集合对应的命令关系参考特征值;根据样本进程用户信息与样本进程层次关系对样本进程集合进行结构调整,得到样本进程用户集合,并确定样本进程用户集合对应的用户关系参考特征值。
在本公开的一种示例性实施方案中,样本进程命令信息包括进程类型映射表;样本进程集合采用树形结构存储;参考特征值确定模块包括命令参考值确定单元,用于根据进程类型映射表与样本进程层次关系确定第一待合并节点;第一待合并节点为具有父子关系且属于同一命令类型的进程节点;对第一待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程命令集合对应的命令关系树;根据命令关系树确定命令关系参考特征值。
在本公开的一种示例性实施方案中,命令参考值确定单元包括命令参考值确定子单元,用于获取命令关系树对应的命令类型根节点;基于命令类型根节点遍历命令关系树,确定命令关系树包含的命令关系进程链;确定命令关系树对应的命令类型操作数值与命令类型层次数值;根据命令类型操作数值与命令类型层次数值,确定命令关系进程链对应的命令关系链数值;根据命令关系链数值确定命令关系参考特征值。
在本公开的一种示例性实施方案中,样本进程集合采用树形结构存储;参考特征值确定模块包括用户参考值确定单元,用于根据样本进程用户信息与样本进程层次关系确定第二待合并节点;第二待合并节点为具有父子关系且属于同一执行用户的进程节点,或者具有父子关系且属于同一执行用户组的进程节点;对第二待合并节点进行合并处理,根据经过合并处理的进程节点调整样本进程集合对应的树形结构,以生成样本进程用户集合对应的用户关系树;根据用户关系树确定用户关系参考特征值。
在本公开的一种示例性实施方案中,用户参考值确定单元包括用户参考值确定子单元,用于获取用户关系树对应的用户关系根节点;基于用户关系根节点遍历用户关系树,确定用户关系树包含的用户关系进程链;确定用户关系树对应的用户执行数值与用户转换数值;根据用户执行数值与用户转换数值,确定用户关系进程链对应的用户关系链数值;根据用户关系链数值确定用户关系参考特征值。
在本公开的一种示例性实施方案中,异常检测模块包括异常检测单元,用于如果命令关系特征值大于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程运行正常;如果命令关系特征值大于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程的执行用户的用户行为异常,并输出第一告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值大于用户关系特征参考值时,则确定待分析进程的进程执行存在异常,并输出第二告警事件;如果命令关系特征值小于命令特征参考值,且用户关系特征值小于用户关系特征参考值时,则确定待分析进程对应的运行设备存在异常,并输出第三告警事件。
上述中各异常进程检测装置的虚拟模块的具体细节已经在对应的异常进程检测方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了异常进程检测装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参考图8来描述根据本公开的这种实施例的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元820以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图9所示,描述了根据本发明的实施例的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (10)
1.一种异常进程检测方法,其特征在于,包括:
获取待分析进程的进程执行信息;所述进程执行信息包括进程基本信息、执行命令信息与执行用户信息;
根据所述进程基本信息构建进程集合;所述进程集合包含多个进程之间的进程层次关系;
根据所述执行命令信息与所述进程层次关系对所述进程集合进行结构调整,得到命令关系集合,并确定所述命令关系集合对应的命令关系特征值;
根据所述执行用户信息与所述进程层次关系对所述进程集合进行结构调整,得到用户关系集合,并确定所述用户关系集合对应的用户关系特征值;
获取预先确定的特征对比参考值,将所述命令关系特征值与所述用户关系特征值分别与所述特征对比参考值进行对比,以确定异常进程信息。
2.根据权利要求1所述的方法,其特征在于,所述特征对比参考值包括命令关系参考特征值与用户关系参考特征值,所述方法还包括:
获取历史进程数据,根据所述历史进程数据生成样本进程数据集;所述样本进程数据集包括多个样本进程的执行信息;所述执行信息包括样本进程基本信息、样本进程命令信息与样本进程用户信息;
根据所述样本进程基本信息构建样本进程集合;所述样本进程集合包含多个样本进程之间的样本进程层次关系;
根据所述样本进程命令信息与所述样本进程层次关系对所述样本进程集合进行结构调整,得到样本进程命令集合,并确定所述样本进程命令集合对应的命令关系参考特征值;
根据所述样本进程用户信息与所述样本进程层次关系对所述样本进程集合进行结构调整,得到样本进程用户集合,并确定所述样本进程用户集合对应的用户关系参考特征值。
3.根据权利要求2所述的方法,其特征在于,所述样本进程命令信息包括进程类型映射表;所述样本进程集合采用树形结构存储;
根据所述样本进程命令信息与所述样本进程层次关系对所述样本进程集合进行结构调整,得到样本进程命令集合,并确定所述样本进程命令集合对应的命令关系参考特征值,包括:
根据所述进程类型映射表与所述样本进程层次关系确定第一待合并节点;所述第一待合并节点为具有父子关系且属于同一命令类型的进程节点;
对所述第一待合并节点进行合并处理,根据经过合并处理的进程节点调整所述样本进程集合对应的树形结构,以生成所述样本进程命令集合对应的命令关系树;
根据所述命令关系树确定所述命令关系参考特征值。
4.根据权利要求3所述的方法,其特征在于,根据所述命令关系树确定所述命令关系参考特征值,包括:
获取所述命令关系树对应的命令类型根节点;
基于所述命令类型根节点遍历所述命令关系树,确定所述命令关系树包含的命令关系进程链;
确定所述命令关系树对应的命令类型操作数值与命令类型层次数值;
根据所述命令类型操作数值与所述命令类型层次数值,确定所述命令关系进程链对应的命令关系链数值;
根据所述命令关系链数值确定所述命令关系参考特征值。
5.根据权利要求2所述的方法,其特征在于,所述样本进程集合采用树形结构存储;
根据所述样本进程用户信息与所述样本进程层次关系对所述样本进程集合进行结构调整,得到样本进程用户集合,并确定所述样本进程用户集合对应的用户关系参考特征值,包括:
根据所述样本进程用户信息与所述样本进程层次关系确定第二待合并节点;所述第二待合并节点为具有父子关系且属于同一执行用户的进程节点,或者具有父子关系且属于同一执行用户组的进程节点;
对所述第二待合并节点进行合并处理,根据经过合并处理的进程节点调整所述样本进程集合对应的树形结构,以生成所述样本进程用户集合对应的用户关系树;
根据所述用户关系树确定所述用户关系参考特征值。
6.根据权利要求5所述的方法,其特征在于,根据所述用户关系树确定所述用户关系参考特征值,包括:
获取所述用户关系树对应的用户关系根节点;
基于所述用户关系根节点遍历所述用户关系树,确定所述用户关系树包含的用户关系进程链;
确定所述用户关系树对应的用户执行数值与用户转换数值;
根据所述用户执行数值与所述用户转换数值,确定所述用户关系进程链对应的用户关系链数值;
根据所述用户关系链数值确定所述用户关系参考特征值。
7.根据权利要求2所述的方法,其特征在于,将所述命令关系特征值与所述用户关系特征值分别与所述特征对比参考值进行对比,以确定异常进程信息,包括:
如果所述命令关系特征值大于所述命令特征参考值,且所述用户关系特征值大于所述用户关系特征参考值时,则确定所述待分析进程运行正常;
如果所述命令关系特征值大于所述命令特征参考值,且所述用户关系特征值小于所述用户关系特征参考值时,则确定所述待分析进程的执行用户的用户行为异常,并输出第一告警事件;
如果所述命令关系特征值小于所述命令特征参考值,且所述用户关系特征值大于所述用户关系特征参考值时,则确定所述待分析进程的进程执行存在异常,并输出第二告警事件;
如果所述命令关系特征值小于所述命令特征参考值,且所述用户关系特征值小于所述用户关系特征参考值时,则确定所述待分析进程对应的运行设备存在异常,并输出第三告警事件。
8.一种异常进程检测装置,其特征在于,包括:
信息获取模块,用于获取待分析进程的进程执行信息;所述进程执行信息包括进程基本信息、执行命令信息与执行用户信息;
进程集合构建模块,用于根据所述进程基本信息构建进程集合;所述进程集合包含多个进程之间的进程层次关系;
命令值确定模块,用于根据所述执行命令信息与所述进程层次关系对所述进程集合进行结构调整,得到命令关系集合,并确定所述命令关系集合对应的命令关系特征值;
用户值确定模块,用于根据所述执行用户信息与所述进程层次关系对所述进程集合进行结构调整,得到用户关系集合,并确定所述用户关系集合对应的用户关系特征值;
异常检测模块,用于获取预先确定的特征对比参考值,将所述命令关系特征值与所述用户关系特征值分别与所述特征对比参考值进行对比,以确定异常进程信息。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至7中任一项所述的异常进程检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至7中任一项所述的异常进程检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111661510.XA CN114357449A (zh) | 2021-12-31 | 2021-12-31 | 异常进程检测方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111661510.XA CN114357449A (zh) | 2021-12-31 | 2021-12-31 | 异常进程检测方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114357449A true CN114357449A (zh) | 2022-04-15 |
Family
ID=81106221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111661510.XA Pending CN114357449A (zh) | 2021-12-31 | 2021-12-31 | 异常进程检测方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114357449A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232765A (zh) * | 2023-05-05 | 2023-06-06 | 中域网空(成都)信息科技有限公司 | 一种工控安全系统异常访问分析方法及系统 |
-
2021
- 2021-12-31 CN CN202111661510.XA patent/CN114357449A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232765A (zh) * | 2023-05-05 | 2023-06-06 | 中域网空(成都)信息科技有限公司 | 一种工控安全系统异常访问分析方法及系统 |
CN116232765B (zh) * | 2023-05-05 | 2023-07-04 | 中域网空(成都)信息科技有限公司 | 一种工控安全系统异常访问分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220006828A1 (en) | System and user context in enterprise threat detection | |
US10547618B2 (en) | Method and apparatus for setting access privilege, server and storage medium | |
US20170178026A1 (en) | Log normalization in enterprise threat detection | |
CN112187799B (zh) | 资源访问策略生成方法及装置、存储介质、电子设备 | |
US20210326364A1 (en) | Detection of outliers in text records | |
CN111159413A (zh) | 日志聚类方法、装置、设备及存储介质 | |
JP2022166187A (ja) | クラウドサーバにおけるインスタンスリスクレベルを決定する方法、装置及び電子機器 | |
CN110618999A (zh) | 数据的查询方法及装置、计算机存储介质、电子设备 | |
CN109582906B (zh) | 数据可靠度的确定方法、装置、设备和存储介质 | |
CN114357449A (zh) | 异常进程检测方法及装置、电子设备和存储介质 | |
CN114726631A (zh) | 一种标识解析体系架构的安全防护方法及相关设备 | |
CN108768742B (zh) | 网络构建方法及装置、电子设备、存储介质 | |
WO2016173327A1 (zh) | 用于检测网站攻击的方法和设备 | |
Xu | Research on the application of artificial intelligence in computer network technology in the era of big data | |
CN115589339A (zh) | 网络攻击类型识别方法、装置、设备以及存储介质 | |
CN114640508B (zh) | 网络反欺诈的方法及装置 | |
CN115643094A (zh) | 一种威胁情报融合方法、装置、电子设备及存储介质 | |
CN113656391A (zh) | 数据检测方法及装置、存储介质及电子设备 | |
CN111475380B (zh) | 一种日志分析方法和装置 | |
CN110365642B (zh) | 监控信息操作的方法、装置、计算机设备及存储介质 | |
CN113946816A (zh) | 基于云服务的鉴权方法、装置、电子设备和存储介质 | |
CN113220949A (zh) | 一种隐私数据识别系统的构建方法及装置 | |
CN111782374A (zh) | 可信云计算基础下基于边缘计算的任务处理系统 | |
CN110717192A (zh) | 基于Key-Value加速器的面向大数据安全的访问控制方法 | |
CN116962086B (zh) | 一种文件安全性检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |