CN106650451A - 一种检测方法和装置 - Google Patents
一种检测方法和装置 Download PDFInfo
- Publication number
- CN106650451A CN106650451A CN201611260003.4A CN201611260003A CN106650451A CN 106650451 A CN106650451 A CN 106650451A CN 201611260003 A CN201611260003 A CN 201611260003A CN 106650451 A CN106650451 A CN 106650451A
- Authority
- CN
- China
- Prior art keywords
- feature
- malice
- macrodoce
- character string
- string forms
- 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
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/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种检测方法和装置,本发明中没有像现有技术中一样,直接查找是否具有恶意的字节,即没有直接对二进制形式的宏代码进行分析,而是将具有二进制形式的宏代码解码成具有字符串形式的宏代码,进而对具有字符串形式的宏代码进行特征分析,由于现有技术中形式改变后的恶意的字节对应的具有字符串形式的宏代码是不变的,采用本发明中的方案就能够避免恶意的字节的形式改变后,采用特征码和人工规则的识别方法来检测office文件中是否携带有恶意的宏代码时,不能判断office文件是否是恶意文件的问题。
Description
技术领域
本发明涉及通信领域,更具体的说,涉及一种检测方法和装置。
背景技术
随着信息化的发展,办公软件的使用率越来越高,尤其是办公室office软件。由于office软件使用的普遍性,黑客常常将恶意的宏代码嵌入到office文件中,然后通过邮件等方式传播恶意的宏代码,此种方法攻击性强,已经对我国的金融行业、能源行业、政府、电力行业等造成了一定的恶劣影响,所以检测office文件中是否携带有恶意的宏代码变得至关重要。
现有技术中,采用特征码和人工规则的识别方法来检测office文件中是否携带有恶意的宏代码,特征码和人工规则的识别方法是指人工规定一些特定的恶意的字节,然后在office文件中的特定位置,查看是否包含有人工规定的那些恶意的字节,如果包含有人工规定的那些恶意的字节,就证明包含有恶意的宏代码,即该office文件是恶意文件。
在计算机中存储宏代码时,存储的是其二进制的形式,即恶意的字节是恶意的宏代码的二进制的形式。黑客常常在保证该恶意的字节对应的具有字符串形式的宏代码不变的前提下,通过修改恶意的字节的形式,如采用加一减一法修改恶意的字节的形式,来使形式改变后的恶意的字节不被检测到。此时,由于恶意的字节的形式已经被改变,采用特征码和人工规则的识别方法,来检测人工规定的那些恶意的字节时,就不会检测到形式改变后的恶意的字节,进而就不能判断office文件是否是恶意文件。
因此,亟需一种能够在恶意的字节的形式改变后,仍能够判断office文件是否是恶意文件的方法。
发明内容
有鉴于此,本发明提供一种检测方法和装置,以解决采用特征码和人工规则的识别方法来检测office文件中是否携带有恶意的宏代码时,在恶意的字节的形式改变时,不能判断office文件是否是恶意文件的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种检测方法,包括:
当获取的目标文件为办公office文件时,提取所述目标文件中具有二进制形式的宏代码;
将所述具有二进制形式的宏代码解码成具有字符串形式的宏代码;
判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当判断出所述具有字符串形式的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到所述目标文件为恶意文件的概率;
根据所述概率,判断所述目标文件是否是恶意文件。
优选地,所述提取所述目标文件中具有二进制形式的宏代码,包括:
查找所述目标文件中的对象连接与嵌入OLE对象;
提取所述OLE对象中包含的所述具有二进制形式的宏代码。
优选地,所述将所述具有二进制形式的宏代码解码成具有字符串形式的宏代码后,还包括:
删除所述具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码;
相应的,所述判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当判断出所述具有字符串形式的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,包括:
判断所述不含注释的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当判断出所述不含注释的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述不含注释的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。
优选地,所述预设的恶意特征包括名称特征、恶意行为特征或数据加密特征;
相应的,所述分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,包括:
当所述具有字符串形式的宏代码中包含所述名称特征时,根据与所述具有字符串形式的宏代码中包含的所述名称特征中的每一个名称相匹配的字符串为正常字符串的概率,得到与所述名称特征对应的、能够表示所述名称特征的恶意程度的数值;
当所述具有字符串形式的宏代码中包含所述恶意行为特征时,根据所述具有字符串形式的宏代码中包含的所述恶意行为特征中的每个特征出现的次数,得到与所述恶意行为特征对应的、能够表示所述恶意行为特征的恶意程度的数值;
当所述具有字符串形式的宏代码中包含所述数据加密特征时,根据所述具有字符串形式的宏代码中包含的所述数据加密特征中的每个特征出现的次数,得到与所述数据加密特征对应的、能够表示所述数据加密特征的恶意程度的数值。
优选地,所述根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到所述目标文件为恶意文件的概率,包括:
根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,采用支持向量机算法,计算得到所述目标文件为恶意文件的概率。
一种检测装置,包括:
提取单元,用于当获取的目标文件为办公office文件时,提取所述目标文件中具有二进制形式的宏代码;
解码单元,用于将所述具有二进制形式的宏代码解码成具有字符串形式的宏代码;
第一判断单元,用于判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
计算单元,用于根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到所述目标文件为恶意文件的概率;
第二判断单元,用于根据所述概率,判断所述目标文件是否是恶意文件。
优选地,所述提取单元包括:
查找单元,用于查找所述目标文件中的对象连接与嵌入OLE对象;
提取子单元,用于提取所述OLE对象中包含的所述具有二进制形式的宏代码。
优选地,还包括:
删除单元,用于删除所述具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码;
相应的,所述第一判断单元判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征,具体用于:
判断所述不含注释的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当所述第一判断单元判断出所述不含注释的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征时,所述分析单元分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,具体用于:
分析所述不含注释的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。
优选地,
当所述预设的恶意特征包括名称特征、恶意行为特征或数据加密特征时,
所述分析单元包括:
第一分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含所述名称特征时,根据与所述具有字符串形式的宏代码中包含的所述名称特征中的每一个名称相匹配的字符串为正常字符串的概率,得到与所述名称特征对应的、能够表示所述名称特征的恶意程度的数值;
第二分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含所述恶意行为特征时,根据所述具有字符串形式的宏代码中包含的所述恶意行为特征中的每个特征出现的次数,得到与所述恶意行为特征对应的、能够表示所述恶意行为特征的恶意程度的数值;
第三分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含所述数据加密特征时,根据所述具有字符串形式的宏代码中包含的所述数据加密特征中的每个特征出现的次数,得到与所述数据加密特征对应的、能够表示所述数据加密特征的恶意程度的数值。
优选地,所述计算单元包括:
计算子单元,用于根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,采用支持向量机算法,计算得到所述目标文件为恶意文件的概率。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种检测方法和装置,本发明中没有像现有技术中一样,直接查找是否具有恶意的字节,即没有直接对二进制形式的宏代码进行分析,而是将具有二进制形式的宏代码解码成具有字符串形式的宏代码,进而对具有字符串形式的宏代码进行特征分析,由于现有技术中形式改变后的恶意的字节对应的具有字符串形式的宏代码是不变的,采用本发明中的方案就能够避免恶意的字节的形式改变后,采用特征码和人工规则的识别方法来检测office文件中是否携带有恶意的宏代码时,不能判断office文件是否是恶意文件的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种检测方法的方法流程图;
图2为本发明提供的另一种检测方法的方法流程图;
图3为本发明提供的一种检测装置的结构示意图;
图4为本发明提供的另一种检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种检测方法,参照图1,包括:
S101、提取目标文件中具有二进制形式的宏代码;
本发明是检测办公office文件是否是恶意文件,所以在提取具有二进制形式的宏代码时,首先判断获取的目标文件是否是office文件,当获取的目标文件为office文件时,提取目标文件中具有二进制形式的宏代码。具体的,判断目标文件是否是office文件的方法是,采用文件格式识别方法识别目标文件的文件类型,分析该文件类型是否是office文件的文件类型。
需要说明的一点是,计算机存储数据时,都是存储的数据的二进制形式,所以此时获得的是具有二进制形式的宏代码。
具体的,提取目标文件中具有二进制形式的宏代码,包括:
查找目标文件中的对象连接与嵌入OLE对象;
提取OLE对象中包含的具有二进制形式的宏代码。
具有二进制形式的宏代码存储在OLE对象中,所以首先找到目标文件中的OLE对象,然后在OLE对象中找到具有二进制形式的宏代码,并将具有二进制形式的宏代码提取出来,单独存放。
S102、将具有二进制形式的宏代码解码成具有字符串形式的宏代码;
具体的,根据office文件结构的技术文档,将具有二进制形式的宏代码解码成具有字符串形式的宏代码。
S103、判断具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
其中,预设的恶意特征包括名称特征、恶意行为特征或数据加密特征。
S104、分析具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
需要说明的是,当判断出具有字符串形式的宏代码中包含有预设的恶意特征中的至少一个恶意特征,分析具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。当判断出具有字符串形式的宏代码中没有包含有预设的恶意特征中的任何一个特征,则证明该目标文件不是恶意文件。
具体的,分析具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,包括:
当具有字符串形式的宏代码中包含名称特征时,根据与具有字符串形式的宏代码中包含的名称特征中的每一个名称相匹配的字符串为正常字符串的概率,得到与名称特征对应的、能够表示名称特征的恶意程度的数值;
具体的,名称特征包括类名、常量名、变量名、过程名、形参名和对象名,在具有字符串形式的宏代码分别查找与每个名称对应的字符串,根据马尔科夫链算法分析该字符串是否是正常的字符串,当分析出该字符串为正常字符串的概率大于预设值时,证明该字符串为正常字符串。根据这种方法来得到与每一个名称相匹配的字符串中正常字符串所占的比例。
以名称为类名为例,在具有字符串形式的宏代码中查找与类名相对应的字符串,假设查找出两个字符串,此时分析这两个字符串是否是正常的字符串,假设这两个字符串中的一个为正常的字符串、另一个为不正常的字符串,则类名中正常字符串的占比为0.5。
同理,采用同样的方法分析得到常量名、变量名、过程名、形参名和对象名中正常字符串的占比,将各个占比相加,即为名称特征对应的、能够表示名称特征的恶意程度的数值。其中,这个数值为小数。
当具有字符串形式的宏代码中包含恶意行为特征时,根据具有字符串形式的宏代码中包含的恶意行为特征中的每个特征出现的次数,得到与恶意行为特征对应的、能够表示恶意行为特征的恶意程度的数值;
具体的,恶意行为特征包括但不限于自动执行行为、恶意***行为、可疑网络行为、逃避沙箱行为和虚拟机检测行为。具体的,自动执行行为包括自动打开、自动运行、自动保存、自动关闭、自动退出等行为,恶意***行为包括修改***环境变量、修改内核文件、修改注册表文件、将恶意代码注入到其他进程、建立恶意进程和运行命令行外壳程序和脚本环境PowerShell命令等,可疑网络行为包括连接网络之间互连的协议IP地址、连接与统一资源定位符URL对应的地址、向邮箱发送文件等。
其中,恶意行为特征中包含的每一个小特征,如自动打开、自动关闭、修改内核文件等,都对应有相应的字符串,如自动打开对应的字符串为autoopen。
在具有字符串形式的宏代码中,查找是否包含有上述每一个小特征对应的字符串,当查找出有其中的一个小特征对应的字符串时,将该字符串出现的次数乘以该字符串对应的分值,即得到该特征对应的一个分值。根据这种方法,能够得到每一个小特征对应的分值,将每个小特征对应的分值相加,即能得到恶意行为特征对应的、能够表示恶意行为特征的恶意程度的数值。其中,该数值为整数。
举例来说,当想要知道自动打开这个特征对应的数值,在具有字符串形式的宏代码中查找autoopen出现的次数,假设autoopen出现一次对应的分值为五分,在查找的过程中,发现autoopen出现了四次,那么自动打开这个特征对应的分值就是二十。
当具有字符串形式的宏代码中包含数据加密特征时,根据具有字符串形式的宏代码中包含的数据加密特征中的每个特征出现的次数,得到与数据加密特征对应的、能够表示数据加密特征的恶意程度的数值。
具体的,数据加密特征包括十六进制加密、8Bit字节代码的编码方式之一base64加密和拼接加密等特征。同恶意行为特征一样,每个小特征都对应有一个字符串。
在具有字符串形式的宏代码中,查找是否包含有上述每一个小特征对应的字符串,当查找出有其中的一个小特征对应的字符串时,将该字符串出现的次数乘以该字符串对应的分值,即得到该特征对应的一个分值。根据这种方法,能够得到每一个小特征对应的分值,将每个小特征对应的分值相加,即能得到数据加密特征对应的、能够表示恶意行为特征的恶意程度的数值。其中,该数值为整数。
需要说明的是,字符串对应的分值的大小,与字符串的长短有关,若字符串的长度越长,则其对应的分值越高,若字符串的长度越短,则其对应的分值越小。
S105、根据与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到目标文件为恶意文件的概率;
具体的,根据与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到目标文件为恶意文件的概率,包括:
根据与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,采用支持向量机算法,计算得到目标文件为恶意文件的概率。
其中,支持向量机算法中赋予了每个恶意特征对应的分量,将每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值与该恶意特征对应的分量根据预设的规则进行计算,就能够得到目标文件为恶意文件的概率。
S106、根据概率,判断目标文件是否是恶意文件。
具体的,当计算出的概率大于50%时,就证明该目标文件为恶意文件。
本实施例提供了一种检测方法,本实施例中没有像现有技术中一样,直接查找是否具有恶意的字节,即没有直接对二进制形式的宏代码进行分析,而是将具有二进制形式的宏代码解码成具有字符串形式的宏代码,进而对具有字符串形式的宏代码进行特征分析,由于现有技术中形式改变后的恶意的字节对应的具有字符串形式的宏代码是不变的,采用本发明中的方案就能够避免恶意的字节的形式改变后,采用特征码和人工规则的识别方法来检测office文件中是否携带有恶意的宏代码时,不能判断office文件是否是恶意文件的问题。
可选的,本发明的另一实施例中,参照图2,将具有二进制形式的宏代码解码成具有字符串形式的宏代码后,还包括:
S203、删除具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码;
为了能够使编程人员更了解宏代码,才添加有注释部分,注释部分只起到解释说明的作用。
相应的,步骤S103变成步骤S204:
判断不含注释的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
步骤S104变成步骤S205:
分析不含注释的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
具体的,当判断出不含注释的宏代码中包含有预设的恶意特征中的至少一个恶意特征,分析不含注释的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。
本实施例中,删除具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码,能够更加方便后期分析宏代码。
本发明的另一实施例中提供了一种检测装置,参照图3,包括:
提取单元101,用于当获取的目标文件为办公office文件时,提取目标文件中具有二进制形式的宏代码;
解码单元102,用于将具有二进制形式的宏代码解码成具有字符串形式的宏代码;
第一判断单元103,用于判断具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
分析单元104,用于当第一判断单元103判断出具有字符串形式的宏代码中包含有预设的恶意特征中的至少一个恶意特征,分析具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
计算单元105,用于根据与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到目标文件为恶意文件的概率;
第二判断单元106,用于根据概率,判断目标文件是否是恶意文件。
可选的,本发明的另一实施例中,提取单元包括:
查找单元,用于查找目标文件中的对象连接与嵌入OLE对象;
提取子单元,用于提取OLE对象中包含的具有二进制形式的宏代码。
计算单元包括:
计算子单元,用于根据与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,采用支持向量机算法,计算得到目标文件为恶意文件的概率。
此外,当预设的恶意特征包括名称特征、恶意行为特征或数据加密特征时,
分析单元包括:
第一分析单元,用于当第一判断单元103判断出具有字符串形式的宏代码中包含名称特征时,根据与具有字符串形式的宏代码中包含的名称特征中的每一个名称相匹配的字符串为正常字符串的概率,得到与名称特征对应的、能够表示名称特征的恶意程度的数值;
第二分析单元,用于当第一判断单元103判断出具有字符串形式的宏代码中包含恶意行为特征时,根据具有字符串形式的宏代码中包含的恶意行为特征中的每个特征出现的次数,得到与恶意行为特征对应的、能够表示恶意行为特征的恶意程度的数值;
第三分析单元,用于当第一判断单元103判断出具有字符串形式的宏代码中包含数据加密特征时,根据具有字符串形式的宏代码中包含的数据加密特征中的每个特征出现的次数,得到与数据加密特征对应的、能够表示数据加密特征的恶意程度的数值。
本实施例提供了一种检测装置,本实施例中没有像现有技术中一样,直接查找是否具有恶意的字节,即没有直接对二进制形式的宏代码进行分析,而是将具有二进制形式的宏代码解码成具有字符串形式的宏代码,进而对具有字符串形式的宏代码进行特征分析,由于现有技术中形式改变后的恶意的字节对应的具有字符串形式的宏代码是不变的,采用本发明中的方案就能够避免恶意的字节的形式改变后,采用特征码和人工规则的识别方法来检测office文件中是否携带有恶意的宏代码时,不能判断office文件是否是恶意文件的问题。
需要说明的是,本实施例中的各个单元的工作过程请参照图1对应的实施例中的内容,在此不再赘述。
可选的,本发明的另一实施例中,参照图4,检测装置还包括:
删除单元107,用于删除具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码;
相应的,第一判断单元103判断具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征,具体用于:
判断不含注释的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当第一判断单元103判断出不含注释的宏代码中包含有预设的恶意特征中的至少一个恶意特征时,分析单元104分析具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,具体用于:
分析不含注释的宏代码中包含的每一个恶意特征的内容,得到与每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。
本实施例中,删除具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码,能够更加方便后期分析宏代码。
需要说明的是,本实施例中的各个单元的工作过程请参照图2对应的实施例中的内容,在此不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种检测方法,其特征在于,包括:
当获取的目标文件为办公office文件时,提取所述目标文件中具有二进制形式的宏代码;
将所述具有二进制形式的宏代码解码成具有字符串形式的宏代码;
判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当判断出所述具有字符串形式的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到所述目标文件为恶意文件的概率;
根据所述概率,判断所述目标文件是否是恶意文件。
2.根据权利要求1所述的检测方法,其特征在于,所述提取所述目标文件中具有二进制形式的宏代码,包括:
查找所述目标文件中的对象连接与嵌入OLE对象;
提取所述OLE对象中包含的所述具有二进制形式的宏代码。
3.根据权利要求1所述的检测方法,其特征在于,所述将所述具有二进制形式的宏代码解码成具有字符串形式的宏代码后,还包括:
删除所述具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码;
相应的,所述判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当判断出所述具有字符串形式的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,包括:
判断所述不含注释的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当判断出所述不含注释的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述不含注释的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。
4.根据权利要求1所述的检测方法,其特征在于,所述预设的恶意特征包括名称特征、恶意行为特征或数据加密特征;
相应的,所述分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,包括:
当所述具有字符串形式的宏代码中包含所述名称特征时,根据与所述具有字符串形式的宏代码中包含的所述名称特征中的每一个名称相匹配的字符串为正常字符串的概率,得到与所述名称特征对应的、能够表示所述名称特征的恶意程度的数值;
当所述具有字符串形式的宏代码中包含所述恶意行为特征时,根据所述具有字符串形式的宏代码中包含的所述恶意行为特征中的每个特征出现的次数,得到与所述恶意行为特征对应的、能够表示所述恶意行为特征的恶意程度的数值;
当所述具有字符串形式的宏代码中包含所述数据加密特征时,根据所述具有字符串形式的宏代码中包含的所述数据加密特征中的每个特征出现的次数,得到与所述数据加密特征对应的、能够表示所述数据加密特征的恶意程度的数值。
5.根据权利要求1所述的检测方法,其特征在于,所述根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到所述目标文件为恶意文件的概率,包括:
根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,采用支持向量机算法,计算得到所述目标文件为恶意文件的概率。
6.一种检测装置,其特征在于,包括:
提取单元,用于当获取的目标文件为办公office文件时,提取所述目标文件中具有二进制形式的宏代码;
解码单元,用于将所述具有二进制形式的宏代码解码成具有字符串形式的宏代码;
第一判断单元,用于判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征,分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值;
计算单元,用于根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,计算得到所述目标文件为恶意文件的概率;
第二判断单元,用于根据所述概率,判断所述目标文件是否是恶意文件。
7.根据权利要求6所述的检测装置,其特征在于,所述提取单元包括:
查找单元,用于查找所述目标文件中的对象连接与嵌入OLE对象;
提取子单元,用于提取所述OLE对象中包含的所述具有二进制形式的宏代码。
8.根据权利要求6所述的检测装置,其特征在于,还包括:
删除单元,用于删除所述具有字符串形式的宏代码中包含的注释,得到不含注释的宏代码;
相应的,所述第一判断单元判断所述具有字符串形式的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征,具体用于:
判断所述不含注释的宏代码中是否包含有预设的恶意特征中的至少一个恶意特征;
当所述第一判断单元判断出所述不含注释的宏代码中包含有所述预设的恶意特征中的至少一个恶意特征时,所述分析单元分析所述具有字符串形式的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,具体用于:
分析所述不含注释的宏代码中包含的每一个恶意特征的内容,得到与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值。
9.根据权利要求6所述的检测装置,其特征在于,
当所述预设的恶意特征包括名称特征、恶意行为特征或数据加密特征时,
所述分析单元包括:
第一分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含所述名称特征时,根据与所述具有字符串形式的宏代码中包含的所述名称特征中的每一个名称相匹配的字符串为正常字符串的概率,得到与所述名称特征对应的、能够表示所述名称特征的恶意程度的数值;
第二分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含所述恶意行为特征时,根据所述具有字符串形式的宏代码中包含的所述恶意行为特征中的每个特征出现的次数,得到与所述恶意行为特征对应的、能够表示所述恶意行为特征的恶意程度的数值;
第三分析单元,用于当所述第一判断单元判断出所述具有字符串形式的宏代码中包含所述数据加密特征时,根据所述具有字符串形式的宏代码中包含的所述数据加密特征中的每个特征出现的次数,得到与所述数据加密特征对应的、能够表示所述数据加密特征的恶意程度的数值。
10.根据权利要求6所述的检测装置,其特征在于,所述计算单元包括:
计算子单元,用于根据与所述每一个恶意特征对应的、能够表示该恶意特征的恶意程度的数值,采用支持向量机算法,计算得到所述目标文件为恶意文件的概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611260003.4A CN106650451A (zh) | 2016-12-30 | 2016-12-30 | 一种检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611260003.4A CN106650451A (zh) | 2016-12-30 | 2016-12-30 | 一种检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106650451A true CN106650451A (zh) | 2017-05-10 |
Family
ID=58838764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611260003.4A Pending CN106650451A (zh) | 2016-12-30 | 2016-12-30 | 一种检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106650451A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959917A (zh) * | 2017-05-25 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种电子邮件检测的方法、装置、设备及可读存储介质 |
CN109657469A (zh) * | 2018-12-07 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 一种脚本检测方法及装置 |
CN110866256A (zh) * | 2019-11-12 | 2020-03-06 | 深信服科技股份有限公司 | 一种宏代码检测方法、装置、设备及存储介质 |
CN112580045A (zh) * | 2020-12-11 | 2021-03-30 | 杭州安恒信息技术股份有限公司 | 一种基于宏加密的恶意文档的检测方法、装置和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359352A (zh) * | 2008-09-25 | 2009-02-04 | 中国人民解放军信息工程大学 | 分层协同的混淆后api调用行为发现及其恶意性判定方法 |
CN102841999A (zh) * | 2012-07-16 | 2012-12-26 | 北京奇虎科技有限公司 | 一种文件宏病毒的检测方法和装置 |
CN103310150A (zh) * | 2012-03-13 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种检测pdf漏洞的方法和装置 |
CN103729595A (zh) * | 2014-01-02 | 2014-04-16 | 东南大学 | 一种Android应用程序隐私数据泄露离线检测方法 |
CN105868630A (zh) * | 2016-03-24 | 2016-08-17 | 中国科学院信息工程研究所 | 恶意pdf文档检测方法 |
-
2016
- 2016-12-30 CN CN201611260003.4A patent/CN106650451A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359352A (zh) * | 2008-09-25 | 2009-02-04 | 中国人民解放军信息工程大学 | 分层协同的混淆后api调用行为发现及其恶意性判定方法 |
CN103310150A (zh) * | 2012-03-13 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种检测pdf漏洞的方法和装置 |
CN102841999A (zh) * | 2012-07-16 | 2012-12-26 | 北京奇虎科技有限公司 | 一种文件宏病毒的检测方法和装置 |
CN103729595A (zh) * | 2014-01-02 | 2014-04-16 | 东南大学 | 一种Android应用程序隐私数据泄露离线检测方法 |
CN105868630A (zh) * | 2016-03-24 | 2016-08-17 | 中国科学院信息工程研究所 | 恶意pdf文档检测方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959917A (zh) * | 2017-05-25 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种电子邮件检测的方法、装置、设备及可读存储介质 |
CN109657469A (zh) * | 2018-12-07 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 一种脚本检测方法及装置 |
CN109657469B (zh) * | 2018-12-07 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 一种脚本检测方法及装置 |
CN110866256A (zh) * | 2019-11-12 | 2020-03-06 | 深信服科技股份有限公司 | 一种宏代码检测方法、装置、设备及存储介质 |
CN112580045A (zh) * | 2020-12-11 | 2021-03-30 | 杭州安恒信息技术股份有限公司 | 一种基于宏加密的恶意文档的检测方法、装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763928B (zh) | 一种开源软件漏洞分析方法、装置和存储介质 | |
US10114946B2 (en) | Method and device for detecting malicious code in an intelligent terminal | |
US10394686B2 (en) | Static feature extraction from structured files | |
CN109510815B (zh) | 一种基于有监督学习的多级钓鱼网站检测方法及检测*** | |
US10705748B2 (en) | Method and device for file name identification and file cleaning | |
CN109359439B (zh) | 软件检测方法、装置、设备及存储介质 | |
CN111400719B (zh) | 基于开源组件版本识别的固件脆弱性判别方法及*** | |
US20120159625A1 (en) | Malicious code detection and classification system using string comparison and method thereof | |
CN106650451A (zh) | 一种检测方法和装置 | |
US20170214704A1 (en) | Method and device for feature extraction | |
CN104700033A (zh) | 病毒检测的方法及装置 | |
CN109462575B (zh) | 一种webshell检测方法及装置 | |
CN106161479B (zh) | 一种支持特征跨包的编码攻击检测方法和装置 | |
CN114077741B (zh) | 软件供应链安全检测方法和装置、电子设备及存储介质 | |
CN109992969B (zh) | 一种恶意文件检测方法、装置及检测平台 | |
CN109635569B (zh) | 一种漏洞检测方法及装置 | |
US11544575B2 (en) | Machine-learning based approach for malware sample clustering | |
CN103294951B (zh) | 一种基于文档型漏洞的恶意代码样本提取方法及*** | |
CN110765459A (zh) | 一种恶意脚本检测方法、装置和存储介质 | |
US20190005057A1 (en) | Methods and Devices for File Folder Path Identification and File Folder Cleaning | |
CN113297580B (zh) | 基于代码语义分析的电力信息***安全防护方法及装置 | |
CN104123501A (zh) | 一种基于多鉴定器集合的病毒在线检测方法 | |
CN107979581A (zh) | 僵尸特征的检测方法和装置 | |
CN107958154A (zh) | 一种恶意软件检测装置及方法 | |
CN105718795A (zh) | Linux下基于特征码的恶意代码取证方法及*** |
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: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |