基于Android系统的隐私保护技术综述摘要:智能手机用户的隐私泄露问题日趋严重。为此研究了Android的系统框架及安全机制,包括沙盒、应用签名、权限机制。着重研究了ndroid系统中间件层的安全增强方法,列举了系统易受攻击的种类,总结了现有的隐私保护技术,包括应用程序安装时权限机制的扩展,运行时的动态权限监测以及隐私数据的保护。关键词:Android系统;隐私泄露;安全机制;隐私保护中图分类号:TP309.1文献标志码:A文章编号:1006-8228(2013)12-07-05SurveyofprivacyprotectiontechniquesbasedonAndroidBaoTongtong,ZhangKun,ChenXuan,GaoFei(CollegeofCompliterScienee且ndEngineeringinNanjingUniversityofScienceandTechnology,Nanjing,Jiangsu210094,China)Abstract:Inrecentyears,theproblemofprivacyleakofthesmartphoneusersisgettingworseandworse.Forthis,thesystemframeworkofAndroidanditssecuritymechanismsareintroduced,includingthesandboxing,applicationsigning,andpermissionmechanism.SecurityenhancementintheAndroidsyslem'smiddlewarelayerisresearched.Thetypesofsystemthatisvulnerablearelistedandtheexistingprivacyprotectiontechniquesaresummedup,includingtheextensionofpermissionsmechanismduringtheinstallationprocessofanapplication,run-tiinemonitoringofthedynamicpermissionsandtheprotectionofprivacydata.Keywords:Androidsystem;privacyleak;securitymechanisms;privacyprotectiono引言智能手机得到广泛使用以来,Android系统就备受用户和开发者的喜爱,一是因为其有种类繁多的应用程序支持,二是因为其开放式系统的开发门槛低。然而也正是低开发门槛使得Android系统的应用程序良莠不齐,其中不乏一些恶意应用程序。网秦发布的《2013±半年全球手机安全报告》[1]显示:2013年上半年查杀到的手机恶意软件共51084款,同比2012年上半年增长189%O其中,Android平台仍是恶意软件感染的重点平台,感染比例为95%o隐私窃取类病毒也呈上升趋势,占总比的19%。针对层出不穷的病毒‘Android本身提供了沙盒、权限、应用签名等安全机制,但这类粗粒度的安全机制仍存在诸多漏洞,尤其是容易遭到应用层权限提升攻击[2]。为了提高Android系统的可用性,近几年针对其安全机制的研究逐步深入,并已取得一些成果。本文在研究Android系统框架,组件模型及其原生安全机制基础上,着重研究Android中间件层的隐私保护技术,按照应用程序安装时权限机制的扩展,运行时动态权限监测,以及隐私数据保护的顺序对其进行归纳与总结o1Android系统架构及安全机制1.1系统框架Android是基于Linux内核的操作系统,大致可分为四个主要层面,自底向上分别为硬件层,Linux内核层,中间件层和应用程序层。这四层结构还可细分为五部分,如图1所示。图1Android系统框架图Linux内核----这部分是Android系统的基础核心,包括了各种硬件组件的所有设备驱动程序。库----提供Android操作系统主要功能的全部代码。例如,SQLite库提供了支持应用进行数据存储的数据库。Android运行环境----与库同处一个层面,包括了Dalvik虚拟机和一组核心库。其中,核心库可使开发人员用血眩语言来编写Android程序,Dalvik虚拟机则使得每个应用程序都在自己的进程中运行。应用框架层----是向开发人员公开Android操作系统各种功能的层面,使他们可以在应用程序中调用这些功能。应用程序层——这一层有Android设备口带的许多应用,例如电话、联系人、浏览器等,以及可以从Android应用程序商店下载安装的任何应用。通常Android应用由Activity,Service,BroadcastReceiver及ContentProvider组成。其中,Activity负责用户接口,Service实现后台进程功能,Broadcast.Receiver负责接收来自系统的广播通知,ContentProvider主耍负责管理应用间的数据分享。1.2Android应用间的通信机制Android应用间通信通常是通过中间件层提供的标准机制完成的,即基于Binder的轻量型进程间通信(Inter-ProcessCommunication,IPC)OIPC根据应用组件的颗粒度粗细以不同形式发生,由此产生的应用间通信通常被称为组件...