摘要:
随着Android应用程序市场的迅速发展,Android第三方SDK的使用也更加广泛,大量应用使用第三方SDK来提高开发效率.第三方SDK已实现各种各样的功能,并通过简单的接口提供给应用.这为应用开发提供了很大的便利,同时也对第三方SDK的安全性提出了很高的要求.但实际中,第三方SDK通常代表其开发者的利益,且没有统一的开发规范和安全管理,因此它们往往会潜在各种各样的安全问题,这将会影响大量Android应用的安全.由此可见,对Android第三方SDK漏洞检测技术的研究具有重要意义.本课题设计并实现一种基于机器学习的Android第三方SDK漏洞检测系统,目的是检测Android第三方SDK中两种常见的漏洞.本文具体研究内容和成果如下:1,对Android第三方SDK安全性进行深入研究,总结出了两种频繁出现的漏洞.然后通过研究这两种漏洞的生成原理,代码特征,攻击方式,总结出了漏洞形成的必要条件,并选取了与漏洞高度相关的特征集.2,通过对Android第三方SDK的全面分析,归纳出SDK中与安全性有关的特征,并对这些特征进行了归类整理.然后设计了合理的特征存储策略对特征数据进行规范化存储,最终建立了适用于漏洞检测的SDK基础特征库.3,训练了基于机器学习与深度学习的SDK漏洞检测模型.首先根据对特征处理技术的研究,制定了特征量化,特征选择和特征转化方式,形成了适用于机器学习模型输入的标准特征数据.然后搭建了多种分类模型,并在训练过程中完成了模型的调优和组合,最终针对每类漏洞形成了最优检测模型,并实现了漏洞检测系统.
展开