CN116257850A - 一种病毒文件识别方法、装置、存储介质及电子设备 - Google Patents
一种病毒文件识别方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116257850A CN116257850A CN202310239318.4A CN202310239318A CN116257850A CN 116257850 A CN116257850 A CN 116257850A CN 202310239318 A CN202310239318 A CN 202310239318A CN 116257850 A CN116257850 A CN 116257850A
- Authority
- CN
- China
- Prior art keywords
- file
- detected
- target
- data stream
- stream information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种病毒文件识别方法、装置、存储介质及电子设备,包括:在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;其中,目标数据流信息包含代码数据流信息和/或字符串数据流信息;基于目标数据流信息识别待检测文件是否为病毒文件。在本申请方案中,不需要通过dotnet虚拟机对文件进行解析,降低病毒识别的复杂度,在进行病毒查杀时,不会因为dotnet文件识别的复杂程度而跳过,极大的加强了对此类型文件的信息提取及查杀。
Description
技术领域
本申请涉及数据安全技术领域,具体而言,涉及一种病毒文件识别方法、装置、存储介质及电子设备。
背景技术
随着科技的发展和基础建设的完善,网络交互的需求和普及程度越来越高。网络设备的种类和数量越来越多,构建了庞大的互联网络。
随着互联网时代的来临,人们的生活、工作以及学习等等都紧密的与互联网交织在一起。但是,随着互联网的发展,脚本病毒的传播也在加剧。脚本病毒具有传播范围大、感染力强、破坏力大等特点,对用户信息安全和用户财产安全造成极大的危害,如何对脚本病毒高效查杀成为信息安全领域的研究重点。
发明内容
本申请的目的在于提供一种病毒文件识别方法、装置、存储介质及电子设备,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种病毒文件识别方法,所述方法包括:在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;其中,所述目标数据流信息包含代码数据流信息和/或字符串数据流信息;基于所述目标数据流信息识别所述待检测文件是否为病毒文件。不需要通过dotnet虚拟机对文件进行解析,降低病毒识别的复杂度,在进行病毒查杀时,不会因为dotnet文件识别的复杂程度而跳过,极大的加强了对此类型文件的信息提取及查杀。
可选地,所述目标数据流信息包含字符串数据流信息,所述基于所述目标数据流信息识别所述待检测文件是否为病毒文件的步骤,包括:对所述字符串数据流信息进行解码,提取目标字符串;基于所述目标字符串与预先配置的敏感字符串名单的匹配结果,识别所述待检测文件是否为病毒文件,在得到目标字符串后,不需要将其转换为传统的机械码形式,不需要使用dotnet虚拟机,直接基于目标字符串与预先配置的敏感字符串名单的匹配结果,识别待检测文件是否为病毒文件。所以降低复杂程度,极大地加强了对目标类型文件的查杀力度。
可选地,所述敏感字符串名单包括第一类名单,所述匹配结果包括第一匹配结果,所述第一匹配结果为所述目标字符串与所述第一类名单之间的匹配结果;所述基于所述目标字符串与预先配置的敏感字符串名单的匹配结果,识别所述待检测文件是否为病毒文件的步骤,包括:
基于所述目标字符串和所述第一类名单获取第一匹配结果;
当所述第一匹配结果表征任意一个所述目标字符串与所述第一类名单匹配成功时,确定所述待检测文件为病毒文件。
可选地,所述敏感字符串名单还包括第二类名单,所述第一类名单对应的查杀权重大于所述第二类名单对应的查杀权重,所述匹配结果还包括第二匹配结果,所述第二匹配结果为所述目标字符串与所述第二类名单之间的匹配结果;所述基于所述目标字符串与预先配置的敏感字符串名单的匹配结果,识别所述待检测文件是否为病毒文件的步骤,还包括:当所述第一匹配结果表征所有所述目标字符串与所述第一类名单均未匹配成功时,基于所述目标字符串和所述第二类名单获取第二匹配结果;当所述第二匹配结果表征与所述第二类名单匹配成功的所述目标字符串的数量大于预设的数量阈值时,确定所述待检测文件为病毒文件。
应理解,通过与敏感字符串名单进行匹配,以确定待检测文件是否为病毒文件,保障其识别结果的准确性。
可选地,所述目标数据流信息包含代码数据流信息,所述基于所述目标数据流信息识别所述待检测文件是否为病毒文件的步骤,包括:从所述代码数据流信息中获取每一个函数对应目标语句的内容;基于所述目标语句的内容获取所述目标语句对应的操作类型和操作数;基于获取到的所述操作类型与对应的操作数,识别所述待检测文件是否为病毒文件,在不依赖dotnet虚拟机的情况下,准确识别病毒文件。
可选地,所述基于获取到的所述操作类型与对应的操作数,识别所述待检测文件是否为病毒文件的步骤,包括:将所述操作数转换为字符串形式;将获取到的操作类型与对应的字符串形式的操作数存储在目标数组中;基于所述目标数组识别所述待检测文件是否为病毒文件,保障其识别结果的准确性。
可选地,所述基于所述目标数组识别所述待检测文件是否为病毒文件的步骤,包括:基于所述目标数组确定是否存在异常情况,其中,所述异常情况包括异常函数调用、异常栈操作以及异常算法使用;若存在异常情况,确定所述待检测文件为病毒文件。
可选地,所述获取待检测文件的头部信息中的目标数据流信息的步骤,包括:基于预设的字符串标准标识在所述待检测文件的头部信息的元数据中进行匹配,以获取所述字符串数据流信息;基于预设的代码标准标识在所述待检测文件的头部信息的元数据中进行匹配,以获取所述代码串数据流信息。保障目标数据流信息的准确性,直接影响后需要病毒识别查杀的准确度。
可选地,在所述获取待检测文件的头部信息中的目标数据流信息之前,所述方法还包括:获取所述待检测文件的头部信息;基于所述待检测文件的头部信息确定所述待检测文件是否为合法文件;若是,则确定所述待检测文件的头部信息是否包含所述目标类型文件的相关标识信息;若包含,则确定所述待检测文件为目标类型文件,提升病毒查杀的效率。
第二方面,本申请实施例提供一种病毒文件识别装置,所述装置包括:处理单元,用于在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;其中,所述目标数据流信息包含代码数据流信息和/或字符串数据流信息;识别单元,用于基于所述目标数据流信息识别所述待检测文件是否为病毒文件。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现上述的方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的电子设备的结构示意图;
图2为本申请实施例提供的病毒文件识别方法的流程示意图之一;
图3为本申请实施例提供的S106的子步骤示意图之一;
图4为本申请实施例提供的S106的子步骤示意图之二;
图5为本申请实施例提供的S105的子步骤示意图;
图6为本申请实施例提供的病毒文件识别方法的流程示意图之二;
图7为本申请实施例提供的病毒文件识别装置的单元示意图。
图中:10-处理器;11-存储器;12-总线;13-通信接口;201-处理单元;202-识别单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在一种可能的实现方式中,病毒检测软件可以对待检测文件进行静态的查杀,会尽可能的去提取待检测文件中的信息来作为检测的依据,但是各种格式的待检测文件也会增加杀软提取信息时的难度,尤其是dotnet文件,dotnet文件不同于传统PE程序文件,dotnet文件的信息以特殊的格式保存,并且dotnet文件的程序部分也不是传统的机器码形式,而是专门由dotnet虚拟机(又称.net虚拟机)解析并执行的中间语言(IL),这样的情况导致杀软在做信息提取时很困难因为需要借助.net虚拟机的运行时进行提取,甚至由于复杂度大多时候杀软都会跳过对应类型的文件,极大地限制了软件的查杀能力。
其中,dotnet文件为由C#语言编写并编译产生的可执行文件,需要由.net虚拟机运行时来解析执行;机器码为由目标机器直接读取并执行的代码;IL为由.net虚拟机解析并执行,可以动态被编译成机器可直接运行的机器码。
为了克服以上问题,本申请实施例提供了一种病毒文件识别方法,可以不依赖.net虚拟机运行环境直接对dotnet文件进行解析并提取出信息,并且可以将特殊的中间语言进行翻译归纳,极大的加强了对此类型文件的信息提取及查杀。具体地,请参考下文。
本申请实施例提供了一种电子设备,可以是服务器设备、手机设备、电脑设备以及智能穿戴设备等等。请参照图1,电子设备的结构示意图。电子设备包括处理器10、存储器11、总线12。处理器10、存储器11通过总线12连接,处理器10用于执行存储器11中存储的可执行模块,例如计算机程序。
处理器10可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,病毒文件识别方法的各步骤可以通过处理器10中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器10可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器11可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线12可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线12或一种类型的总线12。
存储器11用于存储程序,例如病毒文件识别装置对应的程序。病毒文件识别装置包括至少一个可以软件或固件(firmware)的形式存储于存储器11中或固化在电子设备的操作系统(operating system,OS)中的软件功能模块。处理器10在接收到执行指令后,执行所述程序以实现病毒文件识别方法。
可能地,本申请实施例提供的电子设备还包括通信接口13。通信接口13通过总线与处理器10连接。电子设备可以通过通信接口13获取其他终端传输的文件信息。
应当理解的是,图1所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的一种病毒文件识别方法,可以但不限于应用于图1所示的电子设备,具体的流程,请参考图2,病毒文件识别方法包括:S105和S106,具体阐述如下。
S105,在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息。
其中,目标数据流信息包含代码数据流信息和/或字符串数据流信息。
可选地,目标类型文件为在进行病毒查杀时,需要借助dotnet虚拟机运行以提取检测信息的文件,例如为dotnet文件。正如前文所述的dotnet文件由于其检测的复杂性,可能导致病毒查杀软件在检测到该类型文件时,直接跳过大大的限制了其查杀能力。
在本申请实施例中,当确定待检测文件为目标类型文件时,不会直接跳过查杀,而是执行S105,获取待检测文件的头部信息中的目标数据流信息,避免遗漏病毒脚本,对用户的造成不必要的损害。
S106,基于目标数据流信息识别待检测文件是否为病毒文件。
可选地,在确定待检测文件为病毒文件时,可以将待检测文件存放至隔离区或直接删除,以对用户进行保护。
应理解,在本申请方案中,不需要通过dotnet虚拟机对文件进行解析,降低病毒识别的复杂度,在进行病毒查杀时,不会因为dotnet文件识别的复杂程度而跳过,极大的加强了对此类型文件的信息提取及查杀。
综上所述,本申请实施例提供了一种病毒文件识别方法,包括:在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;其中,目标数据流信息包含代码数据流信息和/或字符串数据流信息;基于目标数据流信息识别待检测文件是否为病毒文件。在本申请方案中,不需要通过dotnet虚拟机对文件进行解析,降低病毒识别的复杂度,在进行病毒查杀时,不会因为dotnet文件识别的复杂程度而跳过,极大的加强了对此类型文件的信息提取及查杀。
在图2的基础上,当目标数据流信息包含字符串数据流信息时,关于S106中的内容,如何在不依赖dotnet虚拟机的情况下,准确识别病毒文件,本申请实施例还提供了一种可选的实施方式,请参考图3,S106包括:S106-1和S106-2,具体阐述如下。
S106-1,对字符串数据流信息进行解码,提取目标字符串。
可选地,字符串数据流信息是由目标类型文件对应的字符串(例如dotnet程序会使用到的字符串)按照预设的编码格式组成的,按顺序提取字符串数据流信息中的目标字符串,就是一个解码的过程。目标字符串可以为dotnet程序会使用到的字符串。
S106-2,基于目标字符串与预先配置的敏感字符串名单的匹配结果,识别待检测文件是否为病毒文件。
应理解,在得到目标字符串后,不需要将其转换为传统的机械码形式,不需要使用dotnet虚拟机,直接基于目标字符串与预先配置的敏感字符串名单的匹配结果,识别待检测文件是否为病毒文件。所以降低复杂程度,极大地加强了对目标类型文件的查杀力度。
可选地,敏感字符串名单中预先设置有敏感字符串,敏感字符串表征可能存在安全隐患。
应理解,S106-2的识别结果的准确性,直接影响到用户网络资产的安全,为了保障其识别结果的准确性,本申请实施例还提供了一种可能的实现方式,请参考下文。
在一种可选的实施方式中,敏感字符串名单包括第一类名单和第二类名单,匹配结果包括第一匹配结果和第二匹配结果,第一匹配结果为目标字符串与第一类名单之间的匹配结果,第二匹配结果为目标字符串与第二类名单之间的匹配结果。可选地,第一类名单对应的查杀权重大于第二类名单对应的查杀权重。在此基础上,S106-2包括:S106-2A、S106-2B、S106-2C以及S106-2D,具体阐述如下。
S106-2A,基于目标字符串和第一类名单获取第一匹配结果。
S106-2B,当第一匹配结果表征任意一个目标字符串与第一类名单匹配成功时,确定待检测文件为病毒文件。
S106-2C,当第一匹配结果表征所有目标字符串与第一类名单均未匹配成功时,基于目标字符串和第二类名单获取第二匹配结果。
S106-2D,当第二匹配结果表征与第二类名单匹配成功的目标字符串的数量大于预设的数量阈值时,确定待检测文件为病毒文件。
或者,当第二匹配结果表征与第二类名单匹配成功的目标字符串的占比大于预设的占比阈值时,确定待检测文件为病毒文件。
可选地,S106-2B和S106-2C中的匹配成功可以是指目标字符串与名单中的敏感字符串完全相同,或相似度达到预设的匹配阈值。
需要说明的是,通过S106-1获取到的目标字符串的数量可以大于或等于1,需要将获得的所有目标字符串分别与第一类名单和第二类名单进行匹配,从而完成文件的检测。
应理解,在第一匹配结果表征任意一个目标字符串均与第一类名单匹配不成功和第二匹配结果表征与第二类名单匹配成功的目标字符串的数量小于或等于预设的数量阈值时,表示待检测文件不是病毒文件,可以跳过。
在图2的基础上,当目标数据流信息包含代码数据流信息时,关于S106中的内容,如何在不依赖dotnet虚拟机的情况下,准确识别病毒文件,本申请实施例还提供了一种可选的实施方式,请参考图4,S106包括:S106-3、S106-4以及S106-5,具体阐述如下。
S106-3,从代码数据流信息中获取每一个函数对应目标语句的内容。
可选地,目标语句可以为IL语句,待检测文件的代码数据流信息中包括多个函数,一个函数对应多条IL语句。
可选地,在获得代码数据流信息后,基于对应的语句头部标识,在代码数据流信息中进行匹配识别,从而确定目标语句的起始位置。在识别到其中目标语句的长度后,基于目标语句的起始位置和目标语句的长度,获取每一个函数对应目标语句的内容。
S106-4,基于目标语句的内容获取目标语句对应的操作类型和操作数。
可选地,操作类型例如加法、调用、入栈以及出栈等;操作数例如调用的函数。
在获得目标语句的内容后,可以对目标语句的内容进行翻译,翻译时首先读取当前的目标语句的操作类型并保存,接着会读取当前的目标语句的操作数。
S106-5,基于获取到的操作类型与对应的操作数,识别待检测文件是否为病毒文件。
应理解,S106-5的识别结果的准确性,直接影响到用户网络资产的安全,为了保障其识别结果的准确性,本申请实施例还提供了一种可能的实现方式,请参考下文,S106-5包括:S106-5A、S106-5B以及S106-5C,具体阐述如下。
S106-5A,将操作数转换为字符串形式。
需要说明的是,初始获取到的操作数的类型格式可能并不完全相同,例如操作数的格式可能是数值、文字、字母以及字符串等等,为了便于统一管理识别,可以执行S106-5A,将操作数转换为字符串形式。
S106-5B,将获取到的操作类型与对应的字符串形式的操作数存储在目标数组中。
应理解,通过将获取到的所有操作类型与对应的字符串形式的操作数存储在目标数组中,以便查杀引擎对目标数组中的内容进行查杀。
S106-5C,基于目标数组识别待检测文件是否为病毒文件。
可选地,对于S106-5C中的内容,本申请实施例还提供了一种可选的实施方式,请参考下文,S106-5C包括:S106-5C1和S106-5C2,具体阐述如下。
S106-5C1,基于目标数组确定是否存在异常情况。若是,则执行S106-5C2;若否,则跳过。
其中,异常情况包括异常函数调用、异常栈操作以及异常算法使用。
S106-5C2,若存在异常情况,确定待检测文件为病毒文件。
需要说明的是,图3和图4所示的步骤可以在不同的分支下同时执行,也可以仅执行其中之一所示的步骤,在此不做限定。
应理解,目标数据流信息是否充分且准确,直接影响后需要病毒识别查杀的准确度。所以为了保障目标数据流信息的准确性,本申请实施例还提供了一种可能的实现方式,请参考图5,S105包括:S105-1和S105-2,具体阐述如下。
S105-1,基于预设的字符串标准标识在待检测文件的头部信息的元数据中进行匹配,以获取字符串数据流信息。
可选地,通过对预设的字符串标准标识与待检测文件的头部信息的元数据进行遍历比对,筛选出待检测文件的头部信息中的字符串数据流信息。
S105-2,基于预设的代码标准标识在待检测文件的头部信息的元数据中进行匹配,以获取代码串数据流信息。
可选地,通过对预设的代码标准标识与待检测文件的头部信息的元数据进行遍历比对,筛选出待检测文件的头部信息中的代码数据流信息。
应理解,在待检测文件不是合法的PE文件或待检测文件不是目标类型文件(dotnet文件)时,则可以不使用本申请实施例提供的病毒文件识别方法,可以对待检测文件进行静态的查杀,直接提取待检测文件中的信息来作为检测的依据。所以为了提升病毒查杀的效率,本申请实施例还提供了一种可选的实施方式,请参考图6,在S105之前,病毒文件识别方法还包括:S101、S102、S103以及S104,具体阐述如下。
S101,获取待检测文件的头部信息。
S102,基于待检测文件的头部信息确定待检测文件是否为合法文件。若是,则执行S103;若否,跳过或删除。
可选地,确定待检测文件的头部信息是否满足合法的PE文件对应的头部的标准或条件,若是,则确定其为合法文件。其中,PE文件为Windows可执行文件。
S103,确定待检测文件的头部信息是否包含目标类型文件的相关标识信息。若是,则执行S104;若否,跳过或删除。
可选地,判断PE头部信息中的指定字段是否为预设的程序信息,即目标类型文件的相关标识信息,例如.net相关的程序信息,若是,则确定待检测文件为目标类型文件。
S104,确定待检测文件为目标类型文件。
应理解,在S104之后,可以继续执行S105。
本申请实施例提供的病毒文件识别方法,通过对dotnet文件的自动化解析和信息提取可以更容易对dotnet文件进行静态的查杀,而且通过上述解析过程,不依赖dotnet虚拟机运行时,使得更加通用和便捷。
请参阅图7,图7为本申请实施例提供的一种病毒文件识别装置,可选的,该病毒文件识别装置被应用于上文所述的电子设备。
病毒文件识别装置包括:处理单元201和识别单元202。
处理单元201,用于在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;
其中,目标数据流信息包含代码数据流信息和/或字符串数据流信息;
识别单元202,用于基于目标数据流信息识别待检测文件是否为病毒文件。
可选地,处理单元201可以执行上述的S101至S105,识别单元202可以执行上述的S106。
需要说明的是,本实施例所提供的病毒文件识别装置,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
本申请实施例还提供了一种存储介质,该存储介质存储有计算机指令、程序,该计算机指令、程序在被读取并运行时执行上述实施例的病毒文件识别方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。
下面提供一种电子设备,可以是服务器设备、手机设备、电脑设备以及智能穿戴设备等等。该电子设备如图1所示,可以实现上述的病毒文件识别方法;具体的,该电子设备包括:处理器10,存储器11、总线12。处理器10可以是CPU。存储器11用于存储一个或多个程序,当一个或多个程序被处理器10执行时,执行上述实施例的病毒文件识别方法。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (12)
1.一种病毒文件识别方法,其特征在于,所述方法包括:
在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;
其中,所述目标数据流信息包含代码数据流信息和/或字符串数据流信息;
基于所述目标数据流信息识别所述待检测文件是否为病毒文件。
2.如权利要求1所述的病毒文件识别方法,其特征在于,所述目标数据流信息包含字符串数据流信息,所述基于所述目标数据流信息识别所述待检测文件是否为病毒文件的步骤,包括:
对所述字符串数据流信息进行解码,提取目标字符串;
基于所述目标字符串与预先配置的敏感字符串名单的匹配结果,识别所述待检测文件是否为病毒文件。
3.如权利要求2所述的病毒文件识别方法,其特征在于,所述敏感字符串名单包括第一类名单,所述匹配结果包括第一匹配结果,所述第一匹配结果为所述目标字符串与所述第一类名单之间的匹配结果;
所述基于所述目标字符串与预先配置的敏感字符串名单的匹配结果,识别所述待检测文件是否为病毒文件的步骤,包括:
基于所述目标字符串和所述第一类名单获取第一匹配结果;
当所述第一匹配结果表征任意一个所述目标字符串与所述第一类名单匹配成功时,确定所述待检测文件为病毒文件。
4.如权利要求3所述的病毒文件识别方法,其特征在于,所述敏感字符串名单还包括第二类名单,所述第一类名单对应的查杀权重大于所述第二类名单对应的查杀权重,所述匹配结果还包括第二匹配结果,所述第二匹配结果为所述目标字符串与所述第二类名单之间的匹配结果;
所述基于所述目标字符串与预先配置的敏感字符串名单的匹配结果,识别所述待检测文件是否为病毒文件的步骤,还包括:
当所述第一匹配结果表征所有所述目标字符串与所述第一类名单均未匹配成功时,基于所述目标字符串和所述第二类名单获取第二匹配结果;
当所述第二匹配结果表征与所述第二类名单匹配成功的所述目标字符串的数量大于预设的数量阈值时,确定所述待检测文件为病毒文件。
5.如权利要求1所述的病毒文件识别方法,其特征在于,所述目标数据流信息包含代码数据流信息,所述基于所述目标数据流信息识别所述待检测文件是否为病毒文件的步骤,包括:
从所述代码数据流信息中获取每一个函数对应目标语句的内容;
基于所述目标语句的内容获取所述目标语句对应的操作类型和操作数;
基于获取到的所述操作类型与对应的操作数,识别所述待检测文件是否为病毒文件。
6.如权利要求5所述的病毒文件识别方法,其特征在于,所述基于获取到的所述操作类型与对应的操作数,识别所述待检测文件是否为病毒文件的步骤,包括:
将所述操作数转换为字符串形式;
将获取到的操作类型与对应的字符串形式的操作数存储在目标数组中;
基于所述目标数组识别所述待检测文件是否为病毒文件。
7.如权利要求6所述的病毒文件识别方法,其特征在于,所述基于所述目标数组识别所述待检测文件是否为病毒文件的步骤,包括:
基于所述目标数组确定是否存在异常情况,其中,所述异常情况包括异常函数调用、异常栈操作以及异常算法使用;
若存在异常情况,确定所述待检测文件为病毒文件。
8.如权利要求1所述的病毒文件识别方法,其特征在于,所述获取待检测文件的头部信息中的目标数据流信息的步骤,包括:
基于预设的字符串标准标识在所述待检测文件的头部信息的元数据中进行匹配,以获取所述字符串数据流信息;
基于预设的代码标准标识在所述待检测文件的头部信息的元数据中进行匹配,以获取所述代码串数据流信息。
9.如权利要求1所述的病毒文件识别方法,其特征在于,在所述获取待检测文件的头部信息中的目标数据流信息之前,所述方法还包括:
获取所述待检测文件的头部信息;
基于所述待检测文件的头部信息确定所述待检测文件是否为合法文件;
若是,则确定所述待检测文件的头部信息是否包含所述目标类型文件的相关标识信息;
若包含,则确定所述待检测文件为目标类型文件。
10.一种病毒文件识别装置,其特征在于,所述装置包括:
处理单元,用于在待检测文件为目标类型文件时,获取待检测文件的头部信息中的目标数据流信息;
其中,所述目标数据流信息包含代码数据流信息和/或字符串数据流信息;
识别单元,用于基于所述目标数据流信息识别所述待检测文件是否为病毒文件。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
12.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310239318.4A CN116257850A (zh) | 2023-03-08 | 2023-03-08 | 一种病毒文件识别方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310239318.4A CN116257850A (zh) | 2023-03-08 | 2023-03-08 | 一种病毒文件识别方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257850A true CN116257850A (zh) | 2023-06-13 |
Family
ID=86679173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310239318.4A Pending CN116257850A (zh) | 2023-03-08 | 2023-03-08 | 一种病毒文件识别方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257850A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117879975A (zh) * | 2024-03-11 | 2024-04-12 | 广州翔实信息科技有限公司 | 一种基于5g移动通信网络安全的方法 |
-
2023
- 2023-03-08 CN CN202310239318.4A patent/CN116257850A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117879975A (zh) * | 2024-03-11 | 2024-04-12 | 广州翔实信息科技有限公司 | 一种基于5g移动通信网络安全的方法 |
CN117879975B (zh) * | 2024-03-11 | 2024-05-10 | 广州翔实信息科技有限公司 | 一种基于5g移动通信网络安全的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763928B (zh) | 一种开源软件漏洞分析方法、装置和存储介质 | |
US9824212B2 (en) | Method and system for recognizing advertisement plug-ins | |
RU2420791C1 (ru) | Метод отнесения ранее неизвестного файла к коллекции файлов в зависимости от степени схожести | |
US9032516B2 (en) | System and method for detecting malicious script | |
WO2015101097A1 (zh) | 特征提取的方法及装置 | |
US20190196811A1 (en) | Api specification generation | |
US10025694B1 (en) | Monitoring activity of software development kits using stack trace analysis | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
WO2015009542A1 (en) | Semantics-oriented analysis of log message content | |
CN111079408B (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN111800404B (zh) | 一种对恶意域名的识别方法、装置以及存储介质 | |
CN111881094B (zh) | 日志中关键信息提取方法、装置、终端及存储介质 | |
CN116257850A (zh) | 一种病毒文件识别方法、装置、存储介质及电子设备 | |
CN101895517B (zh) | 一种脚本语义提取方法和提取装置 | |
JPWO2019013266A1 (ja) | 判定装置、判定方法、および、判定プログラム | |
CN110795069A (zh) | 代码分析方法、智能终端及计算机可读存储介质 | |
CN113688240B (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN116821903A (zh) | 检测规则确定及恶意二进制文件检测方法、设备及介质 | |
CN113138913A (zh) | Java代码注入检测方法、装置、设备及存储介质 | |
CN110598115A (zh) | 一种基于人工智能多引擎的敏感网页识别方法及系统 | |
CN111177506A (zh) | 一种基于大数据的分类存储方法及系统 | |
CN115437930A (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN113886812A (zh) | 检测防护方法、系统、计算机设备及可读存储介质 | |
CN108132971B (zh) | 数据库碎片文件的分析方法和装置 | |
CN113836534B (zh) | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |