论文部分内容阅读
受到免疫原理的启发,本文提出了三种基于人工免疫原理的病毒检测算法,目的是构建一个轻量级的、具有较快检测速度、较高检测率而且有一定泛化能力的病毒检测系统。
基于统计分析的方法使用了可执行文件中二进制比特串的频率特征,并模拟了免疫系统中记忆细胞的生成和抗原细胞动态更新机制;
基于距离向量的方法提出了两种新的比特串距离度量公式[1](论文"AVirus Detection System Based on Artificial.Immune System"已在CIS2009,IEEE国际会议上发表):汉明最大距离和循环移位连续距离。通过比特串的特征向量来计算文件的危险度,并对比了rbf神经网络、KNN和SVM三个分类器对文件分类的性能;
基于信息熵的方法借鉴了信息论中经典的信息熵和趋向性的定义,算法将其应用到构建探测集时对比特串的选择中,获得了更小更有效的探测器集,有很快的检测速度。待检测文件被看成是固定长度的危险度向量,使用SVM分类器进行训练和分类。试验中对不同参数对算法结果的影响做了验证,有较完备的实验结果和结论。
在实验中,将数据集划分为训练集和测试集,分别使用25%、50%和75%的训练集对算法的有效性进行验证,并对不同参数的情况进行了对比和分析,实验结果表明:
基于统计分析的方法检测结果有平均92%的正确率,具有较强的动态学习能力,消耗资源少;
基于距离向量的方法检测结果有平均97%的正确率,有一定的泛化能力;
基于信息熵的方法检测结果有平均95%的正确率,检测速度快,受参数影响小。
这三种方法相比传统的病毒检测技术,不用提取病毒特征码,消耗资源少,检测速度快,有相似或者较高的检测率,较低的虚警率,能够检测未知病毒,有一定的泛化性能,达到了预期的目的。