论文部分内容阅读
随着移动互联网的快速发展以及Android操作系统的持续更新,运行在Android系统上的应用程序也越来越复杂和庞大,使得Android手机软件开发者必须使用基于该平台的第三方库来快速构建应用程序。与此同时,随着第三方类库的快速增长以及在开发者构建应用程序中的大量使用,导致由其带来的各种安全漏洞也层出不穷,给相关应用程序带来了严重的安全隐患。本文在研究Android系统的安全机制、第三方类库的安全问题以及多种漏洞挖掘技术的基础上,提出了一种专门针对Android第三方类库漏洞挖掘的思路和方法。本文主要工作如下:(1)分层次的对Android系统的安全架构进行了阐述,研究分析了每一层上的安全问题和研究现状,然后对Android第三方库及其安全问题作了深入的研究和阐述,并分析了目前的研究现状和下一步的研究方向。最后介绍了目前安全研究领用中最常用的几种漏洞挖掘技术,并重点分析了本文所使用的Fuzzing测试技术的有效性。(2)在实现对应用程序所使用的第三方类库的检测问题上,通过对第三方类库的源码进行特征提取,然后使用哈希运算对特征集进行降维处理后,将其存储到特征库中,而后通过特征匹配来检测出该Android应用程序所使用的第三方类库。最后通过实验验证,确认该方法能够有效检测出应用程序所使用的第三方库。(3)本文在研究了Android第三方类库特征和漏洞挖掘技术的基础之上,提出了一种基于遗传算法的Fuzzing漏洞挖掘技术。在传统的Fuzzing测试基础上,首先对第三方库进行分类,总结提取出每类第三方库的共同特征和覆盖率最高的函数,而后对遗传算法进行改进,通过使用遗传算法对测试用例进行优化,提高了测试用例的有效率。本文最后,在满足有效率的基础上,为了能够更快的让程序出现异常,提出了一种利用已知漏洞类型和函数特征对测试用例进一步优化的思想,以期更快的发现漏洞。