一种确定子进程的父进程的方法、设备及其存储介质技术

技术编号:18289375 阅读:53 留言:0更新日期:2018-06-24 04:02
本发明专利技术实施例提供一种确定子进程的父进程的方法、设备及计算机存储介质,该方法包括:获取子进程所对应的内存地址信息;根据所述内存地址信息,查找信息列表,所述信息列表包括多条内存详细信息;基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息。

【技术实现步骤摘要】
一种确定子进程的父进程的方法、设备及其存储介质
本专利技术涉及系统安全
,尤其涉及一种确定子进程的父进程的方法、设备及其计算机存储介质。
技术介绍
一个完整的程序会由多层级的进程链构成。其中,所述多层级的进程链通常包括子进程、父进程、父父进程、父父父进程以及更上一级的进程等等。在程序运行过程中子进程的父进程被关闭(或由于其他原因)之后,父进程将处于退出状态。这样,当父进程退出后,终端只能获取到子进程的进程信息,而无法获取到该子进程的父进程的进程信息,导致无法最后根据获取到的进程链上的全部进程的进程信息鉴定程序的运行行为。在中国专利申请公开CN105608375A中公开了一种进程信息获取方法,所述进程信息获取方法通过创建进程数据表的方式监控并记录了进程创建过程,比如使用驱动设置PsSetCreateProcessNotifyRoutine回调,获取到创建子进程操作,并在此时记录下该子进程的进程信息,以供后续查询。因此,当某一进程退出的情况下,可以从预先创建的进程数据表中获取到进程链上的全部进程的进程信息。然而,上述进程信息获取方法存在如下缺陷:1)终端在处理器进行程序运行的过程中增加实时监控进程创建过程,故使得处理器的处理速率下降;2)终端需要在实时监控进程创建过程的基础上,以创建进程数据表的方式不断记录整个进程创建过程,必然会占用较大的存储空间,从而引起存储空间不足等问题。
技术实现思路
鉴于上述问题,提出了本专利技术,以便提供一种克服上述问题或者至少部分地解决上述问题的一种确定子进程的父进程的方法、设备及计算机存储介质。依据本专利技术的第一方面,提供一种确定子进程的父进程的方法,包括:获取子进程所对应的内存地址信息;根据所述内存地址信息,查找信息列表,所述信息列表包括多条内存详细信息;基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息,包括:基于特定筛选条件遍历所述信息列表,筛选出目标详细信息;根据特定偏移地址获取所述目标详细信息的内存内容,并将所述内存内容确定为与所述子进程对应的父进程的进程路径信息;其中,所述特定偏移地址的取值为目标详细信息的起始地址与特定偏移量二者之和,所述特定偏移量用于指示所述进程路径信息在所述目标详细信息中所处的位置。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,所述特定偏移量的取值因操作系统版本的不同而不同。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,所述特定筛选条件包括如下条件至少之一:内存详细信息的大小、类型、状态、保护及使用方式。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,所述大小的取值为4k字节;类型的取值为私有;状态的取值为提交;保护的取值为读写;和/或使用方式的取值为进程环境块(ProcessEnvironmentBlock,PEB)。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,基于特定筛选条件遍历所述信息列表,筛选出目标详细信息,包括:基于内存详细信息的大小、类型、状态、保护及使用方式中的至少之一来遍历所述信息列表进行筛选,得到由取值为PEB的使用方式所唯一确定的内存详细信息;将所述信息列表中紧邻由取值为PEB的使用方式所唯一确定的内存详细信息的下一条内存详细信息,作为目标详细信息。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,进一步包括:筛选出与所述子进程对应的父进程的进程路径信息之后,根据所述父进程的进程路径信息对所述父进程的合法性加以校验。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,根据所述父进程的进程路径信息对所述父进程的合法性加以校验,包括:根据所述父进程的进程路径信息从进程文件列表中查找得到父进程文件;对所述父进程文件加以校验;若校验成功,则确定所述父进程合法;若校验失败,则确定所述父进程不合法。可选的,在根据本专利技术的实施例的确定子进程的父进程的方法中,对所述父进程文件加以校验,包括:计算所述父进程文件的哈希值;对所述父进程文件的哈希值与预先存储的父进程文件的哈希值进行一致性校验。依据本专利技术的第二方面,提供一种确定子进程的父进程的设备,包括:获取装置,用于获取子进程对应的内存地址信息;查找装置,用于根据所述内存地址信息,查找信息列表,所述信息列表包括多条内存详细信息;筛选装置,用于基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述筛选装置还用于,基于特定筛选条件遍历所述信息列表,筛选出目标详细信息;根据特定偏移地址获取所述目标详细信息的内存内容,并将所述内存内容确定为与所述子进程对应的父进程的进程路径信息;其中,所述特定偏移地址的取值为目标详细信息的起始地址与特定偏移量二者之和,所述特定偏移量用于指示所述进程路径信息在所述目标详细信息中所处的位置。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述特定偏移量的取值因操作系统版本的不同而不同。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述特定筛选条件包括如下条件之一:内存详细信息的大小、类型、状态、保护及使用方式。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述大小的取值为4k字节;类型的取值为私有;状态的取值为提交;保护的取值为读写;和/或使用方式的取值为PEB。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述筛选装置还用于,基于内存详细信息的大小、类型、状态、保护及使用方式中的至少之一来遍历所述信息列表进行筛选,得到由取值为PEB的使用方式所唯一确定的内存详细信息;将所述信息列表中紧邻由取值为PEB的使用方式所唯一确定的内存详细信息的下一条内存详细信息,作为目标详细信息。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,还包括:校验装置,用于筛选出与所述子进程对应的父进程的进程路径信息之后,根据所述父进程的进程路径信息对所述父进程的合法性加以校验。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述校验装置还用于,根据所述父进程的进程路径信息从进程文件列表中查找得到父进程文件;对所述父进程文件加以校验;若校验成功,则确定所述父进程合法;若校验失败,则确定所述父进程不合法。可选的,在根据本专利技术的实施例的确定子进程的父进程的设备中,所述校验装置还用于,计算所述父进程文件的哈希值;对所述父进程文件的哈希值与预先存储的父进程文件的哈希值进行一致性校验。依据本专利技术的第三方面,提供一种确定子进程的父进程的设备,包括:一个或者多个处理器;存储器;存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行第一方面、第一方面的任意一项所述的方法。依据本专利技术的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行第一方面、第一方面的任意一项所述的方法。本专利技术实施例搜索所述确定子进程的父进程的方法,能够在父进程退出后,直接本文档来自技高网...
一种确定子进程的父进程的方法、设备及其存储介质

【技术保护点】
1.一种确定子进程的父进程的方法,包括:获取子进程所对应的内存地址信息;根据所述内存地址信息,查找信息列表,所述信息列表包括多条内存详细信息;基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息。

【技术特征摘要】
1.一种确定子进程的父进程的方法,包括:获取子进程所对应的内存地址信息;根据所述内存地址信息,查找信息列表,所述信息列表包括多条内存详细信息;基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息。2.根据权利要求1所述的方法,其中,基于特定筛选条件遍历所述信息列表,筛选出与所述子进程对应的父进程的进程路径信息,包括:基于特定筛选条件遍历所述信息列表,筛选出目标详细信息;根据特定偏移地址获取所述目标详细信息的内存内容,并将所述内存内容确定为与所述子进程对应的父进程的进程路径信息;其中,所述特定偏移地址的取值为目标详细信息的起始地址与特定偏移量二者之和,所述特定偏移量用于指示所述进程路径信息在所述目标详细信息中所处的位置。3.根据权利要求2所述的方法,其中,所述特定偏移量的取值因操作系统版本的不同而不同。4.根据权利要求1所述的方法,其中,所述特定筛选条件包括如下条件至少之一:内存详细信息的大小、类型、状态、保护及使用方式。5.根据权利要求4所述的方法,其中,所述大小的取值为4k字节;类型的取值为私有;状态的取值为提交;保护的取值为读写;和/或使用方式的取值为进程环境块PEB。6.根据权利要求4所述的方法,其中,基于特定筛选...

【专利技术属性】
技术研发人员:何孟东
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1