开发者社区> 华章计算机> 正文

《iOS取证实战:调查、分析与移动安全》一3.3 数据存储位置

简介: 本节书摘来自华章出版社《iOS取证实战:调查、分析与移动安全》一书中的第3章,第3.3节,作者(美)Andrew Hoog Katie Strzempka,更多章节内容可以访问云栖社区“华章计算机”公众号查看
+关注继续查看

3.3 数据存储位置

iPhone拥有标准的文件目录结构,在其中存储着各种文件(参考附件C,展示了从iPhone中恢复的文件夹和文件的全列表)。iPhone硬件没有外置存储插槽,因此它所有的数据都存储在设备内部(与之对应的是,其他设备拥有外置SD卡或仿真SD卡设备)。为了显示iPhone的目录层级,我们使用第5章中提及的技术,通过Wi-Fi远程接入一个已越狱的iPhone。在一台Macintosh电脑上通过SSH连接到iPhone,以查看其文件系统进行研究分析。登录设备后可以通过“1s”命令查看目录内容。
image

审查者感兴趣的大部分数据都存储在“private/var/mobile/”路径下(在iPhone磁盘映像上,“mobile”文件夹将是已挂载映像的根目录);然而,我们也能够在其他位置找到有价值的取证证据。在Mobile文件夹中,有三个子文件夹:Applications、Library和Media。任何下载的程序都将以图3-1中所示的格式存储到Applications文件夹。每个安装的程序都有一个应用程序标识,此标识将作为程序存储的文件夹名称,且此标识在所有设备上都是一样的。

image

所有应用程序文件夹的内容通常都是一样的,包含以下一些标准的文件夹和文件:
Documents文件夹中包含特定程序的相关文件,比如plists、文本文件或图片。
Library文件夹包含缓存数据、Cookies、参数以及WebKit数据(如果程序有应用到此数据)。“参数”通常是用户登录数据的存储位置(如果此应用程序要求用户提供凭证登录)。
应用程序文件夹的数据可被提取以查看私有文件,其中包含了程序依赖代码和其他文件。
tmp文件夹在大多数的应用程序目录下是空的。
下面展示的列表是iPhone应用程序Yahoo!的目录内容,其中一些较容易理解的文件未展示(比如logos和icons)。此架构代表了标准的应用程序目录。我们先看一下最顶层的目录,可看到Documents、Library以及tmp文件夹,然后可看到Yahoo!应用程序文件夹的大致结构。其中,iTunes Artwork和iTunesMetadata.plist文件是标准文件,在所有通过iTunes App Store下载的程序目录下都可以找到它们。我们可以提取实际的应用程序文件数据,以便更详细地了解这个程序的开发情况。在这个例子中,Info.plist文件中可能包含了应用程序版本号、发布时间,或许还有用户的登录数据。不同的应用程序还会有不同的配置文件。在审查者寻找存储的应用程序数据时,普遍都会关注这个区域。

image
image

除已下载的应用程序外,更多常见的数据通常被存储在Library或Media下的特定子文件夹中。例如,短信被存储在Library>SMS路径下一个叫sms.db的文件中。对大多数数据来说,iPhone文件系统的组织结构是相当直观的。
对于一些存储在设备根目录中的文件,为了了解其中存储的数据,我们也将进行少量研究。其中一个例子是存储在设备上的GPS位置信息。许多应用程序经常询问用户是否允许它开启GPS定位功能,包括照相机和视频录像。因此,GPS数据经常可以在图片或视频文件中找到。当iOS 4.0版本发布时,iPhone文件系统的部分设计发生了变化。其中一个主要的转变与一个叫做consolidated.db的文件相关。这个数据库文件中包含了全数组的GPS数据以及经纬度坐标、时间戳、手机发射台位置、设备进行的Wi-Fi或蓝牙连接。这个数据库文件有些特殊,虽然它可能存储了一些应用程序的私有信息,但它不在应用程序私有文件夹中。关于从consolidated.db文件或其他地方恢复GPS数据的更多细节,可以在第6章中查看到。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SQL Server——SQL Server存储过程与exec简单使用
SQL Server——SQL Server存储过程与exec简单使用
8 0
Ubuntu SSH连接、远程上传下载文件
Ubuntu SSH连接、远程上传下载文件
5 0
Java内存溢出OOM使用Mat分析
Java内存溢出OOM使用Mat分析
5 0
基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.2版已发布
基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.2版已发布 。
12 0
C++中常用的std标准容器(全部容器功能介绍)
C++中常用的std标准容器(全部容器功能介绍)
7 0
从零打造一个Web地图引擎
从零打造一个Web地图引擎
7 0
SQL Server——SQL Server视图及索引技术
SQL Server——SQL Server视图及索引技术
7 0
为了实践微前端,重构了自己的导航网站
为了实践微前端,重构了自己的导航网站
6 0
Mycat实现单库水平分表、按月分表
Mycat实现单库分表,实现按月分表,实现时间戳按月分表
35 0
SQL Server——SQL Server触发器及事务和锁
SQL Server——SQL Server触发器及事务和锁
6 0
10057
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载