论文部分内容阅读
随着互联网技术的日益高速发展和移动设备运算能力的逐渐增强,下一代计算平台已逐步从传统桌面平台转向移动平台。在众多移动平台中,由Google设计的Android智能手机操作系统以其出众的开放性受到广大用户和手机厂商的青睐。Android应用程序采用应用商城模式进行发布,开发者将开发好的应用程序提交给应用商城,用户通过应用商城获取经商城验证后的第三方应用。通过与应用商城模式相结合,Android目前拥有海量的应用程序。与传统计算平台相比,移动平台拥有大量涉及用户隐私的私密信息,应用程序可以通过Android系统的接口随意地访问诸如通讯录、通话记录等私密信息。然而目前Android立用商城中的海量应用在发布之前缺少一个有效的私密信息泄露检测流程,这在一定程度上增大了用户使用第三方应用程序的安全性风险。如何保护移动平台上用户私密信息这一安全性课题受到日益关注。本文提出了一种基于静态信息流分析技术的Android应用程序私密信息泄露检测方法,并实现了一套作用于应用商城的离线检测工具LeakMiner。该分析方法直接工作于Android应用程序的分发格式,并不需要应用的源代码,因此十分适合用于辅助应用商城在应用发布时进行程序安全性检测工作。LeanMiner结合Android自身特有的安全机制以及编程模型,基于函数调用实现了对程序中私密信息的识别、跟踪和泄露检测。为了适应分析应用商城中海量应用的需求,本文提出了几种优化方式来提高LeakMiner的分析效率。本文使用LeakMiner对随机选取的200个Android应用程序进行检测,结果显示LeakMiner可以成功分析其中177个应用,每个应用平均分析时间为4.3分钟。在这之中,23个应用中存在私密信息泄露问题,占总数的13%。这一结果表明目前应用商城中具有大量的Android应用程序存在私密信息的泄漏问题。同时,通过对Android系统进行进一步分析,本文发现目前Android的日志系统存在安全性问题。在Android中,日志系统为所有应用程序所共有,每个应用程序都可以访问所有应用程序的日志,因此存在私密信息通过日志系统进行泄漏的安全隐患。此外实验结果也支持本文的这一发现,目前确实存在着大量的应用程序具有通过日志系统进行信息泄露的隐患。为了提高Android系统的安全性,本文引入日志隔离的方式对现有日志系统提出了改进方案。