CN101989322B - 自动提取恶意代码内存特征的方法和系统 - Google Patents

自动提取恶意代码内存特征的方法和系统 Download PDF

Info

Publication number
CN101989322B
CN101989322B CN2010105512703A CN201010551270A CN101989322B CN 101989322 B CN101989322 B CN 101989322B CN 2010105512703 A CN2010105512703 A CN 2010105512703A CN 201010551270 A CN201010551270 A CN 201010551270A CN 101989322 B CN101989322 B CN 101989322B
Authority
CN
China
Prior art keywords
dump
characteristic
malicious code
thread
file
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
CN2010105512703A
Other languages
English (en)
Other versions
CN101989322A (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 CN2010105512703A priority Critical patent/CN101989322B/zh
Publication of CN101989322A publication Critical patent/CN101989322A/zh
Application granted granted Critical
Publication of CN101989322B publication Critical patent/CN101989322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种自动提取恶意代码内存特征的方法,包括:运行恶意代码对新产生的线程信息进行内存转储,生成转储文件;对转储文件进行关联分析并分组;对分组的转储文件提取特征并进行测试处理;系统包括:内存转储模块,用于运行恶意代码对新产生的线程信息进行内存转储,生成转储文件;关联分析模块,用于对转储文件进行关联分析并分组;特征提取与测试模块,用于对分组的转储文件提取特征并进行测试处理。本发明整个方案都是自动化的流程,无需人工参与,以线程为基本处理对象,实现了细粒度的更精确和全面的内存特征提取,不再依赖于分析人员的经验,最终获得的内存特征具有较低的误报率和极低的漏报率。

Description

自动提取恶意代码内存特征的方法和系统
技术领域
本发明涉及计算机安全技术,尤其涉及自动提取恶意代码内存特征的方法和系统。
背景技术
[0002] 恶意代码(包括木马、蠕虫、病毒等)是信息安全领域最严重的威胁,如何有效地发现、检测、清除、防御、遏制计算机与网络中的恶意代码,是该领域最核心的问题之一。
恶意代码在计算机中呈现为两种形态:静态的文件,是它的宿主;动态的进程和线程,是它的实际执行体。在检测和清除过程中,既要检测出恶意代码的宿主文件,将文件删除,又要检测出它创建的进程和线程,将其终止。
对恶意代码的检测,通常采用特征匹配的方法。使用恰当的特征进行检测,是降低检测的误报率和漏报率、提高检测精确度的关键。对应于静态和动态两种场景的检测需求,分别有文件特征和内存特征。
根据内存特征对进程和线程进行检测,有很高的现实意义:一方面,如果只是删除了恶意代码所在文件,而进程和线程仍然在系统中运行,它所产生的危害并未消除;另一方面,很大一部分恶意代码采用了“加壳”等技术,来对抗文件特征检测技术,此时就需要通过进程和线程的检测结果,反过来判断文件是否为恶意代码的宿主。
在内存特征的提取方面,目前一般采用手工提取的方法。流程如下所述:
步骤S10:运行恶意代码,观察它创建了哪些进程,对每个新建进程执行步骤S11;
步骤S11:使用动态调试工具,或者内存转储工具,获得该进程的内存内容,并将其转储为文件;
步骤S12:使用反汇编工具,将转储的内存文件反汇编,得到它的汇编代码;
步骤S13:分析汇编代码,寻找其中恶意代码特有的攻击代码;
步骤S14:在上述特有攻击代码中,寻找一段适当长度的代码,使得其中不包含需要重定位的部分;
步骤S15:将这段代码对应的二进制数据作为该进程的待定内存特征;
步骤S16:测试待定内存特征,如果有误报或漏报,则将其抛弃,返回步骤S13重新提取;如果没有误报和漏报,则将其作为该进程的内存特征。
现有方案存在以下不足之处:在监视恶意代码创建的进程和线程方面,依赖于人工观察,难以保证监视结果的完整性,并且只能做到进程粒度,对于在已有进程中创建新线程的恶意代码,无法监视;对汇编代码的分析,非常依赖于分析人员的经验积累,而且也需要大量的时间;对误报和漏报的判定依赖于人工观察,有可能判断不准确。
发明内容
针对以上不足,本发明要解决的技术问题是提供一种自动提取恶意代码内存特征的方法和系统,实现自动提取恶意代码内存特征,以线程为基本处理对象,最终获得的内存特征具有较低的误报率和极低的漏报率。
为了解决上述技术问题,本发明提供一种自动提取恶意代码内存特征的方法,包括:
步骤a、运行恶意代码并进行内存转储,对新产生的线程信息进行内存转储,生成转储文件;
步骤b、对转储文件进行关联分析并分组;
步骤c、对分组的转储文件进行特征提取与测试处理。
进一步的,步骤a中,一次内存转储过程具体包括:
a1、对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录所有线程的信息,其中至少包括线程ID;
a2、在该操作系统中运行要提取特征的恶意代码;
a3、经过预设的时间后 ,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进行搜索,找出快照中没有的新产生的线程; 
a4、查询该线程的入口点地址,根据该地址查询入口点所在的内存块;
a5、读取该线程入口点所在的内存块,将该线程入口点所在的内存块的内容转储为二进制文件,并记录该线程入口点在文件中的相对偏移字节数。
进一步的,对所述恶意代码进行内存转储的过程至少执行两次,每次都生成一批转储文件。
进一步的,步骤b中,对转储文件进行关联分析具体为判断两个转储文件是否相似,具体包括:
比较转储文件的大小是否相等,如果不相等,则不相似;
比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似;
对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认为它们相似,否则不相似。
进一步的,步骤b具体包括:
比较同一批转储文件中的每两个转储文件的相似性,如果相似,则删除其中一个转储文件,保留另外一个转储文件;
比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组。
进一步的,步骤c中,对一组转储文件进行特征提取与测试处理具体步骤包括:
c1、对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;
c2、在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果扫描到病毒,则为误报,舍弃该待定特征,转到步骤c1取下一条待定特征;如果没有扫描到病毒,则通过误报测试;
c3、在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果没有扫描到病毒,则为漏报,舍弃该待定特征,转到步骤c1取下一条待定特征;如果扫描到病毒,则通过漏报测试,该待定特征成为正式内存特征。
进一步的,步骤c中,对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。
本发明还提供了一种自动提取恶意代码内存特征的系统,包括:
内存转储模块,用于运行恶意代码,对新产生的线程进行内存转储,生成转储文件;
关联分析模块,用于对转储文件进行关联分析并分组;
特征提取与测试模块,用于对分组的转储文件进行特征提取与测试处理。
进一步的,所述内存转储模块中,进行一次内存转储处理具体包括:
对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录下所有线程的信息,其中至少包括线程ID;
在该操作系统中运行要提取特征的恶意代码;
经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进行搜索,找出快照中没有的新产生的线程; 
查询该线程的入口点地址,根据该地址查询入口点所在的内存块;
读取该线程入口点所在的内存块,将该线程入口点所在内存块的内容转储为二进制文件,并记录该线程入口点在文件中的相对偏移字节数。
进一步的,对所述恶意代码进行内存转储的处理至少执行两次,每次都生成一批转储文件。
进一步的,所述关联分析模块中,对转储文件进行关联分析具体为判断转储文件是否相似,具体包括:
比较转储文件的大小是否相等,如果不相等,则不相似;
比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似;
对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认为它们相似,否则不相似。
进一步的,所述关联分析模块的功能具体包括:
比较同一批转储文件中的,每两个转储文件的相似性,如果相似,则删除其中一个转储文件,保留另外一个转储文件; 
比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组。
进一步的,所述特征提取与测试模块中,对一组内存转储文件进行特征提取与测试处理具体包括:
对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始往后遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;
在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果扫描到病毒,则为误报,舍弃该待定特征,重新取下一条待定特征;如果没有扫描到病毒,则通过误报测试;
在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果没有扫描到病毒,则为漏报,舍弃该待定特征,重新取下一条待定特征;如果扫描到病毒,则通过漏报测试;该待定特征成为正式内存特征。
进一步的,所述特征提取与测试模块对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。
本发明的有益效果是:
本发明可以实现完全的自动化,无需人工操作,也不依赖于病毒分析人员的专业知识和分析经验;
本发明所提取内存特征是基于线程的,有更细的粒度;当恶意代码是远程注入型木马时,可以只清除线程,而不终止其宿主进程,这样就将病毒清除工作对系统的影响降至最低;
通过转储恶意代码衍生线程的内存内容,提取的特征来自于其衍生线程入口点往后的内存内容,是其实际执行的代码,即而已代码,具有代表性;
通过多次转储与相似性判断,消除重定位产生的漏报,消除转储时系统新建线程产生的误报;并通过实际环境测试,进一步降低特征的误报率和漏报率,最终获得高质量内存特征。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明自动提取恶意代码内存特征方法的整体流程图;
图2为本发明自动提取恶意代码内存特征方法的内存转储流程图;
图3为本发明自动提取恶意代码内存特征方法的转储文件相似度判断流程图;
图4为本发明自动提取恶意代码内存特征方法的关联分析实施例流程图;
图5为本发明自动提取恶意代码内存特征方法的特征提取与测试流程图;
图6为本发明自动提取恶意代码内存特征方法的特征提取与测试实施例流程图;
图7为本发明自动提取恶意代码内存特征的系统示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提供了一种自动提取恶意代码内存特征的方法和系统,可以实现恶意代码内存特征提取的自动化流程,并且得到的内存特征具有一定的代表性、误报率低、漏报率极低,有较高的实用价值,可用于杀毒软件、计算机安全辅助软件或杀毒引擎的特征库,作为恶意代码检测和清除的判断依据。
首先介绍本发明提供的自动提取恶意代码内存特征的方法,具体实施步骤如图1所示,包括三个阶段:
S101、内存转储;运行恶意代码并进行内存转储,对新产生的线程信息进行内存转储,生成转储文件;
S102、关联分析;对转储文件进行关联分析并分组;
S103、特征提取与测试;对分组的转储文件进行特征提取与测试处理。
内存转储阶段S101中,内存转储的具体实施方式如图2所示,包括:
S201、对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录所有线程的信息,其中至少包括线程ID;
S202、在该操作系统中运行要提取特征的恶意代码;
S203、经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进行搜索,找出快照中没有的新产生的线程;
其中,等待预设时间的目的是让恶意代码完全激活、所有行为都开始执行,包括创建衍生线程;
S204、查询该线程的入口点地址,根据该地址查询入口点所在的内存块;
在Windows中,这两个操作可以通过系统提供的NtQueryInformationThread()和VirtualQueryEx()接口函数来实现;
S205、读取该线程入口点所在的内存块,将该线程入口点所在的内存块的内容转储为二进制文件,并记录该线程入口点在文件中的相对偏移字节数。
上述S201至S205为一次内存转储过程,内存转储阶段S101中对所述恶意代码进行内存转储的过程至少执行两次,每次都生成一批转储文件。
关联分析阶段S102中,对转储文件进行关联分析具体为判断两个转储文件是否相似;
相似是指认为两个转储文件从执行相同代码的线程中转储而来;例如,恶意代码开启多个线程通过相同的系统函数调用来向网络发送数据,这些线程就执行相同的代码,其转储文件是相似的;之所以是相似而不是相同,是因为重定位,即一段代码的多次运行(表现为不同的线程),内存中的内容不一定完全一致;
判断相似的具体方法如图3所示,包括:
S301、比较转储文件的大小是否相等,如果不相等,则不相似;否则执行S302;
S302、比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似;否则执行S303;
S303、对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认为它们相似,否则不相似;
在实践中,这个阈值可以使用95%,这是一个经验指导值;是则相似,否则不相似。
关联分析阶段S102具体包括:
比较同一批转储文件中的每两个转储文件的相似性,如果相似,则删除其中一个转储文件,保留另外一个转储文件;
比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组;
关联分析阶段S102的一个具体实施例如图4所示,可以划分为分两个阶段:
同一批转储文件阶段:
S401、读取同一批转储文件;
S402、两两进行相似性比较;
S403、如果相似,则认为是执行相同代码的线程,删除其中一个,留下另外一个;
S404、判断所有文件是否比较完,是则执行S205,否则执行S201;
不同批次转储文件阶段:
S405、读取不同批次转储文件;
S406、两两进行相似性比较;
S407、相似的文件归为一组;
S408、判断所有文件是否比较完,是则结束,否则执行S206。
经过步骤S401至S408,多次转储得到的二进制文件被分为不同的组,每一组中的文件是相同功能线程在多次转储中得到的,具有相同的文件大小、入口点相对偏移字节数,并有较高的相似度。
特征提取与测试阶段S103中,对一组转储文件进行特征提取与测试处理的具体实施方式如图5所示,包括:
S501、对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;
S502、在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果扫描到病毒,则为误报,舍弃该待定特征,转到步骤c1取下一条待定特征;如果没有扫描到病毒,则通过误报测试;
S503、在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果没有扫描到病毒,则为漏报,舍弃该待定特征,转到步骤c1取下一条待定特征;如果扫描到病毒,则通过漏报测试,该待定特征成为正式内存特征;
上述步骤S501至S503是对一组转储文件进行特征提取与测试处理,特征提取与测试阶段S103中对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。
下面给出特征提取与测试处理阶段S103的一个具体实施例,如图6所示,包括:
S601、取上述同组的转储文件,如果一组中只有一个文件,则跳过,不予考虑;
跳过是为了降低误报率。因为内存转储的步骤S102中,等待了一段时间,这段时间操作系统可能创建了其他与恶意代码无关的线程,也被转储了;但这样的偶然事件在多次转储中都发生的概率不大,因此如果一组中只有一个文件,就认为对应于这样的事件,应该不予考虑,以避免从系统线程中提取到特征,产生误报;
S602、在对转储文件分组时,已经确保同一组的文件有相同的大小和入口点偏移,并且有较高的相似度;从入口点偏移开始往后遍历,将同组文件互相对比,直到在某一个偏移处取得一段数据,使其在同组所有文件都完全相同;数据长度由系统要求的特征长度决定,例如128字节;将这段数据作为待定特征;
S603、在一个预先配置的没有运行该恶意代码的操作系统中,使用普通的内存扫描技术,用待定特征进行扫描;
S604、如果扫描到有病毒,则为误报,舍弃该待定特征,转入步骤S402继续取下一条待定特征;如果没有扫描到有病毒,则通过误报测试;
S605、在一个运行了该恶意代码的操作系统中,使用普通的内存扫描技术,用待定特征扫描;
S606、如果没有扫描到有病毒,则为漏报,舍弃该待定特征,转入步骤S402继续取下一条待定特征;如果扫描到有病毒,则通过漏报测试;
S607、待定特征成为该恶意代码的正式内存特征之一,将其录入病毒特征库;
S608、对该恶意代码转储的每一组文件,执行步骤S401到步骤S407,得到该恶意代码的所有正式内存特征。
其中,步骤S603到步骤S606,涉及将待定特征送入不同操作系统环境中进行内存扫描,这些工作可以通过虚拟机技术与脚本语言结合,实现自动处理,而无需手工操作。
本发明还提供了一种自动提取恶意代码内存特征的系统,如图7所示,包括:内存转储模块101,用于运行恶意代码,对新产生的线程进行内存转储,生成转储文件;
关联分析模块102,用于对转储文件进行关联分析并分组;
特征提取与测试模块103,用于对分组的转储文件进行特征提取与测试处理。
其中,内存转储模块101中,内存转储处理功能具体包括:
对没有任何恶意代码运行的操作系统当前所有线程创建快照,即记录下所有线程的信息,至少包括线程ID;
在该操作系统中运行要提取特征的恶意代码;
经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进行搜索,找出快照中没有的新产生的线程; 
查询该线程的入口点地址,根据该地址查询入口点所在的内存块;
读取该线程入口点所在的内存块,将该线程入口点所在内存块的内容转储为二进制文件,并记录该线程入口点在文件中的相对偏移字节数。
内存转储模块101对所述恶意代码进行内存转储的处理至少执行两次,每次都生成一批转储文件。
关联分析模块102中,对转储文件进行关联分析具体为判断转储文件是否相似,具体包括:
比较转储文件的大小是否相等,如果不相等,则不相似;
比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似;
对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认为它们相似,否则不相似。
关联分析模块102的功能具体包括:
比较同一批转储文件中的,每两个转储文件的相似性,如果相似,则删除其中一个转储文件,保留另外一个转储文件; 
比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组。
特征提取与测试模块103中,对一组内存转储文件进行特征提取与测试处理具体包括:
对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始往后遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;
在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果扫描到病毒,则为误报,舍弃该待定特征,重新取下一条待定特征;如果没有扫描到病毒,则通过误报测试;
在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果没有扫描到病毒,则为漏报,舍弃该待定特征,重新取下一条待定特征;如果扫描到病毒,则通过漏报测试;该待定特征成为正式内存特征。
特征提取与测试模块103对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。
通过以上具体实施方式的描述,本发明通过转储恶意代码衍生线程的内存内容,获得提取来源;通过多次转储与相似性判断,消除重定位产生的漏报,消除转储时系统新建线程产生的误报;通过从入口点偏移开始选取多次转储内容中的相同部分,获得具有代表性的待定特征;通过实际环境测试,进一步降低特征的误报率和漏报率,最终获得高质量内存特征。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种自动提取恶意代码内存特征的方法,其特征在于,包括:
步骤a、运行恶意代码,对新产生的线程信息进行内存转储,生成转储文件;所述的内存转储过程至少执行两次,每次都生成一批转储文件;
步骤b、对转储文件进行关联分析并分组,具体包括:
比较同一批转储文件中的每两个转储文件的相似性,如果相似,则删除其中一个转储文件,保留另外一个转储文件;
比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组;
步骤c、对分组的转储文件进行特征提取与测试处理。
2.如权利要求1所述的自动提取恶意代码内存特征的方法,其特征在于,步骤a的具体步骤包括:
a1、对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录所有线程的信息,其中至少包括线程ID;
a2、在该操作系统中运行恶意代码;
a3、经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进行搜索,找出快照中没有的新产生的线程; 
a4、查询该线程的入口点地址,根据该地址查询入口点所在的内存块;
a5、读取该线程入口点所在的内存块,将该线程入口点所在的内存块的内容转储为二进制文件,并记录该线程入口点在文件中的相对偏移字节数。
3.如权利要求1所述的自动提取恶意代码内存特征的方法,其特征在于:步骤b中,判断两个转储文件是否相似,具体包括:
比较转储文件的大小是否相等,如果不相等,则不相似;
比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似;
对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认为它们相似,否则不相似。
4.如权利要求1所述的自动提取恶意代码内存特征的方法,其特征在于,步骤c中,对一组转储文件进行特征提取与测试处理具体步骤包括:
c1、对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;
c2、在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果扫描到病毒,则为误报,舍弃该待定特征,转到步骤c1取下一条待定特征;如果没有扫描到病毒,则通过误报测试;
c3、在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果没有扫描到病毒,则为漏报,舍弃该待定特征,转到步骤c1取下一条待定特征;如果扫描到病毒,则通过漏报测试,该待定特征成为正式内存特征。
5.如权利要求4所述的自动提取恶意代码内存特征的方法,其特征在于,步骤c中,对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。
6.一种自动提取恶意代码内存特征的系统,其特征在于,包括:
内存转储模块,用于运行恶意代码,对新产生的线程进行内存转储,生成转储文件;所述内存转储模块对所述恶意代码进行内存转储的处理至少执行两次,每次都生成一批转储文件;
关联分析模块,用于对转储文件进行关联分析并分组,具体包括:
比较同一批转储文件中的,每两个转储文件的相似性,如果相似,则删除其中一个转储文件,保留另外一个转储文件; 
比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组;
特征提取与测试模块,用于对分组的转储文件进行特征提取与测试处理。
7.如权利要求6所述的自动提取恶意代码内存特征的系统,其特征在于,所述内存转储模块中,进行一次内存转储处理具体包括:
对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录下所有线程的信息,其中至少包括线程ID;
在该操作系统中运行要提取特征的恶意代码;
经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进行搜索,找出快照中没有的新产生的线程; 
查询该线程的入口点地址,根据该地址查询入口点所在的内存块;
读取该线程入口点所在的内存块,将该线程入口点所在内存块的内容转储为二进制文件,并记录该线程入口点在文件中的相对偏移字节数。
8.如权利要求6所述的自动提取恶意代码内存特征的系统,其特征在于,所述关联分析模块中,判断转储文件是否相似,具体包括:
比较转储文件的大小是否相等,如果不相等,则不相似;
比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似;
对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认为它们相似,否则不相似。
9.如权利要求6所述的自动提取恶意代码内存特征的系统,其特征在于,所述特征提取与测试模块中,对一组内存转储文件进行特征提取与测试处理具体包括:
对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始往后遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;
在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果扫描到病毒,则为误报,舍弃该待定特征,重新取下一条待定特征;如果没有扫描到病毒,则通过误报测试;
在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如果没有扫描到病毒,则为漏报,舍弃该待定特征,重新取下一条待定特征;如果扫描到病毒,则通过漏报测试;该待定特征成为正式内存特征。
10.如权利要求9所述的自动提取恶意代码内存特征的系统,其特征在于,所述特征提取与测试模块对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。
CN2010105512703A 2010-11-19 2010-11-19 自动提取恶意代码内存特征的方法和系统 Active CN101989322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105512703A CN101989322B (zh) 2010-11-19 2010-11-19 自动提取恶意代码内存特征的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105512703A CN101989322B (zh) 2010-11-19 2010-11-19 自动提取恶意代码内存特征的方法和系统

Publications (2)

Publication Number Publication Date
CN101989322A CN101989322A (zh) 2011-03-23
CN101989322B true CN101989322B (zh) 2012-11-21

Family

ID=43745854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105512703A Active CN101989322B (zh) 2010-11-19 2010-11-19 自动提取恶意代码内存特征的方法和系统

Country Status (1)

Country Link
CN (1) CN101989322B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286182B2 (en) * 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
CN102819697B (zh) * 2011-12-26 2015-07-22 哈尔滨安天科技股份有限公司 一种基于线程反编译的多平台恶意代码检测方法和系统
CN103294950B (zh) * 2012-11-29 2016-07-06 北京安天电子设备有限公司 一种基于反向追踪的高威窃密恶意代码检测方法及系统
CN108717509B (zh) * 2018-06-05 2020-06-23 厦门安胜网络科技有限公司 一种在沙箱中提取程序衍生物的方法、装置、设备及可读介质
CN111563000B (zh) * 2020-04-28 2023-08-18 深圳市震有软件科技有限公司 一种文件生成方法、智能终端及存储介质
CN112560018B (zh) * 2020-12-23 2023-10-31 苏州三六零智能安全科技有限公司 样本文件检测方法、装置、终端设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645119A (zh) * 2008-08-07 2010-02-10 中国科学院软件研究所 一种基于虚拟硬件环境的恶意代码自动分析方法及系统
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370360B2 (en) * 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645119A (zh) * 2008-08-07 2010-02-10 中国科学院软件研究所 一种基于虚拟硬件环境的恶意代码自动分析方法及系统
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置

Also Published As

Publication number Publication date
CN101989322A (zh) 2011-03-23

Similar Documents

Publication Publication Date Title
CN101989322B (zh) 自动提取恶意代码内存特征的方法和系统
US10705748B2 (en) Method and device for file name identification and file cleaning
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
CN110765770A (zh) 一种合同自动生成方法及装置
US11328061B2 (en) System and method of inspecting archive slices for malware
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN104700033A (zh) 病毒检测的方法及装置
CN103092664A (zh) 一种安卓系统的数据文件的处理方法和装置
CN103699585A (zh) 文件的元数据存储以及文件恢复的方法、装置和系统
CN104978521A (zh) 一种实现恶意代码标注的方法及系统
CN105205397A (zh) 恶意程序样本分类方法及装置
CN108256329B (zh) 基于动态行为的细粒度rat程序检测方法、系统及相应的apt攻击检测方法
US20220335019A1 (en) Incremental transfer of database segments
US8341538B1 (en) Systems and methods for reducing redundancies in quality-assurance reviews of graphical user interfaces
CN103714269A (zh) 病毒的识别方法及设备
US11423099B2 (en) Classification apparatus, classification method, and classification program
CN114037912A (zh) 遥感图像的变化检测方法、装置及计算机可读存储介质
CN108229168B (zh) 一种嵌套类文件的启发式检测方法、系统及存储介质
CN107844515B (zh) 数据合规检查方法及装置
CN104182479A (zh) 一种处理信息的方法及装置
CN114116811B (zh) 日志处理方法、装置、设备及存储介质
CN115795466A (zh) 一种恶意软件组织识别方法及设备
CN105844176B (zh) 安全策略生成方法及设备
CN104750846A (zh) 一种子串查找方法及装置
CN104991963B (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
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100190 Zhongguancun Haidian District street, No. 14, layer, 1 1415-16

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

Address before: 100085, 2B-521, bright city, No. 1, Nongda South Road, Beijing, Haidian District

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

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100190 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: 100190 Zhongguancun Haidian District street, No. 14, layer, 1 1415-16

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

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

Denomination of invention: Method and system for automatically extracting memory features of malicious code

Effective date of registration: 20181119

Granted publication date: 20121121

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd Harbin branch

Pledgor: Beijing ahtech network Safe Technology Ltd

Registration number: 2018990001084

Denomination of invention: Method and system for automatically extracting memory features of malicious code

Effective date of registration: 20181119

Granted publication date: 20121121

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd Harbin branch

Pledgor: Beijing ahtech network Safe Technology Ltd

Registration number: 2018990001084

PC01 Cancellation 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: 20200508

Granted publication date: 20121121

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd Harbin branch

Pledgor: BEIJING ANTIY NETWORK TECHNOLOGY Co.,Ltd.

Registration number: 2018990001084