论文部分内容阅读
随着时代的发展,智能手机,智能家居等智能系统迅速改变着人们的生活,其中又以智能手机表现的最为突出,短短几年间,智能手机已占据绝大部分的世界手机市场。其中最具代表性的是Google公司的Android系统和Apple公司的IOS系统。Android系统是优秀的操作系统,它是基于Linux2.6内核开发的,相对于IOS系统,Android系统拥有更高的开放度,使得越來越多的终端设备厂商和开发者加入Android阵营。虽然Google公司在设计Android系统之初已经建立了一套较完善的安全体系。但是由于Android系统的开放性,使得更容易受到各种恶意软件,以及病毒的侵袭,从而给使用者带来不必要的损失。所以有必要对Android的安全体系进行分析和研究,找出其中的潜在隐患,并针对一些特定的可能引起数据问题的安全隐患提出了一些解决办法。本文主要研究内容如下:本文从Android智能手机系统的系统构成为研究出发点,首先查看了系统的相关源代码,以及一些研究文献,在此基础上接着研究了Android系统的安全机制,研究方法有查看官方提供的安全资料,学习Linux的系统安全机制等。Android安全机制的研究,包括了Android系统的所有分层,包括Linux内核层,Dalvik虚拟机层和核心库层(Core Libraries),系统框架层(Application Framework)以及应用程序层(Application)。详细的介绍了各层的主要安全机制,其中重要分析的安全机制有权限管理机制、程序沙箱机制、数字签名机制,分析研究了这些机制的原理和实现过程。在Android系统体系构成和Android系统安全体系的研究基础上,分析Android系统的安全特征和现有安全机制下可能引起的安全隐患问题。重点分析了程序沙箱机制以及权限管理机制。总体来说Android系统的安全机制在整体上是可以保证系统的安全的,但是还存在一定的隐患,例如系统漏洞的隐患,数据安全的隐患,安全机制的隐患。基于当前Android手机系统所面临的系统安全问题。首先分析了由Android权限问题引发的协同攻击隐患,以及该隐患所造成的数据泄漏问题,研究了该问题的解决方法,然后对方案进行一定的优化处理。同时根据Android的体系结构,提出了基于虚拟机层的Hook系统API的数据保护策略模型,包括数据的过滤,数据的加密处理等,其中详细描述了Hook API的理论,以及描述了Android自带的Sqlite数据库的使用方法,*.so文件的注入与JNI编程基础。最后通过Hook系统服务SmsManager类的sendText()方法进行了短信发送事件的拦截与数据处理,取得了预期的结果。该方案具有一定的创新性。