一种进程监控的方法、存储介质技术

技术编号:19545712 阅读:23 留言:0更新日期:2018-11-24 20:56
本发明专利技术提供一种进程监控的方法、存储介质,方法包括:在Ring0层对应目标进程注入动态链接库;依据一具体监控业务,通过所述动态链接库动态调用所述一具体监控业务对应的业务动态链接库;在Ring3层通过API拦截目标进程调用所述业务动态链接库。本发明专利技术在Ring0层进行简单的注入;便可在Ring3层对目标进程进行管控;适用于多种操作系统,实用性强、灵活性高、操作简易、更具全面性。

A Method of Process Monitoring and Storage Media

The invention provides a method and storage medium for process monitoring, which includes: injecting dynamic link libraries into corresponding target processes at Ring 0 layer; dynamically invoking corresponding business dynamic link libraries through the dynamic link libraries according to a specific monitoring service; intercepting target process tuning through API at Ring 3 layer The service dynamic link library is used. The invention has simple injection in Ring 0 layer, can control the target process in Ring 3 layer, and is applicable to various operating systems, with strong practicability, high flexibility, simple operation and more comprehensive.

【技术实现步骤摘要】
一种进程监控的方法、存储介质
本专利技术涉及进程监控领域,具体说的是一种进程监控的方法、存储介质。
技术介绍
在大数据时代,数据的安全越来越重要,为了保证数据的安全性,常常需要对操作系统进行监测,对系统的监测常使用的方式是进程注入的方式。在计算机
中,为了对内存中的某个进程进行操作,并且获得该进程地址空间里的数据,或者修改进程的私有数据结构,必须将自己的模块放在目标进程的地址空间里运行,这时就需要使用进程注入方法。现有技术常用的注入方式有以下几种:使用注册表注入动态链接库;使用windows挂钩来注入动态链接库;使用远程线程来注入动态链接库;使用木马动态链接库来注入动态链接库等。上述几种常用的注入方式存在以下不足:使用注册表注入动态链接库需要目标进程使用user32.dll;使用windows挂钩来注入动态链接库,这种方法需要注入的目标进程产生窗口消息才能注入成功;使用远程线程注入DLL需要知道目标进程的句柄;使用木马来注入动态链接库的方法难度大而且工作量大。现有的几种注入方式各有各的局限性,不能有效的注入到所有的进程,并且没有一种能有效管理所注入动态链接库的方法。基于如上原因,有必要提供一种能实现多种消息类型控制,注入容易,且工作量小、不容易被杀毒软件拦截的注入方式。
技术实现思路
本专利技术所要解决的技术问题是:提供一种进程监控的方法、存储介质,具有更通用、更灵活、且注入简易、工作量小且不易被拦截等特点。为了解决上述技术问题,本专利技术采用的技术方案为:一种进程监控的方法,包括:在Ring0层对应目标进程注入动态链接库;依据一具体监控业务,通过所述动态链接库动态调用所述一具体监控业务对应的业务动态链接库;在Ring3层通过API拦截目标进程调用所述业务动态链接库。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器调用时能够实现上述一种进程监控的方法所包含的所有步骤。本专利技术的有益效果在于:本专利技术只需在特权级别的Ring0层对目标进程注入一个的动态链接库。相比现有在Ring3层注入的方式更通用、更灵活;并且只需注入一个动态链接库,无需注入其他动态链接库,更简单通用;后续只需依据所注入的这个动态链接库实现动态加载所需的对应各个具体监控业务的业务动态链接库,然后通过在Ring3层以拦截方式实现对应复杂的监控业务逻辑功能即可对目标进程进行管控。本专利技术的进程监控方式兼容多种操作系统,通用性好;将注入和处理复杂的业务逻辑分开,灵活性高、隐藏性更好、同时还能适用于对不同类型的进程的监控,更具全面性;本专利技术的运用有效的提高了系统的安全性。附图说明图1为本专利技术一种进程监控的方法的流程示意图;图2为本专利技术的进程监控方法、存储介质对应的系统框架示意图;图3为本专利技术实施例一的进程监控方法的流程示意图;图4为本专利技术实施二的进程模块加载通用的管理系统结构组成示意图;标号说明:1、注入模块结;2、API拦截模块;3、目标进程旧导入表恢复模块;11、目标进程设置模块;12、目标进程控制模块;13、加载模块;14、注入模块。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:在Ring0层进行简单的注入;便可在Ring3层对目标进程进行管控;适用于多种操作系统,实用性强、灵活性高、操作简易、更具全面性。本专利技术所涉及的相关知识说明:Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,Ring0、Ring1、Ring、Ring3。Windows只使用其中的两个级别Ring0和Ring3。Ring0层拥有最高的权限,Ring3层拥有最低的权限。具体的,本专利技术中的Ring0层,指的是Intel处理器特权级别中第一层,供特权模式使用,在特权级别下运行,允许执行任何CPU指令,包括特权指令,可以无限制地访问系统数据、代码和硬件资源。对应的是操作系统工作的层级。具体的,本专利技术中的Ring3层是Intel处理器特权级别中第四层,供用户模式使用,它们不允许执行CPU的特权指令,对系统所属的数据、地址空间以及硬件等的访问也是被严格限制的,是操作系统用户能访问的层级。对应的是应用程序工作的层级。本专利技术所述的动态链接库,即DLL,是在window操作系统下生成的动态链接库。本专利技术所述的目标进程可以是任何类型的进程。本专利技术所述的PE是WindowsPreinstallationEnvironment(WindowsPE),Windows预安装环境,是带有有限服务的最小Win32子系统,基于以保护模式运行的WindowsXPProfessional及以上内核。请参照图1以及图2,本专利技术提供一种进程监控的方法,包括:在Ring0层对应目标进程注入动态链接库;依据一具体监控业务,通过所述动态链接库动态调用所述一具体监控业务对应的业务动态链接库;在Ring3层通过API拦截目标进程调用所述业务动态链接库。从上述描述可知,本专利技术的有益效果在于:本专利技术通过在Ring0层将一个能够用于动态加载与各种具体监控业务对应的业务动态链接库的动态链接库注入到目标进程;然后在Ring3层通过API方式拦截实现所加载的业务动态链接库对应的具体监控业务,从而实现对目标进程的监控,本专利技术提供的监控方式更具通用性、实用性、灵活性以及全面性。进一步的,还包括:通过驱动方式监视目标进程的启动请求;若监视到所述目标进程的启动请求,则执行所述在Ring0层对应目标进程注入动态链接库的步骤。由上述描述可知,以驱动方式监控目标进程的启动,能确保监控到所有的目标进程的启动请求,相比其他方式更可靠。进一步的,使用PE的方式通过修改所述目标进程的进程导入表注入所述动态链接库。由上述描述可知,使用PE方式进行注入,具体通过重新构建目标进程的导入表实现动态链接库的注入,注入方式更便捷、高效、也更可靠。进一步的,所述在Ring3层通过API拦截目标进程调用所述业务动态链接库,具体为:在Ring3层对所述目标数据的系统函数进行拦截;修改所述系统函数在内存的地址,使其指向所述一具体监控业务对应的业务动态链接库。由上述描述可知,在Ring3层实现复杂的业务逻辑功能,具体通过API拦截方式进行目标进程的监控,具体监控的过程更直观、监控方式也更便捷。进一步的,还包括:监控进程通过在共享内存获取所述目标进程的数据。由上述描述可知,利用共享内存实现监控进程对目标进程的数据的获取,隐蔽性更高,也更便捷。进一步的,所述在Ring3层通过API拦截目标进程调用所述业务动态链接库,之后,还包括:恢复所述目标进程为注入前的状态。由上述描述可知,在监控完毕后,将目标进程的导入表恢复成监控前的状态,以保障导入表的正常使用。进一步的,所述具体监控业务的数量为多个时,则所述动态链接库动态调用各个具体监控业务各自对应的业务动态链接库。由上述描述可知,动态链接库可以根据需要(所需的具体监控业务功能)动态加载对应的多个的业务动态链接库,以实现业务复杂的情况下,对应不同业务的实现。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器调用时能够实现上述一种进程监控的方法本文档来自技高网
...

【技术保护点】
1.一种进程监控的方法,其特征在于,包括:在Ring0层对应目标进程注入动态链接库;依据一具体监控业务,通过所述动态链接库动态调用所述一具体监控业务对应的业务动态链接库;在Ring3层通过API拦截目标进程调用所述业务动态链接库。

【技术特征摘要】
1.一种进程监控的方法,其特征在于,包括:在Ring0层对应目标进程注入动态链接库;依据一具体监控业务,通过所述动态链接库动态调用所述一具体监控业务对应的业务动态链接库;在Ring3层通过API拦截目标进程调用所述业务动态链接库。2.如权利要求1所述的一种进程监控的方法,其特征在于,还包括:通过驱动方式监视目标进程的启动请求;若监视到所述目标进程的启动请求,则执行所述在Ring0层对应目标进程注入动态链接库的步骤。3.如权利要求1所述的一种进程监控的方法,其特征在于,使用PE的方式通过修改所述目标进程的进程导入表注入所述动态链接库。4.如权利要求1所述的一种进程监控的方法,其特征在于,所述在Ring3层通过API拦截目标进程调用所述业务动态链接库,具体为:在Ring3层对所述目标数...

【专利技术属性】
技术研发人员:沈海波许全聪申强吴少华黄志炜
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建,35

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

1