Android应用第三方库安全性研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:d452490001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
第三方库是当前移动终端应用开发过程中广泛使用的一种代码重用方式,可有效缩短应用开发周期并降低开发成本,因此移动终端应用开发者尤其是Android应用开发者经常在其开发过程中使用各类第三方库。第三方库的广泛应用在带来便捷性的同时,也带来了诸多安全问题,由于一个第三方库可能被用于多个Android应用中,一旦第三方库出现安全问题,其带来的影响将远远大于单个恶意应用带来的影响,因此对Android应用第三方库中的安全问题进行分析与研究具有十分重要的意义。  论文针对Android应用中第三方库的安全问题展开研究,从第三方库的权限机制、通信机制和数据共享机制三个方面进行了深入分析,提出了有效的安全性分析方法,成功发现并验证了多个第三方库中的安全缺陷;在此基础上,设计了一种第三方库安全应用框架,以提供数据通信及数据共享环节的安全性保护。论文的主要贡献如下:  (1)提出了一种Android应用第三方库权限机制安全性分析方案,检测出多个第三方库中存在权限冗余和宿主应用权限滥用现象,并发现了部分第三方库所用自定义权限中存在保护级别设置不当的问题。论文首先分析了Android应用第三方库在权限使用中存在的安全问题以及现有权限分析方案的不足;针对已有权限映射表不够完善的问题,论文从Android API文档中提取精确的权限使用信息,特别是函数参数值和特殊字段值与权限之间的映射关系,以对现有的权限映射表进行补充完善;之后提出基于Dalvik寄存器的数据流分析技术,获取第三方库代码中特殊函数的函数值和特殊字段值,并基于该技术设计实现了第三方库权限分析方案PermHunter。论文使用PermHunter对多个Android应用第三方库进行了权限分析,分析结果显示,超过一半的第三方库中存在权限冗余和滥用宿主应用权限的问题,部分第三方库在自定义权限的使用中未设置合适的保护级别,可导致敏感数据泄露等后果。  (2)提出了一种Android应用推送服务通信机制安全性测试方案,检测出多个Android应用推送服务未对推送数据进行保护,无法对抗消息窃听、篡改等攻击,提出了一种推送服务安全增强方案提供对推送数据的安全性保护。论文以推送服务为代表,对Android应用第三方库的通信机制进行了安全性分析,发现共享通道设计模式下推送服务在推送数据分发环节可能面临数据窃听、篡改、伪造和重放攻击的威胁;之后,设计攻击测试方案PushAttacker对多个Android应用推送服务进行了攻击测试,测试结果表明,大部分使用共享通道设计模式的推送服务无法对抗上述攻击,为攻击者实施用户数据窃取和钓鱼攻击留下可趁之机。论文继而设计了Android应用推送服务安全增强方案SecPush,通过使用加解密运算、消息认证码和数据库操作提供推送数据的机密性、完整性、不可伪造性和抗重放攻击保护,论文实现了SecPush原型系统并对其进行了有效性和性能测试,实验结果表明,SecPush方案可在带来极小性能损耗的前提下,有效提供推送数据分发环节的安全性保护。  (3)提出了一种针对Settings机制数据共享安全问题的检测方案,检测出大量Android应用及第三方库在数据共享环节中存在的隐私数据和配置数据泄露等安全问题。论文首先分析了Android应用第三方库在使用Android系统提供的Settings机制进行数据共享时存在的安全问题,发现第三方库使用的Settings数据中包含用户隐私信息和关键配置信息等敏感数据,易被攻击者利用窃取隐私数据或干扰目标第三方库运行;论文提出Settings机制数据共享安全问题检测方案SettingsHunter,基于静态污点分析技术检测apk文件中使用的Settings数据,并在分析过程中将第三方库代码从宿主应用代码中分别出来,在提高检测效率的同时,获取已知第三方库和未知第三方库的Settings数据使用信息。论文使用SettingsHunter对上千个样本文件进行了检测,从中发现多个第三方库中存在Settings数据的不安全使用,且Android应用中Settings数据的不安全使用绝大多数来源于其中嵌入的第三方库。  (4)设计了一种Android应用第三方库安全应用框架,为第三方库之间的数据通信及数据共享提供安全性保护。论文首先分析了Android应用第三方库数据通信和数据共享环节中安全问题的产生原因,指出两个环节中由于缺乏操作执行者的身份信息,因此无法对相关操作和数据进行访问控制。在上述分析基础上,论文提出了第三方库安全应用框架LibSec,LibSec方案通过在第三方库使用模式中添加第三方库客户端应用,为数据通信和数据共享环节提供参与者的身份信息,基于参与者身份信息对数据通信功能和共享数据进行访问控制,从而阻止攻击者的攻击企图。此外,LibSec方案在Android系统中添加了数据共享服务和第三方库客户端应用管理服务,为提出的安全机制提供支持。论文介绍了LibSec方案的设计与实现,并对其进行了安全性分析,验证了LibSec方案对第三方库通信环节及数据共享环节的安全保护能力。
其他文献
超声医学是声学、医学和电子工程技术相结合,用于研究超声对人体的作用和反作用规律,并加以利用以达到医学上诊断和治疗的科学.彩色超声诊断仪是利用超声成像原理,通过超声换
随着信息技术的飞速发展和网络技术的普及应用,网络信息安全的话题越来越为人们所关注.网络信息安全是一个系统化、层次化的概念,有效的安全策略或方案的制定,则是网络信息安
随着分布式计算环境的广泛应用,分布式并行数据库系统已成为信息处理中的重要一环,它消除了传统集中式数据库的许多缺点,适合于多种体系结构。分布式并行数据库是逻辑上属于同一
实时多数据库系统可以屏蔽现在已有的各数据库系统不同的访问方法和用户界面,给用户呈现一个访问多种数据库的公共接口,从而减少了各数据库系统之间的差异,并维护信息访问的
该文对于基于语料库的自然语言句法分析技术进行了深入的研究,主要的研究工作和成果如下:1.将最新的统计学习理论和机器学习算法SVM(支持向量机)应用于大规模的自然语言处理
分组密码是一类重要的对称密码,具有速度快、易于标准化和便于软硬件实现等特点,在信息安全领域有着广泛的应用。安全性分析是评估分组密码的重要环节,传统评估分组密码针对各种
90年代以来,伴随着Internet和Intranet的迅猛普及,电子商务得到了迅速的发展.以网络为基础的电子商务给企业带来了全新的经营理念和运作方式,成为发展新经济不可缺少的支柱.
随着各类基础设施建设和资源开发的快速发展,DDA作为用于模拟岩体非连续变形行为的主流的岩土力学数值计算方法,越来越受到研究者的重视,也被越来越广泛地应用到工程实践。而面
数据挖掘(Data Mining)是涉及数据库、人工智能、统计学等学科的一门活跃的研究领域,是从数据库中识别出有效的、新颖的、潜在有用的和最终可理解的知识,并对商务决策做出重要
嵌入式系统融合了计算机软/硬件技术、通信技术和半导体微电子技术,根据应用要求,把相应的计算机直接嵌入到应用系统中.该文将详细介绍ARM7TDMI处理器的JTAG调试接口设计过程