一种恶意文件扫描方法、装置、设备及介质与流程

文档序号:23902222发布日期:2021-02-09 13:54阅读:83来源:国知局
一种恶意文件扫描方法、装置、设备及介质与流程

[0001]
本发明涉及计算机领域,特别涉及一种恶意文件扫描方法、装置、设备及介质。


背景技术:

[0002]
当前,在某些场景下,比如常用来实现桌面云技术的虚拟桌面基础架构(即vdi,virtual desktop infrastructure)场景,在该场景下,虚拟桌面基础架构可以根据用户数量来抽象操作系统,通过在数据中心的服务器运行windows xp,将用户的桌面进行虚拟化。用户通过来自客户端设备的客户计算协议与虚拟桌面进行连接,使用户像访问传统的本地安装桌面一样的访问虚拟桌面。
[0003]
然而,目前基于虚拟桌面基础架构环境下的恶意文件扫描系统或装置在运行时会影响到vdi的使用效率,恶意文件扫描装置在检测恶意文件时会占用较多的cpu资源,从而导致vdi的接入并发数减少,即导致同一时间段可访问服务器站点的连接数减少,影响了其它用户的正常使用。因此,如何解决恶意文件扫描装置在检测恶意文件时的cpu资源占用过高是目前广泛关注的问题。


技术实现要素:

[0004]
有鉴于此,本发明的目的在于提供一种恶意文件扫描方法、装置、设备及介质。其具体方案如下:
[0005]
第一方面,本申请公开了一种恶意文件扫描方法,应用于终端检测响应平台edr上的客户端agent,包括:
[0006]
创建扫描进程,并利用所述扫描进程中的目标线程对恶意文件进行扫描;
[0007]
监测当前所述目标线程的实时cpu占用率;
[0008]
判断所述实时cpu占用率是否大于目标cpu占用率;所述目标cpu占用率为允许所述目标线程占用的最大cpu使用率;
[0009]
若所述实时cpu占用率大于所述目标cpu占用率,则确定出与所述目标线程对应的挂起时间,然后基于所述挂起时间对所述目标线程进行挂起。
[0010]
可选的,所述利用所述扫描进程中的目标线程对恶意文件进行扫描,包括:
[0011]
通过所述扫描进程加载扫描配置;所述扫描配置包括扫描的文件类型和/或扫描模式和/或恶意文件处理方式;
[0012]
利用所述扫描进程中的所述目标线程扫描恶意文件。
[0013]
可选的,所述在加载扫描配置的步骤之前,包括:
[0014]
获取本地预先设置的或所述终端检测响应平台edr上的管理平台mgr预先设置的所述扫描配置。
[0015]
可选的,所述获取本地预先设置的或所述终端检测响应平台edr上的管理平台mgr预先设置的所述扫描配置,还包括:
[0016]
在所述管理平台mgr上设有的用于对本地设置权限进行限制的配置锁处于开启状
态时,则获取所述终端检测响应平台edr上的管理平台mgr预先设置的所述扫描配置。
[0017]
可选的,所述监测当前所述目标线程的实时cpu占用率,包括:
[0018]
开启一个新线程作为监控线程并利用所述监控线程监测所述目标线程的实时cpu占用率;
[0019]
相应地,所述判断所述实时cpu占用率是否大于目标cpu占用率之前,包括:
[0020]
若所述扫描配置中的资源优化模式为开启状态,则基于所述扫描模式和所述资源优化模式确定针对所述扫描进程的cpu使用率限制参数;
[0021]
根据所述cpu使用率限制参数、所述监控线程的cpu占用率和所述目标线程的线程数计算所述目标线程相应的目标cpu占用率。
[0022]
可选的,所述确定出与所述目标线程对应的挂起时间,然后基于所述挂起时间对所述目标线程进行挂起,包括:
[0023]
基于所述目标线程的实时cpu占用率和执行时间,以及所述目标cpu占用率确定出与所述目标线程对应的挂起时间;
[0024]
基于所述挂起时间对所述目标线程进行挂起。
[0025]
可选的,所述基于所述挂起时间对所述目标线程进行挂起,包括:
[0026]
基于所述挂起时间,确定挂起初始值,判断所述挂起初始值是否大于预设挂起时间上限阈值,以及判断所述挂起初始值是否小于预设挂起时间下限阈值;
[0027]
若所述挂起初始值大于所述预设挂起时间上限阈值,则控制所述目标线程下次挂起第一时长;所述第一时长为通过第一下次挂起时间计算经验公式计算得到;
[0028]
若所述挂起初始值小于所述预设挂起时间下限阈值,则控制所述目标线程下次挂起第二时长;所述第二时长为通过第二下次挂起时间计算经验公式计算得到;
[0029]
若所述挂起初始值在所述预设挂起时间上限阈值与下限阈值之间,则控制所述目标线程下次挂起第三时长;所述第三时长为通过第三下次挂起时间计算经验公式计算得到;
[0030]
其中,所述挂起初始值、所述第一下次挂起时间计算经验公式、所述第二下次挂起时间计算经验公式、所述第三下次挂起时间计算经验公式,以及所述预设挂起时间上限阈值和所述预设挂起时间下限阈值,均为基于所述cpu使用率限制参数并以优化cpu占用率为确定原则确定出来的。
[0031]
第二方面,本申请公开了一种恶意文件扫描装置,包括:
[0032]
线程开启模块,用于开启用于扫描恶意文件的目标线程;
[0033]
监测模块,用于监测当前所述目标线程的实时cpu占用率;
[0034]
判断模块,用于判断所述实时cpu占用率是否大于目标cpu占用率;所述目标cpu占用率为允许所述目标线程占用的最大cpu使用率;
[0035]
挂起模块,用于若所述实时cpu占用率大于所述目标cpu占用率,则确定出与所述目标线程对应的挂起时间,然后基于所述挂起时间对所述目标线程进行挂起。
[0036]
第三方面,本申请公开了一种电子设备,包括:
[0037]
存储器,用于保存计算机程序;
[0038]
处理器,用于执行所述计算机程序,以实现前述的恶意文件扫描方法。
[0039]
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计
算机程序被处理器执行时实现前述的恶意文件扫描方法。
[0040]
本申请中,首先创建扫描进程,利用所述扫描进程中的目标线程对恶意文件进行扫描,然后监测所述目标线程的实时cpu占用率,并判断所述实时cpu占用率是否大于目标cpu占用率,其中,所述目标cpu占用率为允许所述目标线程占用的最大cpu使用率;若所述实时cpu占用率大于所述目标cpu占用率,则确定出与所述目标线程对应的挂起时间,并基于所述挂起时间对目标线程进行挂起。本申请通过监测用于对恶意文件进行扫描的目标线程的实时cpu占用率,并根据实时cpu占用率和目标cpu占用率确定出与目标线程对应的挂起时间,对目标线程进行挂起,通过这种方式,对实时cpu占用率大于目标cpu占用率的目标线程进行挂起,降低了恶意文件扫描装置在扫描恶意文件时对系统cpu资源的占用。
附图说明
[0041]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042]
图1为本申请提供的一种恶意文件扫描方法流程图;
[0043]
图2为本申请提供的一种具体的恶意文件扫描方法流程图;
[0044]
图3为本申请提供的资源优化模式设置界面图;
[0045]
图4为本申请提供的恶意文件扫描结果示意图;
[0046]
图5为本申请提供的一种具体的恶意文件扫描方法流程图;
[0047]
图6为本申请提供的一种恶意文件扫描装置结构示意图;
[0048]
图7为本申请提供的一种电子设备结构图。
具体实施方式
[0049]
当前,基于虚拟桌面架构环境下的恶意文件扫描装置在检测恶意文件时会占用较多的cpu资源,进而会影响到vdi的接入并发数。为克服上述问题,本申请提供一种恶意文件扫描方法,可以降低恶意文件扫描装置在扫描恶意文件时对系统cpu资源的占用。
[0050]
本发明实施例公开了一种恶意文件扫描方法,应用于终端检测响应平台edr(即endpoint detection and response)上的客户端agent,参见图1所示,该方法可以包括以下步骤:
[0051]
步骤s11:创建扫描进程,并利用所述扫描进程中的目标线程对恶意文件进行扫描。
[0052]
本实施例中,通过创建扫描进程,然后利用扫描进程中的目标线程对恶意文件进行扫描;可以理解的是,创建的扫描进程中可以有一个或多个目标线程,并且目标线程作为最小的程序执行单位用于对恶意文件进行扫描。其中,恶意文件包括但不限于病毒和广告。
[0053]
本实施例中,所述利用所述扫描进程中的目标线程对恶意文件进行扫描,可以包括:通过所述扫描进程加载扫描配置;所述扫描配置包括扫描的文件类型和/或扫描模式和/或恶意文件处理方式;利用所述扫描进程中的所述目标线程扫描恶意文件。
[0054]
在本申请实施例中,当目标线程为多个时,可以仅对部分目标线程进行配置,也可
以对全部目标线程进行配置。本领域技术人员容易理解,当目标线程为多个,但仅对部分目标线程进行配置时,其余目标线程所需的工作模式为开发时期已经固化的模式。此外,对于某一扫描线程来说,扫描的文件类型、扫描模式以及恶意文件处理方式也并非均需配置,具体配置方式可根据扫描线程的具体情况而定,比如,若该扫描线程的扫描模式已经被固化,则无需再进行配置;又比如,若该扫描线程不执行恶意文件处理操作,则无需对恶意文件处理方式进行配置。
[0055]
可以理解的是,在创建上述扫描进程后,利用上述扫描进程加载扫描系统中的扫描配置;其中,上述扫描配置可以包括但不限于扫描的文件类型、扫描模式和恶意文件处理方式,其中,上述扫描模式可以包括但不限于极速模式、均衡模式和低耗模式(为自定义命名)。在扫描进程加载完扫描配置后,上述目标线程再根据上述扫描配置中的相应配置参数对恶意文件进行扫描。由此一来,可以根据用户的需求对恶意文件进行扫描和处理。
[0056]
本实施例中,所述加载扫描配置,可以包括:加载本地预先设置的或所述终端检测响应平台edr上的管理平台mgr(manager)预先设置的所述扫描配置。可以理解的是,可以通过本地,即上述客户端agent,即安装有恶意文件扫描装置的vdi设置扫描配置,也可以通过上述终端检测相应平台edr上的管理平台mgr设置上述扫描配置,由此一来,可以方便用户通过多种方式对扫描配置进行设置。
[0057]
本实施例中,所述加载本地预先设置的或所述终端检测响应平台edr上的管理平台mgr预先设置的所述扫描配置,还可以包括:若所述管理平台mgr上设有的用于对本地设置权限进行限制的配置锁处于开启状态,则获取所述终端检测响应平台edr上的管理平台mgr预先设置的所述扫描配置。可以理解的是,可以通过在上述管理平台mgr上安装上述配置锁以对本地进行扫描配置的设置权限进行限制,即当上述管理平台mgr上安装的配置锁处于开启状态时,则不能通过上述客户端agent对扫描配置进行设置,只能以通过mgr设置的扫描配置为准。
[0058]
步骤s12:监测当前所述目标线程的实时cpu占用率。
[0059]
本实施例中,可以理解的是,在创建扫描进程,并由目标线程对恶意文件进行扫描的过程中,通过对当前用于对恶意文件进行扫描的目标线程进行监测,以得到当前目标线程的实时cpu占用率。在本申请实施例中,若目标线程为多个时,可以监测每一个目标线程的实时cpu占用率;也可以将若干个目标线程看成一个整体,获取该整体的实时cpu占用率,本申请对此不作限定,然而,为了更精准的控制目标进程的cpu占用率,可以对每一个目标线程进行监测。
[0060]
此外,目标线程的实时cpu占用率的监测方法可以为:在目标进程中创建一监控线程,通过该监控线程实现对目标线程实时cpu占用率的检测,然而,线程cpu占用率的监测方法本申请并不具体限定。
[0061]
步骤s13:判断所述实时cpu占用率是否大于目标cpu占用率;所述目标cpu占用率为允许所述目标线程占用的最大cpu使用率。
[0062]
本实施例中,在通过监测上述目标线程得到目标线程的实时cpu占用率后,判断上述实时cpu占用率是否大于目标cpu占用率,其中,上述目标cpu占用率为允许上述目标线程占用的最大cpu使用率;可以理解的是,可以通过对扫描进程中用于对恶意文件进行扫描的目标线程的cpu占用率进行调整,进而减少扫描进程在扫描时对cpu资源的占用。
[0063]
步骤s14:若所述实时cpu占用率大于所述目标cpu占用率,则确定出与所述目标线程对应的挂起时间,然后基于所述挂起时间对所述目标线程进行挂起。
[0064]
本实施例中,若通过判断得到上述实时cpu占用率大于上述目标cpu占用率,则确定出对上述目标线程相应的挂起时间,并基于上述挂起时间对上述目标线程进行挂起。比如,可以提示用户输入挂起时间,或者可以自动计算挂起时间,可以理解的是,可以基于上述实时cpu占用率和上述目标cpu资源占用率确定出相应的目标线程的挂起时间,并基于上述挂起时间对相应的目标线程进行挂起,比如,在一个时间片100ms内,监测到目标线程的实时cpu占用率为50%,若目标cpu占用率为25%,则说明需要在时间片内额外增加挂起时间25ms,才能够使得cpu占用率调整为25%。
[0065]
此外,本领域技术人员容易理解,若步骤s12获取的实时cpu占用率所针对的是作为一个整体的“多个目标线程”,则相应地,该步骤s13执行挂起操作的也是该作为一个整体的“多个目标线程”,即同时将该多个目标线程进行挂起。
[0066]
由上可见,本实施例中首先创建扫描进程,利用所述扫描进程中的目标线程对恶意文件进行扫描,然后监测所述目标线程的实时cpu占用率,并判断所述实时cpu占用率是否大于目标cpu占用率,其中,所述目标cpu占用率为允许所述目标线程占用的最大cpu使用率;若所述实时cpu占用率大于所述目标cpu占用率,则确定出与所述目标线程对应的挂起时间,并基于所述挂起时间对目标线程进行挂起。本实施例通过监测用于对恶意文件进行扫描的目标线程的实时cpu占用率,并对实时cpu占用率大于目标cpu占用率的目标线程进行挂起,降低了恶意文件扫描装置在扫描恶意文件时对系统cpu资源的占用。
[0067]
本发明实施例公开了一种具体的恶意文件扫描方法,参见图2所示,该方法可以包括以下步骤:
[0068]
步骤s21:创建扫描进程,通过所述扫描进程加载扫描配置;所述扫描配置包括扫描的文件类型和/或扫描模式和/或恶意文件处理方式;利用所述扫描进程中的所述目标线程扫描恶意文件。
[0069]
本实施例中,在创建扫描进程后,通过扫描进程加载扫描配置,并利用扫描进程中的目标线程进行文件扫描以确定恶意文件;其中,上述扫描配置包括但不限于扫描的文件类型、扫描模式和恶意文件处理方式。
[0070]
步骤s22:若所述扫描配置中的资源优化模式为开启状态,则基于所述扫描模式和所述资源优化模式确定针对所述扫描进程的cpu使用率限制参数。
[0071]
本实施例中,在创建扫描进程并加载完成扫描配置后,判断上述扫描配置中的资源优化模式是否处于开启状态。例如图3所示,当用户选择开启资源优模式后,即用户选择在资源优化模式下对恶意文件进行扫描。在查询到上述资源优化模式处于开启状态时,可以基于上述扫描模式中的具体扫描模式和上述资源优化模式确定出针对上述扫描进程的cpu使用率限制参数。可以理解的是,edr在不同扫描模式下通过限制进程cpu占用的方式对cpu资源占用做了一定的限制,但这种限制的效果较差,不能做到严格的限制,当开启资源优化模式后,会根据具体的扫描模式和资源优化模式确定出相应的cpu使用率限制参数,将更加严格的限制恶意文件扫描时的cpu资源占用。例如,本实施例中在极速模式下不对cpu的资源占用进行限制,在开启资源优化模式后,扫描进程的cpu资源占用限制按预设的参数调整为不超过50%,以得到资源优化模式下极速模式对应的扫描进程的cpu使用率限制参
数;均衡模式下cpu的资源占用不超过30%,在开启资源优化模式后,cpu资源占用限制按预设的参数调整为不超过20%,以得到资源优化模式下均衡模式对应的cpu使用率限制参数;低耗模式下cpu的资源占用不超过10%,在开启资源优化模式后,cpu资源占用限制按预设的参数调整为不超过5%,以得到资源优化模式下低耗模式对应的cpu使用率限制参数。
[0072]
步骤s23:开启一个新线程作为监控线程并利用所述监控线程监测所述目标线程的实时cpu占用率。
[0073]
在本申请实施例中,可以开启一个新线程作为监控线程,并利用上述监控线程对目标线程的相关运行参数进行监控,以得到目标线程的实时cpu占用率。
[0074]
步骤s24:根据所述cpu使用率限制参数、所述监控线程的cpu占用率和所述目标线程的线程数计算所述目标线程相应的目标cpu占用率。
[0075]
本实施例中,通过上述cpu使用率限制参数、上述监控线程的cpu占用率和上述目标线程的线程数可以确定出上述目标线程对应的目标cpu占用率(该目标cpu占用率可以对应一个目标线程,也可以对应多个目标线程,但为了更为精准的调整目标进程的cpu占用率,可对应一个目标线程)。可以理解的是,根据上述cpu使用率限制参数并考虑到需要补偿上述监控线程的cpu占用率后,再基于目标线程的线程数计算出每个目标线程可占用的最大cpu使用率,以得到上述目标线程对应的目标cpu占用率。可以理解的是,扫描进程中可以存在多个线程以执行不同的任务,上述目标线程为扫描进程中用于对恶意文件进行扫描的线程。
[0076]
步骤s25:基于所述目标线程的实时cpu占用率和所述目标cpu占用率确定出与所述目标线程对应的挂起时间。
[0077]
本实施例中,在确定出上述目标cpu占用率后,基于目标线程对应的实时cpu占用率和目标cpu占用率可以确定出对目标线程的挂起时间。
[0078]
例如,监测得到目标线程的实时cpu占用率为100%,时间片为0.5s,如果目标cpu占用率为50%,则可以确定上述挂起时间为250ms。
[0079]
步骤s26:基于所述挂起时间对所述目标线程进行挂起。
[0080]
本实施例中,在确定出上述挂起时间后,基于上述挂起时间对目标线程进行挂起。例如,根据确定得上述挂起时间为250ms,对目标线程每执行50ms就将该目标线程挂起50ms,循环5次,这样在0.5s的时间内,目标线程的cpu占用率可以降低为50%。
[0081]
本领域技术人员应该理解,在计算出挂起时间为250ms之后,具体在时间片内如何实现250ms的挂起本申请对此不做限定,可以如上举例,循环5次挂起50ms,也可以是其他方式,本申请对此不作限定。
[0082]
通过上述的恶意文件扫描方法扫描出恶意文件后,例如图4所示,将上述恶意文件的相关参数显示在上述客户端agent上。
[0083]
其中,关于上述步骤s21的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
[0084]
由上可见,本实施例通过开启监控线程对目标线程进行监控以得到实时cpu占用率,并根据当前扫描模式和资源优化模式的开启状态确定出对扫描进程的cpu使用率限制参数,进而再根据监控线程的cpu占用率和目标线程的线程数确定出目标线程对应的目标cpu占用率,最后基于目标线程的实时cpu占用率和执行时间,以及目标cpu占用率确定出与
目标线程对应的挂起时间,并基于上述挂起时间对目标线程进行挂起。通过这种方式,根据cpu使用率限制参数和目标线程的线程数,并考虑对监控线程的cpu占用率的补偿,确定出目标线程的目标cpu占用率,进一步根据目标cpu占用率和实时cpu占用率确定出对目标线程的挂起时间并进行挂起,由于综合考虑了监控线程的补偿可以实现对cpu占用率更加精确和严格的限制,降低了恶意文件扫描装置在扫描恶意文件时对系统cpu资源的占用。
[0085]
本发明实施例公开了一种具体的恶意文件扫描方法,参见图5示,该方法可以包括以下步骤:
[0086]
步骤s31:创建扫描进程,通过所述扫描进程加载扫描配置;所述扫描配置包括扫描的文件类型和/或扫描模式和/或恶意文件处理方式;利用所述扫描进程中的所述目标线程扫描恶意文件。
[0087]
步骤s32:若所述扫描配置中的资源优化模式为开启状态,则基于所述扫描模式和所述资源优化模式确定针对所述扫描进程的cpu使用率限制参数。
[0088]
步骤s33:开启一个新线程作为监控线程并利用所述监控线程监测所述目标线程的实时cpu占用率。
[0089]
步骤s34:根据所述cpu使用率限制参数、所述监控线程的cpu占用率和所述目标线程的线程数计算所述目标线程相应的目标cpu占用率。
[0090]
步骤s35:基于所述目标线程的实时cpu占用率和所述目标cpu占用率确定出与所述目标线程对应的挂起时间。
[0091]
步骤s36:基于所述挂起时间,确定挂起初始值,判断所述挂起初始值是否大于预设挂起时间上限阈值,以及判断所述挂起初始值是否小于预设挂起时间下限阈值。
[0092]
本实施例中,在确定出上述挂起时间后,确定挂起初始值,该挂起初始值的计算方式可以通过大量试验得到的经验公式计算得到(具体经验公式的获取方式下文会阐述)。
[0093]
判断上述挂起初始值是否大于预设挂起时间上限阈值,并判断上述挂起初始值是否小于预设挂起时间下限阈值,即判断上述挂起初始值是否超出由上述预设挂起时间上限阈值和预设挂起时间下限阈值确定的挂起时间范围。
[0094]
步骤s37:若所述挂起初始值大于所述预设挂起时间上限阈值,则控制所述目标线程下次挂起第一时长;所述第一时长为通过第一下次挂起时间计算经验公式计算得到。
[0095]
本实施例中,如果上述挂起初始值大于上述预设挂起时间上限阈值,则通过第一下次挂起时间计算经验公式得到的第一时长,并将上述第一时长作为下次挂起时间对上述目标线程进行挂起。
[0096]
步骤s38:若所述挂起初始值小于所述预设挂起时间下限阈值,则控制所述目标线程下次挂起第二时长;所述第二时长为通过第二下次挂起时间计算经验公式计算得到。
[0097]
本实施例中,如果上述挂起初始值小于上述预设挂起时间下限阈值,则通过第二下次挂起时间计算公式得到第二时长,并将上述第二时长作为下次挂起时间对上述目标线程进行挂起。
[0098]
此外,如果挂起初始值在预设挂起时间上下限阈值范围内时,则以第三下次挂起时间计算经验公式得到。如此循环往负得到各个挂起的时长。
[0099]
其中,挂起初始值计算经验公式、上述第一下次挂起时间计算经验公式、上述第二下次挂起时间计算经验公式、上述第三下次挂起时间计算经验公式以及预设挂起时间上限
阈值和预设挂起时间下限阈值均为基于上述cpu使用率限制参数并以优化cpu占用率为确定原则,经过大量试验确定出来的,通过这些经验公式和参数,可以使得不仅能够使得线程的cpu占用率降低,而且能够避免进程的cpu占用率过低,影响cpu使用效率。可以理解的是,由于上述挂起时间是根据cpu使用率限制参数和目标线程的实时cpu占用率确定的理论挂起时间,但在实际应用中,直接利用上述挂起时间对目标线程进行挂起时,可能导致目标进程的实时cpu占用率远低于上述cpu使用率限制参数,虽然成功限制了对cpu资源的占用,但过低的cpu资源占用率影响到扫描效率;因此基于确定出的挂起时间,并结合上述经验所得参数和公式,重新计算在一个时间片内的各个挂起时间,本领域技术人员容易理解,本实施例所得的各个挂起时间之和应与上述挂起时间不同。本实施例可以在不超出上述cpu使用率限制参数的基础上,尽可能的让目标线程的cpu占用率接近cpu使用率限制参数,以提高扫描的效率。
[0100]
以下对本实施例的进行具体举例,所述恶意文件扫描方法,还包括:若所述cpu使用率限制参数小于或等于第一限制阈值,则将所述预设挂起时间上限阈值和所述预设挂起时间下限阈值分别设置为第一时间上限和第一时间下限;若所述cpu使用率限制参数大于所述第一限制阈值,则将所述预设挂起时间上限阈值和所述预设挂起时间下限阈值分别设置为第二时间上限和第二时间下限;
[0101]
可以理解的是,在确定出上述挂起初始值后,判断上述cpu使用率限制参数与上述第一限制阈值的大小关系,当上述cpu使用率限制参数小于或等于该第一限制阈值时,则可确定出相应的预设挂起时间上限阈值第一时间上限,预设挂起时间下限阈值为第一时间下限;如果挂起初始值大于第一时间上限,则通过第一下次挂起时间计算经验公式计算得到下一次的挂起时间,对目标线程进行挂起;如果挂起初始值小于第一时间下限,则通过第二下次挂起时间计算经验公式计算下一次挂起时间,对目标线程进行挂起。当上述cpu使用率限制参数大于上述第一限制阈值,则可确定出相应的预设挂起时间上限阈值为第二时间上限,预设挂起时间下限阈值为第二时间下限;如果挂起初始值大于第二时间上限,则通过第一下次挂起时间计算经验公式计算得到下次挂起时间(该第一下次挂起时间计算经验公式与小于等于第一限制阈值时的第一下次挂起时间计算经验公式可以不同),对目标线程进行挂起;如果挂起初始值小于第二时间下限,则通过第二下次挂起时间计算经验公式计算得到下次挂起时间,对目标线程进行挂起(该第二下次挂起时间计算经验公式与小于等于第一限制阈值时的第二下次挂起时间计算经验公式可以不同)。
[0102]
其中,关于上述步骤s31至步骤s35的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
[0103]
由上可见,本实施例中,在确定出挂起初始值后,判断挂起初始值是否大于预设挂起时间上限阈值,以及判断所述挂起初始值是否小于预设挂起时间下限阈值;若挂起初始值大于预设挂起时间上限阈值,则控制目标线程下次挂起第一时长,其中上述第一时长为通过第一下次挂起时间计算经验公式计算得到;若上述挂起初始值小于上述预设挂起时间下限阈值,则控制上述目标线程下次挂起第二时长,其中上述第二时长为通过第二下次挂起时间计算经验公式计算得到。通过这种方式,可以尽可能的让扫描进程对cpu资源的占用率接近cpu使用率限制参数,由此可以在保证恶意文件扫描装置不超过限制的cpu占用率的同时尽可能保证恶意文件扫描装置的工作效率。
[0104]
相应的,本申请实施例还公开了一种恶意文件扫描装置,参见图6所示,该装置包括:
[0105]
线程开启模块11,用于开启用于扫描恶意文件的目标线程;
[0106]
监测模块12,用于监测当前所述目标线程的实时cpu占用率;
[0107]
判断模块13,用于判断所述实时cpu占用率是否大于目标cpu占用率;所述目标cpu占用率为允许所述目标线程占用的最大cpu使用率;
[0108]
挂起模块14,用于若所述实时cpu占用率大于所述目标cpu占用率,则确定出与所述目标线程对应的挂起时间,然后基于所述挂起时间对所述目标线程进行挂起。
[0109]
由上可见,本实施例通过监测用于对恶意文件进行扫描的目标线程的实时cpu占用率,并根据实时cpu占用率和目标cpu占用率确定出与目标线程对应的挂起时间,对目标线程进行挂起,通过这种方式,对实时cpu占用率大于目标cpu占用率的目标线程进行挂起,降低了恶意文件扫描装置在扫描恶意文件时对系统cpu资源的占用。
[0110]
在一些实施例中,所述线程开启模块11具体可以包括:
[0111]
扫描配置加载单元,用于通过所述扫描进程加载扫描配置;所述扫描配置包括扫描的文件类型和/或扫描模式和/或恶意文件处理方式;
[0112]
所述扫描配置加载单元,具体可以用于加载本地预先设置的或所述终端检测响应平台edr上的管理平台mgr预先设置的所述扫描配置;
[0113]
扫描单元,用于利用所述扫描进程中的所述目标线程扫描恶意文件。
[0114]
在一些实施例中,所述监测模块12具体可以包括:
[0115]
cpu使用率限制参数确定单元,用于若所述扫描配置中的资源优化模式为开启状态,则基于所述扫描模式和所述资源优化模式确定针对所述扫描进程的cpu使用率限制参数;
[0116]
监测单元,用于开启一个新线程作为监控线程并利用所述监控线程监测所述目标线程的实时cpu占用率;
[0117]
目标cpu占用率确定单元,用于根据所述cpu使用率限制参数、所述监控线程的cpu占用率和所述目标线程的线程数计算所述目标线程相应的目标cpu占用率。
[0118]
在一些实施例中,所述挂起模块14具体可以包括:
[0119]
挂起时间确定单元,用于基于所述目标线程的实时cpu占用率和执行时间,以及所述cpu使用率限制参数确定出与所述目标线程对应的挂起时间;
[0120]
第一挂起单元,用于基于所述挂起时间对所述目标线程进行挂起;
[0121]
判定单元,用于基于所述挂起时间,确定挂起初始值,判断所述挂起初始值是否大于预设挂起时间上限阈值,以及判断所述挂起初始值是否小于预设挂起时间下限阈值;
[0122]
第一时长确定单元,用于若所述挂起初始值大于所述预设挂起时间上限阈值,则控制所述目标线程下次挂起第一时长;所述第一时长为通过第一下次挂起时间计算经验公式计算得到;
[0123]
第二时长确定单元,用于若所述挂起初始值小于所述预设挂起时间下限阈值,则控制所述目标线程下次挂起第二时长;所述第二时长为通过第二下次挂起时间计算经验公式计算得到。
[0124]
进一步的,本申请实施例还公开了一种电子设备,参见图7所示,图中的内容不能
被认为是对本申请的使用范围的任何限制。
[0125]
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的恶意文件扫描方法中的相关步骤。
[0126]
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0127]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括挂起时间在内的数据223等,存储方式可以是短暂存储或者永久存储。
[0128]
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的恶意文件扫描方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
[0129]
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的恶意文件扫描方法步骤。
[0130]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0131]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0132]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0133]
以上对本发明所提供的恶意文件扫描方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思
想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1