CN103294951B - 一种基于文档型漏洞的恶意代码样本提取方法及*** - Google Patents

一种基于文档型漏洞的恶意代码样本提取方法及*** Download PDF

Info

Publication number
CN103294951B
CN103294951B CN201210497712.XA CN201210497712A CN103294951B CN 103294951 B CN103294951 B CN 103294951B CN 201210497712 A CN201210497712 A CN 201210497712A CN 103294951 B CN103294951 B CN 103294951B
Authority
CN
China
Prior art keywords
document
shellcode
malicious code
file
code sample
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.)
Active
Application number
CN201210497712.XA
Other languages
English (en)
Other versions
CN103294951A (zh
Inventor
李伟
布宁
宋兵
刘佳男
李柏松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ahtech network Safe Technology Ltd
Original Assignee
Beijing Antiy Electronic Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Antiy Electronic Equipment Co Ltd filed Critical Beijing Antiy Electronic Equipment Co Ltd
Priority to CN201210497712.XA priority Critical patent/CN103294951B/zh
Publication of CN103294951A publication Critical patent/CN103294951A/zh
Application granted granted Critical
Publication of CN103294951B publication Critical patent/CN103294951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于文档型漏洞的恶意代码样本提取方法及***,首先,定位文档中的shellcode;并提取定位到的shellcode;然后将所述shellcode转化为PE文件;运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则,则判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则,则放弃对所述文档进行恶意代码样本提取。此方法较于传统养殖方法提取的更准确、速度更快、更方便。

Description

一种基于文档型漏洞的恶意代码样本提取方法及***
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于文档型漏洞的恶意代码样本提取方法及***。
背景技术
基于文档型漏洞的恶意代码初始并不在用户机器中,而是入侵者通过各种方式将具有漏洞的文档先植入到用户计算机中,再引导用户进行打开操作,这样通过已设置好的shellcode进行恶意代码的释放或者下载。而这些恶意代码往往经过了入侵者的层层反信息安全产品操作:加壳、反虚拟机、免杀、驱动保护、条件执行等等各种保护。最重要的问题在于入侵者往往针对要入侵的用户或网络十分了解,目的性是只窃取特定用户的信息,且进行长期潜伏,所以入侵者还会针对用户的固定信息安全产品进行单独的研究与免杀、绕过技术等处置,所以针对文档型漏洞的恶意代码查杀检测率几乎为零。
目前,信息安全厂商针对文档型漏洞的样本捕获方法,大多以养殖方式为主,即将用户机器中的海量文档在虚拟机中模拟运行,监控是否有新的样本产生,将这些新样本再进行自动化的分析,从而捕获这些高威恶意代码样本。但是存在以下几个问题:
第一、海量的文档在虚拟机中执行时,每个都要有一个运行与等待的时间,这样操作速度很慢;
第二、不同类的文档,在执行时都依赖于此文档的运行环境,所以虚拟机中的运行环境的搭建是一个耗时的过程,且运行环境未必能包括所有的文档执行环境,这样就导致于一些文档因为没有运行环境,而不能执行;
第三、捕获的样本已被入侵者层层保护设防、条件执行等,对其进行虚拟机自动化分析基本没有行为,很难对其进行是否恶意的定性。
发明内容
针对上述技术问题,本发明提供了一种基于文档型漏洞的恶意代码样本提取方法及***,该方法通过对文档中的shellcode进行定位并提取,接着将其转化为PE文件,通过运行PE文件进行恶意代码样本的提取,从而提高了速度,并且克服了养殖方式提取恶意代码样本对环境过分依赖的缺点。
本发明采用如下方法来实现:
一种基于文档型漏洞的恶意代码样本提取方法,包括:
步骤1、定位文档中的shellcode;
步骤2、提取定位到的shellcode;
步骤3、将所述shellcode转化为PE文件;
步骤4、运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则放弃对所述文档进行恶意代码样本提取。
释放文件是指恶意代码样本存在于shellcode中,只需要将其写入磁盘便是释放成功;
下载文件是指恶意代码样本在远程网络上,要对其进行下载并存储到磁盘中。
优选地,步骤1所述的定位文档中的shellcode的方法可以为:
步骤a、对文档进行已知漏洞检测,并判定是否检测到漏洞,若是,则利用所述漏洞定位文档中的shellcode,否则执行步骤b;
其中,已知漏洞检测依赖于漏洞特征,漏洞特征是经过大量的针对漏洞的分析和积累,得出的各种类型文档的不同漏洞的不同检测方法;当检测到漏洞时,则可以直接定位的shellcode的偏移地址,对shellcode进行提取并整理;
步骤b、提取所述文档的内嵌文档,若提取成功则执行步骤a,否则执行步骤c;
步骤c、对文档中的数据进行解析还原操作,并针对不同格式的数据分别进行shellcode检测,判定是否检测到shellcode,若是,则定位文档中的shellcode,否则所述文档不含有shellcode。
其中,shellcode检测依赖于shellcode特征,这些特征来源于大量的shellcode分析中提取的shellcode数据,针对这些数据再进行相应算法的特征提取。
优选地,对于提取的恶意代码样本进行养殖,进而获取所述恶意代码样本的关联恶意代码样本。
一种基于文档型漏洞的恶意代码样本提取***,包括:
定位模块,用于定位文档中的shellcode;
提取模块,用于提取定位到的shellcode;
转化模块,用于将所述shellcode转化为PE文件;
处置模块,运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则放弃对所述文档进行恶意代码样本提取。
释放文件是指恶意代码样本存在于shellcode中,只需要将其写入磁盘便是释放成功;
下载文件是指恶意代码样本在远程网络上,要对其进行下载并存储到磁盘中;
优选地,所述的定位模块可以包括以下子模块:
已知漏洞检测子模块,用于对文档进行已知漏洞检测,并判定是否检测到漏洞,若是,则利用所述漏洞定位文档中的shellcode,否则将所述文档发送至内嵌文档提取子模块;
内嵌文档提取子模块,接收发送来的文档,并提取所述文档的内嵌文档,若提取成功则将所述内嵌文档发送至已知漏洞检测子模块,否则将所述文档发送至解析还原子模块;
解析还原子模块,接收发送来的文档,并对文档中的数据进行解析还原操作,并针对不同格式的数据分别进行shellcode检测,判定是否检测到shellcode,若是,则定位文档中的shellcode,否则所述文档不含有shellcode。
优选地,还包括:养殖模块,用于对于提取的恶意代码样本进行养殖,进而获取所述恶意代码样本的关联恶意代码样本。
综上所述,本发明提供了一种基于文档型漏洞的恶意代码样本提取方法及***,通过一定方式定位文档中的shellcode,并提取定位到的shellcode,将其转化为PE文件后,运行此PE文件,查看是否存在恶意操作,针对所述的恶意操作提取恶意代码样本。通过这样的方法提取恶意代码样本,速度上有大幅提高,并且对于文档的运行环境不存在依赖性,可以更好的完成恶意代码样本提取。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于文档型漏洞的恶意代码样本提取方法流程图;
图2为本发明提供的基于文档型漏洞的恶意代码样本提取方法中定位文档中的shellcode的方法流程图;
图3为本发明提供的基于文档型漏洞的恶意代码样本提取***结构图;
图4为本发明提供的基于文档型漏洞的恶意代码样本提取***中定位模块的结构图。
具体实施方式
本发明给出了一种基于文档型漏洞的恶意代码样本提取方法及***,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:
本发明首先提供了一种基于文档型漏洞的恶意代码样本提取方法,现以EMAIL服务器文档检测***为例进行说明,在EMAIL服务器中,针对出入的邮件实时进行附件提取操作,并取出其中所有的文档文件,针对提取出的文档文件进行恶意代码样本提取,如图1所示,包括:
S101定位文档中的shellcode;
S102提取定位到的shellcode;但此时的shellcode是没有执行环境的;
S103将所述shellcode转化为PE文件;执行该操作的目的是为了使shellcode具有执行性;
S104运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则执行S105;
S105判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则放弃对所述文档进行恶意代码样本提取。
此时,可以针对判定为含有文档型漏洞的文档进行记录与阻断操作,可以直接阻断附件只发送除恶意文档以外的部分,也可直接将邮件整体阻断。
此后,还可以对获取到的恶意代码样本进行养殖操作,进而获取此高威恶意代码关联的样本文件;或者将关联的样本文件也进行养殖,获取更多更全面的恶意代码样本。
针对本发明提供的一种基于文档型漏洞的恶意代码样本的提取方法,其中提到的定位文档中的shellcode的方法,同样以EMAIL服务器为例进行说明,如图2所示:
S201对文档进行已知漏洞检测,并判定是否检测到漏洞,若是,则执行S204,否则,则执行S202;
S202提取所述文档的内嵌文档,并判定提取是否成功,若是,则执行S201,否则,则执行S203;
S203对文档中的数据进行解析还原操作,并针对不同格式的数据分别进行shellcode检测,判定是否检测到shellcode,若是,则执行S204,否则,所述文档不含有shellcode;
S204定位文档中的shellcode。
本发明提供了一种基于文档型漏洞的恶意代码样本提取***,如图3所示,包括:
定位模块301,用于定位文档中的shellcode;
提取模块302,用于提取定位到的shellcode;
转化模块303,用于将所述shellcode转化为PE文件;
处置模块304,运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则放弃对所述文档进行恶意代码样本提取。
最后,可以对于样本提取模块中提取的恶意代码样本进行养殖,进而获取所述恶意代码样本的关联恶意代码样本。
本发明提供的一种基于文档型漏洞的恶意代码样本提取***中,所述的定位模块可以包括以下子模块,如图4所示,包括:
已知漏洞检测子模块401,用于对文档进行已知漏洞检测,并判定是否检测到漏洞,若是,则利用所述漏洞定位文档中的shellcode,否则将所述文档发送至内嵌文档提取子模块402;
内嵌文档提取子模块402,接收发送来的文档,并提取所述文档的内嵌文档,若提取成功则将所述内嵌文档发送至已知漏洞检测子模块401,否则将所述文档发送至解析还原子模块403;
解析还原子模块403,接收发送来的文档,并对文档中的数据进行解析还原操作,并针对不同格式的数据分别进行shellcode检测,判定是否检测到shellcode,若是,则定位文档中的shellcode,否则所述文档不含有shellcode。
如上所述,本发明给出了一种基于文档型漏洞的恶意代码样本提取方法及***,其与传统方法的区别在于,传统提取文档型漏洞的恶意代码样本是通过养殖的方式获得的,这就导致样本的获取在一定程度上取决于文档的运行环境;而本发明提供的方法,不需要依赖文档的运行环境,可以迅速并准确的获取恶意代码样本。
以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。

Claims (6)

1.一种基于文档型漏洞的恶意代码样本提取方法,其特征在于,包括:
步骤1、定位文档中的shellcode;
步骤2、提取定位到的shellcode;
步骤3、将所述shellcode转化为PE文件;
步骤4、运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则放弃对所述文档进行恶意代码样本提取。
2.如权利要求1所述的方法,其特征在于,步骤1所述的定位文档中的shellcode的方法包括:
步骤a、对文档进行已知漏洞检测,并判定是否检测到漏洞,若是,则利用所述漏洞定位文档中的shellcode,否则执行步骤b;
步骤b、提取所述文档的内嵌文档,若提取成功则执行步骤a,否则执行步骤c;
步骤c、对文档中的数据进行解析还原操作,并针对不同格式的数据分别进行shellcode检测,判定是否检测到shellcode,若是,则定位文档中的shellcode,否则所述文档不含有shellcode。
3.如权利要求1所述的方法,其特征在于,对于提取的恶意代码样本进行养殖,进而获取所述恶意代码样本的关联恶意代码样本。
4.一种基于文档型漏洞的恶意代码样本提取***,其特征在于,包括:
定位模块,用于定位文档中的shellcode;
提取模块,用于提取定位到的shellcode;
转化模块,用于将所述shellcode转化为PE文件;
处置模块,运行所述PE文件,并判断所述PE文件是否有释放文件的行为,若是,则将释放的文件作为恶意代码样本进行提取,否则判断所述PE文件是否有下载文件的行为,若是,则将下载的文件作为恶意代码样本进行提取,否则放弃对所述文档进行恶意代码样本提取。
5.如权利要求4所述的***,其特征在于,所述的定位模块包括以下子模块:
已知漏洞检测子模块,用于对文档进行已知漏洞检测,并判定是否检测到漏洞,若是,则利用所述漏洞定位文档中的shellcode,否则将所述文档发送至内嵌文档提取子模块;
内嵌文档提取子模块,接收发送来的文档,并提取所述文档的内嵌文档,若提取成功则将所述内嵌文档发送至已知漏洞检测子模块,否则将所述文档发送至解析还原子模块;
解析还原子模块,接收发送来的文档,并对文档中的数据进行解析还原操作,并针对不同格式的数据分别进行shellcode检测,判定是否检测到shellcode,若是,则定位文档中的shellcode,否则所述文档不含有shellcode。
6.如权利要求4所述的***,其特征在于,还包括:养殖模块,用于对于提取的恶意代码样本进行养殖,进而获取所述恶意代码样本的关联恶意代码样本。
CN201210497712.XA 2012-11-29 2012-11-29 一种基于文档型漏洞的恶意代码样本提取方法及*** Active CN103294951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210497712.XA CN103294951B (zh) 2012-11-29 2012-11-29 一种基于文档型漏洞的恶意代码样本提取方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210497712.XA CN103294951B (zh) 2012-11-29 2012-11-29 一种基于文档型漏洞的恶意代码样本提取方法及***

Publications (2)

Publication Number Publication Date
CN103294951A CN103294951A (zh) 2013-09-11
CN103294951B true CN103294951B (zh) 2016-09-07

Family

ID=49095793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210497712.XA Active CN103294951B (zh) 2012-11-29 2012-11-29 一种基于文档型漏洞的恶意代码样本提取方法及***

Country Status (1)

Country Link
CN (1) CN103294951B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160381051A1 (en) * 2015-06-27 2016-12-29 Mcafee, Inc. Detection of malware
CN106874758B (zh) * 2016-08-22 2021-03-16 创新先进技术有限公司 一种识别文档代码的方法和装置
CN106372508B (zh) * 2016-08-30 2020-05-12 北京奇虎科技有限公司 恶意文档的处理方法及装置
CN109768945A (zh) * 2017-11-09 2019-05-17 国网青海省电力公司电力科学研究院 一种任意文件下载漏洞的检测装置及发现方法
CN109472142A (zh) * 2017-12-29 2019-03-15 北京安天网络安全技术有限公司 一种恶意代码自动处置方法及***
CN110717180B (zh) * 2018-07-13 2021-09-28 北京安天网络安全技术有限公司 基于自定位行为的恶意文档检测方法、***及存储介质
CN110866252A (zh) * 2018-12-21 2020-03-06 北京安天网络安全技术有限公司 一种恶意代码检测方法、装置、电子设备及存储介质
CN110348214B (zh) * 2019-07-16 2021-06-08 电子科技大学 对恶意代码检测的方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673326A (zh) * 2008-09-11 2010-03-17 北京理工大学 基于程序执行特征的网页木马检测方法
CN101820419A (zh) * 2010-03-23 2010-09-01 北京大学 一种挂马网页中网页木马挂接点自动定位方法
CN101826139A (zh) * 2009-12-30 2010-09-08 厦门市美亚柏科信息股份有限公司 一种非可执行文件挂马检测方法及其装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228563B2 (en) * 2003-02-06 2007-06-05 Symantec Corporation Shell code blocking system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673326A (zh) * 2008-09-11 2010-03-17 北京理工大学 基于程序执行特征的网页木马检测方法
CN101826139A (zh) * 2009-12-30 2010-09-08 厦门市美亚柏科信息股份有限公司 一种非可执行文件挂马检测方法及其装置
CN101820419A (zh) * 2010-03-23 2010-09-01 北京大学 一种挂马网页中网页木马挂接点自动定位方法

Also Published As

Publication number Publication date
CN103294951A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
CN103294951B (zh) 一种基于文档型漏洞的恶意代码样本提取方法及***
JP5992622B2 (ja) 悪意あるアプリケーション診断装置及び方法
KR102415971B1 (ko) 악성 모바일 앱 감지 장치 및 방법
CN104834859B (zh) 一种Android应用中恶意行为的动态检测方法
KR101554633B1 (ko) 악성 코드 검출 장치 및 그 방법
CN109753800A (zh) 融合频繁项集与随机森林算法的Android恶意应用检测方法及***
CN106295348B (zh) 应用程序的漏洞检测方法及装置
US10748185B2 (en) Method for identifying bundled software and apparatus therefor
CN106951780A (zh) 重打包恶意应用的静态检测方法和装置
CN104520871A (zh) 漏洞矢量信息分析
CN103886229B (zh) 一种提取pe文件特征的方法及装置
CN104462962B (zh) 一种检测未知恶意代码和二进制漏洞的方法
CN103607413A (zh) 一种网站后门程序检测的方法及装置
CN113158197B (zh) 一种基于主动iast的sql注入漏洞检测方法、***
JP2019514119A (ja) ハイブリッドプログラムバイナリ特徴の抽出及び比較
CN105488414A (zh) 一种防止恶意代码探测虚拟环境的方法及***
CN105631325A (zh) 一种恶意应用程序检测方法和装置
CN103886258A (zh) 一种病毒检测方法及装置
CN105975302A (zh) 一种应用安装方法及终端
CN115168847A (zh) 应用补丁生成方法、装置、计算机设备及可读存储介质
Feichtner et al. Obfuscation-resilient code recognition in Android apps
CN103390129A (zh) 检测统一资源定位符安全性的方法和装置
CN109670317B (zh) 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法
CN103095714A (zh) 一种基于木马病毒种类分类建模的木马检测方法
CN106101086A (zh) 程序文件的云检测方法及***、客户端、云端服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100080 Beijing city Haidian District minzhuang Road No. 3, Tsinghua Science Park Building 1 Yuquan Huigu a

Patentee after: Beijing ahtech network Safe Technology Ltd

Address before: 100080 Haidian District City, Zhongguancun, the main street, No. 1 Hailong building, room 1415, room 14

Patentee before: Beijing Antiy Electronic Installation Co., Ltd.

CP03 Change of name, title or address
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Malicious code sample extraction method and system based on document type bug

Effective date of registration: 20190719

Granted publication date: 20160907

Pledgee: Bank of Longjiang, Limited by Share Ltd, Harbin Limin branch

Pledgor: Beijing ahtech network Safe Technology Ltd

Registration number: 2019230000008

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210810

Granted publication date: 20160907

Pledgee: Bank of Longjiang Limited by Share Ltd. Harbin Limin branch

Pledgor: BEIJING ANTIY NETWORK TECHNOLOGY Co.,Ltd.

Registration number: 2019230000008

PC01 Cancellation of the registration of the contract for pledge of patent right