论文部分内容阅读
随着移动互联网快速发展,Android平台凭借开放性和易用性等特点,得到了日益广泛的应用,而Android应用的多样性与广泛性也使之成为影响网络安全与管理的重要因素。因而,Android应用的网络行为分析研究也成为当前移动互联网研究的热点之一。然而,由于云计算和CDN(Content Delivery Network)服务的广泛使用使得移动网络流量中IP地址或域名的任何标识无效,从而导致基于预定义端口以及统计特征的传统流量识别方法对移动网络不再适用,同时众多的Android应用基于HTTPS协议,使得利用传统机器学习方法无法进行加密流量的识别。针对以上问题,本文在深入研究Android应用网络行为特征的基础上,提出了一种基于深度学习的Android应用网络行为分类方法,该方法将Android应用网络行为分类问题转换为图像分类问题,进而利用深度学习模型实现Android应用网络行为的分类。针对深度学习方法所需要的大量训练数据生成问题,本文提出了一种Android应用网络行为测试用例生成方法,采用软件静态分析技术对Android应用的网络相关行为上下文进行分析与刻画,能够更加准确高效的获取关于应用网络行为的流量数据。论文的主要工作如下:(1)提出了一种Android应用网络行为测试用例生成方法。针对深度学习模型所需要的大量的Android应用网络流量数据,对网络相关执行路径进行分析能够更准确的获取与应用网络行为相关的上下文信息,减少非相关信息的分析工作。利用后向程序切片与符号执行技术,从网络相关系统调用出发,构建了与网络流量生成相关的Android应用网络行为上下文,并据此生成具有良好网络行为覆盖率的测试用例;在此基础上,结合自动化测试工具,可以有效获取能够准确刻画Android应用网络行为的网络数据流量。(2)提出了一种基于深度学习的Android应用网络行为分析方法。将深度学习方法应用于Android应用网络行为分类问题中,通过将应用网络行为分类问题转换为图像分类问题,利用卷积神经网络模型对图像中的网络行为特征进行自学习,实现Android应用网络行为的分类。(3)设计实现了一个基于网络行为分析的Android应用网络流量分类系统。针对Android应用网络流量分类需求,采用Android应用网络行为测试用例生成方法以及基于深度学习的Android应用网络行为分类方法,Android应用网络流量分类系统可以有效实现Android应用网络流量的识别,并具有较高的识别精度与效率。