论文部分内容阅读
【摘 要】随着智能手机的日益普及,智能型手机越来越广泛地被应用在各个层面。与此同时,手机病毒以惊人速度蔓延,针对智能手机等无线设备的威胁也在迅速增加,手机的安全问题越来越受到人们的重视,从手机病毒的定义可以看出手机病毒和计算机病毒有着千丝万缕的联系。文章结合智能手机自身的特点,研究了病毒技术,提出了基于程序语义的启发式智能手机病毒的检测与防治方法。也就是通过语义相关性的检查来判定程序是否属于病毒代码。
【关键词】智能手机;病毒;反病毒技术;程序语义
1.1理论基础
本文结合智能手机自身的特点,深入研究目前手机病毒的多种形式,改进一种基于程序语义的启发式智能手机病毒检测与防治方法。
与传统的反病毒技术相比该方法优点有以下几方面:
1.能够减轻病毒代码分析的工作量;
2.减少版本的升级频率;
3.采用层次化框架结构的模式库,有较好的继承性、可扩展性,使病毒的检测过程变得简单,从而提高检测效率,降低误检率;
4.在一定程度上能有效识别未知病毒。
1.2框架抽取的基本思想
框架抽取以程序的语义层为基础,采用人工智能理论方法,利用逻辑推理和程序的结构分析,将程序中动态行为分析与结构变化相结合,从而实现对高层设计决策的抽取。
1.3框架抽取的算法描述
形式化格局识别算法的推理 (Obsset,Hier)
输入一个被观测到的事件集Obsevent∈Obsset,其中第一个被观测到的事件是Obsfirs,Hier是一个格局层次结构框架;
输出由能够覆盖Obsset的Hier中实例化的部分构成一个假设Hypo。
子程序
a)ExplainObservation(Obsevent,Hier):返回一个能够解释Obsevent 的解释集ObsEventGraph。
b)AddHypo(Hypo,NedExpl):返回一个在现有的对前面事件的假想解释Hypo 中加入一个新的对某个事件的假想解释NewExpl之后,不经过合并而产生的新的对所有事件的假想解释。
c)MergeHypo(Hypo,NewExpl):返回通过合并一个新的对某个事件的假想解释NewExpl 和现有的对前面事件的假想解释Hypo而得到的假想解释集。
1.4病毒检测引擎设计
1.4.1算法设计
1.根据病毒程序的行为特征,为每个行为特征增加一个模糊权值。
2.根据专家的分析,注意分析每个行为特征的关联并设计简单的权植推理规则。
3.匹配算法中阀值D的准确取值。
阀值D的值域为[0,100]。当D取0和100时,为理想状态。即D=0时,系统处于安全状态,待检程序不含恶意程序。当D=100时,系统处于不安全状态,待检测程序含有恶意程序。
1.4.2框架抽取的算法实现
检测前根据经验为阀值D赋值,并将语义关系框架抽取系统的程序语义关系框架相似度Y值清0。
当待检测程序A语义关系框架AK中的值与病毒程序B语义关系框架BK中的值进行匹配。若匹配,则相应的值标志位置1,即m=1;若不匹配,则标志位置0,即m=0。经过匹配可以得到相匹配的集合为{m1,m2,……,mn},相应的权值为{n1,n2,……,nn},按下面的函数计算检测程序A语义关系框架AK和病毒程序B语义关系框架BK的匹配程度。
Similar()=ml*nl+m2*n2+……+mn*nn
Y=Similar();
将Y值与阀值D进行比较,若Y≥D,认为待检测程序A语义关系框架AK与病毒程序B语义关系框架BK是匹配的, 即待检测程序中含有恶意程序,反之不匹配,不含恶意程序。
1.5检测流程
首先,檢测引擎通过程序语义关系框架抽取系统获得待检测程序的语义关系框架AK,其次,与已知的病毒程序的病毒语义关系框架BK相比,计算AK与BK的匹配程度Y的值,然后,将Y值与阀值D进行比较,若Y>D,则认为AK与BK匹配,即确定待检文件含有恶意代码并报警,最后,提示用户进行下一步删除或杀毒步骤的操作。
1.6实验测试
本实验在PC的windos系统上,模拟手机环境SymbianS60进行了检测试验,开发工具:S60的SDK、JRE(Java Runtime Environment)、ActivePerl 5.6.1.638、开发语言:C++。安装顺序:Perl ==> Java (J2RE) ==> S60 SDK
测试使用了手机病毒为:
Cabir
别名:EPOC.Cabir,Worm.Symbian.Cabir.a,EPOC/Cabir.A,EPOC_CABIR.A,Symbian/Cabir目标手机:Symbian OS S60平台手机
Commwarrior.A
别名:SymbOS.Commwarrior.A ,SymbOS/Commwarrior.aSYMBOS_COMWAR.A目标手机:Symbian OS S60平台。
被检测程序63个,其中被感染的程序50个,我们设定阀值D分别为80和90。
当D=80时,查出59个程序有病毒,其中19个程序误检,45个为被感染程序。
当D=90时,查出50个程序有病毒,其中个8程序误检,46个为被感染程序。
由此得出我们的方案是一种较为有效的病毒的检测方法。该方案有效解决了智能手机自身的约束(CPU频率低、内存小、频繁升级难等),实现了不需要病毒库,不需要频繁升级,并可有效检测未知病毒的功能。
1.7本章小结
本章对基于语义的启发式智能手机病毒的检测与防治技术的理论基础、基本思想做了较为详细的介绍,在此基础上,实现了待检测程序语义关系框架的抽取和本方案检测引擎的设计。最后,完成了本方案的实验工作。
参考文献
[1]何伟,杨宗德,张兵.Symbian OS的手机开发与应用.北京:人民邮电出版社,2006.3-4
[2]傅建明,彭国军,张焕国.计算机病毒分析与对抗[M].武汉:武汉大学出版社,2004
[3]韩筱卿,王建锋,钟玮等.计算机病毒分析与防范大全[M].北京:电子工业出版社,2006
[4]毕建平.病毒与反病毒概述[J].信息技术,2002,12,36-38
[5]刘松鹏.基于网络的病毒防杀体系一智能反病毒虚拟机框架.中国优秀博硕士学位论文全文数据库,2000
[6]金晶,何昆,张世永.基于智能扫描的病毒监视器研究[J].计算机工程,1999(12),86-88 2006
[7]陈月玲,贾小珠.基于程序语义的计算机病毒检测方法.青岛大学学报,自然科学版,2007.3
【关键词】智能手机;病毒;反病毒技术;程序语义
1.1理论基础
本文结合智能手机自身的特点,深入研究目前手机病毒的多种形式,改进一种基于程序语义的启发式智能手机病毒检测与防治方法。
与传统的反病毒技术相比该方法优点有以下几方面:
1.能够减轻病毒代码分析的工作量;
2.减少版本的升级频率;
3.采用层次化框架结构的模式库,有较好的继承性、可扩展性,使病毒的检测过程变得简单,从而提高检测效率,降低误检率;
4.在一定程度上能有效识别未知病毒。
1.2框架抽取的基本思想
框架抽取以程序的语义层为基础,采用人工智能理论方法,利用逻辑推理和程序的结构分析,将程序中动态行为分析与结构变化相结合,从而实现对高层设计决策的抽取。
1.3框架抽取的算法描述
形式化格局识别算法的推理 (Obsset,Hier)
输入一个被观测到的事件集Obsevent∈Obsset,其中第一个被观测到的事件是Obsfirs,Hier是一个格局层次结构框架;
输出由能够覆盖Obsset的Hier中实例化的部分构成一个假设Hypo。
子程序
a)ExplainObservation(Obsevent,Hier):返回一个能够解释Obsevent 的解释集ObsEventGraph。
b)AddHypo(Hypo,NedExpl):返回一个在现有的对前面事件的假想解释Hypo 中加入一个新的对某个事件的假想解释NewExpl之后,不经过合并而产生的新的对所有事件的假想解释。
c)MergeHypo(Hypo,NewExpl):返回通过合并一个新的对某个事件的假想解释NewExpl 和现有的对前面事件的假想解释Hypo而得到的假想解释集。
1.4病毒检测引擎设计
1.4.1算法设计
1.根据病毒程序的行为特征,为每个行为特征增加一个模糊权值。
2.根据专家的分析,注意分析每个行为特征的关联并设计简单的权植推理规则。
3.匹配算法中阀值D的准确取值。
阀值D的值域为[0,100]。当D取0和100时,为理想状态。即D=0时,系统处于安全状态,待检程序不含恶意程序。当D=100时,系统处于不安全状态,待检测程序含有恶意程序。
1.4.2框架抽取的算法实现
检测前根据经验为阀值D赋值,并将语义关系框架抽取系统的程序语义关系框架相似度Y值清0。
当待检测程序A语义关系框架AK中的值与病毒程序B语义关系框架BK中的值进行匹配。若匹配,则相应的值标志位置1,即m=1;若不匹配,则标志位置0,即m=0。经过匹配可以得到相匹配的集合为{m1,m2,……,mn},相应的权值为{n1,n2,……,nn},按下面的函数计算检测程序A语义关系框架AK和病毒程序B语义关系框架BK的匹配程度。
Similar()=ml*nl+m2*n2+……+mn*nn
Y=Similar();
将Y值与阀值D进行比较,若Y≥D,认为待检测程序A语义关系框架AK与病毒程序B语义关系框架BK是匹配的, 即待检测程序中含有恶意程序,反之不匹配,不含恶意程序。
1.5检测流程
首先,檢测引擎通过程序语义关系框架抽取系统获得待检测程序的语义关系框架AK,其次,与已知的病毒程序的病毒语义关系框架BK相比,计算AK与BK的匹配程度Y的值,然后,将Y值与阀值D进行比较,若Y>D,则认为AK与BK匹配,即确定待检文件含有恶意代码并报警,最后,提示用户进行下一步删除或杀毒步骤的操作。
1.6实验测试
本实验在PC的windos系统上,模拟手机环境SymbianS60进行了检测试验,开发工具:S60的SDK、JRE(Java Runtime Environment)、ActivePerl 5.6.1.638、开发语言:C++。安装顺序:Perl ==> Java (J2RE) ==> S60 SDK
测试使用了手机病毒为:
Cabir
别名:EPOC.Cabir,Worm.Symbian.Cabir.a,EPOC/Cabir.A,EPOC_CABIR.A,Symbian/Cabir目标手机:Symbian OS S60平台手机
Commwarrior.A
别名:SymbOS.Commwarrior.A ,SymbOS/Commwarrior.aSYMBOS_COMWAR.A目标手机:Symbian OS S60平台。
被检测程序63个,其中被感染的程序50个,我们设定阀值D分别为80和90。
当D=80时,查出59个程序有病毒,其中19个程序误检,45个为被感染程序。
当D=90时,查出50个程序有病毒,其中个8程序误检,46个为被感染程序。
由此得出我们的方案是一种较为有效的病毒的检测方法。该方案有效解决了智能手机自身的约束(CPU频率低、内存小、频繁升级难等),实现了不需要病毒库,不需要频繁升级,并可有效检测未知病毒的功能。
1.7本章小结
本章对基于语义的启发式智能手机病毒的检测与防治技术的理论基础、基本思想做了较为详细的介绍,在此基础上,实现了待检测程序语义关系框架的抽取和本方案检测引擎的设计。最后,完成了本方案的实验工作。
参考文献
[1]何伟,杨宗德,张兵.Symbian OS的手机开发与应用.北京:人民邮电出版社,2006.3-4
[2]傅建明,彭国军,张焕国.计算机病毒分析与对抗[M].武汉:武汉大学出版社,2004
[3]韩筱卿,王建锋,钟玮等.计算机病毒分析与防范大全[M].北京:电子工业出版社,2006
[4]毕建平.病毒与反病毒概述[J].信息技术,2002,12,36-38
[5]刘松鹏.基于网络的病毒防杀体系一智能反病毒虚拟机框架.中国优秀博硕士学位论文全文数据库,2000
[6]金晶,何昆,张世永.基于智能扫描的病毒监视器研究[J].计算机工程,1999(12),86-88 2006
[7]陈月玲,贾小珠.基于程序语义的计算机病毒检测方法.青岛大学学报,自然科学版,2007.3