一种进程注入的检测方法、装置、设备及介质与流程

文档序号:21319608发布日期:2020-06-30 20:50阅读:242来源:国知局
一种进程注入的检测方法、装置、设备及介质与流程

本申请涉及网络安全领域,尤其涉及一种进程注入的检测方法、装置、设备及介质。



背景技术:

随着科技的不断发展进步,互联网领域也随之日益壮大,在给人们带来了极大的便利的同时,也存在各种各样的安全隐患,尤其是近年来,恶意软件的攻击事件频频发生,利用系统漏洞入侵的技术手段更是五花八门,防不胜防,使得维护网络安全愈发重要。

通常来说,恶意软件常利用进程注入的方式进行网络攻击,即在目标进程的地址空间内运行任意的自定义代码,这类进程注入的方式大大提高了网络攻击的隐蔽性,同时由于进程注入不易被发现,也增强了网络攻击持续性。而现有的检测技术大多是通过进程特征值来匹配恶意进程,更多是针对已知病毒的一种防范,局限性很大。

因此,亟需一种检测进程注入的方法,能够迅速发现恶意软件的注入行为,从而发现未知的威胁,为进一步的防护阻断争取时间。



技术实现要素:

本申请实施例提供一种进程注入的检测方法、装置、设备及介质,用以解决现有技术需要一种能够迅速发现恶意软件的注入行为,从而发现未知的威胁,为进一步的防护阻断争取时间的问题。

第一方面,本发明实施例提供了一种进程注入的检测方法,该方法包括:

根据预设的伪造进程列表,生成多个伪造进程;

获取多个伪造进程对应的进程模块列表;

当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入。

本申请实施例中,先根据预设的伪造进程列表,生成多个伪造进程,再获取伪造进程对应的进程模块列表,并当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入。与现有技术相比,能够迅速发现恶意软件的注入行为,从而发现未知的威胁,为进一步的防护阻断争取时间。

在一种可能的实施方式中,本发明实施例提供的方法中,根据预设的伪造进程列表,生成多个伪造进程,包括:

根据预设的伪造进程列表,生成多个伪造进程;

确定伪造进程名称和已运行进程名称相同的伪造进程为傀儡进程;

基于已运行进程的配置修改傀儡进程。

本申请实施例中,确定伪造进程名称和已运行进程名称相同的伪造进程为傀儡进程,并基于已运行进程的配置修改傀儡进程。与现有技术相比,根据已运行进程的配置修改了伪造进程的配置,使得伪造进程最大程度模拟了真实进程的属性信息。

在一种可能的实施方式中,本发明实施例提供的方法中,确定伪造进程名称和已运行进程名称不同的伪造进程为伪装进程;

基于预设的配置信息修改伪装进程。

在一种可能的实施方式中,本发明实施例提供的方法中,当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入之后,还包括:

记录新添加的进程模块的路径信息;

基于路径信息发出警告。

本申请实施例中,记录新添加的进程模块的路径信息,并基于路径信息发出警告。与现有技术相比,精准确定了恶意软件的来源,并向用户发出警告,有效的发现了被恶意注入的进程,并为进一步的防护阻断争取了时间。

第二方面,本发明实施例提供一种进程注入的检测装置,该装置包括:

生成模块,用于根据预设的伪造进程列表,生成多个伪造进程;

获取模块,用于获取多个伪造进程对应的进程模块列表;

确定模块,用于当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入。

在一种可能的实施方式中,本发明实施例提供的装置中,生成模块具体用于:

根据预设的伪造进程列表,生成多个伪造进程;

确定伪造进程名称和已运行进程名称相同的伪造进程为傀儡进程;

基于已运行进程的配置修改傀儡进程。

在一种可能的实施方式中,本发明实施例提供的装置中,生成模块具体用于:

确定伪造进程名称和已运行进程名称不同的伪造进程为伪装进程;

基于预设的配置信息修改伪装进程。

在一种可能的实施方式中,本发明实施例提供的装置中,确定模块还用于:

记录新添加的进程模块的路径信息;

基于路径信息发出警告。

第三方面,本申请实施例提供了一种电子设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现本申请实施例第一方面提供的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现本申请实施例第一方面提供的方法。

附图说明

图1为本发明实施例提供的一种进程注入的检测方法流程示意图;

图2为本发明实施例提供的一种进程注入的检测方法具体流程示意图;

图3为本发明实施例提供的一种进程注入的检测装置结构示意图;

图4为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

下面对文中出现的一些词语进行解释:

1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

2、信息摘要算法(messagedigestalgorithm,md5)一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。

随着科技的不断发展进步,互联网领域也随之日益壮大,在给人们带来了极大的便利的同时,也存在各种各样的安全隐患,尤其是近年来,恶意软件的攻击事件频频发生,利用系统漏洞入侵的技术手段更是五花八门,防不胜防,使得维护网络安全愈发重要。

通常来说,恶意软件常利用进程注入的方式进行网络攻击,即在目标进程的地址空间内运行任意的自定义代码,这类进程注入的方式大大提高了网络攻击的隐蔽性,同时由于进程注入不易被发现,也增强了网络攻击持续性。而现有的检测技术大多是通过进程特征值来匹配恶意进程,更多是针对已知病毒的一种防范,局限性很大。

针对上述问题,本发明提供了一种检测注入的方法,先根据预设的伪造进程列表,生成多个伪造进程,再获取伪造进程对应的进程模块列表,并当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入。与现有技术相比,能够迅速发现恶意软件的注入行为,从而发现未知的威胁,为进一步的防护阻断争取时间。

下面结合说明书附图对本申请实施例作进一步详细描述。

实施例一

如图1所示,为本申请实施例提供的一种进程注入的检测方法流程图,包括以下步骤:

步骤s101,根据预设的伪造进程列表,生成多个伪造进程。

具体实施时,根据预设的伪造进程列表,生成多个伪造进程,确定伪造进程名称和已运行进程名称相同的伪造进程为傀儡进程,基于已运行进程的配置修改傀儡进程;确定伪造进程名称和已运行进程名称不同的伪造进程为伪装进程,基于预设的配置信息修改伪装进程。

需要说明的是,预设的伪造进程列表可以根据需求设置,可以包括常用的系统进程,也可以包括常见的基本进程,同时也可以按照用户的个人需求增加应用进程,本发明实施例对此不做限定。

步骤s102,获取多个伪造进程对应的进程模块列表。

具体实施时,获取多个伪造进程对应的进程模块列表,用以在后续的步骤中,对进程模块列表进行比对,从而确定是否有进程被注入。

在一个示例中,根据伪造进程创建互斥事件,互斥事件的名称为一个以包含伪造进程的字符串,用以在伪造进程运行后,发送信号量,从而获取伪造进程的初始模块列表。

步骤s103,当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入。

具体实施时,确定伪造进程被注入的方式可以为:

在步骤s102时,获取初始的进程模块列表,通过定时轮询的方式,获取进程模块列表,并与初始模块列表对比,当发现有新增的模块时,将该新增的模块标识为可疑的进程注入模块,并将该新添加的进程模块所对应的伪造进程确定为被注入的进程,同时记录该新添加的进程模块的路径信息,并基于路径信息发出警告。从而精准确定了恶意软件的来源,并向用户发出警告,有效的发现了被恶意注入的进程,并为进一步的防护阻断争取了时间。

下面结合图2,对本发明实施例提供的进程注入的检测方法的具体实施流程进行说明。

步骤s201,准备进程配置文件。

具体实施时,需要确定进程文件的名称、进程文件信息和进程模板。

对于进程文件的名称,通常进程文件名称的约定用进程名的md5值,具体实施时,在一个文件中保存同一类进程名的配置,这样做方便查找其对应进程的文件。

需要说明的是,进程文件主要用于保存目标进程的相关配置,文件名称的命名主要是为了模板程序启动后能够找到一一对应的文件,具体命名方式可以是id号,也可以是目标进程名,或则其他人为设置的字符串,只要将文件名与进程的对应关系确定,使之能计算出正确的进程配置文件路径就能满足需求,本发明实施例对此不做限定。

对于进程文件信息,通常包含进程名称、进程路径及其该进程需要加载的模块路径列表,进程文件信息的存储格式选用模板程序能够解析的数据。模块路径列表是通过对现有的需要伪造的进程进行分析而得出的,以期最大程度模拟出真实进程的属性信息。

对于进程模板,通常为一个无ui界面的可执行程序,在运行进程模板时,首先根据进程名的md5值找到该进程对应的进程配置文件,读取并解析进程配置文件,然后加载进程模块列表,加载完成后发送互斥信号,使伪造进程处于稳定的运行状态。

s202,创建并监控伪造进程。

具体实施时,首先读取进程配置文件,在取到需要创建的进程名称后,分两种情况考虑:

(1)确定伪造进程名称和已运行进程名称相同的伪造进程为傀儡进程,基于已运行进程的配置修改傀儡进程。

如果进程名为系统进程(如svchost.exe、cmd.exe等)或系统上已装有的应用时,则作为傀儡进程处理。创建一个挂起状态的进程,保存进程当前线程的上下文环境,并清空该进程当前的内存数据,申请新的内存,然后将模板程序的pe文件根据pe格式写入该进程内存中,用上述已保存的线程上下文环境来恢复进程的线程上下文环境,最终将挂起的进程恢复运行状态。

(2)确定伪造进程名称和已运行进程名称不同的伪造进程为伪装进程,基于预设的配置信息修改伪装进程。

如果伪造进程的进程名在系统上找不到配置中的进程名时,则作为伪装进程处理,具体实施时,先将进程模板的pe文件名改成配置的进程名,然后运行进程模板,进程模板将自动加载该进程名对应的配置文件,从而生成伪装进程运行。

在对傀儡进程和伪装进程的初始化完成后,获取伪造进程对应的进程模块列表,在一个示例中,先创建互斥事件,事件名称为一个以包含伪造进程pid的约定字符串,以便当伪造进程稳定运行后,发送信号量,从而获取伪造进程的初始进程模块列表。

当伪造进程初始化完成后,进程将处于睡眠状态。通过定时轮询的方式获取实时的进程模块列表,并与初始进程模块列表进行对比,当发现有新增的模块时,则将该新增的模块标识为可疑的进程注入模块,记录该模块的路径并发出一级告警。

另外,本方案还可以根据需求配置多个进程配置文件,进而生成多个不同的伪造进程,当检测到其中一个伪造进程被注入后,同时查看其他伪造进程是否有被注入的情况,如果也被注入,则生成更高级别的告警。同时,在长时间的监控中,也将获取恶意软件的注出时间,以期更为有效的监控被恶意注入的进程,进一步争取防护阻断时间。

相应的,如图3所示,为本发明实施例提供的进程注入的检测装置包括:

生成模块301,用于根据预设的伪造进程列表,生成多个伪造进程;

获取模块302,用于获取多个伪造进程对应的进程模块列表;

确定模块303,用于当进程模块列表中有新添加的进程模块时,确定新添加的进程模块对应的伪造进程被注入。

在一种可能的实施方式中,本发明实施例提供的装置中,生成模块301具体用于:

根据预设的伪造进程列表,生成多个伪造进程;

确定伪造进程名称和已运行进程名称相同的伪造进程为傀儡进程;

基于已运行进程的配置修改傀儡进程。

在一种可能的实施方式中,本发明实施例提供的装置中,生成模块301具体用于:

确定伪造进程名称和已运行进程名称不同的伪造进程为伪装进程;

基于预设的配置信息修改伪装进程。

在一种可能的实施方式中,本发明实施例提供的装置中,确定模块303还用于:

记录新添加的进程模块的路径信息;

基于路径信息发出警告。

另外,结合图1-图3描述的本申请实施例的进程注入的检测方法和装置可以由电子设备来实现。图4示出了本申请实施例提供的电子设备的硬件结构示意图。

电子设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器401通过读取并执行存储器42中存储的计算机程序指令,以实现上述实施例中的任意一种进程注入的检测方法。

在一个示例中,电子设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

该电子设备可以执行本发明实施例中的进程注入的检测方法,从而实现结合图1描述的进程注入的检测方法。

另外,结合上述实施例中的网络链接拦截方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种进程注入的检测方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1