CN109711153A - 一种windows进程保护方法及系统 - Google Patents
一种windows进程保护方法及系统 Download PDFInfo
- Publication number
- CN109711153A CN109711153A CN201811600359.7A CN201811600359A CN109711153A CN 109711153 A CN109711153 A CN 109711153A CN 201811600359 A CN201811600359 A CN 201811600359A CN 109711153 A CN109711153 A CN 109711153A
- Authority
- CN
- China
- Prior art keywords
- windows
- hook
- protected
- protected process
- module
- 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.)
- Granted
Links
Landscapes
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种windows进程保护方法及系统,方法包括:基于hook技术,在windows所有进程中注入预设的hook模块;当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。本发明实施例提供的一种windows进程保护方法及系统,能够通过在进程中注入hook模块,从而对进程进行轻量级保护,保护过程不会引起系统蓝屏并且实时阻断,响应时间短。
Description
技术领域
本发明实施例涉及系统安全技术领域,尤其涉及一种windows进程保护方法及系统。
背景技术
目前,大多数企业内部的办公系统主要采用的仍旧是windows操作系统,而对于重要的企事业单位对内部的电脑都有监控软件,那么如何防止监控软件被人杀死成为了一项亟待解决的任务。
现有技术中对于监控软件的防护工作主要采用了两种方式,一种是通过对进程进行驱动保护,在驱动层对终止软件的请求进行阻断实现保护。但是这种方案风险较高,一旦出现bug,将引起系统蓝屏等严重现象。第二种是通过一个守护进程或守护服务,检测监控软件是否允许,若进程被停止则重新启动,但是这种方案不能做到实时防护的效果。
因此,现在亟需一种windows进程保护方法来解决现有技术中存在的问题。
发明内容
为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的一种windows进程保护方法及系统。
第一方面本发明实施例提供一种windows进程保护方法,包括:
基于hook技术,在windows所有进程中注入预设的hook模块;
当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
第二方面本发明实施例提供了一种windows进程保护系统,包括:
注入模块,用于基于hook技术,在windows所有进程中注入预设的hook模块;
保护模块,用于当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
第三方面本发明实施例提供了一种电子设备,包括:
处理器、存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述windows进程保护方法。
第四方面本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述的windows进程保护方法。
本发明实施例提供的一种windows进程保护方法及系统,能够通过在进程中注入hook模块,从而对进程进行轻量级保护,保护过程不会引起系统蓝屏并且实时阻断,响应时间短。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种windows进程保护方法流程示意图;
图2是本发明实施例提供的一种windows进程保护系统结构示意图;
图3是本发明实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,现有技术中在进行进程保护时,经常会出现不必要的系统蓝屏现象,又或者不能实时进行阻断,造成处理延时高。
针对上述问题,图1是本发明实施例提供的一种windows进程保护方法流程示意图,如图1所示,包括:
101、基于hook技术,在windows所有进程中注入预设的hook模块;
102、当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
需要说明的是,本发明实施例的应用场景可以是在对任意进程进行保护时实施。例如:在公司内部使用本发明实施例提供的方法能够防止用户通过外部软件如进程管理器、procnt等软件对进程进行杀死操作,从而有针对性的对windows进程进行保护。
具体的,在步骤101中,本发明实施例会在windows进程中注入一个hook模块,hook技术也可称为api hook技术,它可以改变一个系统api的原有功能,基本的思路是通过hook接触到需要修改的api函数入口点,然后改变它的地址指向新的自定义函数,从而改变api函数的目的。
进一步的,在步骤102中,可以理解的是,通过进程中注入的hook模块能够改变系统api函数的功能和权限,从而阻止受保护的进程被杀死。在本发明实施例中,把针对于受保护进程的结束、终端、删除等类似的指令统称为杀死请求,那么通过hook模块检测到有针对受保护进程发生的杀死请求时,能够及时将该杀死请求进行阻断,从而保护受保护进程,上述受保护进程可以实时进行识别也可以预先定义清楚,对此本发明实施例不作具体限定。
在上述实施例的基础上,在所述当检测到存在向受保护进程进行的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程之前,所述方法还包括:
遍历windows所有进程,确定所述受保护进程的ID。
由上述实施例的内容可知,本发明实施例会通过注入的hook模块来对受保护的进程进行实时保护。
那么实质上在保护的过程中,本发明实施例还需要对进程进行识别,从而分析出哪个进程是我们所需要的受保护的进程。具体的,本发明实施例在进程列表中进行遍历,获取受保护进程的ID号,从而根据该ID号能够比对出杀死请求所针对的进程是否为受保护进程。
在上述实施例的基础上,在所述遍历windows所有进程,确定所述受保护进程的ID之前,所述方法还包括:
将所述受保护进程加密存储于共享内存中。
由上述实施例的内容可知,本发明实施例会确定受保护进程的ID,可以理解的是,该受保护进程需要预先部署才能进行确定。本发明实施例采用的部署方案是通过共享内存将要保护的进程加密存储于共享内存中,之后在确定进程是否为受保护进程时即可直接通过共享内存检测进程ID。
还需要说明的是,本发明实施例会提前获取受保护进程的相关信息,例如进程名称、签名、厂商等,并将相关信息一并加密写入共享内存中。
在上述实施例的基础上,所述基于hook技术,在windows所有进程中注入预设的hook模块,包括:
通过消息注入方式,将所述hook模块注入windows所有进程中,并在所述hook模块中hook住openprocess api和terminateprocess api。
由上述实施例的内容可知,本发明实施例会在每个windows进程中进行hook模块的注入。
具体的,首先本发明实施例需要编写hook模块,并预先在hook模块中将其与openprocess,terminateprocess函数挂钩,即本发明实施例中的hook住openprocess api和terminateprocess api,接着在主调程序中通过调用setwindowshook、setwindowshookEx等消息注入方式将hook模块注入到相应进程中,需要说明的是,本发明实施例也可以通过驱动注入的方式将保护模块注入到特定一些进程中,对此本发明实施例不作具体限定。
在上述实施例的基础上,所述方法还包括:
对所述openprocess api函数进程进行处理,取消掉所述受保护进程的杀死权限,并增加所述受保护进程的查询权限。
由上述实施例的内容可知,本发明实施例需要对受保护进程进行保护,那么实质上本发明实施例的保护从两个方面进行,第一个方面即通过openprocess api函数进程进行处理,取消掉所述受保护进程的杀死权限,并增加所述受保护进程的查询权限。从而受保护程序在权限上不能被杀死,但是可以被查询,可以理解的是,当取消掉受保护进程的杀死权限后,一般该进程将无权终止该进程。
在上述实施例的基础上,所述当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程,包括:
当所述hook模块截取到所述terminateprocess api的调用是针对所述受保护进程时,阻断终止受保护进程的操作。
可以理解的是,本发明实施例对于进程的第二方面保护主要在于通过对terminateprocess的api函数进程处理。具体的,当用户下达对某一进程的终止指令,即本发明实施例中的杀死请求时,本发明实施例提供的hook模块会截取到terminateprocessapi的调用。
进一步的,如果调用GetProcessID获取当前进程的ID和受保护进程的ID相符,则证明该杀死请求是针对受保护进程的,那么本发明实施例需要及时阻断该杀死请求,从而实现对受保护进程的保护。
图2是本发明实施例提供的一种windows进程保护系统结构示意图,如图2所示,包括:注入模块201以及保护模块202,其中:
注入模块201用于基于hook技术,在windows所有进程中注入预设的hook模块;
保护模块202用于当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
具体的如何通过注入模块201以及保护模块202进行windows进程保护可用于执行图1所示的windows进程保护方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例提供的一种windows进程保护系统,能够通过在进程中注入hook模块,从而对进程进行轻量级保护,保护过程不会引起系统蓝屏并且实时阻断,响应时间短。
在上述实施例的基础上,所述系统还包括:
受保护进程确定模块,用于遍历windows所有进程,确定所述受保护进程的ID。
在上述实施例的基础上,所述系统还包括:
加密保存模块,用于将所述受保护进程加密存储于共享内存中。
在上述实施例的基础上,所述注入模块包括:
消息注入单元,用于通过消息注入方式,将所述hook模块注入windows所有进程中,并在所述hook模块中hook住openprocess api和terminateprocess api。
在上述实施例的基础上,所述系统还包括:
权限取消模块,用于对所述openprocess api函数进程进行处理,取消掉所述受保护进程的杀死权限,并增加所述受保护进程的查询权限。
在上述实施例的基础上,所述保护模块包括:
截取单元,用于当所述hook模块截取到所述terminateprocess api的调用是针对所述受保护进程时,阻断终止受保护进程的操作。
本发明实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:
图3是本发明实施例提供的电子设备的结构框图,参照图3,所述电子设备,包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和总线304,其中,处理器301,通信接口302,存储器303通过总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:基于hook技术,在windows所有进程中注入预设的hook模块;当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:基于hook技术,在windows所有进程中注入预设的hook模块;当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:基于hook技术,在windows所有进程中注入预设的hook模块;当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行每个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种windows进程保护方法,其特征在于,包括:
基于hook技术,在windows所有进程中注入预设的hook模块;
当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
2.根据权利要求1所述的方法,其特征在于,在所述当检测到存在向受保护进程进行的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程之前,所述方法还包括:
遍历windows所有进程,确定所述受保护进程的ID。
3.根据权利要求2所述的方法,其特征在于,在所述遍历windows所有进程,确定所述受保护进程的ID之前,所述方法还包括:
将所述受保护进程加密存储于共享内存中。
4.根据权利要求2所述的方法,其特征在于,所述基于hook技术,在windows所有进程中注入预设的hook模块,包括:
通过消息注入方式,将所述hook模块注入windows所有进程中,并在所述hook模块中hook住openprocess api和terminateprocess api。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述openprocess api函数进程进行处理,取消掉所述受保护进程的杀死权限,并增加所述受保护进程的查询权限。
6.根据权利要求5所述的方法,其特征在于,所述当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程,包括:
当所述hook模块截取到所述terminateprocess api的调用是针对所述受保护进程时,阻断终止受保护进程的操作。
7.一种windows进程保护系统,其特征在于,包括:
注入模块,用于基于hook技术,在windows所有进程中注入预设的hook模块;
保护模块,用于当检测到存在向受保护进程发出的杀死请求时,基于所述hook模块,截获所述杀死请求,以保护所述受保护进程。
8.一种电子设备,其特征在于,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811600359.7A CN109711153B (zh) | 2018-12-26 | 2018-12-26 | 一种windows进程保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811600359.7A CN109711153B (zh) | 2018-12-26 | 2018-12-26 | 一种windows进程保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711153A true CN109711153A (zh) | 2019-05-03 |
CN109711153B CN109711153B (zh) | 2021-03-19 |
Family
ID=66258384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811600359.7A Active CN109711153B (zh) | 2018-12-26 | 2018-12-26 | 一种windows进程保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711153B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605968A (zh) * | 2004-11-15 | 2005-04-13 | 南京大学 | 基于程序内部行为监控的软件安全保障的方法 |
CN1624617A (zh) * | 2003-12-03 | 2005-06-08 | 株式会社因卡网络 | 阻断对游戏进程非法访问以及操作游戏进程的方法 |
CN102156834A (zh) * | 2011-04-18 | 2011-08-17 | 北京思创银联科技股份有限公司 | 实现进程防杀的方法 |
CN103677978A (zh) * | 2013-12-30 | 2014-03-26 | Tcl集团股份有限公司 | 一种对进程进行保护的方法和电子设备 |
CN106228064A (zh) * | 2016-07-27 | 2016-12-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用进程的保护方法和装置 |
CN106648863A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种安卓应用安装包、应用目标进程保活方法及系统 |
CN106682493A (zh) * | 2015-11-06 | 2017-05-17 | 珠海市君天电子科技有限公司 | 一种防止进程被恶意结束的方法、装置及电子设备 |
CN108446553A (zh) * | 2018-03-22 | 2018-08-24 | 北京金山安全软件有限公司 | 一种进程保护的方法、装置及电子设备 |
-
2018
- 2018-12-26 CN CN201811600359.7A patent/CN109711153B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1624617A (zh) * | 2003-12-03 | 2005-06-08 | 株式会社因卡网络 | 阻断对游戏进程非法访问以及操作游戏进程的方法 |
CN1605968A (zh) * | 2004-11-15 | 2005-04-13 | 南京大学 | 基于程序内部行为监控的软件安全保障的方法 |
CN102156834A (zh) * | 2011-04-18 | 2011-08-17 | 北京思创银联科技股份有限公司 | 实现进程防杀的方法 |
CN103677978A (zh) * | 2013-12-30 | 2014-03-26 | Tcl集团股份有限公司 | 一种对进程进行保护的方法和电子设备 |
CN106682493A (zh) * | 2015-11-06 | 2017-05-17 | 珠海市君天电子科技有限公司 | 一种防止进程被恶意结束的方法、装置及电子设备 |
CN106228064A (zh) * | 2016-07-27 | 2016-12-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用进程的保护方法和装置 |
CN106648863A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种安卓应用安装包、应用目标进程保活方法及系统 |
CN108446553A (zh) * | 2018-03-22 | 2018-08-24 | 北京金山安全软件有限公司 | 一种进程保护的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109711153B (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797677B2 (en) | Cloud based just in time memory analysis for malware detection | |
US11528282B2 (en) | Endpoint detection and response system with endpoint-based artifact storage | |
CN109831420B (zh) | 内核进程权限的确定方法及装置 | |
EP3225009B1 (en) | Systems and methods for malicious code detection | |
US20180359272A1 (en) | Next-generation enhanced comprehensive cybersecurity platform with endpoint protection and centralized management | |
EP2951955B1 (en) | Method and system for protecting web applications against web attacks | |
CN104750534B (zh) | 触发虚拟机自省的方法、装置及系统 | |
US20130291051A1 (en) | System call interception | |
CN109787964B (zh) | 进程行为溯源装置和方法 | |
CN109800577B (zh) | 一种识别逃逸安全监控行为的方法及装置 | |
CN106682493B (zh) | 一种防止进程被恶意结束的方法、装置及电子设备 | |
US10902122B2 (en) | Just in time memory analysis for malware detection | |
CN106127031A (zh) | 一种保护进程的方法、装置及电子设备 | |
CN110807191B (zh) | 一种应用程序的安全运行方法及装置 | |
US11449618B2 (en) | Active testing of access control policy | |
JP7123488B2 (ja) | ファイル・アクセス監視方法、プログラム、および、システム | |
CN111131222A (zh) | 安全防护扫描方法与防火墙系统 | |
US8566585B2 (en) | System and a method for processing system calls in a computerized system that implements a kernel | |
CN105930740A (zh) | 软体文件被修改时的来源追溯方法、监测方法、还原方法及系统 | |
CN109711153A (zh) | 一种windows进程保护方法及系统 | |
US8533833B2 (en) | System, a method, and a data-structure for processing system calls in a computerized system that implements a kernel | |
CN109558730B (zh) | 一种浏览器的安全防护方法及装置 | |
US11899782B1 (en) | Preserving DLL hooks | |
US20230394146A1 (en) | Analyzing files using a kernel mode of a virtual machine | |
CN114741694A (zh) | 一种检测shellcode执行的方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 100195 Room 301, floor 3, building 103, No. 3, minzhuang Road, Haidian District, Beijing Patentee after: Mixin (Beijing) Digital Technology Co.,Ltd. Address before: 100093 301, 3rd floor, building 103, 3 minzhuang Road, Haidian District, Beijing Patentee before: BEIJING BEIXINYUAN INFORMATION SECURITY TECHNOLOGY CO.,LTD. |
|
CP03 | Change of name, title or address |