CN106650426A - 一种动态提取可执行文件内存映像的方法及系统 - Google Patents
一种动态提取可执行文件内存映像的方法及系统 Download PDFInfo
- Publication number
- CN106650426A CN106650426A CN201611127815.1A CN201611127815A CN106650426A CN 106650426 A CN106650426 A CN 106650426A CN 201611127815 A CN201611127815 A CN 201611127815A CN 106650426 A CN106650426 A CN 106650426A
- Authority
- CN
- China
- Prior art keywords
- executable file
- memory
- memory mapping
- extracting
- mapping
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种动态提取可执行文件内存映像的方法及系统,包括:利用虚拟机加载目标可执行文件;根据预设间隔频率定时提取目标可执行文件的内存映像;对提取出来的内存映像进行消重;将消重后的所有内存映像保存并提交检测程序检测。通过本发明的方法,不会遗漏可执行文件的内存映像,解决了恶意代码按需释放真实恶意代码躲避查杀的问题。
Description
技术领域
本发明涉及计算机网络安全领域,特别涉及一种动态提取可执行文件内存映像的方法及系统。
背景技术
随着计算机技术的发展,恶意代码与反病毒程序之间的对抗逐渐升级,恶意代码利用越来越多的手段隐藏自身,通过加密变形等手段逃避反病毒程序的查杀, 使得同样一个恶意代码经过变换,在最终二进制层面可以获得海量的不同形势,导致反病毒程序通过静态特征码检测的手段遇到极大的挑战。为了对抗这种加密变形,防病毒程序可以采用一种延迟检测的手段,即等待恶意代码在内存中加载完成,将原始二进制代码完全解密释放到内存种,再从内存中将恶意代码的映像文件提取出来进行检测。但是,很多恶意代码使用了用后删除这样的手段,即将变换后代码释放到内存使用后便将其释放掉,这样传统的提取内存映像的方法就失去了作用。
同时,一部分恶意代码并不将变换后的恶意代码释放到可执行文件的内存空间内,而是将代码释放到栈空间或者后期分配的堆空间(例如使用堆喷射或栈喷射技术的shellcode)。那么传统的方法由于只提取可执行文件本身而无法获取目标进程动态分配的内存空间,就无法对这些动态分配出来的内存地址空间里面的恶意代码进行检测。
发明内容
本发明提出一种动态提取可执行文件内存映像的方法及系统,利用一种随程序运行轨迹,动态提取可执行文件内存映像的方法来解决解密变形后的恶意代码释放到动态分配的内存空间来躲避反病毒软件通过提取可执行文件内存映像来进行查杀的问题。
一种动态提取可执行文件内存映像的方法,包括:
利用虚拟机加载目标可执行文件;
根据预设间隔频率定时提取目标可执行文件的内存映像;
对提取出来的内存映像进行消重;
将消重后的所有内存映像保存并提交检测程序检测。
所述的方法中,所述预设间隔频率包括预设执行步数间隔或预设时间间隔。
所述的方法中,所述目标可执行文件的内存映像包括:目标可执行文件、进程的栈内存及动态分配的堆内存。
所述的方法中,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
一种动态提取可执行文件内存映像的系统,包括:
目标加载模块,用于利用虚拟机加载目标可执行文件;
内存映像提取模块,用于根据预设间隔频率定时提取目标可执行文件的内存映像;
消重模块,用于对提取出来的内存映像进行消重;
存储模块,用于将消重后的所有内存映像保存并提交检测程序检测。
所述的系统中,所述预设间隔频率包括预设执行步数间隔或预设时间间隔。
所述的系统中,所述目标可执行文件的内存映像包括:目标可执行文件、进程的栈内存及动态分配的堆内存。
所述的系统中,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
本发明的优势在于不会遗漏可执行文件本身内存映像之外的恶意代码,解决了恶意代码按需释放真实恶意代码躲避查杀的问题,并且通过哈希去重的方法避免了大量重复内存片段的出现,节省了资源消耗。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种动态提取可执行文件内存映像的方法流程图;
图2为本发明一种动态提取可执行文件内存映像的系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提出一种动态提取可执行文件内存映像的方法及系统,利用一种随程序运行轨迹,动态提取可执行文件内存映像的方法来解决解密变形后的恶意代码释放到动态分配的内存空间来躲避反病毒软件通过提取可执行文件内存映像来进行查杀的问题。
一种动态提取可执行文件内存映像的方法,如图1所示,包括:
S101:利用虚拟机加载目标可执行文件;所述虚拟机可以为VMWare、VirtualBox等;
S102:从程序的入口点开始,根据预设间隔频率定时提取目标可执行文件的内存映像;
S103:对提取出来的内存映像进行消重;
S104:将消重后的所有内存映像保存并提交检测程序检测。
所述的方法中,所述预设间隔频率包括预设执行步数间隔或预设时间间隔。
所述的方法中,所述目标可执行文件的内存映像包括:目标可执行文件、进程的栈内存及动态分配的堆内存。
所述的方法中,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
本发明还提出一种动态提取可执行文件内存映像的系统,如图2所示,包括:
目标加载模块201,用于利用虚拟机加载目标可执行文件;
内存映像提取模块202,用于根据预设间隔频率定时提取目标可执行文件的内存映像;
消重模块203,用于对提取出来的内存映像进行消重;
存储模块204,用于将消重后的所有内存映像保存并提交检测程序检测。
所述的系统中,所述预设间隔频率包括预设执行步数间隔或预设时间间隔。
所述的系统中,所述目标可执行文件的内存映像包括:目标可执行文件、进程的栈内存及动态分配的堆内存。
所述的系统中,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
本发明的优势在于不会遗漏可执行文件本身内存映像之外的恶意代码,解决了恶意代码按需释放真实恶意代码躲避查杀的问题,并且通过哈希去重的方法避免了大量重复内存片段的出现,节省了资源消耗。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (8)
1.一种动态提取可执行文件内存映像的方法,其特征在于,包括:
利用虚拟机加载目标可执行文件;
根据预设间隔频率定时提取目标可执行文件的内存映像;
对提取出来的内存映像进行消重;
将消重后的所有内存映像保存并提交检测程序检测。
2.如权利要求1所述的方法,其特征在于,所述预设间隔频率包括预设执行步数间隔或预设时间间隔。
3.如权利要求1所述的方法,其特征在于,所述目标可执行文件的内存映像包括:目标可执行文件、进程的栈内存及动态分配的堆内存。
4.如权利要求1所述的方法,其特征在于,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
5.一种动态提取可执行文件内存映像的系统,其特征在于,包括:
目标加载模块,用于利用虚拟机加载目标可执行文件;
内存映像提取模块,用于根据预设间隔频率定时提取目标可执行文件的内存映像;
消重模块,用于对提取出来的内存映像进行消重;
存储模块,用于将消重后的所有内存映像保存并提交检测程序检测。
6.如权利要求5所述的系统,其特征在于,所述预设间隔频率包括预设执行步数间隔或预设时间间隔。
7.如权利要求5所述的系统,其特征在于,所述目标可执行文件的内存映像包括:目标可执行文件、进程的栈内存及动态分配的堆内存。
8.如权利要求5所述的系统,其特征在于,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611127815.1A CN106650426A (zh) | 2016-12-09 | 2016-12-09 | 一种动态提取可执行文件内存映像的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611127815.1A CN106650426A (zh) | 2016-12-09 | 2016-12-09 | 一种动态提取可执行文件内存映像的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106650426A true CN106650426A (zh) | 2017-05-10 |
Family
ID=58825810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611127815.1A Pending CN106650426A (zh) | 2016-12-09 | 2016-12-09 | 一种动态提取可执行文件内存映像的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106650426A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108562A1 (en) * | 2003-06-18 | 2005-05-19 | Khazan Roger I. | Technique for detecting executable malicious code using a combination of static and dynamic analyses |
CN102750475A (zh) * | 2012-06-07 | 2012-10-24 | 中国电子科技集团公司第三十研究所 | 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统 |
CN103761475A (zh) * | 2013-12-30 | 2014-04-30 | 北京奇虎科技有限公司 | 检测智能终端中恶意代码的方法及装置 |
CN103824018A (zh) * | 2012-11-19 | 2014-05-28 | 腾讯科技(深圳)有限公司 | 一种可执行文件处理方法以及可执行文件监控方法 |
CN104252596A (zh) * | 2013-06-28 | 2014-12-31 | 贝壳网际(北京)安全技术有限公司 | 一种脚本病毒的监控方法及装置 |
CN106022130A (zh) * | 2016-05-20 | 2016-10-12 | 中国科学院信息工程研究所 | 加固应用程序的脱壳方法及装置 |
CN106130959A (zh) * | 2016-06-12 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 恶意应用识别方法及装置 |
-
2016
- 2016-12-09 CN CN201611127815.1A patent/CN106650426A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108562A1 (en) * | 2003-06-18 | 2005-05-19 | Khazan Roger I. | Technique for detecting executable malicious code using a combination of static and dynamic analyses |
CN102750475A (zh) * | 2012-06-07 | 2012-10-24 | 中国电子科技集团公司第三十研究所 | 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统 |
CN103824018A (zh) * | 2012-11-19 | 2014-05-28 | 腾讯科技(深圳)有限公司 | 一种可执行文件处理方法以及可执行文件监控方法 |
CN104252596A (zh) * | 2013-06-28 | 2014-12-31 | 贝壳网际(北京)安全技术有限公司 | 一种脚本病毒的监控方法及装置 |
CN103761475A (zh) * | 2013-12-30 | 2014-04-30 | 北京奇虎科技有限公司 | 检测智能终端中恶意代码的方法及装置 |
CN106022130A (zh) * | 2016-05-20 | 2016-10-12 | 中国科学院信息工程研究所 | 加固应用程序的脱壳方法及装置 |
CN106130959A (zh) * | 2016-06-12 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 恶意应用识别方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030311B1 (en) | Detecting and protecting against computing breaches based on lateral movement of a computer file within an enterprise | |
US10165001B2 (en) | Method and device for processing computer viruses | |
WO2018086544A1 (zh) | 安全防护方法及安全防护装置、计算机存储介质 | |
US10243977B1 (en) | Automatically detecting a malicious file using name mangling strings | |
CN105184118A (zh) | 一种基于代码碎片化的Android应用程序加壳保护方法及装置 | |
CN111262701A (zh) | 一种重放攻击检测方法、系统、设备及存储介质 | |
JP2013532328A5 (zh) | ||
EP2998902B1 (en) | Method and apparatus for processing file | |
WO2023178857A1 (zh) | 一种面向深度嵌入式系统的函数地址空间布局随机化方法 | |
CN106415577B (zh) | 用于识别可疑事件来源的系统和方法 | |
CN107808096A (zh) | 检测apk运行时被注入恶意代码的方法、终端设备及存储介质 | |
US8306988B1 (en) | System, method, and computer program product for segmenting a database based, at least in part, on a prevalence associated with known objects included in the database | |
CN103268449A (zh) | 一种手机恶意代码的高速检测方法和系统 | |
CN102208002A (zh) | 一种新型计算机病毒查杀装置 | |
CN103235912A (zh) | 可信进程识别装置和可信进程识别方法 | |
CN107577943B (zh) | 基于机器学习的样本预测方法、装置及服务器 | |
US20220092201A1 (en) | Authentication of files | |
CN108229168B (zh) | 一种嵌套类文件的启发式检测方法、系统及存储介质 | |
CN109472135B (zh) | 一种检测进程注入的方法、装置及存储介质 | |
GB201215647D0 (en) | Secure data scanning method and system | |
CN106650426A (zh) | 一种动态提取可执行文件内存映像的方法及系统 | |
MY193465A (en) | Method, terminal and storage medium for starting software | |
GB2582460A (en) | Dynamic re-composition of patch groups using stream clustering | |
CN105491002A (zh) | 一种高级威胁追溯的方法及系统 | |
CN104008336B (zh) | 一种ShellCode检测方法和装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 150028 Building 7, Innovation Plaza, Science and Technology Innovation City, Harbin High-tech Industrial Development Zone, Heilongjiang Province (838 Shikun Road) Applicant after: Harbin antiy Technology Group Limited by Share Ltd Address before: 506 room 162, Hongqi Avenue, Nangang District, Harbin Development Zone, Heilongjiang, 150090 Applicant before: Harbin Antiy Technology Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |