CN106127031A - 一种保护进程的方法、装置及电子设备 - Google Patents

一种保护进程的方法、装置及电子设备 Download PDF

Info

Publication number
CN106127031A
CN106127031A CN201610466525.3A CN201610466525A CN106127031A CN 106127031 A CN106127031 A CN 106127031A CN 201610466525 A CN201610466525 A CN 201610466525A CN 106127031 A CN106127031 A CN 106127031A
Authority
CN
China
Prior art keywords
kernel function
function
path
time
unit
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
Application number
CN201610466525.3A
Other languages
English (en)
Inventor
李文靖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Baoqu Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201610466525.3A priority Critical patent/CN106127031A/zh
Publication of CN106127031A publication Critical patent/CN106127031A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施例公开一种保护进程的方法、装置及电子设备,涉及信息安全技术,能够提升操作系统的安全防护效率。方法包括:在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;获取所述暂停进程内核函数中的目标进程的进程句柄,依据所述进程句柄,获取所述目标进程的进程路径;如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。本发明适用于保护进程。

Description

一种保护进程的方法、装置及电子设备
技术领域
本发明涉及信息安全技术,尤其涉及一种保护进程的方法、装置及电子设备。
背景技术
随着Windows系统内核层技术细节的逐渐公开,越来越多的木马病毒等恶意应用程序(APP,Application),为了自身存活和非法利益,开始使用内核层驱动程序来保护自身的进程,受内核层驱动程序保护的恶意应用程序的进程,可以结束(杀死)Windows系统中的安全防护进程,例如,杀毒软件或防火墙软件的进程,从而使得恶意应用程序的进程可以根据恶意应用程序提供者的意图,对用户的进程或系统进程进行恶意攻击,可能造成计算机运行不稳定,甚至可能给用户带来非常大的经济损失,例如,隐私信息的泄露以及物质财产的被窃取。其中,进程(Process)是计算机中的应用程序关于数据集合上的一次运行活动,应用程序是指令、数据及其组织形式的描述,进程是应用程序的实体。
进程防杀是保护用户的进程、Windows系统中重要的系统进程以及安全防护进程不被非法结束的一种方法,目前,常用的进程防杀是利用系统服务描述符表钩子(SSDTHOOK,System Services Descriptor Table HOOK)技术。其中,SSDT是一将ring3,即应用层的Win32API和ring0,即内核层的内核API联系起来的描述符表,SSDT并不仅仅只包含一个庞大的函数地址索引表,还包含着一些其它有用的信息,例如,地址索引的基地址、服务函数个数等。通过修改SSDT的函数地址,可以对常用Windows函数及API进行钩子处理,从而有效防控恶意进程对安全防护进程或系统进程的恶意攻击。
目前,对于恶意应用程序恶意结束安全防护进程或系统进程或任务,通过挂钩(Hook)NtTerminateProcess函数内核函数或本地进程调用(LPC,Local Procedure Call)通信函数,可以有效防止进程或任务被结束,但对于恶意应用程序暂停安全防护进程或系统进程,即使安全防护进程或系统进程处于不工作状态,例如,如果金山毒霸相关的安全防护进程被恶意暂停,将使得金山毒霸的安全防护功能失效,恶意应用程序可以进行恶意攻击,导致操作系统的安全防护效率较低,安全性不高。由于暂停进程与结束进程的机理不同,因而,目前还没有有效防止进程被暂停的技术方案。
发明内容
有鉴于此,本发明实施例提供一种保护进程的方法、装置及电子设备,能够提升操作系统的安全防护效率,以解决现有的保护进程的方法中,不能有效防止进程被暂停而导致操作系统的安全防护效率较低的问题。
第一方面,本发明实施例提供一种保护进程的方法,包括:
在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
获取所述暂停进程内核函数中的目标进程的进程句柄,
依据所述进程句柄,获取所述目标进程的进程路径;
如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。
结合第一方面,在第一方面的第一种实施方式中,在所述在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时之前,所述方法还包括:
调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述暂停进程内核函数的挂钩函数,并获取操作系统的根权限以注入所述挂钩函数。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述注入所述挂钩函数包括:
在系统服务描述符表中查询并获取所述暂停进程内核函数的函数地址,存储所述暂停进程内核函数的函数地址;
利用所述挂钩函数的函数地址替换所述暂停进程内核函数的函数地址的函数地址;
在所述挂钩函数中设置写入存储的所述暂停进程内核函数的函数地址,以用于调用所述暂停进程内核函数。
结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第三种实施方式中,所述依据所述进程句柄,获取所述目标进程的进程路径包括:
根据所述进程句柄调用进程路径获取内核函数,查询得到与所述进程句柄相匹配的进程路径。
结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第四种实施方式中,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
返回拒绝访问信息。
结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第五种实施方式中,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
返回暂停成功的假信息。
结合第一方面、第一方面的第一种或第二种实施方式,在第一方面的第六种实施方式中,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
第二方面,本发明实施例提供一种保护进程的装置,包括:挂钩模块、进程句柄获取模块、进程路径获取模块以及进程处理模块,其中,
挂钩模块,用于在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
进程句柄获取模块,用于获取所述暂停进程内核函数中的目标进程的进程句柄,
进程路径获取模块,用于依据所述进程句柄,获取所述目标进程的进程路径;
进程处理模块,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。
结合第二方面,在第二方面的第一种实施方式中,所述装置还包括:
挂钩函数注入模块,用于调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述暂停进程内核函数的挂钩函数,并获取操作系统的根权限以注入所述挂钩函数。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述挂钩函数注入模块包括:调用单元、权限获取单元、查询单元、替换单元以及地址写入单元,其中,
调用单元,用于调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述暂停进程内核函数的挂钩函数;
权限获取单元,用于获取操作系统的根权限;
查询单元,用于在系统服务描述符表中查询并获取所述暂停进程内核函数的函数地址,存储所述暂停进程内核函数的函数地址;
替换单元,用于利用所述挂钩函数的函数地址替换所述暂停进程内核函数的函数地址的函数地址;
地址写入单元,用于在所述挂钩函数中设置写入存储的所述暂停进程内核函数的函数地址,以用于调用所述暂停进程内核函数。
结合第二方面、第二方面的第一种或第二种实施方式,在第二方面的第三种实施方式中,所述进程路径获取模块包括:
进程路径获取单元,用于根据所述进程句柄调用进程路径获取内核函数,查询得到与所述进程句柄相匹配的进程路径。
结合第二方面、第二方面的第一种或第二种实施方式,在第二方面的第四种实施方式中,所述进程处理模块包括:匹配判断单元以及拒绝访问单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知拒绝访问单元;
拒绝访问单元,返回拒绝访问信息。
结合第二方面、第二方面的第一种或第二种实施方式,在第二方面的第五种实施方式中,所述进程处理模块包括:匹配判断单元以及伪成功信息返回单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知伪成功信息返回单元;
伪成功信息返回单元,用于返回暂停成功的假信息。
结合第二方面、第二方面的第一种或第二种实施方式,在第二方面的第六种实施方式中,所述进程处理模块包括:匹配判断单元、暂停伪成功信息返回单元以及暂停恢复单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知暂停伪成功信息返回单元;
暂停伪成功信息返回单元,用于通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
暂停恢复单元,调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的保护进程的方法。
本发明实施例提供的一种保护进程的方法、装置及电子设备,通过在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;获取所述暂停进程内核函数中的目标进程的进程句柄,依据所述进程句柄,获取所述目标进程的进程路径;如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作,能够提升操作系统的安全防护效率,以解决现有的保护进程的方法中,不能有效防止进程被暂停而导致操作系统的安全防护效率较低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例一保护进程的方法流程示意图;
图2为本发明的实施例二保护进程的方法流程示意图;
图3为本发明的实施例三保护进程的装置结构示意图;
图4为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
图1为本发明的实施例一保护进程的方法流程示意图,如图1所示,本实施例的方法可以包括:
步骤101,在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
本实施例中,作为一可选实施例,暂停进程内核函数为NtSuspendProcess内核函数,用于将目标进程执行挂起,即暂停处理。
本实施例中,注入的挂钩(Hook)函数用于监听暂停进程内核函数的相关操作(暂停进程的操作),拦截该相关操作,并在相关操作对应的目标进程与预先设置的进程目录中的进程相匹配时,转由注入的挂钩函数对该相关操作进行处理,并向调用暂停进程内核函数的调用者(例如,一些恶意应用程序)返回相应处理结果。其中,
Hook函数是Windows操作系统中消息处理机制的一段程序代码段,应用程序可以通过该程序代码段,设置子程序代码段以监视指定窗口的某种消息(操作),而且所监视的指定窗口可以是其他进程所创建的。Hook函数具有的挂钩机制通过Windows操作系统调用,将具有优先控制权的Hook函数注入Windows操作系统,允许Hook函数截获Window操作系统发出的消息或特定事件,每当Windows操作系统中消息或特定事件发出,在没有到达目的窗口前,Hook函数能够先捕获该消息或特定事件,从而可以加工处理(改变)该消息或特定事件,也可以不作处理而继续传递,还可以强制结束消息或特定事件的传递。
本发明实施例中,恶意应用程序通过调用应用层的暂停进程应用函数,即调用SuspendProcess函数发起目标进程暂停请求后,SuspendProcess函数再调用应用层的进程句柄函数,即ZwSuspendProcess函数,ZwSuspendProcess函数再调用内核层的NtSuspendProcess函数以暂停目标进程时,通过挂钩NtSuspendProcess内核函数,使之在所监视的指定窗口中进行目标进程暂停处理之前处理该目标进程,即接替所监视的指定窗口中的NtSuspendProcess内核函数,对目标进程的暂停进行处理。
本实施例中,挂钩函数可以采用能够实现本实施例后续步骤相应功能的任意语言进行编程得到,例如,可以采用超级文本预处理语言(PHP,Hypertext Preprocessor)、C、C++、Linux等语言进行编程得到。
作为一可选实施例,可在安全防护软件在加载防护驱动时注入钩住函数,例如,在金山毒霸防御驱动加载时注入钩住函数。
本实施例中,作为一可选实施例,在所述在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时之前,该方法还可以包括:
调用操作系统的挂钩函数窗口设置(SetWindowsHookEx)接口,设置用于监测调用所述暂停进程内核函数的挂钩函数,并获取操作系统的根权限以注入所述挂钩函数。
本实施例中,作为一可选实施例,所述注入所述挂钩函数包括:
A11,在系统服务描述符表(SSDT,System Services Descriptor Table)中查询并获取所述暂停进程内核函数的函数地址,存储所述暂停进程内核函数的函数地址;
A12,利用所述挂钩函数的函数地址替换所述暂停进程内核函数的函数地址的函数地址;
A13,在所述挂钩函数中设置写入存储的所述暂停进程内核函数的函数地址,以用于调用所述暂停进程内核函数。
本实施例中,通过存储暂停进程内核函数的函数地址,可以在挂钩函数确认可以允许进行进程暂停处理时,可以调用暂停进程内核函数以执行真实的暂停进程操作。
本实施例中,通过在内核层中注入挂钩函数,挂钩暂停进程流程中的NtSuspendProcess内核函数,因而,恶意应用程序暂停进程,当执行到NtSuspendProcess内核函数时,挂钩函数进行拦截,以满足拦截需求。
步骤102,获取所述暂停进程内核函数中的目标进程的进程句柄;
本实施例中,恶意应用程序通过调用SuspendProcess应用函数发起目标进程暂停请求时,在目标进程暂停请求中携带有暂停的目标进程句柄。
在挂钩函数中,包含有进程句柄参数,进程句柄参数为一指针或进程标识,指向一块包含具体信息数据的内存,是进程路径的索引,本实施例中,通过将目标进程暂停请求中携带的目标进程句柄写入到进程句柄参数中,可以在后续中依据该写入有目标进程句柄的进程句柄参数,获取对应的进程路径。
步骤103,依据所述进程句柄,获取所述目标进程的进程路径;
本实施例中,作为一可选实施例,所述依据所述进程句柄,获取所述目标进程的进程路径包括:
根据所述进程句柄调用进程路径获取内核函数,查询得到与所述进程句柄相匹配的进程路径。
本实施例中,作为一可选实施例,进程路径获取内核函数为ZwQueryInformationProcess内核函数。例如,如果目标进程为金山毒霸的安全防护进程,调用ZwQueryInformationProcess内核函数,查询得到的暂停目标进程的进程路径格式可以为:C:\Program Files\kingsoft\kingsoft antivirus\kxetray.exe。
步骤104,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。
本实施例中,预先设置需要保护的进程目录,当获取的进程路径与进程目录中任一进程路径相匹配时,需要对该目标进程进行保护。
作为一可选实施例,可以通过注册表获取目标进程目录路径并写入到进程目录。例如,对于金山毒霸的安全防护进程,注册表中的金山毒霸的安全防护进程目录路径格式为:C:\Program Files\kingsoft\kingsoft antivirus\。以上述为例,查询得到的暂停目标进程的进程路径与金山毒霸的安全防护进程目录路径相匹配。
本实施例中,作为一可选实施例,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
返回拒绝访问信息。
本实施例中,在挂钩函数中,直接返回一拒绝访问信息,退出执行暂停目标进程的操作,使得NtSuspendProcess内核函数不会执行到操作系统挂起目标进程的流程,从而达到拦截暂停目标进程的操作的目的,使得恶意应用程序在调用SuspendProcess内核函数的返回值是拒绝访问信息。
作为另一可选实施例,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
返回暂停成功的假信息。
本实施例中,在挂钩函数中,直接返回一暂停成功信息的假状态信息,退出执行暂停目标进程的操作,使得流程结束,从而使得NtSuspendProcess内核函数不会执行到操作系统挂起目标进程的流程,恶意应用程序在调用SuspendProcess内核函数的返回值是暂停成功信息的假状态,但实质上SuspendProcess内核函并未执行暂停目标进程的操作。
作为再一可选实施例,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
C11,通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
C12,调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
本实施例中,在挂钩函数中,通知NtSuspendProcess内核函数执行暂停目标进程的操作,使得目标进程会暂停成功,并返回暂停成功信息,使得恶意应用程序在调用SuspendProcess内核函数的返回值是暂停成功信息,认为暂停目标进程成功。但同时,调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程,在目标进程暂停后立即恢复该目标进程,相当于恶意应用程序执行了一无效动作,从而达到拦截的效果。
作为一可选实施例,进程恢复内核函数为NtResumeProcess内核函数。
本实施例中,作为一可选实施例,该方法还包括:
如果获取的进程路径与预先设置的进程目录中任一进程路径均不相匹配,通知所述暂停进程内核函数执行暂停目标进程的操作。
本实施例中,当不满足拦截条件时,表明目标进程为非进程目录中的进程,可以调用NtSuspendProcess内核函数,让操作系统挂起目标进程。
本发明保护进程的方法,通过在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;获取所述暂停进程内核函数中的目标进程的进程句柄,依据所述进程句柄,获取所述目标进程的进程路径;如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。这样,通过挂钩暂停进程内核函数,在挂钩函数里,判断暂停的目标进程路径是否在预设的进程目录路径库内,从而杜绝恶意应用程序利用暂停目标进程来破坏操作系统,对安全进程的暂停进程保护,有利于提高安全进程自我保护能力,拦截恶意应用程序暂停目标进程,对维护操作系统安全有积极意义。
实施例二
图2为本发明实施例二保护进程的方法流程示意图,如图2所示,本实施例的方法可以包括:
步骤201,在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
步骤202,获取所述暂停进程内核函数中的目标进程的进程句柄;
步骤203,依据所述进程句柄,获取所述目标进程的进程路径;
本实施例中,步骤201至步骤203的过程分别和上述方法实施例一的步骤101至步骤103类似,此处不再赘述。
步骤204,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配;
步骤205,通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
步骤206,调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
本发明实施例二保护进程的方法,通过短时的目标进程的暂停,迅速将暂停的目标进程恢复,使得恶意应用程序认为暂停目标进程成功,从而避免后续对目标进程暂停不成功的频繁攻击。
实施例三
图3为本发明的实施例三保护进程的装置结构示意图,如图3所示,本实施例的装置可以包括:挂钩模块31、进程句柄获取模块32、进程路径获取模块33以及进程处理模块34,其中,
挂钩模块31,用于在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
本实施例中,作为一可选实施例,暂停进程内核函数为NtSuspendProcess内核函数,用于将目标进程执行挂起,即暂停处理。
本实施例中,挂钩函数可以采用能够实现本实施例后续步骤相应功能的任意语言进行编程得到,例如,可以采用超级文本预处理语言(PHP,Hypertext Preprocessor)、C、C++、Linux等语言进行编程得到。
作为一可选实施例,可在安全防护软件在加载防护驱动时注入钩住函数,例如,在金山毒霸防御驱动加载时注入钩住函数。
进程句柄获取模块32,用于获取所述暂停进程内核函数中的目标进程的进程句柄;
进程路径获取模块33,用于依据所述进程句柄,获取所述目标进程的进程路径;
本实施例中,作为一可选实施例,进程路径获取模块33包括:
进程路径获取单元(图中未示出),用于根据所述进程句柄调用进程路径获取内核函数,查询得到与所述进程句柄相匹配的进程路径。
本实施例中,作为一可选实施例,进程路径获取内核函数为ZwQueryInformationProcess内核函数。
进程处理模块34,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。
作为一可选实施例,可以通过注册表获取目标进程目录路径并写入到进程目录。
本实施例中,作为一可选实施例,进程处理模块34包括:匹配判断单元以及拒绝访问单元(图中未示出),其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知拒绝访问单元;
拒绝访问单元,返回拒绝访问信息。
作为另一可选实施例,进程处理模块34包括:匹配判断单元以及伪成功信息返回单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知伪成功信息返回单元;
伪成功信息返回单元,用于返回暂停成功的假信息。
作为再一可选实施例,进程处理模块34包括:匹配判断单元、暂停伪成功信息返回单元以及暂停恢复单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知暂停伪成功信息返回单元;
暂停伪成功信息返回单元,用于通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
暂停恢复单元,调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
本实施例中,作为一可选实施例,进程恢复内核函数为NtResumeProcess内核函数。
本实施例中,作为一可选实施例,该装置还包括:
挂钩函数注入模块35,用于调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述暂停进程内核函数的挂钩函数,并获取操作系统的根权限以注入所述挂钩函数。
本实施例中,作为一可选实施例,挂钩函数注入模块35包括:调用单元、权限获取单元、查询单元、替换单元以及地址写入单元(图中未示出),其中,
调用单元,用于调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述暂停进程内核函数的挂钩函数;
权限获取单元,用于获取操作系统的根权限;
查询单元,用于在系统服务描述符表中查询并获取所述暂停进程内核函数的函数地址,存储所述暂停进程内核函数的函数地址;
替换单元,用于利用所述挂钩函数的函数地址替换所述暂停进程内核函数的函数地址的函数地址;
地址写入单元,用于在所述挂钩函数中设置写入存储的所述暂停进程内核函数的函数地址,以用于调用所述暂停进程内核函数。
本实施例中,作为一可选实施例,还包括:
如果获取的进程路径与预先设置的进程目录中任一进程路径均不相匹配,通知所述暂停进程内核函数执行暂停目标进程的操作。
本实施例中,当不满足拦截条件时,表明目标进程为非进程目录中的进程,可以调用NtSuspendProcess内核函数,让操作系统挂起目标进程。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图4为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-3所示实施例的流程,如图4所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的保护进程的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-3所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本
发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种保护进程的方法,其特征在于,包括:
在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
获取所述暂停进程内核函数中的目标进程的进程句柄,依据所述进程句柄,获取所述目标进程的进程路径;
如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。
2.根据权利要求1所述的保护进程的方法,其特征在于,所述依据所述进程句柄,获取所述目标进程的进程路径包括:
根据所述进程句柄调用进程路径获取内核函数,查询得到与所述进程句柄相匹配的进程路径。
3.根据权利要求1所述的保护进程的方法,其特征在于,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
返回拒绝访问信息。
4.根据权利要求1所述的保护进程的方法,其特征在于,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
返回暂停成功的假信息。
5.根据权利要求1所述的保护进程的方法,其特征在于,所述按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作包括:
通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
6.一种保护进程的装置,其特征在于,包括:挂钩模块、进程句柄获取模块、进程路径获取模块以及进程处理模块,其中,
挂钩模块,用于在预先注入到内核层中的挂钩函数监测到暂停进程内核函数被调用时,挂钩所述暂停进程内核函数;
进程句柄获取模块,用于获取所述暂停进程内核函数中的目标进程的进程句柄;
进程路径获取模块,用于依据所述进程句柄,获取所述目标进程的进程路径;
进程处理模块,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,按照预先设置的处理策略拦截调用所述暂停进程内核函数的操作。
7.根据权利要求6所述的保护进程的装置,其特征在于,所述进程处理模块包括:匹配判断单元以及拒绝访问单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知拒绝访问单元;
拒绝访问单元,返回拒绝访问信息。
8.根据权利要求6所述的保护进程的装置,其特征在于,所述进程处理模块包括:匹配判断单元以及伪成功信息返回单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知伪成功信息返回单元;
伪成功信息返回单元,用于返回暂停成功的假信息。
9.根据权利要求6所述的保护进程的装置,其特征在于,所述进程处理模块包括:匹配判断单元、暂停伪成功信息返回单元以及暂停恢复单元,其中,
匹配判断单元,如果获取的进程路径与预先设置的进程目录中任一进程路径相匹配,通知暂停伪成功信息返回单元;
暂停伪成功信息返回单元,用于通知所述暂停进程内核函数执行暂停目标进程的操作,返回暂停成功信息;
暂停恢复单元,调用进程恢复内核函数,恢复被所述暂停进程内核函数暂停的目标进程。
10.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一权利要求1-5所述的保护进程的方法。
CN201610466525.3A 2016-06-23 2016-06-23 一种保护进程的方法、装置及电子设备 Pending CN106127031A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610466525.3A CN106127031A (zh) 2016-06-23 2016-06-23 一种保护进程的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610466525.3A CN106127031A (zh) 2016-06-23 2016-06-23 一种保护进程的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN106127031A true CN106127031A (zh) 2016-11-16

Family

ID=57268118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610466525.3A Pending CN106127031A (zh) 2016-06-23 2016-06-23 一种保护进程的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN106127031A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194244A (zh) * 2017-04-13 2017-09-22 福建省天奕网络科技有限公司 Vr游戏内存数据的保护方法及其系统
CN108762826A (zh) * 2018-04-23 2018-11-06 厦门市美亚柏科信息股份有限公司 进程隐藏方法及计算机可读存储介质
CN108984212A (zh) * 2017-05-31 2018-12-11 腾讯科技(深圳)有限公司 一种关闭进程的方法以及电子设备
CN109831420A (zh) * 2018-05-04 2019-05-31 360企业安全技术(珠海)有限公司 内核进程权限的确定方法及装置
CN111078435A (zh) * 2019-12-18 2020-04-28 支付宝(杭州)信息技术有限公司 业务处理方法、装置及电子设备
CN114385277A (zh) * 2021-12-10 2022-04-22 苏州浪潮智能科技有限公司 一种获取进程可执行文件路径的方法、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872391A (zh) * 2009-04-23 2010-10-27 盛大计算机(上海)有限公司 基于三环体系的安全防护系统
CN102147845A (zh) * 2011-04-18 2011-08-10 北京思创银联科技股份有限公司 进程监控方法
CN102314577A (zh) * 2011-09-23 2012-01-11 深圳市万兴软件有限公司 实时监控和保护注册表开机启动项方法
CN102855430A (zh) * 2012-08-23 2013-01-02 福建升腾资讯有限公司 基于Windows系统的进程黑白名单控制方法
CN103428036A (zh) * 2012-05-14 2013-12-04 腾讯科技(深圳)有限公司 测试响应时间的方法和装置
CN104239786A (zh) * 2014-10-13 2014-12-24 北京奇虎科技有限公司 免root主动防御配置方法及装置
CN104346559A (zh) * 2014-11-26 2015-02-11 北京奇虎科技有限公司 权限请求响应方法及相应的装置
CN105068916A (zh) * 2015-08-28 2015-11-18 福建六壬网安股份有限公司 一种基于内核hook的进程行为监控方法
US9225733B1 (en) * 2014-08-25 2015-12-29 Trend Micro Incorporated Preventing computer worms from attacking a private computer network through a virtual private network connection

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872391A (zh) * 2009-04-23 2010-10-27 盛大计算机(上海)有限公司 基于三环体系的安全防护系统
CN102147845A (zh) * 2011-04-18 2011-08-10 北京思创银联科技股份有限公司 进程监控方法
CN102314577A (zh) * 2011-09-23 2012-01-11 深圳市万兴软件有限公司 实时监控和保护注册表开机启动项方法
CN103428036A (zh) * 2012-05-14 2013-12-04 腾讯科技(深圳)有限公司 测试响应时间的方法和装置
CN102855430A (zh) * 2012-08-23 2013-01-02 福建升腾资讯有限公司 基于Windows系统的进程黑白名单控制方法
US9225733B1 (en) * 2014-08-25 2015-12-29 Trend Micro Incorporated Preventing computer worms from attacking a private computer network through a virtual private network connection
CN104239786A (zh) * 2014-10-13 2014-12-24 北京奇虎科技有限公司 免root主动防御配置方法及装置
CN104346559A (zh) * 2014-11-26 2015-02-11 北京奇虎科技有限公司 权限请求响应方法及相应的装置
CN105068916A (zh) * 2015-08-28 2015-11-18 福建六壬网安股份有限公司 一种基于内核hook的进程行为监控方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194244A (zh) * 2017-04-13 2017-09-22 福建省天奕网络科技有限公司 Vr游戏内存数据的保护方法及其系统
CN108984212A (zh) * 2017-05-31 2018-12-11 腾讯科技(深圳)有限公司 一种关闭进程的方法以及电子设备
CN108762826A (zh) * 2018-04-23 2018-11-06 厦门市美亚柏科信息股份有限公司 进程隐藏方法及计算机可读存储介质
CN109831420A (zh) * 2018-05-04 2019-05-31 360企业安全技术(珠海)有限公司 内核进程权限的确定方法及装置
CN109831420B (zh) * 2018-05-04 2021-10-22 360企业安全技术(珠海)有限公司 内核进程权限的确定方法及装置
CN111078435A (zh) * 2019-12-18 2020-04-28 支付宝(杭州)信息技术有限公司 业务处理方法、装置及电子设备
CN114385277A (zh) * 2021-12-10 2022-04-22 苏州浪潮智能科技有限公司 一种获取进程可执行文件路径的方法、装置及存储介质
CN114385277B (zh) * 2021-12-10 2023-08-29 苏州浪潮智能科技有限公司 一种获取进程可执行文件路径的方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN106127031A (zh) 一种保护进程的方法、装置及电子设备
CN103198255B (zh) 一种Android软件敏感行为监控与拦截方法及系统
CN103548320B (zh) 不安全应用在装置上的安全执行
CN104268471B (zh) 一种检测面向返程的编程攻击的方法及装置
CN106201468A (zh) 一种截屏的处理方法、装置及电子设备
KR100997802B1 (ko) 정보 단말기의 보안 관리 장치 및 방법
CN104008337A (zh) 一种基于Linux系统的主动防御方法及装置
CN103874986A (zh) 用于在移动网络环境中提供有关特许资源使用的阈值级别的系统和方法
CN106169047A (zh) 一种监控摄像头打开的方法、装置及电子设备
CN104680084A (zh) 计算机中保护用户隐私的方法和系统
CN102004882A (zh) 远程线程注入型木马的检测和处理的方法和装置
CN105893847A (zh) 一种保护安全防护应用程序文件的方法、装置及电子设备
CN106682493B (zh) 一种防止进程被恶意结束的方法、装置及电子设备
CN106203092A (zh) 一种拦截恶意程序关机的方法、装置及电子设备
CN105868625B (zh) 一种拦截文件被重启删除的方法及装置
CN202652255U (zh) 一种sql注入安全防护系统
CN106250244A (zh) 一种释放互斥锁的方法、装置及电子设备
CN106022117A (zh) 防止系统环境变量修改的方法、装置及电子设备
CN106203119B (zh) 隐藏光标的处理方法、装置及电子设备
CN106022109A (zh) 一种防止线程暂停的方法、装置及电子设备
CN106203114A (zh) 一种应用程序的防护方法、装置及电子设备
CN106127034B (zh) 一种防止系统被恶意关闭的方法、装置及电子设备
CN106203107A (zh) 一种防止系统菜单被恶意修改的方法、装置及电子设备
CN105956475A (zh) Dll文件的拦截处理方法、装置及电子设备
CN107818260B (zh) 保障系统安全的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190109

Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Leopard Technology Co.,Ltd.

Address before: 100085 East District, No. 33 Xiaoying West Road, Haidian District, Beijing

Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20161116

RJ01 Rejection of invention patent application after publication