摘要: 为了更好的检测安卓恶意软件以及分析其恶意行为,本文提出一种基于半监督学习的安卓恶意软件检测及其恶意行为分析的研究方案。首先收集了16179个安卓良性软件以及31964个安卓恶意软件,随后反编译安卓软件,提取了权限、服务和敏感API作为静态特征,然后使用了DroidBox动态分析工具提取了7种动态特征。虽然安卓恶意软件家族体现了安卓恶意软件的恶意行为,但不同的恶意软件家族可能具有相同的恶意行为,因此,本文对样本数据中最主要的20种恶意软件家族进行人工分析和聚类分析,确定了五种恶意行为的类别。由于本文只标注了20种恶意软件家族的恶意行为,其他恶意家族的恶意行为并未标注。为了充分利用数据,本论文提出一种名为Co-RFGBDT的半监督学习算法,其结合了随机森林和GBDT的优点。使用半监督学习Co-RFGBDT算法结合未标注的样本重新训练,整体准确率达到91.56%,但恶意行为层出不穷,因此本文通过设置置信度阈值的方式识别未知的恶意行为。最终,与基准实验相比,整体准确率提升了2%,证明了本文提出的Co-RFGBDT半监督学习算法在该场景下具有更好的性能。