iPhone手机对加密文件的取证研究
—、引言
智能手机的出现,打破了手机的传统意义,手机的 用途已不仅仅局限为_种通信工具,它巳经逐步取代计 算机成为了很多人的个人数字管理器。近几年, iPhone手机的市场份额增长很快,随着iPhone4的推 出,iPhone已经成为最为世人瞩目的智能手机,并可预 见其在未来的市场中将会占据更多的份额。由于 iPhone手机中包含了大量的用户信息,而这些数据往往 会给案件的侦破提供线索以及指控犯罪事实提供司法依 据,因此,目前很多的手机取证厂商都在为自己的设备 扩展支持iPhone手机的取证服务,如北京锐安科技公 司、上海盘石公司和美亚柏科公司等。但是iPhone手机 的备份文件可以通过iTunes进行加密保护,导致手机取证设备无法正常获取备份文件加密后的iPhone手机数 据。本文针对该问题,将深入研究备份文件加密后的 iPhone手机数据提取问题。
二、iPhone手机备份的用户信息
由于iPhone手机可以为用户存储大量的有用信息, 因此,如何避免这些用户资料的丢失显得尤为重要。针 对此问题,用户往往会通过iTunes的备份功能对 iPhone手机内部的数据进行备份。遇到数据丢失或者是 iphone手机系统崩溃的时候,用户就可以根据备份文件 恢复自己的手机数据。iTunes对iPhone备份中包含以下 用户信息:
通讯录(联系人及分组信息)
通话记录(已接来电、未接来电、已拨电话)
其中,扩展名为plist的文件保存了有关手机的一些 基本信息,如硬件信息、安装的Apps信息等。其中 Manifest.plist文件的作用是确保备份文件之间数据的完 整性,Kegbag就保存在Manifest.plist文件中。
參短消息(接收、已发送}
电子邮件(帐户配置信息)
• Safari (收藏夹及设置>
參多媒体(MP3音乐、MP4视频、M4i•铃声、播放 列表、iPA应用程序在PC上目录位置信息)
參照片(拍摄存放在胶卷目录中的照片将完全备 份,用户的图库只备份PC上的目录信息)
參网络配置信息(Wi-Fi、蜂窝数据网、VPN、 DaiLi服务等)
籲其它配置信息(系统自带的功能选项部分的设置 信息,如输入法和系统界面语言等设置信息^ )
攀私密数据(应用程序、系统的密码和隐私数 据。)
三、iPhone手机备份文件结构
iPhone手机数据的备份以及备份文件的加密都是通 过iTunes完成的,备份的文件一般保存在电脑[系统磁 盘]:\Documents and Settings\[用户名]\Application DataXApple Computer\MobileSync\Backup\[iPhone的 UDID],例如:
C:\Documents and Settings\Administrator\ Application DataXApple Computer\MobileSync\Backup\ de7a25b6 b48cd2ed47d2418064995ff3b3fcf4a3 备份目录下的文件结构如图1所示。
t 文料33-
Mbdb文件包含了其他备份的文件名、路径等信息。
Mbdx文件包含了文件的hash文件名。这个文件仅 在i〇S4中存在,在i〇S5中被取消,所以文件的hash名称 需要去计算。
其他没有扩展名的文件就是真正的备份文件。文件 的名称是hash名称,是文件的Domain+字符+路 径,然后经过shal计算得到。如果这些文件经过备份密 码加密,则还需要对文件的内容去解密。
四、iPhone手机加密的备份文件解密及还原
iPhone手机的备份文件被加密后由于文件的格式被 修改为加密的格式,使得调查人员无法获取和打开这些 重要的数据。因此,要想获取手机中的数据就必须要先 得到备份文件的密码。通过对备份目录下的文件进行解 析,发现Man丨fes.plist文件保存了有关手机的一些基本 信息,如硬件信息、安装的Apps信息等,更重要的是它 里面保存了一些解密需要的文件和参数。因此,对备份 文件进行破解首先需要利用Manifes.plist文件,其次, 需要结合暴力破解技术进行破解。
在使用暴力破解的过程中,首先将破解字典中的一 条记录 Passcode经 PBKDF2 ( RFC 2898,参见 )解密算法得到Passcode key, Passcode key与储存在 Manifest.plist文件中的 class key 密文经 AES Unwrap ( RFC 3394,参见 www.ietf.org/rfc/rfc3394.txt)解密算法得到class key的 明文。在AES Unwrap解密过程中,根据Manifest.plist文 件中的一些参数进行完整性检查,若检查成功(判断成 功与否的方法详见*\«\«.丨61丨.0「9/允/行03394办1),则所 述Passcode即为最终密码;若检查不成功,则对下一条 记录重复进行上述操作,直至检查成功并得到破解密 码。
以上过程已经实现了对加密备份文件密码的获取, 但这只是备份文件破解的第一步,要得到原始的备份文 件,还需要进一步的解析。因此,在获得了备份文件密 码后,需进一步对备份文件进行还原。
通常情况下iPhone手机的备份文件被加密后,文件 会表现出两个特点:一个是文件名被修改,由一串序列 号代替原始文件名;另一个是文件的内容被加密,无法 正常打开。所以,要对备份文件进行还原可以分下面三 步实现。图2是加密备份文件的还原流程图。
(1 )对文件名进行还原。由于manifes.mbdb文件 中保存了备份文件的原始文件名,因此先对原始文件名 进行SHA1计算得到一个新的文件名,再与真正的备份文 件的文件名做比对。当新的文件名与真正的备份文件名 相同时,事实上就已经建立起文件的原始名和备份后文 件名的一一对应关系,此时就可以将备份后的文件名还 原为原始的文件名。
(2)对备份文件内容进行解密。首先将已获得的 密码Passcode经PBKDF2解密算法得到Passcode key; 然后经AES Unwrap解密算法得到class key;再经AES Unwrap解密算法解密manifest.mbdb文件中的AES key密文得到AES key明文;最后通过AES key明文得到 文件的原始内容。
(3)将前两步得到的结果进行合并,就可以完成 文件的完整还原。
图2加密备份文件还原流程图
五、Kechain数据的提取
Keychain是苹果公司MAC OS中的密码管理系统。 —个钥匙可以包含多种类型的数据:密码(包括网站、 SSH账户、网络共享、无线网络,群组邮件、加密磁盘 映像等)、私钥、电子证书和加密笔记等。因此 keychain中保存了许多的账户信息,而这些信息对调查 人员也是具有重大价值的。
事实上,还原后的备份文件包含了部分keychain文 件,但这些文件是加密的,为了获得keychain数据库中 的私密信息,就必须再对这些加密的keychain文件进行 解析。
智能手机的出现,打破了手机的传统意义,手机的 用途已不仅仅局限为_种通信工具,它巳经逐步取代计 算机成为了很多人的个人数字管理器。近几年, iPhone手机的市场份额增长很快,随着iPhone4的推 出,iPhone已经成为最为世人瞩目的智能手机,并可预 见其在未来的市场中将会占据更多的份额。由于 iPhone手机中包含了大量的用户信息,而这些数据往往 会给案件的侦破提供线索以及指控犯罪事实提供司法依 据,因此,目前很多的手机取证厂商都在为自己的设备 扩展支持iPhone手机的取证服务,如北京锐安科技公 司、上海盘石公司和美亚柏科公司等。但是iPhone手机 的备份文件可以通过iTunes进行加密保护,导致手机取证设备无法正常获取备份文件加密后的iPhone手机数 据。本文针对该问题,将深入研究备份文件加密后的 iPhone手机数据提取问题。
二、iPhone手机备份的用户信息
由于iPhone手机可以为用户存储大量的有用信息, 因此,如何避免这些用户资料的丢失显得尤为重要。针 对此问题,用户往往会通过iTunes的备份功能对 iPhone手机内部的数据进行备份。遇到数据丢失或者是 iphone手机系统崩溃的时候,用户就可以根据备份文件 恢复自己的手机数据。iTunes对iPhone备份中包含以下 用户信息:
通讯录(联系人及分组信息)
通话记录(已接来电、未接来电、已拨电话)
其中,扩展名为plist的文件保存了有关手机的一些 基本信息,如硬件信息、安装的Apps信息等。其中 Manifest.plist文件的作用是确保备份文件之间数据的完 整性,Kegbag就保存在Manifest.plist文件中。
參短消息(接收、已发送}
电子邮件(帐户配置信息)
• Safari (收藏夹及设置>
參多媒体(MP3音乐、MP4视频、M4i•铃声、播放 列表、iPA应用程序在PC上目录位置信息)
參照片(拍摄存放在胶卷目录中的照片将完全备 份,用户的图库只备份PC上的目录信息)
參网络配置信息(Wi-Fi、蜂窝数据网、VPN、 DaiLi服务等)
籲其它配置信息(系统自带的功能选项部分的设置 信息,如输入法和系统界面语言等设置信息^ )
攀私密数据(应用程序、系统的密码和隐私数 据。)
三、iPhone手机备份文件结构
iPhone手机数据的备份以及备份文件的加密都是通 过iTunes完成的,备份的文件一般保存在电脑[系统磁 盘]:\Documents and Settings\[用户名]\Application DataXApple Computer\MobileSync\Backup\[iPhone的 UDID],例如:
C:\Documents and Settings\Administrator\ Application DataXApple Computer\MobileSync\Backup\ de7a25b6 b48cd2ed47d2418064995ff3b3fcf4a3 备份目录下的文件结构如图1所示。
t 文料33-
Mbdb文件包含了其他备份的文件名、路径等信息。
Mbdx文件包含了文件的hash文件名。这个文件仅 在i〇S4中存在,在i〇S5中被取消,所以文件的hash名称 需要去计算。
其他没有扩展名的文件就是真正的备份文件。文件 的名称是hash名称,是文件的Domain+字符+路 径,然后经过shal计算得到。如果这些文件经过备份密 码加密,则还需要对文件的内容去解密。
四、iPhone手机加密的备份文件解密及还原
iPhone手机的备份文件被加密后由于文件的格式被 修改为加密的格式,使得调查人员无法获取和打开这些 重要的数据。因此,要想获取手机中的数据就必须要先 得到备份文件的密码。通过对备份目录下的文件进行解 析,发现Man丨fes.plist文件保存了有关手机的一些基本 信息,如硬件信息、安装的Apps信息等,更重要的是它 里面保存了一些解密需要的文件和参数。因此,对备份 文件进行破解首先需要利用Manifes.plist文件,其次, 需要结合暴力破解技术进行破解。
在使用暴力破解的过程中,首先将破解字典中的一 条记录 Passcode经 PBKDF2 ( RFC 2898,参见 )解密算法得到Passcode key, Passcode key与储存在 Manifest.plist文件中的 class key 密文经 AES Unwrap ( RFC 3394,参见 www.ietf.org/rfc/rfc3394.txt)解密算法得到class key的 明文。在AES Unwrap解密过程中,根据Manifest.plist文 件中的一些参数进行完整性检查,若检查成功(判断成 功与否的方法详见*\«\«.丨61丨.0「9/允/行03394办1),则所 述Passcode即为最终密码;若检查不成功,则对下一条 记录重复进行上述操作,直至检查成功并得到破解密 码。
以上过程已经实现了对加密备份文件密码的获取, 但这只是备份文件破解的第一步,要得到原始的备份文 件,还需要进一步的解析。因此,在获得了备份文件密 码后,需进一步对备份文件进行还原。
通常情况下iPhone手机的备份文件被加密后,文件 会表现出两个特点:一个是文件名被修改,由一串序列 号代替原始文件名;另一个是文件的内容被加密,无法 正常打开。所以,要对备份文件进行还原可以分下面三 步实现。图2是加密备份文件的还原流程图。
(1 )对文件名进行还原。由于manifes.mbdb文件 中保存了备份文件的原始文件名,因此先对原始文件名 进行SHA1计算得到一个新的文件名,再与真正的备份文 件的文件名做比对。当新的文件名与真正的备份文件名 相同时,事实上就已经建立起文件的原始名和备份后文 件名的一一对应关系,此时就可以将备份后的文件名还 原为原始的文件名。
(2)对备份文件内容进行解密。首先将已获得的 密码Passcode经PBKDF2解密算法得到Passcode key; 然后经AES Unwrap解密算法得到class key;再经AES Unwrap解密算法解密manifest.mbdb文件中的AES key密文得到AES key明文;最后通过AES key明文得到 文件的原始内容。
(3)将前两步得到的结果进行合并,就可以完成 文件的完整还原。
图2加密备份文件还原流程图
五、Kechain数据的提取
Keychain是苹果公司MAC OS中的密码管理系统。 —个钥匙可以包含多种类型的数据:密码(包括网站、 SSH账户、网络共享、无线网络,群组邮件、加密磁盘 映像等)、私钥、电子证书和加密笔记等。因此 keychain中保存了许多的账户信息,而这些信息对调查 人员也是具有重大价值的。
事实上,还原后的备份文件包含了部分keychain文 件,但这些文件是加密的,为了获得keychain数据库中 的私密信息,就必须再对这些加密的keychain文件进行 解析。