论文部分内容阅读
以Android为代表的现代移动操作系统在为移动应用提供稳定、高效运行环境的同时,存储、管理着相对于个人计算机更多的用户隐私数据。为获取更优质的服务,用户通常不吝啬于向应用付出隐私数据,作为数据使用方的应用也能够充分利用这些数据以提供更适合的服务,这就在用户获取服务与付出隐私之间形成一种平衡。Android生态的开放性导致应用内普遍存在第三方代码,这种第三方代码框架在提高开发者效率的同时为用户带来了一定的安全风险——可能打破服务与用户隐私之间的平衡。产生上述问题的原因在于应用本身与第三方代码隶属于不同的开发单位,应属于两个不同的访问控制主体,而系统在进行访问控制评估的过程中并没有对两者进行区分,导致第三方代码可以利用应用的权限读取用户隐私数据。在研究该问题危害和原因的基础上提出一种全新的系统安全增强方案——TPCDroid,其目的是在兼容原有应用结构与原有第三方代码框架的条件下实施针对第三方代码隐私访问请求的动态评估。TPCDroid结合系统实现利用异常栈信息细化主体粒度,可在运行时判定请求是否来自于应用本身,进一步将已知的第三方代码库包名作为策略存储于系统访问控制评估引擎中,并依此进行访问控制评估。TPCDroid设计并实现一种针对Android应用第三方代码的安全增强方案,基于Android 4.0.1实现原型系统,并进行了相关实验。实验结果进一步表明,TPCDroid方案兼容原有应用结构与原有第三方代码框架,可以有效实施针对第三方代码隐私访问请求的动态评估,保护用户隐私。与此同时,TPCDroid对系统中非隐私相关的模块无任何影响,系统整体性能相对于原生Android仅下降约2%。