CN111400707A - 一种文件宏病毒检测方法、装置、设备及存储介质 - Google Patents
一种文件宏病毒检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111400707A CN111400707A CN202010162723.7A CN202010162723A CN111400707A CN 111400707 A CN111400707 A CN 111400707A CN 202010162723 A CN202010162723 A CN 202010162723A CN 111400707 A CN111400707 A CN 111400707A
- Authority
- CN
- China
- Prior art keywords
- file
- macro
- detected
- code
- files
- 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
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种文件宏病毒检测方法,该方法包括:在获得的目标文件中确定待检测文件;提取待检测文件中的宏代码特征;基于待检测文件的宏代码特征,利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。应用本申请实施例所提供的技术方案,可以避免在待检测文件携带宏病毒的情况下因打开或者执行待检测文件而触发宏病毒的运行,对用户的计算机或者文档造成损害,可以连续对多个待检测文件进行实时检测,而且,利用待检测文件的宏代码特征和预先训练好的检测模型,可以准确确定待检测文件是否携带宏病毒,提高宏病毒识别准确率,提升对未知宏病毒检测能力。本申请还公开了一种文件宏病毒检测装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种文件宏病毒检测方法、装置、设备及存储介质。
背景技术
宏病毒,是一种寄存在常见办公文档或者模版的宏中的计算机病毒,具有流行度高、传染性强和危害大等特点。携带有宏病毒的文档的一旦被打开,其中的宏病毒就会被执行,从而对计算机造成危害。
目前,对于文件中宏病毒检测的一种方法是利用沙箱动态检测技术,将文件放入沙箱中执行,获取执行报告,确定是否携带宏病毒。
这种方法存在一定的缺点。首先,每检测一个文件都需要启动和销毁一套***环境,无法对文件进行实时检测。另外,很多宏病毒具备反沙箱技术,从而导致通过这种方法无法准确识别到文件中的宏病毒。
发明内容
本申请的目的是提供一种文件宏病毒检测方法、装置、设备及存储介质,以对文件中是否携带宏病毒进行实时检测,提高检测准确率。
为解决上述技术问题,本申请提供如下技术方案:
一种文件宏病毒检测方法,包括:
在获得的目标文件中确定待检测文件;
提取所述待检测文件中的宏代码特征;
基于所述待检测文件的宏代码特征,利用预先训练好的检测模型,确定所述待检测文件是否携带宏病毒。
在本申请的一种具体实施方式中,所述在获得的目标文件中确定待检测文件,包括:
对目标文件进行格式识别;
根据格式识别结果,判断所述目标文件是否为办公文档文件;
如果所述目标文件为办公文档文件,则判断所述目标文件中是否包含宏代码;
如果所述目标文件中包含宏代码,则将所述目标文件确定为待检测文件。
在本申请的一种具体实施方式中,所述提取所述待检测文件中的宏代码特征,包括:
判断所述待检测文件中是否包含宏代码;
如果所述待检测文件中包含宏代码,则在所述待检测文件中提取宏代码,获得宏代码文件;
在所述宏代码文件中提取宏代码特征。
在本申请的一种具体实施方式中,所述在所述待检测文件中提取宏代码,获得宏代码文件,包括:
利用宏代码抽取工具在所述待检测文件中逐行提取宏代码;
将提取到的宏代码进行拼接,获得宏代码文件。
在本申请的一种具体实施方式中,所述基于所述待检测文件的宏代码特征,利用预先训练好的检测模型,确定所述待检测文件是否携带宏病毒,包括:
将所述待检测文件的宏代码特征输入到预先训练好的检测模型中,获得预测值;
根据所述预测值,确定所述待检测文件是否携带宏病毒。
在本申请的一种具体实施方式中,所述根据所述预测值,确定所述待检测文件是否携带宏病毒,包括:
将所述预测值与预设阈值进行对比;
根据对比结果,判定所述待检测文件是否携带宏病毒。
在本申请的一种具体实施方式中,通过以下步骤预先训练获得所述检测模型:
建立检测初始模型;
获得携带宏代码的白文件和黑文件;
分别提取所述白文件和所述黑文件中的宏代码特征;
基于所述白文件和所述黑文件的宏代码特征,对所述检测初始模型进行训练,获得训练好的所述检测模型。
在本申请的一种具体实施方式中,所述白文件和所述黑文件的宏代码特征包括以下特征中的至少一种:
信息熵、注册表操作、文件读写、网络请求、创建壳shell、编码转换、自动执行、字符串混淆拼接。
一种文件宏病毒检测装置,包括:
文件确定模块,用于在获得的目标文件中确定待检测文件;
特征提取模块,用于提取所述待检测文件中的宏代码特征;
宏病毒检测模块,用于基于所述待检测文件的宏代码特征,利用预先训练好的检测模型,确定所述待检测文件是否携带宏病毒。
一种文件宏病毒检测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述文件宏病毒检测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述文件宏病毒检测方法的步骤。
应用本申请实施例所提供的技术方案,在获得的目标文件中确定待检测文件后,可以提取待检测文件中的宏代码特征,基于待检测文件的宏代码特征,可以利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。宏代码特征的获得不需要打开或者执行待检测文件,可以从待检测文件的宏代码中获得相应特征,这样可以避免在待检测文件携带宏病毒的情况下因打开或者执行待检测文件而触发宏病毒的运行,对用户的计算机或者文档造成损害,可以连续对多个待检测文件进行实时检测。而且,利用待检测文件的宏代码特征和预先训练好的检测模型,可以准确确定待检测文件是否携带宏病毒,提高宏病毒识别准确率,提升对未知宏病毒检测能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种文件宏病毒检测方法的实施流程图;
图2为本申请实施例中一种文件宏病毒检测装置的结构示意图;
图3为本申请实施例中一种文件宏病毒检测设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种文件宏病毒检测方法的实施流程图,该方法可以包括以下步骤:
S110:在获得的目标文件中确定待检测文件。
宏病毒,通常是使用VBA(Visual Basic for Application)编写的,依存于办公文档本身,与***无关,常常通过邮件附件等方式传播,在邮件主题或者正文中诱导用户打开文档并启用宏,宏病毒代码得以执行后往往会释放文件或者从远端服务器拉取PE病毒来固化攻击成果。
本申请实施例只针对文件本身进行检测,可以覆盖多个协议场景,如邮件、内网SMB(Server Message Block,服务器信息块)文件共享、FTP(File Transfer Protocol,文件传输协议)和HTTP(HyperText Transfer Protocol,超文本传输协议)文件传输等场景。
在实际应用中,可以在上述场景中进行宏病毒检测,每当监测到上述场景中存在文件时,都可以将该文件确定为目标文件,进而在目标文件中确定待检测文件,或者,可以在文件目录中进行宏病毒检测,根据接收到的检测指令,将指定目录中的每个文件确定为目标文件,进而在目标文件中确定待检测文件,或者,可以将指定的一些携带有宏代码的文件确定为目标文件,进而在目标文件中确定待检测文件。
待检测文件即为当前要对其是否携带宏病毒进行检测的文件。
S120:提取待检测文件中的宏代码特征。
在本申请实施例中,可以先对待检测文件是否携带宏代码进行确定,如果待检测文件携带有宏代码,则可以先提取待检测文件中的宏代码特征。宏代码特征可以包括以下特征中的至少一种:信息熵、注册表操作、文件读写、网络请求、创建shell(计算机壳层)、编码转换、自动执行、字符串混淆拼接。
其中,信息熵特征:可以衡量宏代码中的信息量;
注册表操作特征:如果宏代码为宏病毒代码,则其为了持久化存活往往会存在注册表写入行为;
文件读写特征:如果宏代码为宏病毒代码,则其往往存在释放文件的操作,会将文档包里部分恶意文件写入受害者磁盘,感染型的宏病毒还会感染受害者其他正常文档;
网络请求特征:如果宏代码为宏病毒代码,则其通常只是一个payload(有效载荷)载体,往往还会从互联网拉取病毒母体执行,这过程需要有网络请求,而正常文档通常无此行为;
创建shell特征:如果宏代码为宏病毒代码,则其常常会创建wshell(Windows壳应用程序)环境或者powershell(一种命令行外壳程序和脚本环境)环境来执行命令,正常文档通常无此行为;
编码转换特征:该特征常常是宏病毒混淆使用的手法,通过编码转换隐藏关键代码躲避特征码扫描;
自动执行特征:如果宏代码为宏病毒代码,则当用户打开文档并启用宏的时候会自动执行宏代码块,正常文档比较少用;
字符串混淆拼接特征:如果宏代码为宏病毒代码,则其会将关键代码或信息隐藏,如恶意url等,躲避杀毒引擎扫描。
当然,在实际应用中,根据实际情况,还可以提取其他宏代码特征。
宏代码特征的提取不需要打开或者执行待检测文件,可以从待检测文件的宏代码中获得相应特征,这样可以避免在待检测文件携带宏病毒的情况下因打开或者执行待检测文件而触发宏病毒的运行,对用户的计算机或者文档造成损害,减少感染风险。
提取待检测文件中的宏代码特征之后,可以继续执行步骤S130的操作。
S130:基于待检测文件的宏代码特征,利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。
在本申请实施例中,可以预先获得大量的携带宏代码的白文件和黑文件,所谓白文件是指其携带的宏代码为正常代码,非宏病毒代码,所谓黑文件是指其携带的宏代码非正常代码,而是宏病毒代码。利用白文件和黑文件可以训练得到检测模型,或者分别利用白文件或黑文件训练得到检测模型。
在获得待检测文件中的宏代码特征后,可以基于待检测文件的宏代码特征,利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。具体的,可以将待检测文件的宏代码特征输入到预先训练好的检测模型中,利用检测模型对宏代码特征进行分析,得到分类结果,基于分类结果,确定待检测文件是否携带宏病毒。
如果确定待检测文件携带宏病毒,则可以禁止打开或执行该待检测文件,并输出告警信息,以便用户及时对该待检测文件进行处理。
应用本申请实施例所提供的方法,在获得的目标文件中确定待检测文件后,可以提取待检测文件中的宏代码特征,基于待检测文件的宏代码特征,可以利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。宏代码特征的获得不需要打开或者执行待检测文件,可以从待检测文件的宏代码中获得相应特征,这样可以避免在待检测文件携带宏病毒的情况下因打开或者执行待检测文件而触发宏病毒的运行,对用户的计算机或者文档造成损害,可以连续对多个待检测文件进行实时检测。而且,利用待检测文件的宏代码特征和训练得到的检测模型,可以准确确定待检测文件是否携带宏病毒,提高宏病毒识别准确率,提升对未知宏病毒检测能力。
在本申请的一个实施例中,步骤S110可以包括以下步骤:
步骤一:对目标文件进行格式识别;
步骤二:根据格式识别结果,判断目标文件是否为办公文档文件,如果是,则执行步骤三;
步骤三:判断目标文件中是否包含宏代码;如果是,则执行步骤四;
步骤四:将目标文件确定为待检测文件。
为便于描述,将上述四个步骤结合起来进行说明。
在本申请实施例中,可以先获得目标文件。目标文件可以是当前监测到的邮件附件中的文件,还可以是指定目录中的文件。
获得目标文件后,可以对目标文件进行格式识别。文档文件通常有特定的文件结构,通过魔数或文件头信息字段等可以进行比较准确的格式识别。
根据格式识别结果,可以判断目标文件是否为办公文档文件。具体的,可以通过格式识别结果中携带的mime_type(多媒体文件类型值)进行判断,如果mime_type为doc、excel、ppt,则可以判断目标文件为办公文档文件。
如果判断目标文件为办公文档文件,则进一步的,可以判断目标文件中是否包含宏代码。具体的,可以尝试使用宏代码抽取工具,如oletools从目标文件中逐行提取宏代码,如果能够提取到,则可以确定目标文件中包含宏代码,如果提取失败,则可以确定目标文件中不包含宏代码,可以不再对目标文件进行后续操作。
在确定目标文件中包含宏代码时,可以将目标文件确定为待检测文件。并进行后续检测操作。如果通过宏代码抽取工具对目标文件进行宏代码提取尝试,则可以利用提取到的宏代码进行宏代码特征的获得。
在本申请实施例中,并非将所有文件都确定为待检测文件,而是将通过格式识别确定为办公文档文件,且其中包含宏代码的目标文件确定为待检测文件,进行相应宏病毒检测,可以避免浪费检测资源,提高检测效率。
在本申请的一个实施例中,步骤S120可以包括以下步骤:
第一个步骤:判断待检测文件中是否包含宏代码;如果包含,则执行第二个步骤;
第二个步骤:在待检测文件中提取宏代码,获得宏代码文件;
第三个步骤:在宏代码文件中提取宏代码特征。
为便于描述,将上述三个步骤结合起来进行说明。
确定待检测文件后,可以先判断待检测文件中是否包含宏代码,如果包含,则可以在待检测文件中提取宏代码,获得宏代码文件。具体的,可以利用宏代码抽取工具,如oletools等在待检测文件中逐行提取宏代码,然后将提取到的宏代码进行拼接,获得宏代码文件。
获得宏代码文件后,可以在宏代码文件中提取宏代码特征。
在本申请实施例中,先在待检测文件中提取宏代码,获得宏代码文件,再在宏代码文件中提取宏代码特征,相较于直接在待检测文件中提取宏代码特征,可以减少干扰,提高提取速度。因为文档文件实际是一个文件包,如果使用整体文件作为宏代码特征提取的对象,很容易受到干扰,而文档文件的主要攻击手法在于宏代码,因此,先将宏代码在待检测文件中提取出来得到宏代码文件,再在宏代码文件中提取宏代码特征效果会更好。
在本申请的一个实施例中,步骤S130可以包括以下步骤:
步骤一:将待检测文件的宏代码特征输入到预先训练好的检测模型中,获得预测值;
步骤二:根据预测值,确定待检测文件是否携带宏病毒。
为便于描述,将上述两个步骤结合起来进行说明。
获得待检测文件中的宏代码特征后,可以将待检测文件的宏代码特征输入到检测模型中,获得预测值。该检测模型可以是基于预先获得的携带宏代码的白文件和/或黑文件训练得到的。
在不同类型的检测模型中,预测值的大小与待检测文件中携带宏病毒的可能性的大小可能存在不同的对应关系。对于不同检测模型可以设定不同的阈值。将预测值与预设阈值进行对比,根据对比结果,判定待检测文件是否携带宏病毒。在有的检测模型中,预测值越大,可以表明待检测文件中携带宏病毒的可能性越大,预测值越小,则表明待检测文件中携带宏病毒的可能性越小,即预测值大于预设阈值时,可以判定待检测文件中携带宏病毒。在有的检测模型中,预测值越大,可以表明待检测文件中携带宏病毒的可能性越小,预测值越小,则表明待检测文件中携带宏病毒的可能性越大,即预测值小于预设阈值时,可以判定待检测文件中携带宏病毒。
在实际应用中,可以根据历史数据和经验设定上述阈值。
在本申请的一个实施例中,可以通过以下步骤预先训练获得检测模型:
第一个步骤:建立检测初始模型;
第二个步骤:获得携带宏代码的白文件和黑文件;
第三个步骤:分别提取白文件和黑文件中的宏代码特征;
第四个步骤:基于白文件和黑文件的宏代码特征,对检测初始模型进行训练,获得训练好的检测模型。
为便于描述,将上述四个步骤结合起来进行说明。
在本申请实施例中,可以先建立一个检测初始模型。该检测初始模型可以是XGBoost(eXtreme Gradient Boosting,极端梯度提升)模型,还可以是决策树模型、朴素贝叶斯模型等。
XGBoost模型是一种机器学习算法,其核心思想是将许多树模型集成在一起,形成一个很强的分类器。
通过文件采集等方式可以获得白文件和黑文件,白文件和黑文件中都携带有宏代码,白文件中的宏代码为正常代码,黑文件中的宏代码为宏病毒代码。
然后获得白文件和黑文件中的宏代码特征。具体的,针对于白文件和黑文件中的每个文件,可以利用宏代码抽取工具在该文件中逐行提取宏代码,将提取到的宏代码进行拼接,获得宏代码文件,在宏代码文件中提取宏代码特征。
白文件和黑文件的宏代码特征包括以下特征中的至少一种:信息熵、注册表操作、文件读写、网络请求、创建shell、编码转换、自动执行、字符串混淆拼接。
基于白文件和黑文件的宏代码特征,可以对检测初始模型进行训练,获得训练后的检测模型。具体的,可以将白文件和黑文件中的一部分加入到训练集中,另一部分加入到测试集中,利用训练集对检测初始模型进行训练,调整检测初始模型的参数,利用测试集对训练后的检测初始模型进行测试,如果测试结果准确率高于设定准确率阈值,则可以将当前训练后的检测初始模型确定为训练好的检测模型,如果测试结果准确率不高于准确率阈值,则可以重复对检测初始模型进行训练,或者再在训练集中加入一些白文件和黑文件后,重复对检测初始模型进行训练,直至测试结果高于准确率阈值,则可以获得训练好的检测模型,进而可以使用该检测模型对待检测文件是否携带宏病毒进行检测。
在实际应用中,可以按照设定时间间隔或者在接收到训练指令时,对检测模型进行训练,以不断调整检测模型中的参数,使其检测准确率更高。
相应于上面的方法实施例,本申请实施例还提供了一种文件宏病毒检测装置,下文描述的文件宏病毒检测装置与上文描述的文件宏病毒检测方法可相互对应参照。
参见图2所示,该装置包括以下模块:
文件确定模块210,用于在获得的目标文件中确定待检测文件;
特征提取模块220,用于提取获得待检测文件中的宏代码特征;
宏病毒检测模块230,用于基于待检测文件的宏代码特征,利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。
应用本申请实施例所提供的装置,在获得的目标文件中确定待检测文件后,可以提取待检测文件中的宏代码特征,基于待检测文件的宏代码特征,可以利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。宏代码特征的获得不需要打开或者执行待检测文件,可以从待检测文件的宏代码中获得相应特征,这样可以避免在待检测文件携带宏病毒的情况下因打开或者执行待检测文件而触发宏病毒的运行,对用户的计算机或者文档造成损害,可以连续对多个待检测文件进行实时检测。而且,利用待检测文件的宏代码特征和训练好的检测模型,可以准确确定待检测文件是否携带宏病毒,提高宏病毒识别准确率,提升对未知宏病毒检测能力。
在本申请的一种具体实施方式中,文件确定模块210,用于:
对目标文件进行格式识别;
根据格式识别结果,判断目标文件是否为办公文档文件;
如果目标文件为办公文档文件,则判断目标文件中是否包含宏代码;
如果目标文件中包含宏代码,则将目标文件确定为待检测文件。
在本申请的一种具体实施方式中,特征提取模块220,用于:
判断待检测文件中是否包含宏代码;
如果待检测文件中包含宏代码,则在待检测文件中提取宏代码,获得宏代码文件;
在宏代码文件中提取宏代码特征。
在本申请的一种具体实施方式中,特征提取模块220,用于:
利用宏代码抽取工具在待检测文件中逐行提取宏代码;
将提取到的宏代码进行拼接,获得宏代码文件。
在本申请的一种具体实施方式中,宏病毒检测模块230,用于:
将待检测文件的宏代码特征输入到预先训练好的检测模型中,获得预测值;
根据预测值,确定待检测文件是否携带宏病毒。
在本申请的一种具体实施方式中,宏病毒检测模块230,用于:
将预测值与预设阈值进行对比;
根据对比结果,判定待检测文件是否携带宏病毒。
在本申请的一种具体实施方式中,还包括模型训练模块,用于通过以下步骤训练获得检测模型:
建立检测初始模型;
获得携带宏代码的白文件和黑文件;
分别提取白文件和黑文件中的宏代码特征;
基于白文件和黑文件的宏代码特征,对检测初始模型进行训练,获得训练好的检测模型。
在本申请的一种具体实施方式中,白文件和黑文件的宏代码特征包括以下特征中的至少一种:
信息熵、注册表操作、文件读写、网络请求、创建壳shell、编码转换、自动执行、字符串混淆拼接。
相应于上面的方法实施例,本申请实施例还提供了一种文件宏病毒检测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述文件宏病毒检测方法的步骤。
如图3所示,为文件宏病毒检测设备的组成结构示意图,文件宏病毒检测设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行文件宏病毒检测方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
在获得的目标文件中确定待检测文件;
提取待检测文件中的宏代码特征;
基于待检测文件的宏代码特征,利用预先训练好的检测模型,确定待检测文件是否携带宏病毒。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及至少一个功能(比如特征提取功能、模型训练功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如特征数据、模型数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者***连接。
当然,需要说明的是,图3所示的结构并不构成对本申请实施例中文件宏病毒检测设备的限定,在实际应用中文件宏病毒检测设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述文件宏病毒检测方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (11)
1.一种文件宏病毒检测方法,其特征在于,包括:
在获得的目标文件中确定待检测文件;
提取所述待检测文件中的宏代码特征;
基于所述待检测文件的宏代码特征,利用预先训练好的检测模型,确定所述待检测文件是否携带宏病毒。
2.根据权利要求1所述的方法,其特征在于,所述在获得的目标文件中确定待检测文件,包括:
对目标文件进行格式识别;
根据格式识别结果,判断所述目标文件是否为办公文档文件;
如果所述目标文件为办公文档文件,则判断所述目标文件中是否包含宏代码;
如果所述目标文件中包含宏代码,则将所述目标文件确定为待检测文件。
3.根据权利要求1所述的方法,其特征在于,所述提取所述待检测文件中的宏代码特征,包括:
判断所述待检测文件中是否包含宏代码;
如果所述待检测文件中包含宏代码,则在所述待检测文件中提取宏代码,获得宏代码文件;
在所述宏代码文件中提取宏代码特征。
4.根据权利要求3所述的方法,其特征在于,所述在所述待检测文件中提取宏代码,获得宏代码文件,包括:
利用宏代码抽取工具在所述待检测文件中逐行提取宏代码;
将提取到的宏代码进行拼接,获得宏代码文件。
5.根据权利要求1所述的方法,其特征在于,所述基于所述待检测文件的宏代码特征,利用预先训练好的检测模型,确定所述待检测文件是否携带宏病毒,包括:
将所述待检测文件的宏代码特征输入到预先训练好的检测模型中,获得预测值;
根据所述预测值,确定所述待检测文件是否携带宏病毒。
6.根据权利要求5所述的方法,其特征在于,所述根据所述预测值,确定所述待检测文件是否携带宏病毒,包括:
将所述预测值与预设阈值进行对比;
根据对比结果,判定所述待检测文件是否携带宏病毒。
7.根据权利要求1至6之中任一项所述的方法,其特征在于,通过以下步骤预先训练获得所述检测模型:
建立检测初始模型;
获得携带宏代码的白文件和黑文件;
分别提取所述白文件和所述黑文件中的宏代码特征;
基于所述白文件和所述黑文件的宏代码特征,对所述检测初始模型进行训练,获得训练好的所述检测模型。
8.根据权利要求7所述的方法,其特征在于,所述白文件和所述黑文件的宏代码特征包括以下特征中的至少一种:
信息熵、注册表操作、文件读写、网络请求、创建壳shell、编码转换、自动执行、字符串混淆拼接。
9.一种文件宏病毒检测装置,其特征在于,包括:
文件确定模块,用于在获得的目标文件中确定待检测文件;
特征提取模块,用于提取所述待检测文件中的宏代码特征;
宏病毒检测模块,用于基于所述待检测文件的宏代码特征,利用预先训练好的检测模型,确定所述待检测文件是否携带宏病毒。
10.一种文件宏病毒检测设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述文件宏病毒检测方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述文件宏病毒检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162723.7A CN111400707A (zh) | 2020-03-10 | 2020-03-10 | 一种文件宏病毒检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162723.7A CN111400707A (zh) | 2020-03-10 | 2020-03-10 | 一种文件宏病毒检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111400707A true CN111400707A (zh) | 2020-07-10 |
Family
ID=71428708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010162723.7A Pending CN111400707A (zh) | 2020-03-10 | 2020-03-10 | 一种文件宏病毒检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400707A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580045A (zh) * | 2020-12-11 | 2021-03-30 | 杭州安恒信息技术股份有限公司 | 一种基于宏加密的恶意文档的检测方法、装置和介质 |
CN112818347A (zh) * | 2021-02-22 | 2021-05-18 | 深信服科技股份有限公司 | 一种文件标签确定方法、装置、设备及存储介质 |
CN113065132A (zh) * | 2021-03-25 | 2021-07-02 | 深信服科技股份有限公司 | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 |
CN114238974A (zh) * | 2021-12-16 | 2022-03-25 | 安天科技集团股份有限公司 | 恶意Office文档的检测方法、装置、电子设备及存储介质 |
CN114647849A (zh) * | 2022-03-22 | 2022-06-21 | 安天科技集团股份有限公司 | 潜在危险文件的检测方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841999A (zh) * | 2012-07-16 | 2012-12-26 | 北京奇虎科技有限公司 | 一种文件宏病毒的检测方法和装置 |
CN103246847A (zh) * | 2013-05-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种宏病毒查杀的方法和装置 |
CN109063482A (zh) * | 2018-08-09 | 2018-12-21 | 博彦科技股份有限公司 | 宏病毒识别方法、装置、存储介质及处理器 |
-
2020
- 2020-03-10 CN CN202010162723.7A patent/CN111400707A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841999A (zh) * | 2012-07-16 | 2012-12-26 | 北京奇虎科技有限公司 | 一种文件宏病毒的检测方法和装置 |
CN103246847A (zh) * | 2013-05-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种宏病毒查杀的方法和装置 |
WO2014183434A1 (en) * | 2013-05-13 | 2014-11-20 | Tencent Technology (Shenzhen) Company Limited | Method and device for removing macro virus |
CN109063482A (zh) * | 2018-08-09 | 2018-12-21 | 博彦科技股份有限公司 | 宏病毒识别方法、装置、存储介质及处理器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580045A (zh) * | 2020-12-11 | 2021-03-30 | 杭州安恒信息技术股份有限公司 | 一种基于宏加密的恶意文档的检测方法、装置和介质 |
CN112818347A (zh) * | 2021-02-22 | 2021-05-18 | 深信服科技股份有限公司 | 一种文件标签确定方法、装置、设备及存储介质 |
CN112818347B (zh) * | 2021-02-22 | 2024-04-09 | 深信服科技股份有限公司 | 一种文件标签确定方法、装置、设备及存储介质 |
CN113065132A (zh) * | 2021-03-25 | 2021-07-02 | 深信服科技股份有限公司 | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 |
CN113065132B (zh) * | 2021-03-25 | 2023-11-03 | 深信服科技股份有限公司 | 一种宏程序的混淆检测方法、装置、电子设备和存储介质 |
CN114238974A (zh) * | 2021-12-16 | 2022-03-25 | 安天科技集团股份有限公司 | 恶意Office文档的检测方法、装置、电子设备及存储介质 |
CN114647849A (zh) * | 2022-03-22 | 2022-06-21 | 安天科技集团股份有限公司 | 潜在危险文件的检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400707A (zh) | 一种文件宏病毒检测方法、装置、设备及存储介质 | |
US10834128B1 (en) | System and method for identifying phishing cyber-attacks through deep machine learning via a convolutional neural network (CNN) engine | |
CN109344615B (zh) | 一种检测恶意命令的方法及装置 | |
CN111917740B (zh) | 一种异常流量告警日志检测方法、装置、设备及介质 | |
CN112417439A (zh) | 账号检测方法、装置、服务器及存储介质 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
CN110795732A (zh) | 基于SVM的Android移动网络终端恶意代码的动静结合检测方法 | |
CN109992969B (zh) | 一种恶意文件检测方法、装置及检测平台 | |
US10621343B1 (en) | Generic and static detection of malware installation packages | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
US11797668B2 (en) | Sample data generation apparatus, sample data generation method, and computer readable medium | |
EP3905084A1 (en) | Method and device for detecting malware | |
CN103810428B (zh) | 一种宏病毒检测方法及装置 | |
JP2016091549A (ja) | マルウェアイベントとバックグラウンドイベントとを分離するためのシステム、デバイス、および方法 | |
CN112565308B (zh) | 基于网络流量的恶意应用检测方法、装置、设备及介质 | |
CN113904861B (zh) | 一种加密流量安全检测方法及装置 | |
CN110868419A (zh) | Web后门攻击事件的检测方法、装置及电子设备 | |
CN116303290A (zh) | 一种office文档检测方法及装置、设备及介质 | |
CN116305113A (zh) | 一种可执行文件检测方法、装置、设备及存储介质 | |
CN110008987B (zh) | 分类器鲁棒性的测试方法、装置、终端及存储介质 | |
KR20190081408A (ko) | 네트워크 침입 탐지 시스템 및 방법, 이를 수행하기 위한 기록매체 | |
CN111464510A (zh) | 一种基于快速梯度提升树模型的网络实时入侵检测方法 | |
CN117454380B (zh) | 恶意软件的检测方法、训练方法、装置、设备及介质 | |
CN105468972B (zh) | 一种移动终端文件检测方法 | |
CN111382432A (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: 20200710 |
|
RJ01 | Rejection of invention patent application after publication |