论文部分内容阅读
随着移动互联网的快速发展,使用Android设备进行互联网活动的网民数量急剧增长。Android已经成为当今市场占有率最高、最受欢迎的智能手机操作系统。Android用户可以方便地从Android应用市场中下载自己喜爱的App(Application,应用),以满足自己的工作、娱乐、学习等多方面的需求。然而,Android手机和应用在给用户提供极大便利的同时,也带来了许多安全问题,威胁着用户的个人信息安全,其中隐私泄露便是当前Android手机用户面临的最主要安全威胁之一。当前Android隐私泄露问题泛滥,不管是恶意应用还是非恶意应用,都存在隐私泄露问题,恶意应用常常以侵犯用户的隐私作为目的,为恶意应用制造者或传播者提供非法利益。非恶意应用为了实现一些特定功能或服务,也存在侵犯用户隐私的问题,而广泛存在于Android系统和Android应用中的安全漏洞更是加深了隐私泄露问题给用户造成的安全威胁。对Android隐私泄露问题的研究已经成为当前移动安全领域研究的热点。因此,本文以Android应用隐私泄露问题为中心展开研究,主要工作和创新点包括以下几个方面:(1)对现有的基于静态污点分析的Android应用隐私泄露的检测方法进行了改进,解决了现有的静态污点分析方法在处理动态加载和反射机制问题上的难题。对Android源码进行了修改,使Android系统能够对Android应用实际运行中加载的dex文件和反射调用信息进行实时存储,并利用这些信息引导Android应用的静态污点分析过程。以当前领先的静态污点分析工具FlowDroid为基础,对其进行了改进,提出了使用非反射调用语句替换反射调用语句的策略,实现了一个能够对Android动态加载和反射机制进行有效污点分析的工具——DyLoadDroid,并通过实验验证了其在处理Android动态加载和反射机制的污点分析问题上的有效性。(2)提出了新的、有效的Android应用定向行为测试工具OA3E,可以对Android应用中与隐私泄露相关的敏感行为进行自动化定向触发。针对现有的大多数GUI遍历工具仅仅追求高代码覆盖率,而不追求以最快捷有效的方式触发Android应用的特定行为的问题,提出了基于组件过滤和控件过滤的Android应用定向行为触发方法,并对现有的GUI遍历工具A3E进行了改进,实现了定向行为测试工具OA3E。OA3E以目标API调用近似代表目标程序行为,通过静态分析的方法找到抵达目标API调用所需要遍历的有效的Android组件和控件,并在动态遍历的过程中,只对有效的组件和控件进行遍历,而不对无效的组件和控件进行遍历,从而极大的节省了GUI遍历的时间,更加高效的触发Android应用的特定行为。通过对100个流行App的测试结果表明,OA3E在Android应用定向行为触发方面具有明显的优势。(3)提出和研究了Android应用普遍存在的端口开放漏洞的问题,并研究了由端口开放所导致的用户隐私泄露等问题。提出了端口开放漏洞(Port-Opening Vulnerability)的概念,研究了Android应用市场中App开放端口的普遍性,Android应用开放端口的目的和可能遭受的攻击,并揭示隐私泄露是端口开放漏洞能够导致的最大安全问题。提出了Android应用端口开放漏洞的静态检测方法,并将该方法付诸实践,实现了一个静态检测工具——APOVD(Android Port-Opening Vulnerability Detection)。APOVD首先通过可达性分析和污点分析的方法判断一个开放的网络端口是否可以导致敏感行为的发生,然后通过静态程序切片的方法判断在抵达敏感行为的程序路径上是否存在强访问控制。如果某一个开放的网络端口存在抵达敏感行为的程序路径,并且在该路径上缺少强访问控制,则该App被认为存在端口开放漏洞。通过对15600个真实的App的检测结果表明,APOVD能够有效的检测Android应用的端口开放漏洞。(4)研究了网络直播App存在的主播地理位置隐私泄露的问题。当前许多网络直播类移动应用(App)都有搜索附近的主播的功能,在某一地点搜索附近的主播时,服务器会返回附近的主播信息以及主播与当前位置的距离。我们从排名前15的直播类App中找到了7个具有这种功能的App,经过研究发现,这7个App在“附近的主播”功能实现上都存在泄露主播地理位置的漏洞。论文首先对App开发者常用的距离计算方法进行了分析和总结,然后针对各种距离计算方法提出了相应的主播位置定位方法。并从漏洞利用的简便性和高效性出发,提出了三套漏洞利用方案。通过实验验证了论文所提出的位置定位方法和漏洞利用方案的有效性。最后,论文提出了漏洞防御方案。(5)研究了中国第一大网络直播平台YY的移动应用存在的任意用户地理位置和手机号码泄露的问题,并提出了基于地理位置的手机号码破解的全新网络攻击形式。借助于YY存在的一系列安全漏洞,提出了破解任意YY用户的准确地理位置和手机号码的方法。首先,基于三点定位的方法对用户的准确地理位置进行破解,然后根据用户的地理位置推测用户的手机号码归属地,并根据三大运营商号段分配情况,构造电话号码测试集,然后使用暴力破解的方式破解用户的手机号码。对于手机号码无法直接破解成功的YY账号,论文提出了基于频道匹配和地理位置匹配的小号匹配技术进行破解。最后,通过实验验证了YY用户地理位置破解对手机号码破解的巨大作用,并给出了漏洞危害和漏洞修复建议。