一种excel宏表病毒的检测方法及系统的制作方法

xiaoxiao2021-2-27  234

一种excel宏表病毒的检测方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机网络安全技术领域,特别涉及一种excel宏表病毒的检测方法及系统。
【背景技术】
[0002]目前excel的宏病毒一般为两种形式,一种是在excel中插入普通的宏代码来实现恶意功能,另一种是利用excel的宏表来插入恶意代码实现恶意功能。这两种形式功能虽然似,但是恶意数据在excel中保存的形式是完全不一样的,因此现有通过对文件宏代码进行检测的方式,无法检测到宏表中添加的宏代码。在excel中插入MS Excel4.0宏表,利用宏表插入恶意代码,是通过在宏表的单元格中添加红代码,沿着同一列逐行添加,在代码执行过程中可以顺序执行到RETURN函数,所以很多恶意代码作者使用这样的方式来编写恶意代码,早在Excel 2003等早期的版本中,在文档中定义AUT0_0PEN名称,就可以在Excel表格打开的时候自动执行任意宏表的代码,实现自我复制和对正常文档的感染,新感染文件的宏表中虽然包含相同的代码,但在不同文件中保存的形式不同,导致感染后的文件差别较大。因此这种类型的恶意代码很难归并检测用特征,人工提取代价又比较高。

【发明内容】

[0003]本发明提供一种excel宏表病毒的检测方法及系统,解决了宏表病毒无法进行归一化检测的问题。
[0004]一种excel宏表病毒的检测方法,包括:
提取待检测excel文档中macro sheet substream流数据;
通过根据微软提供的excel文件格式文档,自行编写提取程序代码,提取workbook数据流,进而提取其中可能存在的macro sheet substream流数据;对于部分不包含macrosheet substream流数据的文件,则其不存在excel宏表病毒,可以通过现有的其他检测手段进行检测;
分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
提取每个公式命令数据中的token和公式长度;
计算所有token和公式长度的哈希值;
遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
[0005]所述的方法中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表,即通过上述方法得到的哈希值列表。
[0006]—种excel宏表病毒的检测系统,包括:
数据提取模块,用于提取待检测excel文档中macro sheet substream流数据;
分析模块,用于分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
特征提取模块,用于提取每个公式命令数据中的token和公式长度;
计算模块,用于计算所有token和公式长度的哈希值;
检测模块,用于遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
[0007]所述的系统中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
[0008]本发明针对excel宏表病毒感染后结果数据的复杂性,在提取宏表公式后,对提取到的信息进行分析,保留了公式的token和公式长度,抛弃了其他信息,保证了同样的宏表病毒感染多个不同excel文件后提取到的信息是一致的,这样就实现了多个感染同样宏表病毒的excel文件能够提取到同样的病毒特征,有效的实现了检测用特征的归一化,减少检测用特征数量的同时,也提升了检测速度。同时提取的结果信息具有一定的复杂性,能够有效的防止误报。
[0009]本发明方案的技术效果在于,由于检测用特征来源于每条宏表病毒中每个单元格的命令,所以检测的结果也更加准确,检测的特征准确的命中了恶意代码。相对于其他自动化提取特征的方法,本方法准确性更高,误报率低。另外同样的宏表病毒感染后的样本能够提取到一致的检测特征,有效的实现了特征的归一化,减少了特征数量,反病毒引擎匹配的次数也相应降低,所以同时提升了反病毒引擎工作的效率。
[0010]本发明提供了一种excel宏表病毒的检测方法及系统,包括:提取待检测excel文档中macro sheet substream流数据;分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;提取每个公式命令数据中的token和公式长度;计算所有token和公式长度的哈希值;遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。通过本发明的方法,能够有效的检测宏表病毒,并提出了一种excel宏表病毒的归一化检测方法。能够快速判断excel的宏表中是否存在恶意代码,同时有效减少特征数量。
【附图说明】
[0011]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本发明一种excel宏表病毒的检测方法实施例流程图;
图2为本发明一种excel宏表病毒的检测系统实施例结构不意图。
【具体实施方式】
[0013]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
[0014]本发明提供一种excel宏表病毒的检测方法及系统,解决了宏表病毒无法进行归一化检测的问题。
[0015]—种excel宏表病毒的检测方法,如图1所不,包括:
5101:提取待检测excel文档中macro sheet substream流数据;
通过根据微软提供的excel文件格式文档,自行编写提取程序代码,提取workbook数据流,进而提取其中可能存在的macro sheet substream流数据;对于部分不包含macrosheet substream流数据的文件,则其不存在excel宏表病毒,可以通过现有的其他检测手段进行检测;
5102:分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
5103:提取每个公式命令数据中的token和公式长度;
5104:计算所有token和公式长度的哈 希值;
5105:遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
[0016]所述的方法中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表,即通过上述方法得到的哈希值列表。
[0017]—种excel宏表病毒的检测系统,如图2所不,包括:
数据提取模块201,用于提取待检测excel文档中macro sheet substream流数据;
分析模块202,用于分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
特征提取模块203,用于提取每个公式命令数据中的token和公式长度;
计算模块204,用于计算所有token和公式长度的哈希值;
检测模块205,用于遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
[0018]所述的系统中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
[0019]本发明针对excel宏表病毒感染后结果数据的复杂性,在提取宏表公式后,对提取到的信息进行分析,保留了公式的token和公式长度,抛弃了其他信息,保证了同样的宏表病毒感染多个不同excel文件后提取到的信息是一致的,这样就实现了多个感染同样宏表病毒的excel文件能够提取到同样的病毒特征,有效的实现了检测用特征的归一化,减少检测用特征数量的同时,也提升了检测速度。同时提取的结果信息具有一定的复杂性,能够有效的防止误报的可能。
[0020]本发明方案的技术效果在于,由于检测用特征来源于每条宏表病毒中每个单元格的命令,所以检测的结果也更加准确,检测的特征准确的命中了恶意代码。相对于其他自动化提取特征的方法,本方法准确性更高,误报率低。另外同样的宏表病毒感染后的样本能够提取到一致的检测特征,有效的实现了特征的归一化,减少了特征数量,反病毒引擎匹配的次数也相应降低,所以同时提升了反病毒引擎工作的效率。
[0021]本发明提供了一种excel宏表病毒的检测方法及系统,包括:提取待检测excel文档中macro sheet substream流数据;分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;提取每个公式命令数据中的token和公式长度;计算所有token和公式长度的哈希值;遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。通过本发明的方法,能够有效的检测宏表病毒,并提出了一种excel宏表病毒的归一化检测方法。能够快速判断excel的宏表中是否存在恶意代码,同时有效减少特征数量。
[0022]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0023]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0024]本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0025]虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
【主权项】
1.一种excel宏表病毒的检测方法,其特征在于,包括: 提取待检测excel文档中macro sheet substream流数据; 分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据; 提取每个公式命令数据中的token和公式长度; 计算所有token和公式长度的哈希值; 遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。2.如权利要求1所述的方法,其特征在于,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。3.一种excel宏表病毒的检测系统,其特征在于,包括: 数据提取模块,用于提取待检测excel文档中macro sheet substream流数据; 分析模块,用于分析macro sheet substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据; 特征提取模块,用于提取每个公式命令数据中的token和公式长度; 计算模块,用于计算所有token和公式长度的哈希值; 检测模块,用于遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。4.如权利要求3所述的系统,其特征在于,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
【专利摘要】本发明提供了一种excel宏表病毒的检测方法及系统,包括:提取待检测excel文档中macro?sheet?substream流数据;分析macro?sheet?substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;提取每个公式命令数据中的token和公式长度;计算所有token和公式长度的哈希值;遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。通过本发明的方法,能够有效的检测宏表病毒,并提出了一种excel宏表病毒的归一化检测方法。能够快速判断excel的宏表中是否存在恶意代码,同时有效减少特征数量。
【IPC分类】G06F21/56
【公开号】CN105488410
【申请号】CN201510254384
【发明人】童志明, 苏培旺, 何公道
【申请人】哈尔滨安天科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年5月19日

最新回复(0)