[发明专利]一种监控进程的方法及装置有效
申请号: | 201710193081.5 | 申请日: | 2017-03-28 |
公开(公告)号: | CN107025404B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 周志刚;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F21/54 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 汤财宝 |
地址: | 430000 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 监控 进程 方法 装置 | ||
技术领域
本发明涉及信息处理领域,更具体地,涉及一种监控进程的方法及装置。
背景技术
目前,软件开发通常会采用模块化开发,将软件的功能进行模块化拆分,不同的模块负责不同的功能。同时在设计模块时尽可能的使得模块松耦合,使得模块能够独立使用,从而对于软件开发人员来说可以独立的去开发一个个模块功能。
当程序发布时,程序主框架则会加载一个个独立的模块来实现整个程序的功能。对于Windows客户端,程序则是一个动态链接库(Dynamic Link Library,DLL)文件,在程序发布到Windows客户端后,可以从客户端安装目录中获取到一个个独立的DLL文件。而对于程序自身来说,有些核心功能都是编写在DLL中的,一旦黑客获取到模块后,可以修改模块的代码从而实现一些非法的功能,或者在程序启动后再对程序进行修改。
现有的监控程序模块加载活动的方法包括:步骤1,接收操作系统发出的程序模块加载活动通知;步骤2,获取上述程序模块在系统内存中处于加载状态下的可执行文件(Portable Executable,PE)头部信息、以及该程序模块包含在磁盘中对应的原始文件内容中的PE头部信息;步骤3,比较所述获取的加载状态下的PE头部信息与原始文件内容中的PE头部信息是否匹配,如果不匹配则结束加载,如果匹配则继续加载。
但是现有的监控程序模块加载活动的方法,其校验与被校验在一个进程中进行,这样可能会暴露程序模块本身,制造修改程序模块的机会;并且该监控程序模块加载活动的方法只在程序模块加载时进行监控,仍然存在被修改的风险。
发明内容
针对上述的问题,本发明提供一种监控进程的方法及装置。
第一方面,本发明提供一种监控进程的方法,包括:S1,获知当前运行的所有进程中存在客户端程序的进程;S2,获取所述客户端程序的进程模块信息,并接收所述客户端程序传输的配置信息;S3,将所述进程模块信息与所述配置信息进行校验;S4,若校验结果不一致,则终止所述客户端程序运行;或者若校验结果一致,则允许所述客户端程序继续运行。
其中,所述S1进一步包括:每隔预设时间枚举当前运行的所有进程,并判断所述所有进程中是否存在所述客户端程序的进程。
其中,所述S2进一步包括:所述客户端程序每次登录时,服务器将所述配置信息发送至所述客户端程序,所述客户端程序再将所述配置信息通过进程间通信的方式传输至所述服务器。
其中,所述S2中的配置信息包括:所述客户端程序中的模块名称、模块基址、模块代码段起始地址、模块代码长度和校验值。
其中,所述S1进一步包括:通过调用函数CreateThread来创建线程函数,所述线程函数用于每隔预设时间枚举当前运行的所有进程,并判断所述所有进程中是否存在所述客户端程序的进程。
其中,所述S2中获取所述客户端程序的进程模块信息进一步包括:通过调用函数CreateToolhelp32Snapshot来获取所述客户端程序的进程模块信息。
其中,所述S3中的所述进程模块信息与所述配置信息进行校验为进行HASH校验。
第二方面,本发明提供一种监控进程的装置,包括:获知模块,用于获知当前运行的所有进程中存在客户端程序的进程;处理模块,用于获取所述客户端程序的进程模块信息,并接收所述客户端程序传输的配置信息;校验模块,用于将所述进程模块信息与所述配置信息进行校验;执行模块,用于若校验结果不一致,则终止所述客户端程序运行;或者若校验结果一致,则允许所述客户端程序继续运行。
其中,所述获知模块进一步用于:每隔预设时间枚举当前运行的所有进程,并判断所述所有进程中是否存在所述客户端程序的进程。
本发明提供的一种监控进程的方法及装置,通过一个独立的服务程序监控客户端程序的进程,当获知客户端程序正在启动或运行时,服务程序会获取客户端程序的进程模块信息,并将进程模块信息与配置信息进行校验。然后服务程序根据校验结果确定是否允许客户端程序继续运行,若校验结果不一致,则关闭该客户端程序的进程,阻止该客户端程序继续运行;或者若校验结果一致,则允许所述客户端程序继续运行,从而达到监控客户端程序是否被修改的目的。并且这种监控进程的方法,其校验与被校验是两个不同的进程,能够对服务程序自身起到比较好的隐藏保护作用,同时在客户端程序被校验时,也不会影响到客户端程序自身的运行。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710193081.5/2.html,转载请声明来源钻瓜专利网。