论文部分内容阅读
随着移动互联网的快速发展,移动智能终端在人们的日常生活中扮演着越来越重要的角色。由于Android系统的开源性,致使包含多种用户隐私信息的移动智能终端存在严重的隐私泄露威胁。泄露的隐私信息一旦被不法分子掌握,会给用户带来重大的损失。因此,研究如何检测Android应用不必要的隐私信息泄露对用户来说意义非凡。尽管研究界开发出了大量的基于数据流跟踪分析或者网络流跟踪分析的隐私泄露检测工具,但这些工具对于应用泄露隐私情况还是不清晰的。事实上,现有安卓应用检测工具都存在一些缺陷:一方面,数据流跟踪方法可能通过标记隐式流造成误报现象的发生,也可能通过数据流从标记的隐私泄露源传输到污点池时造成漏报现象的发生;而网络流跟踪方法不能处理加密或者自定义编码的行为。另一方面,数据流跟踪方法和网络流跟踪方法都不能判定泄漏的用户隐私是否是与应用程序实现自身功能相关,还是纯粹不必要泄漏的。为解决现有Android应用隐私泄露检测方法的弊端,论文中提出一种基于网络流量的差分分析方法来检测应用隐私信息的泄露情况,发现应用中存在不必要的隐私泄露。本文主要研究工作如下:(1)研究分析Android应用的网络行为,建立一种新的应用隐私泄露判断标准。用户的隐私信息大多是在应用运行期间通过网络接口传输到外部网络中去,通过对Android应用的网络行为分析,建立在网络层检测Android应用泄露不必要的隐私信息的判断标准,即通过对修改用户隐私信息源前后的同一条网络数据流进行差分分析,观察返回流的内容的变化,来判断是否是不必要的泄露。(2)提出了一种消除Android应用网络流量中的不确定性值影响的方法。大批量采集安卓应用隐私泄露流,利用Android Hook技术消除流中不确定值的影响,并与Hook技术产生的日志文件相结合用于处理加密或者自定义的字符串。最终将消除掉不确定值后的数据流解析成语法树格式。(3)提出了一种通过修改请求流中隐私信息进而对比返回流的差分分析检测技术。修改隐私泄露源,重复上一步骤,与修改前的流进行文本对齐以及差分分析,如果返回流有变化,说明该流传输的用户隐私与实现应用功能相关,是必要的隐私泄露;如果返回流无变化,说明该流中传输的用户隐私与实现应用功能无关,是不必要的隐私泄露。通过对市场中2500个正常应用和500个恶意应用进行检测可知,本方法比现有的隐私泄露检测工具相比,具有较准确的检测率。