论文部分内容阅读
随着移动互联网逐渐发展,移动设备己成为人们生活中重要一部分,Android平台因为其开放性和多样化等特点得以迅速发展。但与此同时,Android用户也受到越来越多的恶意应用程序的威胁。不仅仅是恶意软件,即使是应用市场中的Android应用程序也可能存在窃取用户隐私的问题。目前,针对Android软件安全性的研究逐渐深入,但是很少考虑到不同类别应用程序特征不同的问题。例如:通讯社交类的应用软件通常需要申请READ CONTACTS权限以获得用户的社交关系,但是,如果新闻阅读类软件申请该了权限,则可能存在权限肿胀的问题。正常软件如果申请了额外的权限,则有可能造成用户的隐私泄露,而普通用户很难在海量应用程序中分辨每一种应用程序申请的各类权限是否正常。本文针对现有研究的不足,考虑到不同种类的应用程序具有不同的行为,其所需要申请的权限也有所差异的问题,采用机器学习的方法对Android应用程序进行安全性检测,主要研究工作如下。1.本文分别使用逻辑回归算法和随机森林算法对Android应用程序进行分类,并分别对两种算法中不同特征的重要度进行了分析。实验仿真得到了94.9%的恶意软件检测准确率和89.2%的多分类精度。2.结合逻辑回归算法和随机森林算法的特点,提出了一种线性模型构建方法,以提高恶意软件检测准确率。本文采用不同的方案进行线性模型构建,实验仿真得到了95.0%的恶意软件检测准确率和91.4%的多分类精度。3.基于本文构建的线性检测模型,本文提出一种Android软件安全性检测模型。该模型不仅仅检测应用程序是否为恶意软件,还通过分析待检测应用程序拥有的权限特征和该应用所属类别的特征重要度,检测应用程序是否存在异常权限申请的行为,进而达到良性软件权限越权检测的目的。最后,本文设计并实现了Android软件安全性检测系统。该系统运用本文构建的模型对用户上传的APK进行检测,检测结果反馈应用程序的具体分类和可能存在的隐私泄露行为。