CN105488410A - 一种excel宏表病毒的检测方法及系统 - Google Patents
一种excel宏表病毒的检测方法及系统 Download PDFInfo
- Publication number
- CN105488410A CN105488410A CN201510254384.4A CN201510254384A CN105488410A CN 105488410 A CN105488410 A CN 105488410A CN 201510254384 A CN201510254384 A CN 201510254384A CN 105488410 A CN105488410 A CN 105488410A
- Authority
- CN
- China
- Prior art keywords
- excel
- macro sheet
- virus
- formula
- document
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种excel宏表病毒的检测方法及系统,包括:提取待检测excel文档中macro?sheet?substream流数据;分析macro?sheet?substream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;提取每个公式命令数据中的token和公式长度;计算所有token和公式长度的哈希值;遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。通过本发明的方法,能够有效的检测宏表病毒,并提出了一种excel宏表病毒的归一化检测方法。能够快速判断excel的宏表中是否存在恶意代码,同时有效减少特征数量。
Description
技术领域
本发明涉及计算机网络安全技术领域,特别涉及一种excel宏表病毒的检测方法及系统。
背景技术
目前excel的宏病毒一般为两种形式,一种是在excel中插入普通的宏代码来实现恶意功能,另一种是利用excel的宏表来插入恶意代码实现恶意功能。这两种形式功能虽然似,但是恶意数据在excel中保存的形式是完全不一样的,因此现有通过对文件宏代码进行检测的方式,无法检测到宏表中添加的宏代码。在excel中插入MSExcel4.0宏表,利用宏表插入恶意代码,是通过在宏表的单元格中添加红代码,沿着同一列逐行添加,在代码执行过程中可以顺序执行到RETURN函数,所以很多恶意代码作者使用这样的方式来编写恶意代码,早在Excel2003等早期的版本中,在文档中定义AUTO_OPEN名称,就可以在Excel表格打开的时候自动执行任意宏表的代码,实现自我复制和对正常文档的感染,新感染文件的宏表中虽然包含相同的代码,但在不同文件中保存的形式不同,导致感染后的文件差别较大。因此这种类型的恶意代码很难归并检测用特征,人工提取代价又比较高。
发明内容
本发明提供一种excel宏表病毒的检测方法及系统,解决了宏表病毒无法进行归一化检测的问题。
一种excel宏表病毒的检测方法,包括:
提取待检测excel文档中macrosheetsubstream流数据;
通过根据微软提供的excel文件格式文档,自行编写提取程序代码,提取workbook数据流,进而提取其中可能存在的macrosheetsubstream流数据;对于部分不包含macrosheetsubstream流数据的文件,则其不存在excel宏表病毒,可以通过现有的其他检测手段进行检测;
分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
提取每个公式命令数据中的token和公式长度;
计算所有token和公式长度的哈希值;
遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
所述的方法中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表,即通过上述方法得到的哈希值列表。
一种excel宏表病毒的检测系统,包括:
数据提取模块,用于提取待检测excel文档中macrosheetsubstream流数据;
分析模块,用于分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
特征提取模块,用于提取每个公式命令数据中的token和公式长度;
计算模块,用于计算所有token和公式长度的哈希值;
检测模块,用于遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
所述的系统中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
本发明针对excel宏表病毒感染后结果数据的复杂性,在提取宏表公式后,对提取到的信息进行分析,保留了公式的token和公式长度,抛弃了其他信息,保证了同样的宏表病毒感染多个不同excel文件后提取到的信息是一致的,这样就实现了多个感染同样宏表病毒的excel文件能够提取到同样的病毒特征,有效的实现了检测用特征的归一化,减少检测用特征数量的同时,也提升了检测速度。同时提取的结果信息具有一定的复杂性,能够有效的防止误报。
本发明方案的技术效果在于,由于检测用特征来源于每条宏表病毒中每个单元格的命令,所以检测的结果也更加准确,检测的特征准确的命中了恶意代码。相对于其他自动化提取特征的方法,本方法准确性更高,误报率低。另外同样的宏表病毒感染后的样本能够提取到一致的检测特征,有效的实现了特征的归一化,减少了特征数量,反病毒引擎匹配的次数也相应降低,所以同时提升了反病毒引擎工作的效率。
本发明提供了一种excel宏表病毒的检测方法及系统,包括:提取待检测excel文档中macrosheetsubstream流数据;分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;提取每个公式命令数据中的token和公式长度;计算所有token和公式长度的哈希值;遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。通过本发明的方法,能够有效的检测宏表病毒,并提出了一种excel宏表病毒的归一化检测方法。能够快速判断excel的宏表中是否存在恶意代码,同时有效减少特征数量。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种excel宏表病毒的检测方法实施例流程图;
图2为本发明一种excel宏表病毒的检测系统实施例结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提供一种excel宏表病毒的检测方法及系统,解决了宏表病毒无法进行归一化检测的问题。
一种excel宏表病毒的检测方法,如图1所示,包括:
S101:提取待检测excel文档中macrosheetsubstream流数据;
通过根据微软提供的excel文件格式文档,自行编写提取程序代码,提取workbook数据流,进而提取其中可能存在的macrosheetsubstream流数据;对于部分不包含macrosheetsubstream流数据的文件,则其不存在excel宏表病毒,可以通过现有的其他检测手段进行检测;
S102:分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
S103:提取每个公式命令数据中的token和公式长度;
S104:计算所有token和公式长度的哈希值;
S105:遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
所述的方法中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表,即通过上述方法得到的哈希值列表。
一种excel宏表病毒的检测系统,如图2所示,包括:
数据提取模块201,用于提取待检测excel文档中macrosheetsubstream流数据;
分析模块202,用于分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
特征提取模块203,用于提取每个公式命令数据中的token和公式长度;
计算模块204,用于计算所有token和公式长度的哈希值;
检测模块205,用于遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
所述的系统中,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
本发明针对excel宏表病毒感染后结果数据的复杂性,在提取宏表公式后,对提取到的信息进行分析,保留了公式的token和公式长度,抛弃了其他信息,保证了同样的宏表病毒感染多个不同excel文件后提取到的信息是一致的,这样就实现了多个感染同样宏表病毒的excel文件能够提取到同样的病毒特征,有效的实现了检测用特征的归一化,减少检测用特征数量的同时,也提升了检测速度。同时提取的结果信息具有一定的复杂性,能够有效的防止误报的可能。
本发明方案的技术效果在于,由于检测用特征来源于每条宏表病毒中每个单元格的命令,所以检测的结果也更加准确,检测的特征准确的命中了恶意代码。相对于其他自动化提取特征的方法,本方法准确性更高,误报率低。另外同样的宏表病毒感染后的样本能够提取到一致的检测特征,有效的实现了特征的归一化,减少了特征数量,反病毒引擎匹配的次数也相应降低,所以同时提升了反病毒引擎工作的效率。
本发明提供了一种excel宏表病毒的检测方法及系统,包括:提取待检测excel文档中macrosheetsubstream流数据;分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;提取每个公式命令数据中的token和公式长度;计算所有token和公式长度的哈希值;遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。通过本发明的方法,能够有效的检测宏表病毒,并提出了一种excel宏表病毒的归一化检测方法。能够快速判断excel的宏表中是否存在恶意代码,同时有效减少特征数量。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (4)
1.一种excel宏表病毒的检测方法,其特征在于,包括:
提取待检测excel文档中macrosheetsubstream流数据;
分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
提取每个公式命令数据中的token和公式长度;
计算所有token和公式长度的哈希值;
遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
2.如权利要求1所述的方法,其特征在于,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
3.一种excel宏表病毒的检测系统,其特征在于,包括:
数据提取模块,用于提取待检测excel文档中macrosheetsubstream流数据;
分析模块,用于分析macrosheetsubstream流数据,得到宏表中所有单元格的信息,并提取每个单元格的公式命令数据;
特征提取模块,用于提取每个公式命令数据中的token和公式长度;
计算模块,用于计算所有token和公式长度的哈希值;
检测模块,用于遍历恶意excel宏表病毒特征库,与所述哈希值匹配,匹配成功则所述待检测excel文档为恶意,否则非恶意。
4.如权利要求3所述的系统,其特征在于,所述恶意excel宏表病毒特征库,为根据已知恶意excel宏表病毒文档得到的哈希值列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510254384.4A CN105488410A (zh) | 2015-05-19 | 2015-05-19 | 一种excel宏表病毒的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510254384.4A CN105488410A (zh) | 2015-05-19 | 2015-05-19 | 一种excel宏表病毒的检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105488410A true CN105488410A (zh) | 2016-04-13 |
Family
ID=55675384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510254384.4A Pending CN105488410A (zh) | 2015-05-19 | 2015-05-19 | 一种excel宏表病毒的检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488410A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858248A (zh) * | 2018-12-26 | 2019-06-07 | 中国科学院信息工程研究所 | 恶意Word文档检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841999A (zh) * | 2012-07-16 | 2012-12-26 | 北京奇虎科技有限公司 | 一种文件宏病毒的检测方法和装置 |
CN102999726A (zh) * | 2012-12-14 | 2013-03-27 | 北京奇虎科技有限公司 | 文件宏病毒免疫方法和装置 |
CN103246847A (zh) * | 2013-05-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种宏病毒查杀的方法和装置 |
CN103810428A (zh) * | 2014-02-24 | 2014-05-21 | 珠海市君天电子科技有限公司 | 一种宏病毒检测方法及装置 |
-
2015
- 2015-05-19 CN CN201510254384.4A patent/CN105488410A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841999A (zh) * | 2012-07-16 | 2012-12-26 | 北京奇虎科技有限公司 | 一种文件宏病毒的检测方法和装置 |
CN102999726A (zh) * | 2012-12-14 | 2013-03-27 | 北京奇虎科技有限公司 | 文件宏病毒免疫方法和装置 |
CN103246847A (zh) * | 2013-05-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种宏病毒查杀的方法和装置 |
CN103810428A (zh) * | 2014-02-24 | 2014-05-21 | 珠海市君天电子科技有限公司 | 一种宏病毒检测方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858248A (zh) * | 2018-12-26 | 2019-06-07 | 中国科学院信息工程研究所 | 恶意Word文档检测方法和装置 |
CN109858248B (zh) * | 2018-12-26 | 2021-06-29 | 中国科学院信息工程研究所 | 恶意Word文档检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sato et al. | Detecting android malware by analyzing manifest files | |
KR102047782B1 (ko) | 보안 이벤트의 연관 분석을 통한 사이버 침해 위협 탐지 방법 및 장치 | |
CN104700033B (zh) | 病毒检测的方法及装置 | |
CN105956180B (zh) | 一种敏感词过滤方法 | |
CN107392016A (zh) | 一种基于代理的Web数据库攻击行为检测系统 | |
CN104601556A (zh) | 一种面向web的攻击检测方法及系统 | |
CN111988341B (zh) | 数据处理方法、装置、计算机系统和存储介质 | |
KR20120078018A (ko) | 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
CN105718795B (zh) | Linux下基于特征码的恶意代码取证方法及系统 | |
CN110519264A (zh) | 攻击事件的追踪溯源方法、装置及设备 | |
CN103268449A (zh) | 一种手机恶意代码的高速检测方法和系统 | |
EP3144845A1 (en) | Detection device, detection method, and detection program | |
CN104021179B (zh) | 一种大数据集下相似性数据的快速识别算法 | |
CN102930207A (zh) | 一种api日志监控方法及装置 | |
WO2008088121A1 (en) | Apparatus and method for detecting program plagiarism through memory access log analysis | |
CN110704841A (zh) | 一种基于卷积神经网络的大规模安卓恶意应用检测系统及方法 | |
CN103902906A (zh) | 基于应用图标的移动终端恶意代码检测方法及系统 | |
US20100153421A1 (en) | Device and method for detecting packed pe file | |
CN112953948A (zh) | 一种实时网络横向蠕虫攻击流量检测方法及装置 | |
CN105488410A (zh) | 一种excel宏表病毒的检测方法及系统 | |
CN110737894A (zh) | 复合文档安全检测方法、装置、电子设备及存储介质 | |
CN108021951A (zh) | 一种文档检测的方法、服务器及计算机可读存储介质 | |
CN108418793A (zh) | 多模式的串匹配方法和装置 | |
CN104966019A (zh) | 一种启发式文档威胁检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160413 |