一种检测进程注入的方法、装置及存储介质制造方法及图纸

技术编号:20589368 阅读:19 留言:0更新日期:2019-03-16 07:18
本发明专利技术实施例提供了一种检测进程注入的方法、装置及存储介质,用以解决目前的检测进程注入的方法无法检测出可以逃避基于API调用的特征的进程注入方法问题。该方法包括:启动目标进程;捕获所述目标进程中的应用程序编程接口API;确定捕获的API中存在调用行为的API的调用关系,其中,存在调用行为的API是调用了除用于捕获所述目标进程中的API的函数以外的其他API的API;将存在调用行为的API的调用关系与调用规则进行匹配;其中,调用规则是执行所述目标进程的系统正常运行时的API的调用关系;当存在调用关系匹配不成功的API时,确定目标进程被注入。

【技术实现步骤摘要】
一种检测进程注入的方法、装置及存储介质
本专利技术涉及信息安全
,尤其涉及一种检测进程注入的方法、装置及存储介质。
技术介绍
随着计算机应用的日益普及,包括病毒、木马在内的恶意程序的数量也迅速增长,其中的木马程序是一类可以通过在用户的计算机上运行,进而窃取用户文件、隐私、账户等信息,有的甚至还可以让黑客远程控制用户电脑的恶意程序。相比较传统的单纯以破坏计算机设备为目的的病毒,木马对计算机用户的侵害行为更具有获取利益的目的性,其窃取信息的行为常常会给用户造成巨大的损失因此木马程序的危害也更大。恶意程序可以通过很多传播途径来侵害用户的电脑,例如便携的移动介质,如闪存盘,光盘等,而随着计算机网络技术的广泛应用,互联网逐渐成为恶意程序传播的主要途径之一,黑客或恶意程序传播者将木马等恶意程序文件伪装成其他类型文件,并引诱用户点击和下载,而恶意程序一旦被下载到用户计算机并成功运行,黑客或恶意程序传播者就可以利用这些恶意程序,进行破坏用户计算机,窃取用户个人信息等不法行为。利用操作系统以及应用软件的漏洞实施攻击,是使恶意程序在用户计算机上成功植入和运行的最主要手段之一。漏洞是指操作系统软件或应用软件在逻辑设计上的缺陷或在编写时产生的错误。这些缺陷或错误往往可以被黑客利用来植入木马等恶意程序,侵害或控制甚至破坏用户计算机软硬件系统,或者窃取用户的重要资料和信息。杀毒软件可以有效地对恶意程序进行预防和查杀,但是,恶意程序为了躲避杀毒软件的查杀,常常将恶意代码注入到白进程(记录在白名单中的进程,不会被杀毒软件查杀)中,从而在白进程中对计算机进行攻击。进程注入包括对内存中的某个进程进行操作,并且获得该进程地址空间里的数据,以及修改进程的私有数据结构,将自己的代码放在目标进程的地址空间里运行。通常情况下进程注入都会涉及到固定的应用程序编程接口(API,ApplicationProgrammingInterface)调用,基于此特征,当检测到对被监控程序内存写入数据后调用CreateRemoteThread函数和LoadLibrary函数,则判定为远程线程注入行为,或者检测到到APC队列中调用LoadLibrary函数,且在LoadLibrary函数执行之前发生过软中断,则判定有异步调用过程(APC,AsynchronousProcedureCall)注入行为。目前检测进程注入的方法依赖于固定API调用的特征,并且进程注入也会用于非恶意软件中,比如某些升级程序则是使用这种方法实现对运行中的程序的热升级。另外目前的注入方法层出不穷,有些注入方法可以逃避基于API调用的特征,使注入动作更加隐秘,对于这些注入技术现有的检测方法已经显得力不从心。综上所述,目前的检测进程注入的方法无法检测出可以逃避基于API调用的特征的进程注入方法。
技术实现思路
本专利技术实施例提供了一种检测进程注入的方法、装置及存储介质,用以解决目前的检测进程注入的方法无法检测出可以逃避基于API调用的特征的进程注入方法问题。基于上述问题,本专利技术实施例提供的一种检测进程注入的方法,包括:启动目标进程;捕获所述目标进程中的应用程序编程接口API;确定捕获的API中存在调用行为的API的调用关系,其中,存在调用行为的API是调用了除用于捕获所述目标进程中的API的函数以外的其他API的API;将存在调用行为的API的调用关系与调用规则进行匹配;其中,调用规则是执行所述目标进程的系统正常运行时的API的调用关系;当存在调用关系匹配不成功的API时,确定目标进程被注入。进一步地,在捕获所述目标进程中的API时,记录各个API的执行日志;确定捕获的API中存在调用行为的API的调用关系,包括:根据第一API的执行日志,回溯所述第一API的调用栈;其中,第一API是存在调用行为的API中的一个;所述第一API的调用栈中的所有API以及所述第一API之间的关系构成了所述第一API的调用关系。可选地,将存在调用行为的API的调用关系与调用规则进行匹配,包括:在第一API的调用栈中依次从栈底到栈顶对所述第一API调用过的所有API与调用规则进行匹配。可选地,在将存在调用行为的API的调用关系与调用规则进行匹配之前,还包括:根据存储的规则数据,将规则数据中的所有的API以API的名称进行排序,构成一个沿第一方向的链表;针对规则数据中的一个API,根据规则数据中的该API的调用关系,按照该API调用其他API的顺序,对该API的调用关系进行排序,形成一个沿第二方向的链表;动态存储的链表构成所述调用规则。可选地,本专利技术实施例提供的检测进程注入的方法,还包括:若存在调用行为的API的调用关系中的一个API在所述调用规则中不存在,则将不存在于所述调用规则中的API添加到所述调用规则和存储的规则数据中。本专利技术实施例提供的一种检测进程注入的装置,包括:一个或者多个处理器;存储器;一个或者多个程序存储在所述存储器中,当被所述一个或者多个处理器执行时实现:启动目标进程;捕获所述目标进程中的应用程序编程接口API;确定捕获的API中存在调用行为的API的调用关系,其中,存在调用行为的API是调用了除用于捕获所述目标进程中的API的函数以外的其他API的API;将存在调用行为的API的调用关系与调用规则进行匹配;其中,调用规则是执行所述目标进程的系统正常运行时的API的调用关系;当存在调用关系匹配不成功的API时,确定目标进程被注入。进一步地,所述一个或多个处理器还用于执行存储在存储器中的一个或多个程序以实现:在捕获所述目标进程中的API时,记录各个API的执行日志;确定捕获的API中存在调用行为的API的调用关系,包括:根据第一API的执行日志,回溯所述第一API的调用栈;其中,第一API是存在调用行为的API中的一个;所述第一API的调用栈中的所有API以及所述第一API之间的关系构成了所述第一API的调用关系。可选地,所述一个或多个处理器还用于执行存储在存储器中的一个或多个程序以实现:在第一API的调用栈中依次从栈底到栈顶对所述第一API调用过的所有API与调用规则进行匹配。可选地,所述一个或多个处理器还用于执行存储在存储器中的一个或多个程序以实现:在将存在调用行为的API的调用关系与调用规则进行匹配之前,根据存储的规则数据,将规则数据中的所有的API以API的名称进行排序,构成一个沿第一方向的链表;针对规则数据中的一个API,根据规则数据中的该API的调用关系,按照该API调用其他API的顺序,对该API的调用关系进行排序,形成一个沿第二方向的链表;动态存储的链表构成所述调用规则。可选地,所述一个或多个处理器还用于执行存储在存储器中的一个或多个程序以实现:若存在调用行为的API的调用关系中的一个API在所述调用规则中不存在,则将不存在于所述调用规则中的API添加到所述调用规则和存储的规则数据中。本专利技术实施例提供的一种非易失性计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载并执行本专利技术实施例提供的检测进程注入的方法。本专利技术实施例的有益效果包括:本专利技术实施例提供的一种检测进程注入的方法、装置及存储介质,在启动目标进程后,捕获目标进程中的API,确定捕获的API中存在本文档来自技高网
...

【技术保护点】
1.一种检测进程注入的方法,其特征在于,包括:启动目标进程;捕获所述目标进程中的应用程序编程接口API;确定捕获的API中存在调用行为的API的调用关系,其中,存在调用行为的API是调用了除用于捕获所述目标进程中的API的函数以外的其他API的API;将存在调用行为的API的调用关系与调用规则进行匹配;其中,调用规则是执行所述目标进程的系统正常运行时的API的调用关系;当存在调用关系匹配不成功的API时,确定目标进程被注入。

【技术特征摘要】
1.一种检测进程注入的方法,其特征在于,包括:启动目标进程;捕获所述目标进程中的应用程序编程接口API;确定捕获的API中存在调用行为的API的调用关系,其中,存在调用行为的API是调用了除用于捕获所述目标进程中的API的函数以外的其他API的API;将存在调用行为的API的调用关系与调用规则进行匹配;其中,调用规则是执行所述目标进程的系统正常运行时的API的调用关系;当存在调用关系匹配不成功的API时,确定目标进程被注入。2.如权利要求1所述的方法,其特征在于,在捕获所述目标进程中的API时,记录各个API的执行日志;确定捕获的API中存在调用行为的API的调用关系,包括:根据第一API的执行日志,回溯所述第一API的调用栈;其中,第一API是存在调用行为的API中的一个;所述第一API的调用栈中的所有API以及所述第一API之间的关系构成了所述第一API的调用关系。3.如权利要求2所述的方法,其特征在于,将存在调用行为的API的调用关系与调用规则进行匹配,包括:在第一API的调用栈中依次从栈底到栈顶对所述第一API调用过的所有API与调用规则进行匹配。4.如权利要求1所述的方法,其特征在于,在将存在调用行为的API的调用关系与调用规则进行匹配之前,还包括:根据存储的规则数据,将规则数据中的所有的API以API的名称进行排序,构成一个沿第一方向的链表;针对规则数据中的一个API,根据规则数据中的该API的调用关系,按照该API调用其他API的顺序,对该API的调用关系进行排序,形成一个沿第二方向的链表;动态存储的链表构成所述调用规则。5.如权利要求4所述的方法,其特征在于,所述方法还包括:若存在调用行为的API的调用关系中的一个API在所述调用规则中不存在,则将不存在于所述调用规则中的API添加到所述调用规则和存储的规则数据中。6.一种检测进程注入的装置,其特征在于,包括:一个或者多个处理器;存储器;一个或者多个程序存储在所述存储器中,当被所述一个或者多个处理器执行时实现:启动目标进程;捕获所述目标进程中的应用程序编程接口API;确定捕获...

【专利技术属性】
技术研发人员:关墨辰李林哲王永亮王小丰肖新光
申请(专利权)人:北京安天网络安全技术有限公司
类型:发明
国别省市:北京,11

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

1