掌桥专利:专业的专利平台
掌桥专利
首页

一种病毒查杀方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 11:39:06


一种病毒查杀方法、装置、设备及可读存储介质

技术领域

本申请涉及计算机安全技术领域,特别是涉及一种病毒查杀方法、装置、设备及可读存储介质。

背景技术

浏览器下载是一种常见用户场景,在下载过程中会产生很多临时文件,此类文件大都是不完整文件,由于杀毒引擎(即病毒查杀引擎)监控所有写文件操作,所以杀毒引擎也会针对不完整的文件进行病毒查杀。

非完整文件在不同浏览器中下载形式表现不一致,例如百度浏览器存在随机填充字符、谷歌浏览器顺序下载等等,另外在迅雷下载、QQ传输文件等多线程下载场景,由于一个完整文件被分解为多个线程下载,此场景下也存在一定的非完整文件。可见,非完整文件在下载文件场景中并非罕见。但,目前杀毒引擎查杀大量非完整文件时,会带来了较高的误报率,且带来了一定的性能开销。其中,误报率指说杀毒软件在工作的时候,对软件提示病毒的错误几率,也就是说,100个软件里都没有毒,但杀毒软件提示1个文件有毒,那么他的误报率就是1%。

综上所述,如何有效地解决非完整文件对应的病毒查杀等问题,是目前本领域技术人员急需解决的技术问题。

发明内容

本申请的目的是提供一种病毒查杀方法、装置、设备及可读存储介质,以对非完整文件进行准确地的病毒查杀,降低误报率,降低病毒查杀引擎的性能开销。

为解决上述技术问题,本申请提供如下技术方案:

一种病毒查杀方法,包括:

获取非完整的目标文件;

判断所述目标文件是否为符合标准可执行文件结构但不可执行的文件;

如果是,则确定所述目标文件为安全文件;

如果否,则利用病毒查杀引擎对所述目标文件进行病毒查杀。

优选地,利用病毒查杀引擎对所述目标文件进行病毒查杀,包括:

利用所述病毒查杀引擎确定所述目标文件对应的病毒查杀类别;所述病毒查杀类别包括黑、白和灰,所述白对应所述安全文件,所述黑对应病毒文件,所述灰对应未知威胁文件。

优选地,在所述利用病毒查杀引擎对所述目标文件进行病毒查杀之后,还包括:

若所述病毒查杀类别为黑时,则提取所述目标文件的文件特征;

将所述文件特征与预设文件特征进行比对,并确定所述目标文件是否为易误判类型文件;

如果是,则对所述目标文件进行云查杀处理;

若所述病毒查杀类别为灰,则对所述目标文件进行云查杀处理。

优选地,判断所述目标文件是否为符合标准可执行文件结构但不可执行的文件,包括:

判断所述目标文件的文件结构是否为所述标准可执行文件结构;

如果否,则执行所述利用病毒查杀引擎对所述目标文件进行病毒查杀的步骤;

如果是,则判断所述目标文件是否可执行;

若所述目标文件可执行,则执行所述利用病毒查杀引擎对所述目标文件进行病毒查杀的步骤;

若所述目标文件不可执行,则执行确定所述目标文件为安全文件的步骤。

优选地,判断所述目标文件是否可执行,包括:

判断所述目标文件是否符合所述标准可执行文件结构中魔数和签名;

如果否,则确定所述目标文件为不可执行的文件。

优选地,判断所述目标文件是否可执行,包括:

判断所述目标文件的数据目录表是否包括数字签名且所述目标文件的文件长度与所述数字签名对应长度一致;

如果否,则确定所述目标文件为不可执行的文件。

优选地,判断所述目标文件是否可执行,包括:

判断所述目标文件的节信息中的物理大小和物理偏移是否与所述目标文件的文件长度一致;

如果否,则确定所述目标文件为不可执行的文件。

一种病毒查杀装置,包括:

目标文件获取模块,用于获取非完整的目标文件;

文件类型判断模块,用于判断所述目标文件是否为符合标准可执行文件结构但不可执行的文件;

安全确认模块,用于如果所述目标文件为符合所述标准可执行文件结构但不可执行的文件,则确定所述目标文件为安全文件;

病毒查杀模块,用于如果所述目标文件为非符合所述标准可执行文件结构且且不可执行,或不符合所述标准可执行文件结构的文件,则利用病毒查杀引擎对所述目标文件进行病毒查杀。

一种病毒查杀设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述病毒查杀方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述病毒查杀方法的步骤。

应用本申请实施例所提供的方法,获取非完整的目标文件;判断目标文件是否为符合标准可执行文件结构单不可执行的文件;如果是,则确定目标文件为安全文件;如果否,则利用病毒查杀引擎对目标文件进行病毒查杀。

通过对各种场景下产生的非完整文件进行统计分析,发现非完整文件主要分为两类,即标准PE结构(即标准可执行文件结构)及非标准PE结构类型(即非标志可执行文件结构的其他结构),其中非标准PE结构类型主要是安装包类型。对于标准PE结构类型文件,又包括可执行和不可执行两类文件,其中,不可执行的文件数量较多,且不可执行文件本身是无威胁的。基于此,本方法在针对非完整文件进行病毒查杀前,通过判断目标文件是否符合标准PE结构但不可执行,如果是,则直接确定目标文件为安全文件。对于不属于标准PE结构,以及属于标准PE结构且可执行的文件,则采用病毒查杀引擎进行病毒查杀。可见,在本方法中,首先将符合标准PE结构但不可执行的无威胁的文件直接判定为安全文件进行过滤,可降低此类文件的误报率。与此同时,病毒查杀引擎处理的文件数量也相对降低,还可降低病毒查杀引擎的性能开销。

相应地,本申请实施例还提供了与上述病毒查杀方法相对应的病毒查杀装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

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

图1为本申请实施例中一种病毒查杀方法的实施流程图;

图2为本申请实施例中一种病毒查杀装置的结构示意图;

图3为本申请实施例中一种病毒查杀设备的结构示意图;

图4为本申请实施例中一种病毒查杀设备的具体结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一:

请参考图1,图1为本申请实施例中一种病毒查杀方法的流程图,该方法包括以下步骤:

S101、获取非完整的目标文件。

其中,指正常PE文件在下载过程中由于多线程下载或者浏览器填充等导致文件不完整。例如正常文件有100个字节长度,浏览器下载过程会先下载20个字节至下载完毕,在此过程中会产生很多临时文件即非完整文件。其中,PE文件指微软操作系统上的可执行文件,比如常见的EXE、DLL、OCX、SYS、COM都是PE文件,根据定义,PE文件有标准的结构,即标准可执行文件结构。

在本实施例中,可从可读存储介质中,或数据传输接口中获取非完整的目标文件。其中,目标文件可以为任意一种非完整的文件,如EXE、DLL、OCX、SYS、COM等。

S102、判断目标文件是否为符合标准可执行文件结构但不可执行的文件。

由于非完整文件中,存在大量符合标准可执行文件结构,但无法执行的文件,且此类文件由于不可执行,其本身不具备威胁。因此,在本实施例中,当获取到目标文件后,首先判断该目标文件是否符合标准可执行文件结构但不可执行。得到判断结果之后,便可基于判断结果确定是否要继续对该目标文件进行病毒查杀。具体的,如果判断结果为是,则执行步骤S103的操作,如果判断结果为否,则执行步骤S104的操作。

其中,判断目标文件是否为符合标准可执行文件结构但不可执行的文件及具体的后续处理步骤,可具体包括:

判断目标文件的文件结构是否为标准可执行文件结构;

如果否,则进入步骤S104,即执行利用病毒查杀引擎对目标文件进行病毒查杀的步骤;

如果是,则判断目标文件是否可执行;

若目标文件可执行,则进入步骤S104,即执行利用病毒查杀引擎对目标文件进行病毒查杀的步骤;

若目标文件不可执行,则进入步骤S103,即执行确定目标文件为安全文件的步骤。

其中,判断目标文件的文件结构是否为标准可执行文件结构,可具体为比对目标文件的文件结构与标准可执行文件结构是否一致,如果是,则确定目标文件符合标准可执行文件结构。

通常完整的PE文件即为可执行文件,若非完整PE文件则为不可执行文件。因此,在判断目标文件是否可执行,则可通过判断目标文件是否为完整PE结构文件,即判断目标文件是否为标准可执行文件结构对应的完整文件。可利用PE文件的定义确定目标文件是否可执行,即是否具备完整性。具体的,判断目标文件是否可执行的方式包括但不限于以下方式:

方式1:实现过程,包括:

步骤一、判断目标文件是否符合标准可执行文件结构中魔数和签名;

步骤二、如果否,则确定目标文件为不可执行的文件。

其中,魔数,用于表示这是一个MS-DOS下的可执行文件,可具体为Dos头中MagicNumber字段;签名即Coff头中Signature为PE文件头的标识,其值始终为固定值0x50450000,ASCII码为"PE/0/0",Win32SDK使用#define IMAGE_NT_SIGNATURE定义了这个值。也就是说,可判断目标文件是否符合Dos头Magic Number字段及Coff头Signature字段,如果否,则确定目标文件为不可执行的文件。需要注意的是,即便目标文件符合标准可执行文件结构中魔数和签名,也并不意味着目标文件为可执行文件。

方式2:实现过程,包括:

步骤一、判断目标文件的数据目录表是否包括数字签名且目标文件的文件长度与数字签名对应长度一致;

步骤二、如果否,则确定目标文件为不可执行的文件。

其中,数据目录表(DataDirectory)为PE文件中各种数据结构的索引目录,由数个相同的IMAGE_DATA_DIRECTORY结构组成,其中包括了很多PE文件正常加载执行所必不可少的数据结构。其中数据签名可具体为Certificate Table。即可判断目标文件的DataDirectory是否包含Certificate Table并确认文件长度是否与Certificate长度一致,如果否,则确定目标文件为不可执行的文件。需要注意的是,即便目标文件包括数字签名且目标文件的文件长度与数字签名对应长度一致,也并不意味着目标文件为可执行文件。

方式3:实现过程,包括:

步骤一、判断目标文件的节信息中的物理大小和物理偏移是否与目标文件的文件长度一致;

步骤二、如果否,则确定目标文件为不可执行的文件。

其中,节信息,也可称之为区段信息,物理大小即Size Of Raw Data(或简称为RawSize),指此区段在磁盘中的体积,这个地址可按照文件页对齐的(恒为PE头结构中FileAlignment字段的整数倍);物理偏移即Raw Offset。即可判断目标文件Sections中RawSize、Raw Offset与文件长度一致,如果否,则确定目标文件为不可执行的文件。需要注意的是,即便目标文件Sections中Raw Size、Raw Offset与文件长度一致,也并不意味着目标文件为可执行文件。

上述3种方式均可用于判断目标文件是否为符合PE文件结构中不可执行的文件。在实际应用中,可分别采用上述3中方式中的至少一种方式对目标文件的完整性进行判断。只要在任意一种方式中判定目标文件不完整,则目标文件即为不可执行文件。

S103、确定目标文件为安全文件。

当确定目标文件符合标准可执行文件结构,但不可执行,可直接判定目标文件为安全文件,无需进行进一步查杀。

S104、利用病毒查杀引擎对目标文件进行病毒查杀。

当确定目标文件非符合标准可执行文件结构,或目标文件符合标准可执行文件结构且可执行,则需进一步利用病毒查杀引擎对目标文件进行病毒查杀。

具体的,对于采用何种病毒查杀引擎以及如何对目标文件进行病毒查杀,在本实施例中并不限定。

应用本申请实施例所提供的方法,获取非完整的目标文件;判断目标文件是否为符合标准可执行文件结构但不可执行的文件;如果是,则确定目标文件为安全文件;如果否,则利用病毒查杀引擎对目标文件进行病毒查杀。

通过对各种场景下产生的非完整文件进行统计分析,发现非完整文件主要分为两类,即标准PE结构(即标准可执行文件结构)及非标准PE结构类型(即非标志可执行文件结构的其他结构),其中非标准PE结构类型主要是安装包类型。对于标准PE结构类型文件,又包括可执行和不可执行两类文件,其中,不可执行的文件数量较多,且不可执行文件本身是无威胁的。基于此,本方法在针对非完整文件进行病毒查杀前,通过判断目标文件是否符合标准PE结构但不可执行,如果是,则直接确定目标文件为安全文件。对于不属于标准PE结构,以及属于标准PE结构且可执行的文件,则采用病毒查杀引擎进行病毒查杀。可见,在本方法中,首先将符合标准PE结构但不可执行的无威胁的文件直接判定为安全文件进行过滤,可降低此类文件的误报率。与此同时,病毒查杀引擎处理的文件数量也相对降低,还可降低病毒查杀引擎的性能开销。

需要说明的是,基于上述实施例,本申请实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。

优选地,在本实施例中,可采用诸如AI引擎的病毒查杀引擎中的对目标文件进行查杀。即上述步骤S104中利用病毒查杀引擎对目标文件进行病毒查杀,可具体包括:利用病毒查杀引擎确定目标文件对应的病毒查杀类别;病毒查杀类别包括黑、白和灰,白对应安全文件,黑对应病毒文件,灰对应未知威胁文件。也就是说,利用病毒查杀引擎确定出目标文件是属于安全文件、病毒文件还是未知威胁文件。

考虑到,目前AI引擎基于统计学原理,从已知样本学习并识别未知样本,在训练过程中会主动识别黑白样本并进行分类,能够检测已知威胁的新变种,由于训练集样本均为完整文件,在此场景下非完整文件对于AI引擎来说均为未知威胁样本,AI引擎不能识别从而导致较高的误报。

优选地,为了降低误报率,在利用病毒查杀引擎对目标文件进行病毒查杀之后,还可对查杀结果进行进一步确认。具体确认过程,包括:

步骤一、若病毒查杀类别为黑时,则提取目标文件的文件特征;

步骤二、将文件特征与预设文件特征进行比对,并确定目标文件是否为易误判类型文件;

步骤三、如果是,则对目标文件进行云查杀处理;

步骤四、若病毒查杀类别为灰,则对目标文件进行云查杀处理。

为了便于描述,下面将上述四个步骤结合起来进行说明。

由于非标准PE结构类型文件在AI引擎中可能带来一定的误报率,本申请实施例中可针对此类文件进行分析并分类,此类型主要为Inno、nsis、NullSoft、CAB、Install、Launcher等安装包类型文件,针对此类文件进行特征提取,然后基于精准的特征码(即文件特征,指一小段独一无二而且足以表示此类文件的二进制程序代码)并在查杀策略上对此类文件进行二次确认,针对AI引擎判黑的此类型文件进行云查确认。

举例说明:Inno类型文件,通过大量数据分析,发现在此类文件中会出现字符串“558BEC83C4F4538BD852E8”,可通过多模匹配算法可快速匹配并确认文件类型。

对于病毒查杀引擎判定为灰的目标文件,则可对目标文件进行云查处理,以降低误报率。其中,云查:指在云端服务器部署多引擎机制,通过多引擎及海量病毒标签进行黑白判断。

实施例二:

相应于上面的方法实施例,本申请实施例还提供了一种病毒查杀装置,下文描述的病毒查杀装置与上文描述的病毒查杀方法可相互对应参照。

参见图2所示,该装置包括以下模块:

目标文件获取模块101,用于获取非完整的目标文件;

文件类型判断模块102,用于判断目标文件是否为符合标准可执行文件结构但不可执行的文件;

安全确认模块103,用于如果目标文件为符合标准可执行文件结构但不可执行的文件,则确定目标文件为安全文件;

病毒查杀模块104,用于如果目标文件为非符合标准可执行文件结构且且不可执行,或不符合标准可执行文件结构的文件。

应用本申请实施例所提供的装置,获取非完整的目标文件;判断目标文件是否为符合标准可执行文件结构但不可执行的文件;如果是,则确定目标文件为安全文件;如果否,则利用病毒查杀引擎对目标文件进行病毒查杀。

通过对各种场景下产生的非完整文件进行统计分析,发现非完整文件主要分为两类,即标准PE结构(即标准可执行文件结构)及非标准PE结构类型(即非标志可执行文件结构的其他结构),其中非标准PE结构类型主要是安装包类型。对于标准PE结构类型文件,又包括可执行和不可执行两类文件,其中,不可执行的文件数量较多,且不可执行文件本身是无威胁的。基于此,本装置在针对非完整文件进行病毒查杀前,通过判断目标文件是否符合标准PE结构但不可执行,如果是,则直接确定目标文件为安全文件。对于不属于标准PE结构,以及属于标准PE结构且可执行的文件,则采用病毒查杀引擎进行病毒查杀。可见,在本装置中,首先将符合标准PE结构但不可执行的无威胁的文件直接判定为安全文件进行过滤,可降低此类文件的误报率。与此同时,病毒查杀引擎处理的文件数量也相对降低,还可降低病毒查杀引擎的性能开销。

在本申请的一种具体实施方式中,病毒查杀模块104,具体用于利用病毒查杀引擎确定目标文件对应的病毒查杀类别;病毒查杀类别包括黑、白和灰,白对应安全文件,黑对应病毒文件,灰对应未知威胁文件。

在本申请的一种具体实施方式中,还包括:

云查杀处理模块,用于在利用病毒查杀引擎对目标文件进行病毒查杀之后,若病毒查杀类别为黑时,则提取目标文件的文件特征;将文件特征与预设文件特征进行比对,并确定目标文件是否为易误判类型文件;如果是,则对目标文件进行云查杀处理;

若病毒查杀类别为灰,则对目标文件进行云查杀处理。

在本申请的一种具体实施方式中,文件类型判断模块102,具体用于判断目标文件的文件结构是否为标准可执行文件结构;如果否,则触发病毒查杀模块104执行利用病毒查杀引擎对目标文件进行病毒查杀的步骤;如果是,则判断目标文件是否可执行;若目标文件可执行,则触发病毒查杀模块104执行利用病毒查杀引擎对目标文件进行病毒查杀的步骤;

若目标文件不可执行,则触发安全确认模块103执行确定目标文件为安全文件的步骤。

在本申请的一种具体实施方式中,文件类型判断模块102,具体用于判断目标文件是否符合标准可执行文件结构中魔数和签名;如果否,则确定目标文件为不可执行的文件。

在本申请的一种具体实施方式中,文件类型判断模块102,具体用于判断目标文件的数据目录表是否包括数字签名且目标文件的文件长度与数字签名对应长度一致;如果否,则确定目标文件为不可执行的文件。

在本申请的一种具体实施方式中,文件类型判断模块102,具体用于判断目标文件的节信息中的物理大小和物理偏移是否与目标文件的文件长度一致;如果否,则确定目标文件为不可执行的文件。

实施例三:

相应于上面的方法实施例,本申请实施例还提供了一种病毒查杀设备,下文描述的一种病毒查杀设备与上文描述的一种病毒查杀方法可相互对应参照。

参见图3所示,该病毒查杀设备包括:

存储器D1,用于存储计算机程序;

处理器D2,用于执行计算机程序时实现上述方法实施例的病毒查杀方法的步骤。

具体的,请参考图4,为本实施例提供的一种病毒查杀设备的具体结构示意图,该病毒查杀设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在病毒查杀设备301上执行存储介质330中的一系列指令操作。

病毒查杀设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

上文所描述的病毒查杀方法中的步骤可以由病毒查杀设备的结构实现。

实施例四:

相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种病毒查杀方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的病毒查杀方法的步骤。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

相关技术
  • 一种病毒查杀方法、装置、设备及可读存储介质
  • CAD病毒查杀方法、系统、计算机设备和可读存储介质
技术分类

06120113007894