摘要

对于传统的恶意程序检测方法,将机器学习算法应用在未知恶意程序的检测方法进行研究。使用单一特征的机器学习算法无法充分发挥其数据处理能力,检测效果一般。使用两视图协同训练,对于一个未知样本两个分类器预测结果相反时处理不佳。因此,在机器学习的基础上,采用一种三视图协同训练算法,三个分类器对未知样本预测有分歧时,基于"少数服从多数"的思想进行"投票"决定,具有比较理想的效果。该方法对APK软件进行逆向分析和特征提取,选取权限申请特征、API调用序列特征和Op Code特征三个非重叠子视图,针对每个子视图甄选最优算法分别生成分类器。在此基础上,采用Co-training算法思想,对三个分类器协同训练,实现了在已知样本较少的情况下,三个单独分类器检测性能的同步提升。从安卓市场下载各类良性样本4 600个,从恶意软件样本分享网站Virus Share下载最新恶意样本4 360个,按照已标记样本数量从30到120个分为10组实验,对约1 800个样本进行分类测试,实验结果表明该检测方法具有更优的效果。