CN106022109A - 一种防止线程暂停的方法、装置及电子设备 - Google Patents

一种防止线程暂停的方法、装置及电子设备 Download PDF

Info

Publication number
CN106022109A
CN106022109A CN201610331126.6A CN201610331126A CN106022109A CN 106022109 A CN106022109 A CN 106022109A CN 201610331126 A CN201610331126 A CN 201610331126A CN 106022109 A CN106022109 A CN 106022109A
Authority
CN
China
Prior art keywords
thread
hung
identification information
suspending
time
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
CN201610331126.6A
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 CN201610331126.6A priority Critical patent/CN106022109A/zh
Publication of CN106022109A publication Critical patent/CN106022109A/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

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)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施例公开一种防止线程暂停的方法、装置及电子设备,涉及安全防护技术领域,能够保护应用程序的正常运行。所述防止线程暂停的方法,包括:根据对线程挂起函数的调用的监视,获取待挂起线程所归属的进程的标识信息,判断待挂起线程是否是要保护的进程,若是,则获取暂停所述待挂起线程的进程的标识信息,根据暂停所述待挂起线程的进程的标识信息,判断暂停所述待挂起线程的进程是否是目标应用程序的进程,若是,则拒绝挂起所述待挂起线程。所述装置和电子设备中包括实现上述方法步骤的模块。本发明适用于对应用程序尤其是对安全类应用程序的保护。

Description

一种防止线程暂停的方法、装置及电子设备
技术领域
本发明涉及安全防护技术领域,尤其涉及一种防止线程暂停的方法、装置及电子设备。
背景技术
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。
安全应用程序或称为安全软件,都能保护常规的结束进程,但是系统内核提供了NtSuspendThread函数,用于暂停某个线程的运行,此时虽然此线程未被结束,但是已经被挂起,不能处理任何数据,如果一个进程的所有线程都被暂停,则此进程就处于暂停状态,恶意应用程序或称为恶意软件可以先枚举出某个进程的所有线程,再采用此方法暂停所有线程,导致某进程被暂停,进行破坏,特别是暂停安全软件的进程,使得安全软件不能正常工作,从而破坏系统。
发明内容
有鉴于此,本发明实施例提供一种防止线程暂停的方法、装置及电子设备,能够保护应用程序的正常运行。
第一方面,本发明实施例提供一种防止线程暂停的方法,包括:
对操作系统的线程挂起函数的调用进行监视;
根据所述监视,获取待挂起线程所归属的进程的标识信息;
根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程;
若所述待挂起线程是要保护的进程的线程,则获取此次暂停所述待挂起线程的进程的标识信息;
根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程;
若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程。
结合第一方面,在第一方面的第一种可实施方式中,所述操作系统为Windows操作系统;所述操作系统的线程挂起函数为操作系统内核层的NtSuspendThread函数;
其中,所述对操作系统的线程挂起函数的调用进行监视,包括:通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
结合第一方面的第一种可实施方式,在第一方面的第二种可实施方式中,所述通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视,包括:通过安全防护类应用程序的防御驱动程序中预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
结合第一方面至第一方面的第二种可实施方式中的任一种可实施方式,在第一方面的第三种可实施方式中,所述根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程,包括:根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程的标识信息与特征库中保存的标识信息是否匹配,若此次暂停所述待挂起线程的进程的标识信息与特征库中保存的至少一个标识信息相匹配,则确定此次暂停所述待挂起线程的进程是目标应用程序的进程;其中,所述特征库中保存有目标应用程序的标识信息。
第二方面,本发明实施例提供一种防止线程暂停的装置,包括:监视模块,用于对操作系统的线程挂起函数的调用进行监视;第一获取模块,用于根据所述监视,获取待挂起线程所归属的进程的标识信息;第一判断模块,用于根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程;第二获取模块,用于若所述待挂起线程是要保护的进程的线程,则获取此次暂停所述待挂起线程的进程的标识信息;第二判断模块,用于根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程;拒绝挂起模块,用于若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程。
结合第二方面,在第二方面的第一种可实施方式中,所述操作系统为Windows操作系统;所述操作系统的线程挂起函数为操作系统内核层的NtSuspendThread函数;其中,所述监视模块,用于通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
结合第二方面的第一种可实施方式,在第二方面的第二种可实施方式中,所述监视模块,用于通过安全防护类应用程序的防御驱动程序中预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
结合第二方面至第二方面的第二种可实施方式中的任一种可实施方式,在第二方面的第三种可实施方式中,所述第二判断模块,包括:判断子模块,用于根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程的标识信息与特征库中保存的标识信息是否匹配;确定子模块,用于根据所述判断子模块的判断,若此次暂停所述待挂起线程的进程的标识信息与特征库中保存的至少一个标识信息相匹配,则确定此次暂停所述待挂起线程的进程是目标应用程序的进程;其中,所述特征库中保存有目标应用程序的标识信息。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施方式所述的防止线程暂停的方法。
本发明实施例提供的防止线程暂停的方法、装置及电子设备,通过对操作系统的线程挂起函数的调用进行监视,根据所述监视,当有应用程序的进程调用所述线程挂起函数时,获取待挂起线程所归属的进程的标识信息,根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程,若所述待挂起线程是要保护的进程的线程,则进一步获取此次暂停所述待挂起线程的进程的标识信息,根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程,若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程,由此能够保护应用程序的正常运行,防止其进程被恶意应用程序暂停。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明防止线程暂停的方法实施例一的流程示意图;
图2为本发明防止线程暂停的方法实施例二的流程示意图;
图3为本发明防止线程暂停的装置实施例一的结构示意图;
图4为本发明防止线程暂停的装置实施例二的结构示意图;
图5为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明防止线程暂停的方法实施例一的流程示意图。参看图1,本发明防止线程暂停的方法实施例,包括如下步骤:
S101、对操作系统的线程挂起函数的调用进行监视。
操作系统提供了线程挂起函数。恶意应用程序的进程通过调用所述线程挂起函数可将一应用程序如安全应用程序的线程挂起,即暂停该应用程序的线程的运行。本实施例通过对所述线程挂起函数进行监视,可及时截获恶意应用程序对要保护的应用程序的线程进行挂起的消息。
S102、根据所述监视,获取待挂起线程所归属的进程的标识信息。
本实施例中,待挂起线程所归属的进程的标识信息,可以是待挂起线程所归属的进程名或进程标识号:每个进程都有唯一的进程名或进程标识号。在识别一个进程时,进程名或进程标识号代表该进程。
恶意应用程序的进程调用所述线程挂起函数时,会向所述线程挂起函数传递待挂起线程所归属的进程的标识信息。本实施例中,可在所述待挂起线程所归属的进程的标识信息到达所述线程挂起函数之前,截获所述待挂起线程所归属的进程的标识信息。
S103、根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程。
本实施例中,作为一可选的方式,可将要保护的要保护的进程的标识信息写入白名单中。在所述白名单中进行匹配查询,若在所述白名单中匹配到与所述待挂起线程所归属的进程的标识信息,则可确定所述待挂起线程是要保护的进程的线程,否则,则确定所述待挂起线程所归属的进程的标识信息不是要保护的进程。
S104、若所述待挂起线程是要保护的进程的线程,则获取此次暂停所述待挂起线程的进程的标识信息。
本实施例中,此次暂停所述待挂起线程的进程的标识信息,可以是此次暂停所述待挂起线程的进程的进程名或进程标识号。
S105、根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程.
本实施例中,作为一可选方式,可根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程的标识信息与特征库中保存的标识信息是否匹配,若此次暂停所述待挂起线程的进程的标识信息与特征库中保存的至少一个标识信息相匹配,则确定此次暂停所述待挂起线程的进程是目标应用程序的进程;其中,所述特征库中保存有目标应用程序的标识信息。
S106、若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程。
本实施例中,若此次暂停所述待挂起线程的进程是目标应用程序的进程,则返回拒绝消息,拒绝挂起所述待挂起线程。
通过上面的步骤,目标应用程序如某一恶意应用程序对线程的暂停就会失败。
本发明实施例提供的防止线程暂停的方法,通过对操作系统的线程挂起函数的调用进行监视,根据所述监视,当有应用程序的进程调用所述线程挂起函数时,获取待挂起线程所归属的进程的标识信息,根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程,若所述待挂起线程是要保护的进程的线程,则进一步获取此次暂停所述待挂起线程的进程的标识信息,根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程,若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程,由此能够保护应用程序的正常运行,防止其进程被恶意应用程序暂停。
图2为本发明防止线程暂停的方法实施例二的流程示意图。本实施例中,所述操作系统为Windows操作系统;所述操作系统的线程挂起函数为操作系统内核层的NtSuspendThread函数。本发明实施例适用于金山毒霸或金山卫士等安全防护类应用程序对应用程序的进程的保护。参看图2,本发明防止线程暂停的方法实施例,包括如下步骤:
S201、通过预先设置的钩子(Hook)函数,对操作系统内核层的线程挂起函数的调用进行监视。
本实施例中,Windows操作系统内核层的线程挂起函数为NtSuspendThread函数。所述钩子函数建立在安全防护类应用程序如金山毒霸的防御驱动中。安全防护类应用程序的防御驱动在windows操作系统开机后即开始运行。
在本步骤之前,可由编程人员在所述防御驱动中建立钩子函数。钩子函数实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子函数就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
本实施例中,将NtSuspendThread函数的原始入口地址修改为本实施例中的钩子函数的入口地址。恶意应用程序的进程在调用NtSuspendThread函数时,由于NtSuspendThread函数的原始入口地址已被修改为本实施例的钩子函数的入口地址,通过对NtSuspendThread函数的调用,即可跳至本实施例的钩子函数的执行,由此实现对NtSuspendThread函数的监视。
为了实现对NtSuspendThread函数的回调,在将NtSuspendThread函数的原始入口地址修改为本实施例中的钩子函数的入口地址之前,需要对NtSuspendThread函数的原始入口地址进行保存。
本实施例中,恶意应用程序的进程对NtSuspendThread函数的调用,可通过windows操作系统对NtSuspendThread函数的调用来实现。具体来讲,可以是恶意应用程序的进程向windows操作系统发出调用NtSuspendThread函数的消息,windows操作系统根据该消息调用NtSuspendThread函数。
S202、所述钩子函数根据所述监视,获取待挂起线程所归属的进程的标识信息。
本实施例中,所述钩子函数根据所述监视获取待挂起线程所归属的进程的标识信息的过程和上述方法实施例的步骤S102类似,此处不再赘述。
S203、所述钩子函数根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程。
本实施例中,所述钩子函数根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程的过程和上述方法实施例的步骤S103类似,此处不再赘述。
本实施例中,若所述待挂起线程是要保护的进程的线程,则执行步骤S204,否则执行步骤S207。
S204、所述钩子函数获取此次暂停所述待挂起线程的进程的标识信息。
本实施例中,此次暂停所述待挂起线程的进程的标识信息,可以是此次暂停所述待挂起线程的进程的进程名或进程标识号。
S205、所述钩子函数根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程。
本实施例中,所述钩子函数根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程的过程和上述方法实施例的步骤S105类似,此处不再赘述。
本实施例中,若此次暂停所述待挂起线程的进程是目标应用程序的进程,则执行步骤S206,否则执行步骤S207。
S206、所述钩子函数拒绝挂起所述待挂起线程。
本实施例中,若此次暂停所述待挂起线程的进程是目标应用程序的进程,则返回拒绝消息,拒绝挂起所述待挂起线程。
本实施例中,所述钩子函数可向windows操作系统或向恶意应用程序的进程返回拒绝消息,从而阻止对所述待挂起线程的暂停操作。
S207、调用操作系统内核层的原始NtSuspendThread函数。
本实施例中,可通过所述原始NtSuspendThread函数,进行所述待挂起线程的挂起操作。
本实施例提供的防止线程暂停的方法,能够拦截恶意软件通过内核的方式暂停线程的行为。
下面采用一个具体的实施例,对图1~图2中任一个所示方法实施例的技术方案进行详细说明。
在用户电脑环境中,存在一个恶意软件A。在金山毒霸的防御驱动中Hook了暂停线程的NtSuspendThread函数,当恶意软件A的进程通知其驱动程序调用NtSuspendThread函数暂停金山毒霸的防御进程的线程时,防御驱动就会对此行为进行拦截,并返回拒绝消息,使得恶意软件A暂停金山毒霸的防御进程的线程失败,进而使得暂停金山毒霸的防御进程失败,从而更好地保护用户系统环境不被破坏。
图3为本发明防止线程暂停的装置实施例一的结构示意图。
参看图3,本发明防止线程暂停的装置实施例,包括:监视模块11、第一获取模块12、第一判断模块13、第二获取模块14、第二判断模块15和拒绝挂起模块16;其中,所述监视模块11,用于对操作系统的线程挂起函数的调用进行监视;所述第一获取模块12,用于根据所述监视,获取待挂起线程所归属的进程的标识信息;所述第一判断模块13,用于根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程;所述第二获取模块14,用于若所述待挂起线程是要保护的进程的线程,则获取此次暂停所述待挂起线程的进程的标识信息;所述第二判断模块15,用于根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程;所述拒绝挂起模块16,用于若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明防止线程暂停的装置实施例二的结构示意图。参看图4,本实施例是在前述防止线程暂停的装置实施例一的结构的基础上,所述操作系统为Windows操作系统;所述操作系统的线程挂起函数为操作系统内核层的NtSuspendThread函数。
其中,所述监视模块11,用于通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。其中,所述钩子函数可设置在安全防护类应用程序的防御驱动程序中。
所述第二判断模块15,包括:判断子模块151,用于根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程的标识信息与特征库中保存的标识信息是否匹配;确定子模块152,用于根据所述判断子模块的判断,若此次暂停所述待挂起线程的进程的标识信息与特征库中保存的至少一个标识信息相匹配,则确定此次暂停所述待挂起线程的进程是目标应用程序的进程;其中,所述特征库中保存有目标应用程序的标识信息。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种电子设备。图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1或图2所示实施例的流程,如图5所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的防止线程暂停的方法。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的防护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的防护范围之内。因此,本发明的防护范围应以权利要求的防护范围为准。

Claims (9)

1.一种防止线程暂停的方法,其特征在于,包括:
对操作系统的线程挂起函数的调用进行监视;
根据所述监视,获取待挂起线程所归属的进程的标识信息;
根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程;
若所述待挂起线程是要保护的进程的线程,则获取此次暂停所述待挂起线程的进程的标识信息;
根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程;
若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程。
2.根据权利要求1所述的防止线程暂停的方法,其特征在于,
所述操作系统为Windows操作系统;所述操作系统的线程挂起函数为操作系统内核层的NtSuspendThread函数;
其中,所述对操作系统的线程挂起函数的调用进行监视,包括:
通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
3.根据权利要求2所述的防止线程暂停的方法,其特征在于,所述通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视,包括:
通过安全防护类应用程序的防御驱动程序中预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
4.根据权利要求1至3任一项所述的防止线程暂停的方法,其特征在于,所述根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程,包括:
根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程的标识信息与特征库中保存的标识信息是否匹配,若此次暂停所述待挂起线程的进程的标识信息与特征库中保存的至少一个标识信息相匹配,则确定此次暂停所述待挂起线程的进程是目标应用程序的进程;其中,所述特征库中保存有目标应用程序的标识信息。
5.一种防止线程暂停的装置,其特征在于,包括:
监视模块,用于对操作系统的线程挂起函数的调用进行监视;
第一获取模块,用于根据所述监视,获取待挂起线程所归属的进程的标识信息;
第一判断模块,用于根据所述待挂起线程所归属的进程的标识信息,判断所述待挂起线程是否是要保护的进程的线程;
第二获取模块,用于若所述待挂起线程是要保护的进程的线程,则获取此次暂停所述待挂起线程的进程的标识信息;
第二判断模块,用于根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程是否是目标应用程序的进程;
拒绝挂起模块,用于若此次暂停所述待挂起线程的进程是目标应用程序的进程,则拒绝挂起所述待挂起线程。
6.根据权利要求5所述的防止线程暂停的装置,其特征在于,所述操作系统为Windows操作系统;所述操作系统的线程挂起函数为操作系统内核层的NtSuspendThread函数;
其中,所述监视模块,用于通过预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
7.根据权利要求6所述的防止线程暂停的装置,其特征在于,所述监视模块,用于通过安全防护类应用程序的防御驱动程序中预先设置的钩子函数,对操作系统内核层的NtSuspendThread函数的调用进行监视。
8.根据权利要求5至7任一项所述的防止线程暂停的装置,其特征在于,所述第二判断模块,包括:
判断子模块,用于根据此次暂停所述待挂起线程的进程的标识信息,判断此次暂停所述待挂起线程的进程的标识信息与特征库中保存的标识信息是否匹配;
确定子模块,用于根据所述判断子模块的判断,若此次暂停所述待挂起线程的进程的标识信息与特征库中保存的至少一个标识信息相匹配,则确定此次暂停所述待挂起线程的进程是目标应用程序的进程;其中,所述特征库中保存有目标应用程序的标识信息。
9.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一权利要求1-4所述的防止线程暂停的方法。
CN201610331126.6A 2016-05-18 2016-05-18 一种防止线程暂停的方法、装置及电子设备 Pending CN106022109A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610331126.6A CN106022109A (zh) 2016-05-18 2016-05-18 一种防止线程暂停的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610331126.6A CN106022109A (zh) 2016-05-18 2016-05-18 一种防止线程暂停的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN106022109A true CN106022109A (zh) 2016-10-12

Family

ID=57098916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610331126.6A Pending CN106022109A (zh) 2016-05-18 2016-05-18 一种防止线程暂停的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN106022109A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548048A (zh) * 2016-10-28 2017-03-29 北京优炫软件股份有限公司 一种用于进程控制的方法、装置与系统
CN107273743A (zh) * 2017-07-03 2017-10-20 西安新路网络科技有限公司 一种防止远程线程注入的方法、装置及电子设备
CN107577525A (zh) * 2017-08-22 2018-01-12 努比亚技术有限公司 一种创建并发线程的方法、装置及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350711A (zh) * 2007-10-15 2009-01-21 北京瑞星国际软件有限公司 对目标进程进行保护的方法和装置
CN101414341A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 一种软件自我保护的方法
CN101478407A (zh) * 2008-01-03 2009-07-08 联想(北京)有限公司 在线安全登录的方法及装置
CN101571901A (zh) * 2009-06-04 2009-11-04 北京东方微点信息技术有限责任公司 定位服务操作者的方法和装置
CN101901321A (zh) * 2010-06-04 2010-12-01 华为终端有限公司 终端防御恶意程序的方法、装置及系统
CN102880817A (zh) * 2012-08-20 2013-01-16 福建升腾资讯有限公司 计算机软件产品运行保护方法
EP2570960A2 (en) * 2011-09-15 2013-03-20 Fujitsu Limited Method of controlling information processing system, program for controlling apparatus
CN103401845A (zh) * 2013-07-15 2013-11-20 Tcl集团股份有限公司 一种网址安全性的检测方法、装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350711A (zh) * 2007-10-15 2009-01-21 北京瑞星国际软件有限公司 对目标进程进行保护的方法和装置
CN101414341A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 一种软件自我保护的方法
CN101478407A (zh) * 2008-01-03 2009-07-08 联想(北京)有限公司 在线安全登录的方法及装置
CN101571901A (zh) * 2009-06-04 2009-11-04 北京东方微点信息技术有限责任公司 定位服务操作者的方法和装置
CN101901321A (zh) * 2010-06-04 2010-12-01 华为终端有限公司 终端防御恶意程序的方法、装置及系统
EP2570960A2 (en) * 2011-09-15 2013-03-20 Fujitsu Limited Method of controlling information processing system, program for controlling apparatus
CN102880817A (zh) * 2012-08-20 2013-01-16 福建升腾资讯有限公司 计算机软件产品运行保护方法
CN103401845A (zh) * 2013-07-15 2013-11-20 Tcl集团股份有限公司 一种网址安全性的检测方法、装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548048A (zh) * 2016-10-28 2017-03-29 北京优炫软件股份有限公司 一种用于进程控制的方法、装置与系统
CN107273743A (zh) * 2017-07-03 2017-10-20 西安新路网络科技有限公司 一种防止远程线程注入的方法、装置及电子设备
CN107577525A (zh) * 2017-08-22 2018-01-12 努比亚技术有限公司 一种创建并发线程的方法、装置及计算机可读存储介质
CN107577525B (zh) * 2017-08-22 2020-11-17 努比亚技术有限公司 一种创建并发线程的方法、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN104008337B (zh) 一种基于Linux系统的主动防御方法及装置
US10032024B2 (en) System and method for virtual partition monitoring
CN107949846A (zh) 恶意线程挂起的检测
EP2902937B1 (en) Method, apparatus, and system for triggering virtual machine introspection
CN107851153A (zh) 使用异步自测异常的计算机安全系统及方法
CN102902909A (zh) 一种防止文件被篡改的系统和方法
CN106127031A (zh) 一种保护进程的方法、装置及电子设备
CN103632101B (zh) 一种拦截系统调用的方法和装置
CN102150105A (zh) 虚拟容器的部署和管理
CN103839007B (zh) 一种检测异常线程的方法及系统
CN103679032A (zh) 防御恶意软件的方法和装置
CN106201468A (zh) 一种截屏的处理方法、装置及电子设备
CN113138836B (zh) 一种使用基于Docker容器的防逃逸系统的防逃逸方法
CN106022109A (zh) 一种防止线程暂停的方法、装置及电子设备
CN106682493B (zh) 一种防止进程被恶意结束的方法、装置及电子设备
CN105868625A (zh) 一种拦截文件被重启删除的方法及装置
CN105095763B (zh) 漏洞防御方法及装置、电子设备
CN106022117A (zh) 防止系统环境变量修改的方法、装置及电子设备
US8065734B1 (en) Code module operating system (OS) interactions intercepting system and method
CN105659247B (zh) 上下文感知前摄威胁管理系统
US20040205354A1 (en) System and method for detecting malicious applications
CN106203119B (zh) 隐藏光标的处理方法、装置及电子设备
CN101231599B (zh) 一种定位特定内存被函数非法改写的方法
CN106022015A (zh) 一种防止进程暂停的方法、装置及电子设备
CN102737198B (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: 20190110

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, Second Floor, 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: 20161012

RJ01 Rejection of invention patent application after publication