CN106650426A - 一种动态提取可执行文件内存映像的方法及系统 - Google Patents

一种动态提取可执行文件内存映像的方法及系统 Download PDF

Info

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
Application number
CN201611127815.1A
Other languages
English (en)
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.)
Harbin Antiy Technology Co Ltd
Original Assignee
Harbin Antiy Technology 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 Harbin Antiy Technology Co Ltd filed Critical Harbin Antiy Technology Co Ltd
Priority to CN201611127815.1A priority Critical patent/CN106650426A/zh
Publication of CN106650426A publication Critical patent/CN106650426A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic 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所述的系统,其特征在于,对提取出来的内存映像进行消重具体为:将提取出来的内存映像计算哈希,删除哈希相同的内存映像。
CN201611127815.1A 2016-12-09 2016-12-09 一种动态提取可执行文件内存映像的方法及系统 Pending CN106650426A (zh)

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)

* Cited by examiner, † Cited by third party
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 微梦创科网络科技(中国)有限公司 恶意应用识别方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
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