论文部分内容阅读
基于行为的软件自动分类的目的是将软件按其行为的表现特征的危害程度,将软件划分到正常软件或者恶意软件的类别中去。要实现这种分类,首先需要分析一个软件中是否存在恶意代码,并根据该软件中包含的恶意代码的类型和这些恶意代码在系统中的行为,和这些行为协同合作后对系统或者用户造成的伤害,分析出一个软件的危害程度。使用自动分类有利于对某些未知软件或者是病毒木马变种进行深层次分析,减少未知软件对用户以及系统的危害,同时对软件进行分类后的信息对用户使用未知软件时有很好的提示和指导作用。恶意代码的检测分析方法,主要有静态分析方法和动态分析方法两种。其中静态分析法又有启发式扫描分析和特征码扫描分析两种技术。考虑到恶意代码出现在无毒程序中的可能性较小、采用静态分析方法检测只研究恶意代码本身,而不考虑恶意代码的行为,较耗人力,并且对病毒木马的变种分析时容易漏报等问题,本文对恶意代码的分析使用了动态检测分析法。动态分析法,是让恶意代码在系统中自由运行,监视恶意代码的各种动作的方法。该方法通过监控恶意代码在系统中的各种动作,分析出其在执行过程中的指令特征和调用的接口,并根据恶意代码执行前后系统信息的改变来判断恶意代码的功能和意图。本文采取动态分析技术,分析了大量的不同类型的恶意软件,并提取出这些恶意软件中具有典型特性的危险行为特征,整合这些危险行为特征后建立了一个危险行为特征库。通过映射算法,可以将软件的行为映射成数字,同时本文设计了算法将这些数字转换成可用于实际训练的数据。本文将BP神经网络与信息安全领域结合,通过反复实验,设计了一个适于训练文中提取的样本类型的BP神经网络,并确定了其中各个算子和参数值。通过训练该神经网络,建立了一个判断可疑软件是否为恶意软件的行为自动分类系统。同时为了验证该系统的分类准确性,引用支持向量机的思想做了对比实验,实验结果表明该设计思路是正确的,目前该神经网络已经被成功应用于实际系统中,系统的漏报率和误报率均达到了较令人满意的水平。