自动提取恶意代码内存特征的方法和系统技术方案

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

【技术实现步骤摘要】

本专利技术涉及计算机安全技术,尤其涉及自动提取恶意代码内存特征的方法和系 统。
技术介绍
恶意代码(包括木马、蠕虫、病毒等)是信息安全领域最严重的威胁,如何 有效地发现、检测、清除、防御、遏制计算机与网络中的恶意代码,是该领域最核心的问题之一恶意代码在计算机中呈现为两种形态静态的文件,是它的宿主;动态的进程和 线程,是它的实际执行体。在检测和清除过程中,既要检测出恶意代码的宿主文件,将文件 删除,又要检测出它创建的进程和线程,将其终止。对恶意代码的检测,通常采用特征匹配的方法。使用恰当的特征进行检测,是降低 检测的误报率和漏报率、提高检测精确度的关键。对应于静态和动态两种场景的检测需求, 分别有文件特征和内存特征。根据内存特征对进程和线程进行检测,有很高的现实意义一方面,如果只是删除 了恶意代码所在文件,而进程和线程仍然在系统中运行,它所产生的危害并未消除;另一方 面,很大一部分恶意代码采用了 “加壳”等技术,来对抗文件特征检测技术,此时就需要通过 进程和线程的检测结果,反过来判断文件是否为恶意代码的宿主。在内存特征的提取方面,目前一般采用手工提取的方法。流程如下所述 步骤SlO 运行恶意代码,观察它创建了哪些进程,对每个新建进程执行步骤Sll ; 步骤Sll 使用动态调试工具,或者内存转储工具,获得该进程的内存内容,并将其转储为文件;步骤S12 使用反汇编工具,将转储的内存文件反汇编,得到它的汇编代码; 步骤S13 分析汇编代码,寻找其中恶意代码特有的攻击代码; 步骤S14:在上述特有攻击代码中,寻找一段适当长度的代码,使得其中不包含需要重 定位的部分;步骤S15 将这段代码对应的二进制数据作为该进程的待定内存特征; 步骤S16 测试待定内存特征,如果有误报或漏报,则将其抛弃,返回步骤S13重新提 取;如果没有误报和漏报,则将其作为该进程的内存特征。现有方案存在以下不足之处在监视恶意代码创建的进程和线程方面,依赖于人 工观察,难以保证监视结果的完整性,并且只能做到进程粒度,对于在已有进程中创建新线 程的恶意代码,无法监视;对汇编代码的分析,非常依赖于分析人员的经验积累,而且也需 要大量的时间;对误报和漏报的判定依赖于人工观察,有可能判断不准确。
技术实现思路
针对以上不足,本专利技术要解决的技术问题是提供一种自动提取恶意代码内存特征的方法和系统,实现自动提取恶意代码内存特征,以线程为基本处理对象,最终获得的内存 特征具有较低的误报率和极低的漏报率。为了解决上述技术问题,本专利技术提供一种自动提取恶意代码内存特征的方法,包 括步骤a、运行恶意代码并进行内存转储,对新产生的线程信息进行内存转储,生成转储 文件;步骤b、对转储文件进行关联分析并分组; 步骤C、对分组的转储文件进行特征提取与测试处理。进一步的,步骤a中,一次内存转储过程具体包括al、对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录所有线程的信 息,其中至少包括线程ID;a2、在该操作系统中运行要提取特征的恶意代码;a3、经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照 中进行搜索,找出快照中没有的新产生的线程;a4、查询该线程的入口点地址,根据该地址查询入口点所在的内存块; a5、读取该线程入口点所在的内存块,将该线程入口点所在的内存块的内容转储为二 进制文件,并记录该线程入口点在文件中的相对偏移字节数。进一步的,对所述恶意代码进行内存转储的过程至少执行两次,每次都生成一批 转储文件。进一步的,步骤b中,对转储文件进行关联分析具体为判断两个转储文件是否相 似,具体包括比较转储文件的大小是否相等,如果不相等,则不相似;比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似; 对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认 为它们相似,否则不相似。进一步的,步骤b具体包括比较同一批转储文件中的每两个转储文件的相似性,如果相似,则删除其中一个转储 文件,保留另外一个转储文件;比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组。进一步的,步骤c中,对一组转储文件进行特征提取与测试处理具体步骤包括 Cl、对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始遍历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;c2、在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描; 如果扫描到病毒,则为误报,舍弃该待定特征,转到步骤Cl取下一条待定特征;如果没有扫 描到病毒,则通过误报测试;c3、在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;如 果没有扫描到病毒,则为漏报,舍弃该待定特征,转到步骤Cl取下一条待定特征;如果扫描 到病毒,则通过漏报测试,该待定特征成为正式内存特征。进一步的,步骤c中,对每组转储文件进行特征提取与测试处理,得到所述恶意代码的所有正式内存特征。本专利技术还提供了一种自动提取恶意代码内存特征的系统,包括内存转储模块,用于运行恶意代码,对新产生的线程进行内存转储,生成转储文件;关联分析模块,用于对转储文件进行关联分析并分组;特征提取与测试模块,用于对分组的转储文件进行特征提取与测试处理。进一步的,所述内存转储模块中,进行一次内存转储处理具体包括对没有任何恶意代码运行的操作系统当前所有线程创建快照,记录下所有线程的信 息,其中至少包括线程ID;在该操作系统中运行要提取特征的恶意代码;经过预设的时间后,遍历该操作系统中的当前所有线程,对于每一个线程,在快照中进 行搜索,找出快照中没有的新产生的线程;查询该线程的入口点地址,根据该地址查询入口点所在的内存块; 读取该线程入口点所在的内存块,将该线程入口点所在内存块的内容转储为二进制文 件,并记录该线程入口点在文件中的相对偏移字节数。进一步的,对所述恶意代码进行内存转储的处理至少执行两次,每次都生成一批 转储文件。进一步的,所述关联分析模块中,对转储文件进行关联分析具体为判断转储文件 是否相似,具体包括比较转储文件的大小是否相等,如果不相等,则不相似;比较线程入口点在转储文件中的相对偏移字节数是否相等,如果不相等,则不相似; 对比转储文件的内容,如果相同内容占所有内容的百分比超过一个固定的阈值,则认 为它们相似,否则不相似。进一步的,所述关联分析模块的功能具体包括比较同一批转储文件中的,每两个转储文件的相似性,如果相似,则删除其中一个转储 文件,保留另外一个转储文件;比较所有保留的转储文件中的每两个转储文件的相似性,将相似的转储文件归为一组。进一步的,所述特征提取与测试模块中,对一组内存转储文件进行特征提取与测 试处理具体包括对于包括多个转储文件的分组,将同组转储文件互相对比,从线程入口点开始往后遍 历,直到同组所有转储文件有相同数据,取一段该相同数据,将这段数据作为待定特征;在预先配置的没有运行所述恶意代码的操作系统中,用该待定特征进行内存扫描;如 果扫描到病毒,则为误报,舍弃该待定特征,重新取下一条待定特征;如果没有扫描到病毒, 则通过误报测试;在预先配置的运行了所述恶意代码的操作系统中,用该待定特征进行内存扫描;本文档来自技高网
...

【技术保护点】
一种自动提取恶意代码内存特征的方法,其特征在于,包括:步骤a、运行恶意代码,对新产生的线程信息进行内存转储,生成转储文件;步骤b、对转储文件进行关联分析并分组;步骤c、对分组的转储文件进行特征提取与测试处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:肖梓航
申请(专利权)人:北京安天电子设备有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1