论文部分内容阅读
快速、准确地对恶意代码进行分类是防范恶意代码的关键之一,能够为检测、控制和清除恶意代码提供重要依据。目前,恶意代码的分类问题已经成为安全领域的研究热点之一,本文对此进行重点研究。现有的恶意代码分类方法存在不足。一是分类速度慢,无法及时处理反恶意程序公司日常所面临的海量样本,投入实际应用较少。二是扩展性差,一些方法利用反病毒软件对训练集进行分类,作为基准类别,导致这些方法无法识别未经过训练的类别。三是准确性低,其主要原因在于提取出的特征不足以反映样本的实际行为,或者所采用的分析技术自身的局限性。本文在深入分析恶意代码现有分析技术的基础上,通过对大量恶意代码进行分析,提出以样本运行行为序列为样本特征,构建恶意代码行为知识库,设计开发了恶意代码分类系统,并给出实验结果。主要完成了以下工作:1、恶意代码收集与行为分析,在此基础上设计了恶意代码自动行为分析系统。基于开源软件Zero Wine,设计了样本自动行为分析系统,生成样本行为分析报告。考虑到该软件在遇到部分加壳样本时,可能会出现分析异常的问题,在进行行为分析前,对样本进行了相应的脱壳和解密操作。2、特征提取和构建行为知识库。对样本集进行分析得到运行行为报告,提出以样本行为序列作为其特征。将所得到的样本行为信息添加到数据库,构建恶意代码行为知识库。3、基于聚类算法构建恶意代码的基准类别及其家族的原型特征,据此对恶意代码进行分类。聚类是指根据行为相似度确定恶意代码新的类别;而分类是指将恶意代码归入已知类别中。首先,对行为特征进行向量空间映射操作,将其映射到高维特征空间;其次,利用聚类算法生成基准类别,并构建家族原型特征,称之为基因码,即存在于恶意代码及其变种中的共同之处和普遍特征,用于标识恶意程序家族的信息;最后,基于家族基因码进行分类。4、引入增量分析方法,实现对家族基因码数据库进行更新,以增强系统的扩展性。某个时期生成的基因码数据库不可能适用太长时间,需要定期更新。传统的做法是将新增进来的训练样本集和以往学习过的部分或全部样本集中起来重新进行训练,产生新的基因码数据库。为避免重复学习和时空开销问题,引入增量分析方法,即对新样本进行分类后,对于未归类的新样本进行聚类分析,提取基因码并更新数据库,进而对这些样本进行分类。5、恶意代码分类系统的设计与实现。针对恶意代码家族的代码和行为具有很高相似性的特点,对相关的关键技术进行研究,设计并实现了恶意代码分类系统。6、对系统进行了准确性测试和算法对比测试。测试结果表明,该系统具有良好的准确性,达到预期结果。