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

文档序号:9727679阅读:821来源:国知局
一种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和公式长度的哈
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1