您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机病毒检测技术研究进展
计算机病毒检测技术研究进展(基于多重朴素贝叶斯算法的未知病毒检测)当前的计算机病毒检测技术主要基于特征检测法,基本方法是提取已知病毒样本的特征,将其添加到病毒特征库中,在病毒检测时通过搜索病毒特征库查找是否存在相匹配的病毒特征来发现病毒。这种方法只能用于监测已知的病毒,而对新病毒的检测就无能为力了。计算机病毒检测方法基于多重朴素贝叶斯分类算法的检测方法可以实现对计算机病毒的近似判别。采用多重朴素贝叶斯分类算法对提取的可疑文件行为特征进行分析,并利用病毒程序与正常程序的行为特征的差异性进行分类,从而达到检测未知病毒的目的。计算机病毒检测方法贝叶斯推理提供推理的一种概率手段,这对于病毒的近似判定十分合适。其基石是贝叶斯公式:)1()()()|(|DphphDpDhp贝叶斯分类器应用的学习任务中,每个实例x可由属性值的合取描述,而目标函数f(x)从某有限集合V中取值。学习器被提供一系列关于目标函数的训练样本以及新实例(描述为特征向量a1,a2,...,an),然后要求预测新实例的目标值(即分类)。算法数学模型分类器在给定描述实例的属性值下计算最可能的目标值Vmap:)2(),...,2,1|(maxarganaavPVjVvmapj用贝叶斯公式重写得:)3()()|,...,2,1(maxargjjVvmapvPvanaaPVj算法数学模型朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立,故有:)4()|()|,...,2,1(ijijvaPvanaaP代入(3)式得:)5()|()(maxargijijVvNBvaPvPVj上式即是朴素贝叶斯分类器所使用的方法。算法数学模型因为上述方法的计算开销很大,我们使用多个贝叶斯分类器,对样本的特征向量分成多个子集分别计算,然后用一个多重贝叶斯算法对多个朴素贝叶斯分类器获得的结果进行综合求值:)6()(/)|()|(1NBiNBNBMNBVPFVPFVPii上式中NBi指的是朴素贝叶斯分类器,|NB|是数目,MNB代表多重联合贝叶斯分类器。PNB(V|F)和PNB(V)是给定分类的先验概率。算法数学模型经过上述修正后,计算待测样本x类别VMNB的公式为:学习中的离散目标分类函数为:f:An→V,其中V是有限集合{v1,v2,...,vn},即各不同类别集。)7())|()((maxargFVPVPVMNBMNBVvMNBj算法数学模型病毒代码在计算机系统运行过程中非法获得控制权,其本质是复制和非授权的程序加载。病毒程序与一般程序的区别在于执行了一些特殊的动作来破坏系统。(病毒可以看成是一种程序)它需要调用操作系统提供的各种功能函数才能达到传播自身和破坏系统的目的。因此,通过监视程序所调用的API函数来实现对程序的行为监控是一种有效的方法。计算机病毒检测方法所作的假设:1.计算机病毒程序运行时通过API函数与操作系统交互。2.染毒程序运行时,其传染模块均会运行,而破坏模块不一定会运行。3.可执行程序的系统调用序列在运行时可以被有效地监控。计算机病毒检测方法这里我们主要检测程序调用的API函数,采用统计学中的均方差来体现不同API函数调用的“贡献程度”。1.对所用训练库的样本进行系统调用统计,获得调用的API序列A={A1,A2,...,Ai},统计每个API在每一病毒程序Vj中出现的概率AijV及在每一正常程序Nj中出现的概率AijN。2.计算每个API函数在病毒程序中出现的概率均值:计算每个API函数在正常程序中出现的概率均值:为病毒样本数量s1)(1sjVijViAsAE为正常程序数量n1)(1njNijNiAnAE计算机病毒检测方法3.计算每个API函数的总出现频率均值:4.计算每个API函数的类间频率均方差:2)()()(NiViiAEAEAE22))()(())()(()(NiiViiAEAEAEAEAiD计算机病毒检测方法5.将所有的API函数按均方差大小排序,选出前t个组成特征集,并按程序的不同行为特点将它们分类。计算机病毒检测是一个二值分类过程,即病毒与非病毒两类。对于样本空间中的每一个样本程序x,均可以从中提取出感兴趣的一组特征集F,定义C为分类集,即{正常,病毒},令C1表示正常,C2表示病毒,它是一个随机变量。我们的目标是:在获得给定样本程序文件中的特征集F后,判别出该样本是正常程序或病毒程序的概率,即计算出P(C|F):)8()()()|()|(FPCPCFPFCP未知病毒检测因为特征向量F中又包含有分量F1,F2,...,Fn,所以上式可以写成:)9()()()|()|(11njjniiFPCPCFPFCP最后根据P(C|F)的最大值来确定F最大可能的类,即待测样本S的类别Cs为:)10())|()((maxarg1njjCCFPCPCs未知病毒检测上式方法的计算量很大,为改善性能,根据特征量的“危险度”不同,将所有的特征量分成n类,对每一类分别使用一个朴素贝叶斯分类器进行分类,最后用一个多重贝叶斯算法将n个分类器计算所得的待测样本所属类别的概率综合求值,作为样本程序分类的最终依据:)11()(/)|()|(1CPFCPFCPiiNBNBiNBMNB上式中,NBi指的是朴素贝叶斯分类器,|NB|表示个数,PNB(C|F)和PNB(C)是给定分类的先验概率。未知病毒检测经过上述修正,计算待测样本x类别Cx的公式为:)12())|()((maxargFCPCPCxMNBMNBC未知病毒检测与其他的数据挖掘算法一样,贝叶斯分类器也需产生规则集以预测新的实例类别。朴素贝叶斯发现的分类规则是基于统计方法得到的。当新的实例加入样本空间后,就可进入新一轮的学习,更新分类,如此往复。未知病毒检测(1)训练算法input:训练样本集Output:分类规则classificationrulesProcedure:1)对训练集合中全部样本的特征进行提取2)统计各特征量出现的频率3)returnclassificationrules基于多重贝叶斯分类的病毒检测算法(2)分类算法input:一个要分类的查询实例xqOutput:类别CProcedure:1)提取出特征向量2)计算:3)returnCx,式中Cx∈{正常程序,病毒程序}))|()((maxargFCPCPCxMNBMNBC基于多重贝叶斯分类的病毒检测算法(3)自学习算法input:训练集L,测试集TOutput:分类规则Procedure:while(T!=Φ){foreachxj∈T{call分类算法,对xj分类,并将其加入到样本空间的相应集合call训练算法,更新分类规则}returnclassificationrules}基于多重贝叶斯分类的病毒检测算法
本文标题:计算机病毒检测技术研究进展
链接地址:https://www.777doc.com/doc-2100339 .html