CN113254935A - 恶意文件识别方法、装置及存储介质 - Google Patents
恶意文件识别方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113254935A CN113254935A CN202110747278.5A CN202110747278A CN113254935A CN 113254935 A CN113254935 A CN 113254935A CN 202110747278 A CN202110747278 A CN 202110747278A CN 113254935 A CN113254935 A CN 113254935A
- Authority
- CN
- China
- Prior art keywords
- file
- malicious
- malicious file
- virus
- features
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及恶意文件识别方法、装置及存储介质,该恶意文件识别方法包括:获取待识别的目标文件;使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果;基于所述多引擎检测结果,提取所述目标文件的文件特征;将所述文件特征输入恶意文件识别模型,识别出所述目标文件所属的病毒家族。本公开实施例能够根据不同杀毒引擎的检测结果,利用深度学习模型自动识别出恶意文件所属的最恰当的病毒家族,解决了传统的杀毒引擎优先级排序方法中引擎优先级的设定和不同杀毒引擎对于不同病毒家族识别能力强弱不同之间的矛盾问题,显著提升恶意文件病毒家族识别的准确率和效率。
Description
技术领域
本公开涉及计算机安全技术领域,具体涉及一种恶意文件识别方法、装置及存储介质。
背景技术
杀毒引擎作为杀毒软件的主要部分,检测和发现病毒程序(包括可疑程序),它将非自身程序行为过程转化为杀毒软件自身可识别的行为标识符(包括静态代码等),然后与病毒库中所存贮的行为信息进行对应,并作出相应处理。然而,不同的杀毒引擎对于同一病毒的判定结果往往不尽相同,例如识别出的病毒名称及其变种都可能不同。
由于不同的杀毒引擎对恶意文件的病毒家族的识别结果存在不同,当前多采用优先级策略确定恶意文件所属的病毒家族,如对已有的杀毒引擎A、B、C、D进行信任度排序,优先采用杀毒引擎A进行识别,若杀毒引擎A无法识别,则采用杀毒引擎B进行识别,以此类推,直至得到识别结果。采用优先级策略进行病毒家族识别能够解决一部分问题,但存在明显的缺陷:各杀毒引擎对同一病毒家族的识别能力各有不同,直接采用信任度进行排序,可能导致信任度最高的引擎对于某些病毒家族的识别能力不足,进而出现错误的识别结果,而信任度排名靠后由于对该病毒家族的识别能力更强,容易出现正确的病毒家族的识别结果被掩盖的情况。
发明内容
本公开意图提供一种恶意文件识别方法,能够根据不同杀毒引擎的检测结果,利用深度学习模型自动识别恶意文件所属的最恰当的病毒家族。
根据本公开的方案之一,提供一种恶意文件识别方法,包括:
获取待识别的目标文件;
使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果;
基于所述多引擎检测结果,提取所述目标文件的文件特征;
将所述文件特征输入恶意文件识别模型,识别出所述目标文件所属的病毒家族。
在一些实施例中,基于所述多引擎检测结果,提取所述目标文件的文件特征,包括:
对每个所述杀毒引擎的检测结果进行分析处理,从所述目标文件中分别提取与每个所述检测结果对应的文件特征。
在一些实施例中,所述方法还包括:
基于所述多引擎检测结果中相同或相近的检测结果,合并提取所述目标文件的文件特征。
在一些实施例中,所述方法还包括:
基于提取的所述文件特征在恶意文件样本和非恶意文件样本中出现的概率,判断所述文件特征是否为用于表征所述病毒家族的特征;
当所述文件特征出现在恶意文件样本中的概率大于出现在非恶意文件样本中的概率时,则所述文件特征为用于表征所述病毒家族的特征;当所述文件特征出现在非恶意文件样本中的概率大于或等于出现在恶意文件样本中的概率时,则所述文件特征不是用于表征所述病毒家族的特征,重新提取所述目标文件的文件特征。
在一些实施例中,所述恶意文件识别模型利用深度学习算法训练获得,所述训练的方法包括:
获取不同病毒家族的恶意文件样本,其中,所述恶意文件样本包括所述恶意文件样本的特征信息和所述恶意文件样本所属的病毒家族的标签信息,所述特征信息与所述标签信息对应;
将所述特征信息以及所述标签信息作为训练样本数据;
利用深度学习算法,对所述训练样本数据进行训练,得到所述恶意文件识别模型。
在一些实施例中,所述获取不同病毒家族的恶意文件样本,包括:
获取恶意文件样本;
利用不同的杀毒引擎对所述恶意文件样本进行检测,得到检测结果;
基于所述检测结果,对各杀毒引擎检测出的所述病毒类型或名称分别进行标注,收集所述恶意文件样本中与所述病毒类型或名称对应的特征信息;
从预设的恶意文件-病毒家族特征库中查找与各所述杀毒引擎检测出的所述病毒类型或名称对应的病毒家族,对所述病毒家族的名称进行标注,得到所述恶意文件样本所属的病毒家族的标签信息。
在一些实施例中,所述方法还包括:
获取测试样本数据;
利用所述测试样本数据对所述恶意文件识别模型进行测试;
若测试结果低于预设阈值,对所述恶意文件识别模型进行训练。
在一些实施例中,所述方法还包括:
获取所述目标文件的文件类型;
根据所述文件类型,确定所述目标文件的运行环境;
将所述目标文件置于所述运行环境中以进行检测。
根据本公开的方案之一,还提供一种恶意文件识别装置,包括:
获取模块,配置为获取待识别的目标文件;
检测模块,配置为使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果;
提取模块,配置为基于所述多引擎检测结果,提取所述目标文件的文件特征;
识别模块,将所述文件特征输入恶意文件识别模型,识别出所述目标文件所属的病毒家族。
根据本公开的方案之一,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令由处理器执行时,实现上述的恶意文件识别方法。
本公开的各种实施例的恶意文件识别方法、装置及存储介质,通过使用多个杀毒引擎对待识别的目标文件进行检测,基于不同的检测结果从目标文件中提取对应的文件特征,然后将上述文件特征输入恶意文件识别模型进行识别,能够自动识别出恶意文件所属的最恰当的病毒家族,解决了传统的杀毒引擎优先级排序方法中引擎优先级的设定和不同杀毒引擎对于不同病毒家族识别能力强弱不同之间的矛盾问题,显著提升恶意文件病毒家族识别的准确率和效率。
应当理解,前面的大体描述以及后续的详细描述只是示例性的和说明性的,并非对所要求保护的本公开的限制。
附图说明
在未必按照比例绘制的附图中,不同视图中相似的附图标记可以表示相似的构件。具有字母后缀的相似附图标记或具有不同字母后缀的相似附图标记可以表示相似构件的不同实例。附图通常作为示例而非限制地图示各种实施例,并且与说明书和权利要求书一起用于解释所公开的实施例。
图1示出了本公开的一种实施例的恶意文件识别方法的流程示意图;
图2示出了本公开的一种实施例的恶意文件识别方法的不同杀毒引擎的检测结果的示意图;
图3示出了本公开的一种实施例的恶意文件识别方法的对恶意文件样本的特征信息和所属的病毒家族的标签信息进行标注的示意图;
图4示出了本公开的一种实施例的恶意文件识别方法的恶意文件识别模型的测试结果示意图;
图5示出了本公开的一种实施例的恶意文件识别装置的架构示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
恶意文件为危害计算机正常运行的计算机程序(软件或代码), 病毒家族是指具有相似性、继承性、以及衍生性的恶意文件集合。现有的病毒家族界定不清,由于不同的杀毒引擎对不同病毒家族的识别能力不同,因此,针对同一恶意文件,不同的杀毒引擎可能将其定义为不同的病毒家族。特别是对于新出现的恶意文件,其伪装性和复杂性逐渐增强,通常难以在第一时间检测和识别出其所属的病毒家族。
作为方案之一,如图1所示,本公开的实施例提供了一种恶意文件识别方法,包括:
S101:获取待识别的目标文件。
其中,目标文件可以为访问计算机等终端的应用程序,目标文件在计算机的运行环境(例如操作系统环境)中运行时,计算机可以获取目标文件的静态信息或动态信息,静态信息可以包括目标文件的文件名、携带的数据文件、数据大小等文件属性信息,动态信息可以包括目标文件访问计算机时的读写行为、调用行为、创建进程或写入注册表等动态行为信息。
目标文件可以为未经杀毒引擎检测的任意文件,目标文件访问计算机时,计算机便可以检测到该目标文件。
具体实现中,可以在计算机中设置专门的检测运行环境,目标文件在该检测运行环境中运行时,计算机可以检测到该目标文件,进而检测该目标文件是否为恶意文件,且在检测到该目标文件为恶意文件时,还可以在该检测运行环境中检测该目标文件所属的病毒家族。
特别地,在通过预设的检测运行环境对目标文件进行检测时,目标文件可以为已知的未确定病毒家族的恶意文件,通过上述检测运行环境仅需检测该恶意文件所属的病毒家族。
上述检测运行环境可以为沙箱,具体地,可以将恶意文件置于沙箱中运行,恶意文件在沙箱中运行时,会对特定的域名(domain)、互联网协议(Internet Protocol,IP)地址进行网络访问,恶意文件的网络访问会被记录在沙箱日志中,计算机通过沙箱日志可以得到特定的域名地址或IP地址,作为网络访问信息。
S102:使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果。
具体地,在获取目标文件后,使用至少两个杀毒引擎分别对所述目标文件进行检测,生成各杀毒引擎的检测结果。
其中,至少两个杀毒引擎可以为安装于计算机的任意的至少两个杀毒引擎。当计算机检测到目标文件的文件属性或目标文件的访问等动态行为时,至少两个杀毒引擎可以自动启动对该目标文件进行检测,得到相应的检测结果。
针对同一目标文件,每个杀毒引擎的检测结果可能不同,例如,第一杀毒引擎可能将目标文件识别为恶意文件,而第二杀毒引擎可能将该目标文件识别为非恶意文件(正常文件);或者,在第一杀毒引擎和第二杀毒引擎均将目标文件识别为恶意文件的情况下,第一杀毒引擎可能从目标文件中识别出第一类型的病毒,第二杀毒引擎可能识别出第二类型的病毒。
在一些实施例中,杀毒引擎能够识别出具体的病毒名称,即检测结果包含具体的病毒名称;另一些实施例中,对于一些未知名称的恶意文件,杀毒引擎能够检测出其中的恶意行为,但是无法确定其具体的病毒名称;或者杀毒引擎仅能确定出恶意文件为可疑文件,无法检测到具体的恶意行为;又一些实施例中,杀毒引擎的检测结果还包括杀毒引擎对病毒的识别能力,例如,第一杀毒引擎对某一病毒的识别能力为90%,而第二杀毒引擎对该病毒的识别能力仅为50%。
S103:基于所述多引擎检测结果,提取所述目标文件的文件特征。
在得到各杀毒引擎的检测结果后,对每个所述杀毒引擎的检测结果进行分析处理,从所述目标文件中分别提取与每个检测结果相对应的文件特征。
其中,文件特征可以为恶意文件的静态特征和动态行为特征,静态特征可以为根据恶意文件的文件属性得到的特征,文件属性可以具体为恶意文件的文件名、文件大小、携带的数据等属性。动态行为特征可以为根据恶意文件的动态行为得到的特征,动态行为可以具体为恶意文件在运行时访问特定网络地址的行为、调用行为、创建进程的行为等。例如,计算机可以将上述通过沙箱日志得到的网络访问信息,提取作为文件特征。
进一步地,当文件属性为非数值类型时,可以将文件属性经过哈希转化后得到的哈希值(Hash值)作为文件特征。
具体实现中,恶意文件访问计算机时,其本身可能会具有不只一种恶意行为,不同杀毒引擎检测到的恶意行为可能不同。例如,第一杀毒引擎检测到目标文件的第一恶意行为时,可以将该第一恶意行为作为目标文件的文件特征提取出,并进行特征转化,得到与第一杀毒引擎相对应的第一特征向量;第二杀毒引擎检测到目标文件的第二恶意行为时,可以将该第二恶意行为作为目标文件的文件特征提取出,并进行特征转化,得到与第二杀毒引擎相对应的第二特征向量。
需要说明的是,如图2和图3所示,当检测结果为目标文件的恶意行为等属于目标文件的特征时,可以直接从检测结果中提取与所述检测结果相对应的文件特征。
可以理解的是,在至少两个杀毒引擎检测出目标文件均为非恶意文件时,可以将该检测结果剔除。至少两个杀毒引擎均检测出目标文件为非恶意文件时,可以确定该目标文件为非恶意文件,无需进行病毒家族识别。至少两个杀毒引擎只要有一个检测结果表示目标文件为恶意文件,可以将该目标文件标记为可疑文件,检测出该目标文件为非恶意文件的杀毒引擎的检测结果可以保留,并基于上述非恶意文件的检测结果和恶意文件的检测结果分别提取目标文件中的文件特征,以便进行后续的病毒家族识别。
S104:将所述文件特征输入恶意文件识别模型,识别出所述目标文件的所属的病毒家族。
提取出与不同检测结果对应的文件特征后,将上述文件特征转化为能够输入恶意文件识别模型的特征向量,并将上述特征向量输入预设的恶意文件识别模型中,识别出目标文件所属的病毒家族。
各杀毒引擎的检测结果对应的文件特征均可作为恶意文件识别模型的输入变量,即本实施例中,可以将病毒家族识别能力强弱不同的杀毒引擎对应的文件特征均作为输入变量,同时输入预设的恶意文件识别模型,以识别出恶意文件所属的最恰当的病毒家族。例如,当不同的杀毒引擎检测出该目标文件属于不同的病毒家族时,可以识别出表现最好的病毒家族。
本公开实施例提供的恶意文件识别方法,通过使用多个杀毒引擎对待识别的目标文件进行检测,基于不同的检测结果从目标文件中提取对应的文件特征,然后将上述文件特征输入恶意文件识别模型进行识别,能够自动识别出恶意文件所属的最恰当的病毒家族,解决了传统的杀毒引擎优先级排序方法中引擎优先级的设定和不同杀毒引擎对于不同病毒家族识别能力强弱不同之间的矛盾问题,显著提升恶意文件病毒家族识别的准确率和效率。
本公开实施例中,所述恶意文件识别模型利用深度学习算法训练获得,所述训练的方法包括:
S201:获取不同病毒家族的恶意文件样本,其中,所述恶意文件样本包括所述恶意文件样本的特征信息和所述恶意文件样本所属的病毒家族的标签信息,所述特征信息与所述标签信息对应;
S202:将所述特征信息以及所述标签信息作为训练样本数据;
S203:利用深度学习算法,对所述训练样本数据进行训练,得到恶意文件识别模型。
具体地,可以通过数据收集和清洗获得不同已知病毒家族的恶意文件样本。其中,已知病毒家族可以为预设流行度排名的病毒家族(例如当前流行度排名前10名的病毒家族。在数据收集及清洗过程中,可以从预先积累的恶意文件-病毒家族特征库中筛选出一定数量的满足上述预设流行度排名的病毒家族的恶意文件样本。
进一步地,获得与所述病毒家族对应的已知的杀毒引擎。其中,与所述病毒家族对应的杀毒引擎为能够检测出上述病毒家族的杀毒引擎。预先积累的恶意文件-病毒家族特征库中包含已知的病毒家族和与已知的病毒家族对应的杀毒引擎。
基于上述不同杀毒引擎对所述病毒家族的识别能力,确定所述恶意文件样本所属的最恰当的病毒家族,并对其进行标注,得到病毒家族的标签信息,并从所述恶意文件样本中提取出与所述病毒家族的标签信息相对应的特征信息。所述特征信息为恶意文件样本中能够用于有效识别所述病毒家族的特征数据(能够表征该病毒家族的特征数据)。
在一些实施例中,步骤S201中,获取不同病毒家族的恶意文件样本,包括:
S2011:获取恶意文件样本;
S2012: 利用不同的杀毒引擎对所述恶意文件样本进行检测,得到检测结果;
S2013:基于所述检测结果,对各杀毒引擎检测出的所述病毒类型或名称分别进行标注,收集所述恶意文件样本中与所述病毒类型或名称对应的特征信息;
S2014:从预设的恶意文件-病毒家族特征库中查找与各所述杀毒引擎检测出的所述病毒类型或名称对应的病毒家族,对所述病毒家族的名称进行标注,得到所述恶意文件样本所属的病毒家族的标签信息。
通过步骤S2012至S2014可以实现对获取的某一恶意文件样本的标注。图2示出了利用不同杀毒引擎对某一恶意文件样本进行病毒检测的检测结果,图3示出了对该恶意文件样本的特征信息和所属的病毒家族的标签信息进行标注的示意图。本实施例中,利用杀毒引擎A-F对分别恶意文件样本进行检测,得到如图2所示的检测结果;在获得各杀毒引擎的检测结果后,基于所述检测结果分别提取该恶意文件样本的特征信息,得到如图3所示的特征信息,例如,从杀毒引擎A的检测结果中提取出Ursu、从杀毒引擎B的检测结果中提取出MulDrop11、从杀毒引擎C的检测结果中提取出DH、从杀毒引擎D的检测结果中提取出Zegost、从杀毒引擎E的检测结果中提取出Krypt、从杀毒引擎F的检测结果中提取出Zegost,基于预设的病毒家族特征库可知,Ursu、Zegost 以及Krypt均属于病毒家族Zegost,因此,可以确定恶意文件样本所属的病毒家族为Zegost,即该恶意文件样本的病毒家族的标签信息为Zegost。Ursu、Zegost 以及Krypt中的至少一个均可以作为所述恶意文件样本的特征信息。
以与步骤S2012至S2014类似的方式对步骤S2011获取的其他恶意文件样本进行一一标注,得到一定数量的不同病毒家族的恶意文件样本,每一病毒家族的恶意文件样本数量相同。
预设的病毒家族特征库中包含病毒家族及与该病毒家族对应的特征信息。特别地,在收集和清洗数据时,对于相似度较高的病毒家族,可以提取并合并各病毒家族的特征,生成病毒家族特征库。
本实施例中,深度学习模型可以为卷积神经网络模型(CNN)等,在得到训练样本数据后,可以基于恶意文件样本的特征信息和恶意文件样本所属的病毒家族的标签信息的映射关系构建卷积神经网络,形成初步识别模型,然后,将上述训练样本数据输入初步识别模型中训练,直至模型收敛,得到用于识别恶意文件的病毒家族的恶意文件识别模型。
在一些实施例中,所述方法还包括:
S301:获取测试样本数据;
S302:利用所述测试样本数据对所述恶意文件识别模型进行测试;
S303:若测试结果低于预设阈值,对所述恶意文件识别模型进行训练。
在恶意文件识别模型训练过程中,可以利用上述测试样本数据对训练的恶意文件识别模型进行评估和优化,及时根据测试结果(训练的效果)调整模型的参数或训练样本数据,直到得到最优的恶意文件识别模型。
上述测试样本数据包含的内容与训练样本数据包含的内容相同,具体实施中,可以将一部分训练样本数据(例如20%)分割出作为测试样本数据,以对训练完成的恶意文件识别模型进行评估和优化。当测试结果低于预设阈值(例如模型识别的准确率低于95%)时,可以继续收集一定数量的训练样本数据对恶意文件识别模型进行训练,直至其病毒家族识别的准确率满足上述预设阈值,从而得到最优的恶意文件识别模型。
图4示出了本公开实施例的恶意文件识别模型的测试结果示意图,如图4所示,该模型识别的准确率为99.07%,召回率为99.07%,可以确定该模型在实际场景中使用时可以达到预设要求,能够快速、准确地识别出目标文件的病毒家族。
由于本公开实施例主要用于恶意文件的病毒家族的识别,因此,步骤S101中获取的待识别的目标文件已知为恶意文件时,在对恶意文件识别模型进行训练时,可以仅获取一定数量的恶意文件样本作为训练样本数据和测试样本数据。
在另一些实施例中,步骤S101中获取的待识别的目标文件为任意文件时,训练样本数据和测试样本数据还可以包括非恶意文件样本,通过训练恶意文件样本和非恶意文件样本可以对目标文件样本进行初步识别,识别出其中的恶意文件,并对识别结果为恶意文件的病毒家族进行分类识别。由上可知,本公开实施例提供的恶意文件识别模型可以根据用户的实际需要确定待识别的结果(是否需要识别病毒家族),可以满足任意目标文件的病毒检测、识别,适用范围广。
上述实施例中,六个杀毒引擎A-F,杀毒引擎A、D、E、F均识别出病毒家族Zegost,因此,可以确定上述恶意文件样本所属的病毒家族为Zegost。在一些实施例中,例如杀毒引擎A-C识别出第一病毒家族,杀毒引擎D-F识别出第二病毒家族,将与上述第一病毒家族对应的特征信息和与上述第二病毒家族对应的特征信息输入恶意文件识别模型中,恶意文件识别模型可以基于杀毒引擎A-C对第一病毒家族的识别能力和杀毒引擎D-F识别出第二病毒家族的识别能力,进一步判断目标文件所属的病毒家族。例如,杀毒引擎D-F识别出第二病毒家族的识别能力(100%)大于杀毒引擎A-C识别出第二病毒家族的识别能力(96%)时,可以将第二病毒家族确定为目标文件所属的病毒家族。
可以理解的是,上述杀毒引擎A-C识别出第一病毒家族、杀毒引擎D-F识别出第二病毒家族表示:第一病毒家族为使用杀毒引擎A-C进行检测时表现最好的病毒家族,第二病毒家族为使用杀毒引擎D-F进行检测时表现最好的病毒家族。
本公开实施例提供的文件识别方法能够根据不同杀毒引擎对目标文件的不同检测结果,自动识别出恶意文件所属的最恰当的病毒家族。同时,通过预先基于多引擎检测结果提取目标文件的文件特征,可以防止病毒家族的漏识别,例如,第一杀毒引擎仅能识别出第一病毒家族,而当目标文件所属的病毒家族为第二病毒家族,如果仅采用单一杀毒引擎,可能无法识别出目标文件所属的病毒家族。
在一些实施例中,步骤S103具体包括:
基于所述多引擎检测结果,合并提取所述目标文件中的文件特征。
具体地,当一些杀毒引擎的检测结果相同或相近时,可以基于相同或相近的检测结果,从目标文件中合并提取文件特征。
其中,相同或相近的检测结果包括:目标文件均为恶意文件,且不同杀毒引擎检测出的恶意文件的病毒名称、病毒类型或恶意行为等相同或相近。进一步地,相同的检测结果还可以包括对上述病毒名称、病毒类型或恶意行为的识别能力相同或相近。
不同杀毒引擎的检测结果相同或相近时,通过上述合并提取文件特征,可以准确提取出能够有效的用于病毒家族的识别的文件特征,提高识别准确性,同时,可以有效减少恶意文件检测识别的数据处理量,提高识别效率。
例如,在第一杀毒引擎和第二杀毒引擎的对某一病毒类型的识别能力相同时,可以将根据第一杀毒引擎的检测结果提取的第一文件特征和根据第二杀毒引擎的检测结果提取的第二文件特征进行合并,确定出能够用于病毒家族识别的文件特征。
可以理解的是,当不同杀毒引擎的检测结果相同或相近时,也可以分别提取目标文件的文件特征,并将其转换为相应的特征向量,同时输入恶意文件识别模型中,即无需进行特征合并。
在一些实施例中,步骤S103中,在提取所述目标文件的文件特征时,所述方法还包括:
基于提取的所述文件特征在恶意文件样本和非恶意文件样本中出现的概率,判断所述文件特征是否为用于表征所述病毒家族的特征;
当所述文件特征出现在恶意文件样本中的概率大于出现在非恶意文件样本中的概率时,则所述文件特征为用于表征所述病毒家族的特征;当所述文件特征出现在非恶意文件样本中的概率大于或等于出现在恶意文件样本中的概率时,则所述文件特征不是用于表征所述病毒家族的特征,重新提取所述目标文件的文件特征。
通过上述对提取的所述文件特征在恶意文件样本和非恶意文件样本中出现的概率进行计算,可以准确确定出用于有效识别所述病毒家族的文件特征,提高病毒家族识别的准确性。
在一些实施例中,在步骤S101之前,所述方法还包括:
获取所述目标文件的文件类型;
根据所述文件类型,确定所述目标文件的运行环境;
将所述目标文件置于所述运行环境中以进行检测。
当需要在沙箱等动态分析检测运行环境中对目标文件进行分析、检测时,可以先根据目标文件的文件类型确定目标文件的运行环境,进而将目标文件置于所述运行环境中,使用至少两个杀毒引擎对所述目标文件进行多引擎检测,得到多引擎检测结果,进而进行病毒家族识别,如此,可以满足不同目标文件的检测运行环境需求,提高恶意文件检测、识别的准确性。
不同运行环境中所使用的杀毒引擎可以不同,如此,可以根据目标文件的文件类型,确定相应的杀毒引擎,提高识别效果和效率。
在一些实施例中,在步骤S104识别出目标文件所属的病毒家族之后,所述方法还包括:
对所述病毒家族进行分析,获取病毒的威胁等级,根据所述威胁等级发出预警信息。例如,威胁等级可以分为非常严重、严重、一般等,可以通过声音或颜色等标识表示预警信息,例如红色可以表示威胁等级为非常严重,橙色表示威胁等级为严重,绿色表示威胁等级为一般等。
作为方案之一,如图5所示,本公开的实施例提供了一种恶意文件识别装置,包括:
获取模块501,配置为获取待识别的目标文件;
检测模块502,配置为使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果;
提取模块503,配置为基于所述多引擎检测结果,提取所述目标文件的文件特征;
识别模块504,将所述文件特征输入恶意文件识别模型,识别出所述目标文件所属的病毒家族。
作为一种具体实施方案,本实施例的提取模块503,可以具体配置为:
对每个所述杀毒引擎的检测结果进行分析处理,从所述目标文件中分别提取与每个所述检测结果对应的文件特征。
作为一种具体实施方案,本实施例的提取模块503,可以进一步配置为:
基于所述多引擎检测结果中相同或相近的检测结果,合并提取所述目标文件的文件特征。
作为一种具体实施方案,本实施例的提取模块503,可以进一步配置为:
基于提取的所述文件特征在恶意文件样本和非恶意文件样本中出现的概率,判断所述文件特征是否为用于表征所述病毒家族的特征;
当所述文件特征出现在恶意文件样本中的概率大于出现在非恶意文件样本中的概率时,则所述文件特征为用于表征所述病毒家族的特征;当所述文件特征出现在非恶意文件样本中的概率大于或等于出现在恶意文件样本中的概率时,则所述文件特征不是用于表征所述病毒家族的特征,重新提取所述目标文件的文件特征。
作为一种具体实施方案,所述恶意文件识别装置还包括训练模块,配置为利用深度学习算法训练得到恶意文件识别模型,所述训练模块具体配置为:
获取不同病毒家族的恶意文件样本,其中,所述恶意文件样本包括所述恶意文件样本的特征信息和所述恶意文件样本所属的病毒家族的标签信息,所述特征信息与所述标签信息对应;
将所述特征信息以及所述标签信息作为训练样本数据;
利用深度学习算法,对所述训练样本数据进行训练,得到所述恶意文件识别模型。
作为一种具体实施方案,所述训练模块获取不同病毒家族的恶意文件样本,进一步配置为:
获取恶意文件样本;
利用不同的杀毒引擎对所述恶意文件样本进行检测,得到检测结果;
基于所述检测结果,对各杀毒引擎检测出的所述病毒类型或名称分别进行标注,收集所述恶意文件样本中与所述病毒类型或名称对应的特征信息;
从预设的恶意文件-病毒家族特征库中查找与各所述杀毒引擎检测出的所述病毒类型或名称对应的病毒家族,对所述病毒家族的名称进行标注,得到所述恶意文件样本所属的病毒家族的标签信息。
作为一种具体实施方案,所述恶意文件识别装置还包括测试模块,配置为:
获取测试样本数据;
利用所述测试样本数据对所述恶意文件识别模型进行测试;
若测试结果低于预设阈值,对所述恶意文件识别模型进行训练。
作为一种具体实施方案,所述恶意文件识别装置还可以包括预处理模块,配置为:
获取所述目标文件的文件类型;
根据所述文件类型,确定所述目标文件的运行环境;
将所述目标文件置于所述运行环境中以进行检测。
本公开实施例提供的恶意文件识别装置与上述实施例中的恶意文件识别方法相对应,基于上述的恶意文件识别方法,本领域的技术人员能够了解本公开实施例中恶意文件识别装置具体实施方式以及其各种变化形式,恶意文件识别方法实施例中的任何可选项也适用于恶意文件识别装置,在此不再赘述。
本公开还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令由处理器执行时,主要实现上述的恶意文件识别方法。
在一些实施例中,执行计算机可执行指令的处理器可以是包括一个以上通用处理设备的处理设备,诸如微处理器、中央处理单元(CPU)、图形处理单元(GPU)等。更具体地,该处理器可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。该处理器还可以是一个以上专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、片上系统(SoC)等。
在一些实施例中,计算机可读存储介质可以为存储器,诸如只读存储器(ROM)、随机存取存储器(RAM)、相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、电可擦除可编程只读存储器(EEPROM)、其他类型的随机存取存储器(RAM)、闪存盘或其他形式的闪存、缓存、寄存器、静态存储器、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或其他光学存储器、盒式磁带或其他磁存储设备,或被用于储存能够被计算机设备访问的信息或指令的任何其他可能的非暂时性的介质等。
本公开的实施例的计算机可执行指令可以组织成一个或多个计算机可执行组件或模块。可以用这类组件或模块的任何数量和组合来实现本公开的各方面。例如,本公开的各方面不限于附图中示出的和本文描述的特定的计算机可执行指令或特定组件或模块。其他实施例可以包括具有比本文所示出和描述的更多或更少功能的不同的计算机可执行指令或组件。
以上实施例仅为本公开的示例性实施例,不用于限制本公开,本公开的保护范围由权利要求书限定。本领域技术人员可以在本公开的实质和保护范围内,对本公开做出各种修改或等同替换,这种修改或等同替换也应视为落在本公开的保护范围内。
Claims (10)
1.一种恶意文件识别方法,包括:
获取待识别的目标文件;
使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果;
基于所述多引擎检测结果,提取所述目标文件的文件特征;
将所述文件特征输入恶意文件识别模型,识别出所述目标文件所属的病毒家族。
2.根据权利要求1所述的方法,其中,基于所述多引擎检测结果,提取所述目标文件的文件特征,包括:
对每个所述杀毒引擎的检测结果进行分析处理,从所述目标文件中分别提取与每个所述检测结果对应的文件特征。
3.根据权利要求1所述的方法,其中,所述方法还包括:
基于所述多引擎检测结果中相同或相近的检测结果,合并提取所述目标文件的文件特征。
4.根据权利要求1所述的方法,其中,所述方法还包括:
基于提取的所述文件特征在恶意文件样本和非恶意文件样本中出现的概率,判断所述文件特征是否为用于表征所述病毒家族的特征;
当所述文件特征出现在恶意文件样本中的概率大于出现在非恶意文件样本中的概率时,则所述文件特征为用于表征所述病毒家族的特征;当所述文件特征出现在非恶意文件样本中的概率大于或等于出现在恶意文件样本中的概率时,则所述文件特征不是用于表征所述病毒家族的特征,重新提取所述目标文件的文件特征。
5.根据权利要求1所述的方法,其中,所述恶意文件识别模型利用深度学习算法训练获得,所述训练的方法包括:
获取不同病毒家族的恶意文件样本,其中,所述恶意文件样本包括所述恶意文件样本的特征信息和所述恶意文件样本所属的病毒家族的标签信息,所述特征信息与所述标签信息对应;
将所述特征信息以及所述标签信息作为训练样本数据;
利用深度学习算法,对所述训练样本数据进行训练,得到所述恶意文件识别模型。
6.根据权利要求5所述的方法,其中,所述获取不同病毒家族的恶意文件样本,包括:
获取恶意文件样本;
利用不同的杀毒引擎对所述恶意文件样本进行检测,得到检测结果;
基于所述检测结果,对各杀毒引擎检测出的所述病毒类型或名称分别进行标注,收集所述恶意文件样本中与所述病毒类型或名称对应的特征信息;
从预设的恶意文件-病毒家族特征库中查找与各所述杀毒引擎检测出的所述病毒类型或名称对应的病毒家族,对所述病毒家族的名称进行标注,得到所述恶意文件样本所属的病毒家族的标签信息。
7.根据权利要求1所述的方法,其中,所述方法还包括:
获取测试样本数据;
利用所述测试样本数据对所述恶意文件识别模型进行测试;
若测试结果低于预设阈值,对所述恶意文件识别模型进行训练。
8.根据权利要求1至7中任一项所述的方法,其中,所述方法还包括:
获取所述目标文件的文件类型;
根据所述文件类型,确定所述目标文件的运行环境;
将所述目标文件置于所述运行环境中以进行检测。
9.一种恶意文件识别装置,包括:
获取模块,配置为获取待识别的目标文件;
检测模块,配置为使用至少两个杀毒引擎对所述目标文件进行多引擎检测,获取多引擎检测结果;
提取模块,配置为基于所述多引擎检测结果,提取所述目标文件的文件特征;
识别模块,将所述文件特征输入恶意文件识别模型,识别出所述目标文件所属的病毒家族。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令由处理器执行时,实现:
根据权利要求1至8中任一项所述的恶意文件识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110747278.5A CN113254935A (zh) | 2021-07-02 | 2021-07-02 | 恶意文件识别方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110747278.5A CN113254935A (zh) | 2021-07-02 | 2021-07-02 | 恶意文件识别方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254935A true CN113254935A (zh) | 2021-08-13 |
Family
ID=77190415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110747278.5A Pending CN113254935A (zh) | 2021-07-02 | 2021-07-02 | 恶意文件识别方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254935A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309785A (zh) * | 2022-08-08 | 2022-11-08 | 北京百度网讯科技有限公司 | 文件规则引擎库的生成、文件信息检测方法、装置及设备 |
CN115766293A (zh) * | 2023-01-04 | 2023-03-07 | 北京微步在线科技有限公司 | 一种风险文件检测方法、装置、电子设备及存储介质 |
CN115935359A (zh) * | 2023-01-04 | 2023-04-07 | 北京微步在线科技有限公司 | 一种文件处理方法、装置、计算机设备及存储介质 |
CN116204879A (zh) * | 2022-12-30 | 2023-06-02 | 之江实验室 | 恶意文件检测方法、装置、电子装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315954A (zh) * | 2016-04-27 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 一种文件类型识别方法及服务器 |
CN109359439A (zh) * | 2018-10-26 | 2019-02-19 | 北京天融信网络安全技术有限公司 | 软件检测方法、装置、设备及存储介质 |
CN110955893A (zh) * | 2019-11-22 | 2020-04-03 | 杭州安恒信息技术股份有限公司 | 一种恶意文件威胁分析平台及恶意文件威胁分析方法 |
CN110968869A (zh) * | 2019-11-22 | 2020-04-07 | 上海交通大学 | 一种基于深度学习的大规模恶意软件分类系统和方法 |
-
2021
- 2021-07-02 CN CN202110747278.5A patent/CN113254935A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315954A (zh) * | 2016-04-27 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 一种文件类型识别方法及服务器 |
CN109359439A (zh) * | 2018-10-26 | 2019-02-19 | 北京天融信网络安全技术有限公司 | 软件检测方法、装置、设备及存储介质 |
CN110955893A (zh) * | 2019-11-22 | 2020-04-03 | 杭州安恒信息技术股份有限公司 | 一种恶意文件威胁分析平台及恶意文件威胁分析方法 |
CN110968869A (zh) * | 2019-11-22 | 2020-04-07 | 上海交通大学 | 一种基于深度学习的大规模恶意软件分类系统和方法 |
Non-Patent Citations (2)
Title |
---|
LIU LIU 等: "Automatic malware classification and new malware detection using machine learning", 《FRONTIERS OF INFORMATION TECHNOLOGY & ELECTRONIC ENGINEERING》 * |
孙博文 等: "基于代码图像增强的恶意代码检测方法", 《清华大学学报 (自然科学版)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309785A (zh) * | 2022-08-08 | 2022-11-08 | 北京百度网讯科技有限公司 | 文件规则引擎库的生成、文件信息检测方法、装置及设备 |
CN115309785B (zh) * | 2022-08-08 | 2023-07-07 | 北京百度网讯科技有限公司 | 文件规则引擎库的生成、文件信息检测方法、装置及设备 |
CN116204879A (zh) * | 2022-12-30 | 2023-06-02 | 之江实验室 | 恶意文件检测方法、装置、电子装置及存储介质 |
CN116204879B (zh) * | 2022-12-30 | 2023-12-05 | 之江实验室 | 恶意文件检测方法、装置、电子装置及存储介质 |
CN115766293A (zh) * | 2023-01-04 | 2023-03-07 | 北京微步在线科技有限公司 | 一种风险文件检测方法、装置、电子设备及存储介质 |
CN115935359A (zh) * | 2023-01-04 | 2023-04-07 | 北京微步在线科技有限公司 | 一种文件处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113254935A (zh) | 恶意文件识别方法、装置及存储介质 | |
US9747452B2 (en) | Method of generating in-kernel hook point candidates to detect rootkits and the system thereof | |
CN109492395B (zh) | 一种检测恶意程序的方法、装置及存储介质 | |
CN108920954B (zh) | 一种恶意代码自动化检测平台及方法 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
US20200380125A1 (en) | Method for Detecting Libraries in Program Binaries | |
US11580222B2 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
CN109992969B (zh) | 一种恶意文件检测方法、装置及检测平台 | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
CN111338692A (zh) | 基于漏洞代码的漏洞分类方法、装置及电子设备 | |
CN113271237A (zh) | 工控协议的解析方法、装置、存储介质及处理器 | |
CN114024761B (zh) | 网络威胁数据的检测方法、装置、存储介质及电子设备 | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
CN112257757A (zh) | 一种基于深度学习的恶意样本检测方法及系统 | |
CN116821903A (zh) | 检测规则确定及恶意二进制文件检测方法、设备及介质 | |
US20190156024A1 (en) | Method and apparatus for automatically classifying malignant code on basis of malignant behavior information | |
CN115545091A (zh) | 基于集成学习器的恶意程序api调用序列检测方法 | |
CN114492366A (zh) | 二进制文件的分类方法、计算设备及存储介质 | |
CN114266045A (zh) | 网络病毒的识别方法、装置、计算机设备及存储介质 | |
CN114547628A (zh) | 漏洞检测方法及装置 | |
CN114579965A (zh) | 一种恶意代码的检测方法、装置及计算机可读存储介质 | |
CN114090650A (zh) | 一种样本数据识别方法、装置、电子设备及存储介质 | |
CN112597498A (zh) | 一种webshell的检测方法、系统、装置及可读存储介质 | |
CN114021146B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210813 |
|
RJ01 | Rejection of invention patent application after publication |