论文部分内容阅读
近年来,随着智能手机支付方式的悄然流行,智能手机逐渐成为人们日常生活中必不可少的工具之一。然而随着智能手机与人们的连接更为紧密,其潜在的安全风险也逐渐被更多的人们所重视。同时,Google应用商城缺乏强有力的检测机制与流程,为恶意应用程序的发布与推广提供了广泛的可能。一旦这些恶意应用被用户下载并使用,就可能会给使用者带来个人隐私的泄露或者巨大的经济损失,危及用户的信息安全。因此,如何迅速而精确地对Android应用程序进行检测成为了研究的热点问题。本文针对Android应用程序的相关检测技术进行了深入的调研,分析了已有的研究进展,并从Android应用程序调用的API函数着手,采用了集成学习模型对Android应用进行检测,同时实现了一套高效的检测模型。本文主要研究成果如下:(1)根据所调用的敏感API函数,提出一种基于集成学习的Android恶意应用检测模型。通过提取Android应用程序调用的API函数,并结合互信息模型,利用机器学习算法生成一组敏感API的集合。选取前20个敏感API函数作为特征库,并以此生成20维特征向量。使用基于kNN、DT和SVM这三种基分类器的集成学习模型来有效地检测未知的Android应用程序。(2)提出一种基于动态敏感API序列的Android恶意应用检测模型。由于Android API函数在时间序列上存在着先后调用的顺序,因此本研究中选择在Xposed框架下,采用hook方法对Android APK文件在运行时所调用的API函数进行截获并记录。根据上述检测方法研究的敏感API函数集,生成20个敏感的API函数调用序列,并将其作为研究的特征库。据此生成20维特征向量并使用上面提出的集成学习模型来检测未知的Android应用程序。该方法针对之前提出的静态检测存在的不足之处进行了相应的改进,并取得了较好的检测性能。(3)从实际应用的角度出发,提出并实现了一套完整的基于动静态结合的Android恶意应用检测模型。该模型结合了上述两种检测方法并对其进行了补充,通过实验证明了检测系统的有效性。同时本文对比分析了其他Android恶意应用的检测工具和检测方法,并对未来的工作做出了展望。