论文部分内容阅读
近年来,Android智能手机逐渐融入到人们的生活中。像传统手机一样,人们可以通过Android智能手机远程通信(发短信,打电话等)。与此同时,Android手机提供了更加丰富的功能。人们可以通过Android手机娱乐(打游戏、听音乐、看视频等)、网上购物等。然而,Android智能手机在给人们的生活带来便利的同时,也存在着安全问题。其中,用户的隐私泄露是一个日益突出的问题。在Android智能手机中存储着与用户息息相关的隐私信息,如接收或发送的短信,联系人的电话号码及邮箱,银行的支付密码,以及通过传感器搜集的数据等。如果用户的这些信息被窃取,可能会给用户带来严重的经济、精神损失。作为开放的移动平台,Android系统提供了沙箱机制、文件访问控制、权限机制、应用程序签名等安全机制保护用户的数据安全。用户把应用程序安装到Android手机时,系统根据开发人员的签名赋予它一个UID。在默认情况下,这个应用程序封闭在自己的一个环境中,拥有一个私有目录,不能访问设备资源和其他应用的数据。应用申请相应的权限后可以访问受保护的系统和应用程序资源。另外可以通过ContentProvider组件或者传递的Intent对象等共享数据。尽管Android系统拥有保护用户隐私的安全机制,但Android系统也存在泄漏隐私的安全隐患。一些应用程序可能利用Android系统的安全漏洞或提供的功能窃取用户的隐私数据。例如,申请访问地理信息权限的应用在用户不知情的情况下把地理位置信息通过网络发送到服务器或者应用通过ContentProvider接口窃取其他应用的通讯录信息。本文总结了Android智能手机的隐私源和隐私数据泄露的方式,隐私泄露的方式包括应用中的隐私数据泄露,应用间的隐私数据泄露,网络传输中的隐私泄露以及传感器数据造成的隐私泄露。应用中的隐私泄露是相对于应用间的隐私泄露来说的,是指一个应用实现的窃取隐私行为。应用间的隐私泄露指一个应用获取另外一个应用的数据。然后设计和实现了6类窃取用户隐私的应用,其中获取Intent对象中的隐私,访问ContentProvider及通过AIDL获得通讯录属于应用间的隐私泄露,广告库窃取隐私,监听通话及截获短信属于应用中的隐私泄露。最后,基于通过用户保护自己的隐私数据,设计了一个应用程序隔离系统。Android用户通过这个系统灵活地给应用添加颜色标记,不同颜色标记的应用划分到不同组中。系统根据一定规则决定是否允许不同组的应用通信,有效防范由于不同应用间组件通信造成的隐私数据泄露。