论文部分内容阅读
随着移动互联网技术的飞速发展,加之移动智能终端快速普及,移动APP在人们日常生活中扮演着越来越重要的角色。然而受限于移动智能终端的CPU计算能力,大量数据需要通过网络协议传输至远端服务器交互处理,此时使用传统网络协议的移动APP会面临更多的安全威胁。面对日益严重的安全威胁,如何快速、高效、准确的对移动APP网络协议进行缺陷检测成为移动互联网安全发展过程中亟待解决的问题。当前对于网络协议的分析工作主要针对协议的功能性进行,目的在于验证协议的设计功能是否实现,而很少关注协议的安全性。而且目前针对网络协议的缺陷检测技术还存在各种各样的问题,人工手动测试依赖于测试人员的经验且测试效率低下;传统的模糊测试技术由于其盲目或者半盲目变异字段的特点,直接应用于移动APP网络协议缺陷检测会存在测试用例命中率低的问题。本文在网络协议分析的基础上,重点研究了协议安全检测技术,将网络协议分析同缺陷检测相结合,设计并实现了一套新的移动APP网络协议缺陷检测系统。该系统主要包含网络流量捕获模块、协议分析模块、动态污点分析模块和缺陷检测模块。本文的研究成果主要包含三个方面:1)为了解决目前移动APP网络协议缺陷检测存在的诸如测试用例命中率低、未考虑多维变异的问题,本文提出了一种基于报文格式的模糊测试技术,并对其测试用例生成策略进行了优化。2)为了追踪并还原协议中某些字段的生成过程,本文引入了动态污点分析技术,对系统关键API的参数添加污点标记,通过污点传播规则对移动APP处理参数的过程进行追踪,在联网的API处进行污点检查并还原处理过程。3)利用SPIKE框架进行模糊测试,对于协议中的非关键字段进行随机变异,而对关键字段严格则按照动态污点分析得到的处理过程进行生成,实现多维变异的同时保证生成的测试用例可以通过服务器校验,提高测试用例命中率。最后,使用该系统对具体的移动APP进行了缺陷检测并发现了存在的安全缺陷,验证了系统的可行性,并与单独的SPIKE框架进行了对比实验,验证了本系统具有更高的检测效率和准确率。并且,针对移动APP常用的三类协议进行了检测,分析并总结了其缺陷特点,可以为同类APP的开发提供指导意见。