一种防止远程线程注入的方法、装置及电子设备制造方法及图纸

技术编号:16428185 阅读:33 留言:0更新日期:2017-10-21 23:26
本发明专利技术公开一种防止远程线程注入的方法、装置及电子设备,涉及安全防护技术领域,能够保护应用程序的正常运行,以及防止远程破坏。所述防止远程线程注入的方法,包括:根据对线程创建的调用的监视,获取待创建线程所归属的进程的标识信息,判断待创建线程所属进程是否是要保护的进程,若是,则获取发起所述待创建线程的进程的标识信息,根据发起创建所述线程的进程的标识信息,判断所述发起创建线程的进程是否是目标应用程序的进程,若否,与此同时目标应用程序的线程数大于0则拒绝创建所述待创建线程。所述装置和电子设备中包括实现上述方法步骤的模块。本发明专利技术适用于对应用程序尤其是对基础类应用程序的保护。

Method, device and electronic device for preventing remote thread injection

The invention discloses a method, a device and an electronic device for preventing remote thread injection, which relates to the technical field of security protection, can protect the normal operation of the application program, and prevent the remote destruction. The method of preventing, remote thread injection includes: according to the thread creation call monitoring, identification information acquisition to create a thread belonging to the process of the judge to create a thread is whether the process is to protect the process, if the identification information is obtained to initiate the process to create a line according to the process. The identification information founded the threads of the process, whether the process is initiated to create a thread to the target application process, if not at the same time, the number of threads of the target application more than 0 refused to create the to create a thread. The device and the electronic device include modules for realizing the above method steps. The invention is suitable for the protection of application programs, especially for basic class applications.

【技术实现步骤摘要】
一种防止远程线程注入的方法、装置及电子设备
本专利技术涉及安全防护
,特别涉及一种防止远程线程注入的方法、装置及电子设备。
技术介绍
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。基础类软件为计算机的正常运行提供基础的服务和保存系统重要的数据信息,由于操作系统提供了CreateRemoteThreadEx系列函数,用于远程创建线程的运行,此时便可以入侵基础服务类进程,读取,破坏计算机基础信息,从而破坏系统正常运行。
技术实现思路
本专利技术所要达到的目的就是提供一种防止远程线程注入的方法、装置及电子设备,能够保护应用程序的正常运行。为了达到上述目的,本专利技术采用如下技术方案:一种防止远程线程注入的方法,包括:应用程序预先设置需要保护的进程标识信息;待创建线程之前,操作系统触发调用回调函数指令以对所述待创建线程进行监视;根据所述监视,获取所述待创建线程所归属的进程的标识信息;根据所述待创建线程所归属的进程的标识信息,同预先设定需要保护的进程信息进行比较,判断所述待创建线程所属进程是否是要保护的进程;若是则同意创建所述待创建线程。在本专利技术的一个优选实施例中,在同意创建所述待创建线程之前还包括判断步骤:获取发起所述待创建线程的进程的标识信息,判断此次发起所述待创建线程的进程的标识信息是否等于待创建线程目标应用程序的进程信息。在本专利技术的一个优选实施例中,若所述目标应用程序的线程数等于0或发起所述待创建线程的进程等于目标应用程序的进程,则同意所述创建线程;若发起所述待创建线程的进程不是目标应用程序的进程或目标应用程序的线程数大于0,则拒绝创建所述待创建的线程。在本专利技术的一个优选实施例中,所述标识信息是windows记录进程的各种信息的结构体,每个进程信息内容都是唯一的。在本专利技术的一个优选实施例中,所述回调函数是指当操作系统本身发生某种事件时刻,操作系统自主选择调用的函数。在本专利技术的一个优选实施例中,所述回调函数经由微软官方提供的PsSetCreateThreadNotifyRoutine系列函数设置形成。在本专利技术的一个优选实施例中,所述操作系统的线程创建函数为操作系统应用层的CreateRemoteThreadEx系列函数。一种防止远程线程注入的装置,包括:设置模块,所述设置模块用于应用程序预先设置需要保护的进程标识信息;驱动模块,所述驱动模块调用回调函数对所述待创建线程进行监视;比较模块,将所述待创建线程所归属的进程的标识信息,同预先设定需要保护的进程信息进行比较;控制模块,根据由比较模块获取的比较结果动态调整所述待创建线程。在本专利技术的一个优选实施例中,还包括判断模块,所述判断模块用于获取发起所述待创建线程的进程的标识信息,判断此次发起所述待创建线程的进程的标识信息是否等于待创建线程目标应用程序的进程信息。一种防止远程线程注入的电子设备,包括上述的装置,所述电子设备为电脑,平板或手机。采用上述技术方案后,本专利技术具有如下优点:本专利技术能够保护应用程序的正常运行,防止其进程被恶意应用程序远程注入,提高整个系统的安全性和便捷性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的工作原理框图。图2为本专利技术的结构框图。具体实施方式下面结合附图说明和具体实施方式对本专利技术做进一步的说明。如图1所示,一种防止远程线程注入的方法,包括:应用程序预先设置需要保护的进程标识信息即(EPROCESS),其中标识信息即(EPROCESS)是windows记录进程的各种信息的结构体,每个进程信息内容都是唯一的,因此我们可以当作进程的标识信息,每个版本操作系统保存的信息各不相同,例windowsvista保存信息如下:待创建线程之前,操作系统(一般为应用程序的防御驱动程序)触发调用回调函数指令以对所述待创建线程进行监视;该回调函数可以由微软官方提供的PsSetCreateThreadNotifyRoutine系列函数设置;根据所述监视,获取所述待创建线程所归属的进程的标识信息;根据所述待创建线程所归属的进程的标识信息,同预先设定需要保护的进程信息进行比较,判断所述待创建线程所属进程是否是要保护的进程;如果相等即为要保护的进程,如果不等即非保护进程。具体地,若所述待创建线程所属进程是要保护的进程,则获取此次发起所述待创建线程的进程的标识信息;(待创建的线程有两个信息,一个是归属进程,一个为发起创建的进程,此处获取为发起创建的进程)进一步地,获取发起所述待创建线程的进程的标识信息,判断此次发起所述待创建线程的进程的标识信息是否等于待创建线程目标应用程序的进程信息。若所述目标应用程序的线程数等于0或发起所述待创建线程的进程等于目标应用程序的进程,则同意所述创建线程;若发起所述待创建线程的进程不是目标应用程序的进程或目标应用程序的线程数大于0,则拒绝创建所述待创建的线程。通过上述一整套的流程判断,能够保护应用程序的正常运行,防止其进程被恶意应用程序远程注入。优选的,上述标识信息是windows记录进程的各种信息的结构体,每个进程信息内容都是唯一的,而操作系统的线程创建函数为操作系统应用层的CreateRemoteThreadEx系列函数。如图2所示,一种防止远程线程注入的装置,包括:设置模块,所述设置模块用于应用程序预先设置需要保护的进程标识信息;驱动模块,所述驱动模块调用回调函数对所述待创建线程进行监视;比较模块,将所述待创建线程所归属的进程的标识信息,同预先设定需要保护的进程信息进行比较;控制模块,根据由比较模块获取的比较结果动态调整所述待创建线程。还包括判断模块,所述判断模块用于获取发起所述待创建线程的进程的标识信息,判断此次发起所述待创建线程的进程的标识信息是否等于待创建线程目标应用程序的进程信息。另外地一种防止远程线程注入的电子设备,包括上述的装置,所述电子设备为电脑,平板或手机。在本专利技术的描述中,需要理解的是,术语“中心”、“横向”、“厚度”、“上”、“下”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的本文档来自技高网...
一种防止远程线程注入的方法、装置及电子设备

【技术保护点】
一种防止远程线程注入的方法,其特征在于,包括:应用程序预先设置需要保护的进程标识信息;待创建线程之前,操作系统触发调用回调函数指令以对所述待创建线程进行监视;根据所述监视,获取所述待创建线程所归属的进程的标识信息;根据所述待创建线程所归属的进程的标识信息,同预先设定需要保护的进程信息进行比较,判断所述待创建线程所属进程是否是要保护的进程;若是则同意创建所述待创建线程。

【技术特征摘要】
1.一种防止远程线程注入的方法,其特征在于,包括:应用程序预先设置需要保护的进程标识信息;待创建线程之前,操作系统触发调用回调函数指令以对所述待创建线程进行监视;根据所述监视,获取所述待创建线程所归属的进程的标识信息;根据所述待创建线程所归属的进程的标识信息,同预先设定需要保护的进程信息进行比较,判断所述待创建线程所属进程是否是要保护的进程;若是则同意创建所述待创建线程。2.根据权利要求1所述的一种防止远程线程注入的方法,其特征在于,在同意创建所述待创建线程之前还包括判断步骤:获取发起所述待创建线程的进程的标识信息,判断此次发起所述待创建线程的进程的标识信息是否等于待创建线程目标应用程序的进程信息。3.根据权利要求2所述的一种防止远程线程注入的方法,其特征在于,若所述目标应用程序的线程数等于0或发起所述待创建线程的进程等于目标应用程序的进程,则同意所述创建线程;若发起所述待创建线程的进程不是目标应用程序的进程或目标应用程序的线程数大于0,则拒绝创建所述待创建的线程。4.根据权利要求1-3之一所述的一种防止远程线程注入的方法,其特征在于,所述标识信息是windows记录进程的各种信息的结构体,每个进程信息内容都是唯一的。5.根据权利要求4所述的一种防止远程线程注入...

【专利技术属性】
技术研发人员:周鹏王广彬
申请(专利权)人:西安新路网络科技有限公司
类型:发明
国别省市:陕西,61

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

1