iOS备份机制中隐私威胁问题的分析
摘 要:目前,iOS 安全研究主要在应用程序安全性检测、安全模型剖析、漏洞和数据保护机制分析等方面,对于iOS 备份机制的安全性缺乏深入系统地研究。备份是iOS 系统中惟一合法获得设备内部数据的渠道,但是备份数据缺少必要防护措施,用户数据安全和隐私受到潜在威胁。通过描述备份分析的方法,进而对备份存储数据进行深入理解,发现其存在严重隐私威胁,忽视对第三方应用程序数据信息的保护,最后评估了备份机制潜在的安全影响并给出提高备份安全性的建议。
0 引言
随着移动智能终端的日渐普及,人们开始对它的功能需求有了进一步的提高。新一代的智能移动终端除了语音通信之外,还能播放影音、浏览网页、游戏娱乐等。更重要的是,用户可以从电子市场上下载并安装第三方开发的应用程序。在所有的智能移动设备中,苹果的iPhONe 和iPad 深受用户和安全研究人员关注。这些设备的核心是其中的操作系统--iOS.
由于苹果对iOS 采取闭源不公开的政策,开发人员和用户对其安全机制了解甚少。目前安全研究人员给出了一些安全模型[1]和数据保护机制[2]的细节,但仍较难获取iOS 内部的信息。黑客社区工作者挖掘系统漏洞[3]、分析沙箱模型和数据加密[4]。
电子取证专家通常需要通过越狱来获得他们需要的信息,但越狱会改变系统原有的状态,所以他们更倾向于非入侵的方式。
虽然苹果有着严格的安全保护措施以避免数据泄漏,但它留下了一条供用户进行数据读写的通道。这就是iTunes 的同步、备份与恢复机制,其中最值得关注的就是备份。iTunes 会自动为iOS 设备创建备份,日后如需恢复到以前备份的状态则可使用此备份。备份可以进行任意的复制,用于在其他机器上进行恢复。iTunes 的备份恢复机制为用户带来了便利也产生了安全问题。通过备份,大量的数据保存到用户电脑中,对用户隐私造成威胁。然而学术界的研究集中在检测在iOS 应用程序中的隐私泄漏[5],备份机制的研究仅局限于取证分析[6-7]。文献[8-9]从iOS 备份机制着手,分析备份机制中存在的隐私泄露威胁。
1 备份分析方法
这里主要描述分析备份中隐私数据的方法。分析过程分成3 个步骤:①生成备份;②解析备份;③分析备份。过程如图1 所示。
图1 iOS 备份解析过程
1.1 生成备份
iPhone 或iPad 连接到电脑的时候,iTunes 将自动同步电脑与设备之中的数据,创建一个备份。也就是说,如果iOS 设备曾经与装有iTunes 的电脑连接过,那么备份文件已经保存在电脑中备份目录。
如果没有备份,则通过如下两种不同的方法来创建备份。第一种是使用iTunes 或者iTunes 提供的AppleMobileBackup.exe 来进行备份。iTunes 与iOS 设备之间通过苹果文件通信(AFC,Apple FileCommunicATIon)协议来进行通信。另一种创建备份的方法是使用LibimobileDevice,它是一个支持AFC 数据交互协议的C 语言库。它支持iOS 的备份功能,还支持同步,获取系统信息等功能。所以这也是一种创建备份的方法,这种方式的好处是它并不依赖于Windows,在Linux 下同样可以运行,开发者可以更自由地控制它的通信。
1.2 解析备份
iOS 备份目录名是被备份设备的惟一设备标识符(UDID,Unique Device IdenTIfication)。它由40位16 进制字符组成,如:2b6f0cc904d137be2e1730235f5664094b831186.备份目录下的文件名都通过SHA-1 哈希编码,所以无法辨别文件信息。利用备份中的Manifest.mbdb 和Manifest.mbdx 文件可以解析出备份的结构。
Manifest.mbdb 是备份的索引文件。它由一个定长的头部和若干定长的记录构成。
Manifest.mbdx 记录着文件信息,如:文件所在域、路径,哈希值,文件大小等。
1.3 分析备份
遍历经过解析后的备份目录,分析检查可疑文件。备份中大量的数据都是用iOS 原生支持的Sqlite 数据库格式保存,文中使用Sqlite DatabaseBrowser 来分析这些文件中的内容。Property List(Plist)也是iOS 支持的文件格式,它用来保存配置信息,使用Plist Editor 来读取其中的信息。
2 备份中的隐私信息
这里主要总结分析的结果,重点关 注与用户隐私相关的信息。这些信息分成两大类,系统内置信息和第三方应用程序信息。
2.1 系统内置信息
表1列举了iOS系统的内置信息。
表1 iOS 备份中的系统内置信息
通讯录。通讯录是iOS中包含信息最多也是被其他程序调用最多的一个数据库, 它储存在AddrESSBook.sqlitedb文件中,记录着用户所有联系人的信息,包括电话号码、邮箱地址和住址等。
AddressBookImages.sqlitedb记录着联系人的照片。
通话记录。通话记录保存在call_history
- 基于NIOSⅡ的液晶显示器控制研究(11-16)
- 报警器监视直流电机的转速(01-11)
- 基于NiosII的高精度数控直流稳压电源设计(11-02)
- 电能质量检测与监测分析终端设计汇总(01-28)
- 基于Nios II的CCD采集系统的设计(07-22)
- IOS,Android,WP三大智能机系统的全面比较(一)(05-26)