一种恶意进程实时监控的方法、设备和计算机设备与流程

专利2022-06-29  43


本领域涉及计算机领域,并且更具体地涉及一种恶意进程实时监控的方法、设备和计算机设备。



背景技术:

当仅依靠传统的基于签名的检测时,检测复杂的现实世界中的恶意软件已成为一项具有挑战性的任务,因为基于行为进行恶意软件检测已成为目前流行的、公认最优的检测方案,但是目前的检测方案中存在误报,匹配效率较低等问题。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种恶意进程实时监控的方法、设备和计算机设备,通过使用本发明的方法,能够极大地减少待匹配恶意行为数量,提升匹配效率,进一步提升恶意行为判定的准确度,减低误报百分比。

基于上述目的,本发明的实施例的一个方面提供了一种恶意进程实时监控的方法,包括以下步骤:

建立恶意行为库和恶意行为组合库;

监控并捕获进程中的行为,并将行为在恶意行为库中进行对比;

响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将进程中与行为相关联的其他行为与行为进行组合,并将该组合在恶意行为组合库中进行对比;

响应于在恶意行为组合库中的对比表明该组合是恶意行为组合,计算恶意行为组合的组合威胁值并将组合威胁值与组合威胁阈值进行比较;

响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理。

根据本发明的一个实施例,建立恶意行为库和恶意行为组合库包括:

通过对现有恶意软件分析而整理出恶意行为,恶意行为库包括涉及的系统api、权重、包含的恶意行为,恶意行为组合库还包括恶意行为之间的关系设定。api(applicationprogramminginterface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。

根据本发明的一个实施例,还包括:在建立恶意行为库和恶意行为组合库之前建立进程的黑名单和白名单,其中,黑名单中的进程禁止启动,白名单中的进程不监控。

根据本发明的一个实施例,建立进程的黑名单和白名单包括:

通过进程中的md5值和sha1值将进程划分到黑名单和白名单中。

根据本发明的一个实施例,还包括:

响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以上,将进程按第一阈值区分为恶意进程或高危进程以进行处理。

根据本发明的一个实施例,响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以上,将进程按第一阈值区分为恶意进程或高危进程以进行处理包括:

将进程的行为威胁值与第一阈值进行比较;

响应于行为威胁值大于第一阈值,将进程标记为恶意进程并将进程关闭;

响应于行为威胁值小于第一阈值,将进程标记为高危进程并将进程挂起。

根据本发明的一个实施例,响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理包括:

将进程的组合威胁值与第一阈值进行比较;

响应于组合威胁值大于第一阈值,将进程标记为恶意进程并将进程关闭;

响应于组合威胁值小于第一阈值,将进程标记为高危进程并将进程挂起。

根据本发明的一个实施例,计算恶意行为组合的组合威胁值包括:

将行为组合所在的进程中的每个恶意行为的行为威胁值的和再加上所有恶意行为组合的权值得到组合威胁值。

本发明的实施例的另一个方面,还提供了一种恶意进程实时监控的设备,设备包括:

数据库模块,数据库模块配置为建立恶意行为库和恶意行为组合库;

行为对比模块,行为对比模块配置为监控并捕获进程中的行为,并将行为在恶意行为库中进行对比;

行为组合对比模块,行为组合对比模块配置为响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将进程中与行为相关联的其他行为与行为进行组合,并将该组合在恶意行为组合库中进行对比;

计算模块,计算模块配置为响应于在恶意行为组合库中的对比表明该组合是恶意行为组合,计算恶意行为组合的组合威胁值并将组合威胁值与组合威胁阈值进行比较;

处理模块,处理模块配置为响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理。

本发明的实施例的另一个方面,还提供了一种计算机设备,其特征在于,包括:

至少一个处理器;以及

存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一项的方法。

本发明具有以下有益技术效果:本发明实施例提供的恶意进程实时监控的方法,通过建立恶意行为库和恶意行为组合库;监控并捕获进程中的行为,将行为在恶意行为库中进行对比;响应于在恶意行为库中的对比表明行为是恶意行为且行为威胁值在恶意进程阈值以下,将进程中与行为相关联的其他行为与行为进行组合,并将该组合在恶意行为组合库中进行对比;响应于在恶意行为组合库中的对比表明该组合是恶意行为组合,计算恶意行为组合的组合威胁值并将组合威胁值与组合威胁阈值进行比较;响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理的技术方案,能够极大地减少待匹配恶意行为数量,提升匹配效率,进一步提升恶意行为判定的准确度,减低误报百分比。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为根据本发明一个实施例的恶意进程实时监控的方法的示意性流程图;

图2为根据本发明一个实施例的恶意进程实时监控的设备的示意图;

图3为根据本发明一个实施例的恶意进程实时监控的方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种恶意进程实时监控的方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

s1建立恶意行为库和恶意行为组合库,其中每个api调用都会被记录为一个动作,行为是描述软件操作的最小单元,一个或多个动作共同构成一个行为,如果该行为具有严重危险性,那么将该行为定义为恶意行为,另外多个行为在一起可能会形成非常严重的后果,风险极大,所以把这些行为放在一起形成行为组合,如果该行为组合具有严重危险性,那么将该行为组合定义为恶意行为组合,也就是说,单个行为可能不是恶意行为,但是与这个行为有关系的行为组合也可能使恶意行为组合;

s2监控并捕获进程中的行为,并将行为在恶意行为库中进行对比,监控进程中的每个行为,根据恶意行为库判断该行为是不是恶意行为;

s3响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将进程中与行为相关联的其他行为与行为进行组合,并将该组合在恶意行为组合库中进行对比,该进程的所有恶意行为的行为威胁值的和在恶意进程阈值以下说明该行为不具有严重的危险性,这时需要判断与该行为有关的行为组合是否为恶意行为组合;

s4响应于在恶意行为组合库中的对比表明该组合是恶意行为组合,计算恶意行为组合的组合威胁值并将组合威胁值与组合威胁阈值进行比较,即使该行为组合是具有一定的危险性,但是也需要判断该危险性是否达到了必须处理的阈值,超过阈值进行处理,不超过阈值则放过继续监控;

s5响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理,该行为组合达到了一定的危险性需要对该进程进行处理。

通过本发明的技术方案,能够极大地减少待匹配恶意行为数量,提升匹配效率,进一步提升恶意行为判定的准确度,减低误报百分比。

在本发明的一个优选实施例中,建立恶意行为库和恶意行为组合库包括:

通过对现有恶意软件分析而整理出恶意行为,恶意行为库包括涉及的系统api、权重、包含的恶意行为,恶意行为组合库还包括恶意行为之间的关系设定。对现有的恶意软件进行大数据统计,得到具有危险性的恶意行为,形成恶意行为库和恶意行为组合库,其中,恶意行为识别库包含信息有:行为名称、行为描述、涉及api、判别逻辑、行为威胁值;恶意行为组合库包含信息有:组合名、组合描述、包含的恶意行为(是否必选)、匹配百分比、组合权值。在监控并捕获进程中的行为时,需要记录行为的相关信息,分3个表记录,其中第一个表为行为记录表,包含信息有:进程id、api、参数和返回值数据、识别状态;第二个表为进程记录表,包含信息:进程id、父进程id、进程名、文件路径、威胁值、运行状态;第三个表为进程记录子表(进程轨迹表),包含信息:涉及的文件路径 文件句柄 文件句柄打开状态、注册表项 注册表项句柄 注册表句柄打开状态、服务、服务状态、监听端口、监听状态、外联端口。在捕获进程的行为得到以上三表的信息通过恶意行为库和恶意行为组合库判断该进程是否为恶意进程。

恶意行为判别逻辑:主要通过api、参数比较;每个动作识别完成后,修改行为记录表的识别状态,如果成功识别,状态改为识别成功;识别不成功,状态改为未识别;

恶意行为组合判别逻辑:相同进程组,如果多个恶意行为能通过id、句柄、文件关联起来在恶意行为组合库中匹配成功,比如“进程查找”行为中确认了目标为浏览器进程,并且获取到的进程句柄在“在其它进程申请读-写-执行权限的内存”和“写其它进程的内存空间”中使用了,这3个行为共同确认了恶意行为组合“浏览器进程注入”,则需要在该进程的所有恶意行为的行为威胁值累加和的基础上加上所有恶意行为组合(“浏览器进程注入”)的权值。该权值是行为组合额外的威胁值,根据行为组合的危险程度进行设定。

在本发明的一个优选实施例中,还包括:在建立恶意行为库和恶意行为组合库之前建立进程的黑名单和白名单,其中,黑名单中的进程禁止启动,白名单中的进程不监控。

在本发明的一个优选实施例中,建立进程的黑名单和白名单包括:

通过进程中的md5值和sha1值将进程划分到黑名单和白名单中。

在本发明的一个优选实施例中,还包括:

响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以上,将进程按第一阈值区分为恶意进程或高危进程以进行处理。

在本发明的一个优选实施例中,响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以上,将进程按第一阈值区分为恶意进程或高危进程以进行处理包括:

将进程的行为威胁值与第一阈值进行比较;

响应于行为威胁值大于第一阈值,将进程标记为恶意进程并将进程关闭;

响应于行为威胁值小于第一阈值,将进程标记为高危进程并将进程挂起。该第一阈值可以根据实际的情况适当的设定。

在本发明的一个优选实施例中,响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理包括:

将进程的组合威胁值与第一阈值进行比较;

响应于组合威胁值大于第一阈值,将进程标记为恶意进程并将进程关闭;

响应于组合威胁值小于第一阈值,将进程标记为高危进程并将进程挂起。

在本发明的一个优选实施例中,计算恶意行为组合的组合威胁值包括:

将行为组合所在的进程中的每个恶意行为的行为威胁值的和再加上所有恶意行为组合的权值得到组合威胁值。比如,进程k产生恶意行为a,行为威胁值a;恶意行为b,行为威胁值b;恶意行为c,行为威胁值c,那么该进程的行为威胁值为a b c,此时计算a b c是否超过恶意进程阈值,如果没有在恶意行为组合库中进行判断是否为恶意行为组合,如果b c是恶意行为组合,那么组合威胁值为a b c 权重,其中权重根据实际情况设定,此时计算a b c 权重是否超过组合威胁阈值,根据结果进行处理。

根据监控到的api调用(动作)和恶意行为库、恶意行为组合库,进行恶意行为判定,逻辑如图3所示:

首先,根据恶意行为库对捕获动作进行恶意行为判定,如果未成功识别未恶意行为则结束本次判定;如果识别为恶意行为,则把该行为的权值累加到进程威胁值,并与预先设定的进程威胁阈值进行比较,如果超过阈值则转入恶意进程处理模块;

如果未达到威胁阈值,则根据预设的恶意行为组合库进行恶意行为组合判定,如果识别为恶意行为组合,则把该恶意行为组合的权值累加到进程威胁值,并与预先设定的进程威胁阈值进行比较,如果超过阈值则转入恶意进程处理模块;如果未达到威胁值则结束本次识别。

恶意进程处理:一旦进程累计权重超过特定阈值,则进行对应处置,继续运行、挂起进程或者终结进程。

通过本发明的技术方案,能够极大地减少待匹配恶意行为数量,提升匹配效率,进一步提升恶意行为判定的准确度,减低误报百分比。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种恶意进程实时监控的设备,如图2所示,设备200包括:

数据库模块201,数据库模块201配置为建立恶意行为库和恶意行为组合库;

行为对比模块202,行为对比模块202配置为监控并捕获进程中的行为,并将行为在恶意行为库中进行对比;

行为组合对比模块203,行为组合对比模块203配置为响应于在恶意行为库中的对比表明行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将进程中与行为相关联的其他行为与行为进行组合,并将该组合在恶意行为组合库中进行对比;

计算模块204,计算模块204配置为响应于在恶意行为组合库中的对比表明该组合是恶意行为组合,计算恶意行为组合的组合威胁值并将组合威胁值与组合威胁阈值进行比较;

处理模块205,处理模块205配置为响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理。

基于上述目的,本发明的实施例的第三个方面,提出了一种计算机设备,其特征在于,包括:

至少一个处理器;以及

存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一项的方法。

需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。

此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。


技术特征:

1.一种恶意进程实时监控的方法,其特征在于,包括以下步骤:

建立恶意行为库和恶意行为组合库;

监控并捕获进程中的行为,并将所述行为在所述恶意行为库中进行对比;

响应于在所述恶意行为库中的对比表明所述行为是恶意行为且所述进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将所述进程中与所述行为相关联的其他行为与所述行为进行组合,并将所述组合在所述恶意行为组合库中进行对比;

响应于在所述恶意行为组合库中的对比表明所述组合是恶意行为组合,计算所述恶意行为组合的组合威胁值并将所述组合威胁值与组合威胁阈值进行比较;

响应于所述组合威胁值超过所述组合威胁阈值,将所述进程按第一阈值区分为恶意进程或高危进程以处理。

2.根据权利要求1所述的方法,其特征在于,建立恶意行为库和恶意行为组合库包括:

通过对现有恶意软件分析而整理出恶意行为,所述恶意行为库包括涉及的系统api、权重、包含的恶意行为,所述恶意行为组合库还包括恶意行为之间的关系设定。

3.根据权利要求1所述的方法,其特征在于,还包括:在建立恶意行为库和恶意行为组合库之前建立进程的黑名单和白名单,其中,所述黑名单中的进程禁止启动,所述白名单中的进程不监控。

4.根据权利要求3所述的方法,其特征在于,建立进程的黑名单和白名单包括:

通过进程中的md5值和sha1值将进程划分到所述黑名单和所述白名单中。

5.根据权利要求1所述的方法,其特征在于,还包括:

响应于在所述恶意行为库中的对比表明所述行为是恶意行为且所述进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以上,将所述进程按第一阈值区分为恶意进程或高危进程以进行处理。

6.根据权利要求5所述的方法,其特征在于,响应于在所述恶意行为库中的对比表明所述行为是恶意行为且所述进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以上,将所述进程按第一阈值区分为恶意进程或高危进程以进行处理包括:

将所述进程的行为威胁值与所述第一阈值进行比较;

响应于所述行为威胁值大于所述第一阈值,将所述进程标记为恶意进程并将进程关闭;

响应于所述行为威胁值小于所述第一阈值,将所述进程标记为高危进程并将进程挂起。

7.根据权利要求1所述的方法,其特征在于,响应于所述组合威胁值超过所述组合威胁阈值,将所述进程按第一阈值区分为恶意进程或高危进程以处理包括:

将所述进程的组合威胁值与所述第一阈值进行比较;

响应于所述组合威胁值大于所述第一阈值,将所述进程标记为恶意进程并将进程关闭;

响应于所述组合威胁值小于所述第一阈值,将所述进程标记为高危进程并将进程挂起。

8.根据权利要求1所述的方法,其特征在于,计算所述恶意行为组合的组合威胁值包括:

将所述行为组合所在的进程中的每个恶意行为的行为威胁值的和再加上所有所述恶意行为组合的权值得到组合威胁值。

9.一种恶意进程实时监控的设备,其特征在于,所述设备包括:

数据库模块,所述数据库模块配置为建立恶意行为库和恶意行为组合库;

行为对比模块,所述行为对比模块配置为监控并捕获进程中的行为,并将所述行为在所述恶意行为库中进行对比;

行为组合对比模块,所述行为组合对比模块配置为响应于在所述恶意行为库中的对比表明所述行为是恶意行为且所述进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将所述进程中与所述行为相关联的其他行为与所述行为进行组合,并将所述组合在所述恶意行为组合库中进行对比;

计算模块,所述计算模块配置为响应于在所述恶意行为组合库中的对比表明所述组合是恶意行为组合,计算所述恶意行为组合的组合威胁值并将所述组合威胁值与组合威胁阈值进行比较;

处理模块,所述处理模块配置为响应于所述组合威胁值超过所述组合威胁阈值,将所述进程按第一阈值区分为恶意进程或高危进程以处理。

10.一种计算机设备,其特征在于,包括:

至少一个处理器;以及

存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如权利要求1-8任意一项所述的方法。

技术总结
本发明提供了一种恶意进程实时监控的方法、设备和计算机设备,该方法包括以下步骤:建立恶意行为库和恶意行为组合库;监控并捕获进程中的行为,将行为在恶意行为库中进行对比;响应于行为是恶意行为且进程中的所有恶意行为的行为威胁值的和在恶意进程阈值以下,将进程中与行为相关联的其他行为与行为进行组合并将该组合在恶意行为组合库中进行对比;响应于组合是恶意行为组合,计算恶意行为组合的组合威胁值并将组合威胁值与组合威胁阈值进行比较;响应于组合威胁值超过组合威胁阈值,将进程按第一阈值区分为恶意进程或高危进程以处理。通过使用本发明的方法,能够极大地减少待匹配恶意行为数量,提升匹配效率,进一步提升恶意行为判定的准确度。

技术研发人员:王传国
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.01.12
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-22120.html

最新回复(0)