【APFS格式】对电子数据取证的意义

640?

来源:盘石软件PANSAFE(ID:Pansafe)

作者:郑文鑫


APFS,即Apple File System的简称,是苹果公司为替代之前所使用的HFS+文件系统所发布的目前为止最新文件系统。 

APFS文件系统最重要的改进在于三点:

1. 为SSD而设计。

2. 原生支持加密。

3. 安全性(断电保护)加强。 

一、APFS概述 

苹果文件系统发展历史

扫描二维码关注公众号,回复: 1896990 查看本文章

早在1984年,第一代Macintosh发布后,System 1.0时代,苹果就发布了自家独有文件系统——MFS(Macintosh File System)文件系统,但没过多久,苹果发现 Mac 用户生成的文件数量和复杂程度都在与日俱增,于是在 1985 年推出了 HFS 文件系统,这也成为今后几十年 Mac 文件系统的基础。1998年,苹果在 HFS 的基础上,升级出了 HFS+(又称 OS X Extended)文件系统。但由于推出之时市面上仍以软盘和HDD作为主要存储设备,所以HFS+基本没有为目前流行的闪存和SSD作优化。HFS+在应付现代硬件和软件都已经力不从心,HFS+文件系统存在元数据以大字节序保存、单线程访问、不支持稀疏文件、写时复制等等一大堆缺点。于是,2016年6月14日,苹果公司在WWDC上正式宣布了全新的文件格式——Apple File System(简称APFS)。 

APFS目前支持的系统平台

  • iOS 10.3及以上版本的iPhone和iPad

  •  搭载macOS 10.13(High Sierra)及以上的Mac电脑

  • 一些从早期的版本升级到macOS 10.13的使用SSD的Mac电脑——设备将自动从HFS+转换为APFS文件格式

  • 其他设备(Apple TV,Apple Watch等) 

二、APFS 带来的改变

基于闪存的 SSD 存储已在目前在售的 Mac 和 iOS 设备上被广泛使用。相对于机械硬盘,SSD 没有可移动的磁头,可以即时访问到硬盘内的任何一处,所以不再需要担心「磁盘碎片」带来的性能下降。但同等价位下, SSD 容量无法与传统机械硬盘相抗争,所以需要尽可能节省空间。APFS 对 SSD 做出了大量针对性的技术创新,改变了传统的”复制”和”备份”的概念。 

文件克隆(Clones)/复制无需占用额外空间

传统模式下,复制一个文件意味着要花费额外的等量空间来存储第二份文件。但在 APFS 系统下,”复制”只会创造一个新的标记,并未占用更多空间,如果修改其中一个文件,APFS 会保留相同的部分,只存储发生变化的部分。复制的时间会变得极短,也更加节省电力。这意味着,你将一个大小为 1MB 的文件复制 10 次,在以前的 HFS+ 中,系统会存储 10 个不同的备份,共占用 10MB 硬盘空间。而在 APFS 中,即使你复制 100 次,该文件在你的设备里也只会占用 1MB 空间。同样,在以往的 iOS 系统中,由于沙盒机制的影响,在 A 应用中的文件如果要被 B 应用调用的话,需要再重新复制一遍,占用双倍的空间,而这一问题将在 APFS 中已被彻底解决。 

磁盘快照(Snapshot),瞬间备份技术

为了能在遇到问题时及时找回重要文件,人们已经开始习惯给自己的文件和磁盘做备份。在文件克隆的原理之上,APFS 在备份方面设计了 Snapshot 技术,可以记录下文件在某刻的状态,因为这种备份同样是基于增量的,只有文件发生变化的那一部分会占用更多的空间,所以你大可更频繁的去备份数据,而不用担心它们把你的磁盘占满。同样,当这项技术被应用于 Time Machine 之后,备份的速度和效率都会更高。 

空间共享(Space Sharing),有效合理的利用空间

“C 盘空间已满”的尴尬可能会常常出现在PC用户身上。在传统的分区模式下,单一分区空间不足时,其他分区的剩余空间是无法利用的。APFS 全新的 Space Sharing 技术将传统的分区虚拟为 Container(容器),只要几个容器在同一个 APFS 磁盘下,那么每个容器都可以自由变大和缩小的(最大是磁盘的理论空间),任意一个容器缺乏空间的时候,整个 APFS 下的冗余空间会自动合理分配,再也不用担心下载的时候提示空间不足尴尬。 

服务质量(I/O QoS),性能飞速提升

APFS 提升了整个系统在 SSD 上的性能表现,APFS 提供了 Extensible block allocator 等技术,对于更大容量的 SSD 的做了优化。借助 I/O QoS(服务质量)技术,APFS 的延迟得到大幅改善,对数据的不同访问被划分到不同的优先级中, APFS 会优先处理对用户感知明显的操作,用户会明显感觉自己的设备变快了。 

加密技术(Encryption),保护你的隐私

除了文件存储的新技术,APFS 的安全性也比 HFS+ 有所提升,这体现在两个方面:一个是加密层面,另一个是使用层面。在之前的 Mac OS 以及 iOS 中都已经有了形式丰富的数据加密方式,此次 APFS 做了统一整合,提供了三种加密方式:无加密、单密钥加密和多密钥加密。 

多密钥模式的意思是,你可以用密钥 A 给设备加密,然后再用额外的密钥 B 给部分数据加密,即便哪天你的电脑硬件不幸被盗,对方也只是开了锁 A,只要没有密钥 B,这部分数据就永远是安全的。这项技术也解决了一个长期以来的问题,以往我们更换设备的时候都被嘱咐要反复往磁盘里存储几遍无关数据,担心个人隐私被不法之徒恢复,而以后只要把密钥删除,就不用反复写数据了。 

崩溃保护(Crash Protection),降低数据读取风险

正在编辑文档时突然断电,文件打不开了怎么办?APFS 引入了写时复制机制,编辑文件时原有数据并不会被当即修改,修改会在一个新的位置完成,只有确定新的数据已经编辑完成,旧的数据才会被删除。同样,当现有设备升级到 APFS 的过程中,会先在磁盘的空余区间先完成数据的转换,然后再覆盖旧有数据。即便系统升级过程中软件崩溃或者意外的跌落事故等,也可以最大程度确保数据的安全。 

APFS结构                                              

640?wx_fmt=jpeg

APFS容器

  •  由一个或多个磁盘(物理存储磁盘)组成——包括Apple RAID集

  • 由APFS容器参考磁盘数量确定磁盘标识(例如:disk1)

  • 即使有多个磁盘,也仅有一个磁盘能够识别容器(APFS容器参考磁盘) 

APFS卷

  • 单个容器中包含一个或多个APFS卷

  • APFS卷没有固定大小——可以扩大或缩小

  • 容器内所有卷可共享可用空间(未分配的)

  • 动态空间共享会影响克隆和稀疏文件 

更多基础卷

High Sierra (10.13.X,默认所有APFS格式卷)

  • 预启动(现在用于存储加密的密钥包信息)

  • 恢复卷

  • VM卷

  • 主引导卷(数据卷,可找到大多数用户创建文件和文件夹) 

如上图所示,在APFS物理磁盘之下,对应分级首先为“APFS容器”,其次为“APFS逻辑卷“,”“卷”(即分区)存在于“APFS容器”内,多个分区共享容器的空余容量。“卷(分区)“和“命名空间“则依次分布于“APFS容器”下。 

例如,在一个1TB的APFS格式磁盘上,存在卷A和一个分区B。目前分区A和B各占400G和500G,但两者都可以任意用整个”容器“剩余的100GB空间。分区A和B不设固定分区容量的情况下,分区A或B中,任意分区均可再增加一个大至100GB的文件,而不会影响系统正常存储。 

一直以来,传统的文件系统都是通过固定的分区来管理文件,我们之所以能迅速定位某个文件,很大程度上都依赖于记录固定位置的分区表。而现在,APFS文件系统中磁盘分区的存储大小、位置都能在”容器”中自由转换,调整;再加APFS文件系统的空间共享(Space Sharing)的概念,彻底脱离了固定位置、固定大小的限制,是APFS文件系统的一大亮点。 

三、APFS对电子数据取证的意义 

文件挖掘

  • 在APFS容器中所有卷可共享未被分配的块

  • 卷可随实际需要扩大和缩小

  • 将一个恢复出的文件与一个特定的卷进行关联是无意义的 

文件挖掘是重组计算机文件在元数据缺失情况下的文件系统的片段的过程。文件挖掘的原理为在删除文件时,仅删除了文件系统元数据中的条目,而实际数据仍在磁盘上。所以经过格式化甚至是重新分区之后,可能大部分原始数据都没有被修改过,并且可以通过文件挖掘来恢复。 

文件挖掘可用于从硬盘中恢复已丢失或损坏数据,这就给专业数据恢复公司和电子数据取证机构提供了足够便利和数据重新恢复/固定的可能。 

快速覆写

  • 仅需少量磁盘作业即可实现数据覆盖

  • APFS卷简洁的卸载和加载行为可支持海量区块的同时写入(远超过HFS格式)

    (实例:若10,000个文件被写入一个卷,包含所有被删除、卸载和加载的卷,将会有669个文件因为覆盖不能再被恢复)

  •  一个正常进程中的关机行为会覆盖相比HFS格式下更多的数据 

覆写速度和效率的提升提高了用户的使用体验,却增加了取证难度。快速覆写技术的实现意味着将有更多的被删除数据将无法挖掘和恢复。 

分配属性

  • 区块与卷对应关系复杂

  • 硬件默认加密

  • 文件签名不可恢复

  • 区块释放具有即时性

  • 历史备份文件可能包含来自文件的元数据和内容,这些文件可能存在于某个点上(卷的不同结构) 

APFS带来的5点全新属性意味着在APFS格式的系统内,区块与卷的对应关系将更加复杂,而新增的硬件默认加密机制、文件签名不再可恢复等都让macOS平台内的电子数据取证面临新的挑战。 

写时复制

  • APFS具有极强的写时复制功能

  • 当一个对象更新时,将创建并引用一个新对象

  •  旧的对象仍然可以被扫描

  •  可被用作历史文件/数据恢复,所有操作均会产生新的数据

Copy-on-Write(写时复制)在编程中被广泛应用,其主要原理为在复制一个对象的时候并不是真正的把原先的对象复制到内存的另外一个位置上,而是在新对象的内存映射表中设置一个指针,指向源对象的位置,并把那块内存的Copy-On-Write位设置为1。这样,在对新的对象执行读操作的时候,内存数据不发生任何变动,直接执行读操作;而在对新的对象执行写操作时,将真正的对象复制到新的内存地址中,并修改新对象的内存映射表指向这个新的位置,并在新的内存位置上执行写操作。对于电子数据取证而言,写时复制技术提供了数据恢复的可能性,可以直接找到某个文件的历史版本。 

快照技术

  •  快照意味着来自时间节点的对象将被“锁定”,并创造了在区块级重建整个历史卷状态的可能

  • 比起苹果自家的Mac Time Machine 备份,更接近于微软的NTFS卷影拷贝技术 

与本文之前介绍的一样,快照技术其实就是备份的一种形式,前文中的“写时复制”技术也可看作是快照技术的一种形式,一个快照可以让你保留文件系统在一个特定时刻的状态,保留旧数据的同时继续使用和更新。当然是有效利用空间基础上的,保留旧数据的同时有效地跟踪并只添加新数据,这个特性对于备份有潜在的特殊价值,也就是可以有效跟踪上次以来的数据更新。对于电子数据取证而言,快照技术与写时复制技术起到的作用基本一致,提供了数据恢复的可能。 

卷结构

  • 取证人员可以对同样的镜像进行取证,并根据不同的历史备份文件得到不同的取证结果

  • 使用不同的工具也可能会产生完全不同的结果,这取决于它们对卷的哪种结构进行何种程度的鉴定

  • 我们需要了解磁盘卷上存在多少历史备份文件记录和每个历史备份文件分别对应磁盘卷的何种结构状态 

APFS卷上的数据泄露

  • 更容易证明卷上曾经存在某一个文件

  • 文件/文件夹名称和元数据现在被写入到多个地方

  • 假设您有一个未加密的卷,那么历史备份文件可以留下大量关于该卷上以前的文件/文件夹数据

  这几点对于取证工作是比较好的消息 

块设备

  • APFS创建不同块设备的运行行为不同

  • 物理磁盘上为传统“块设备“

  物理分区为“片设备”

  • 容器是“合成”块设备

  用于APFS卷的片设备是不可读的;

  合成块设备是非连续(分散于集合存储中) 

块设备通常仅仅是磁盘文件系统,在UNIX操作系统中块设备只支持以块为单位的访问方式,如磁盘等。块设备是一种结构化的随机访问设备。块设备特殊的原理也是Windows取证和macOS系统取证不同的原因之一。 

加密技术

  • APFS目前使用对象级别而不是卷级别的加密技术

  • 没有可以用来获取未加密的卷的可被读取的块设备

  • 根据不同的情况(原生APFS加密、FileVault、核心存储升级)加密略有差异 

Apple的很多设备和操作系统早已具备加密功能,OS X 10.7 Lion开始提供全磁盘加密功能;iOS 4开始可通过专用数据保护技术将每个文件使用一个专用密钥进行加密。APFS对这两种功能进行整合,为文件系统元数据提供了一种统一的加密模式。 

加密是APFS原生支持的特性,用户可以针对每个卷选择下列任何一种加密方法:不加密,单密钥加密,或多密钥加密(针对每个文件使用专用密钥加密,同时针对敏感的元数据使用一个单独的密钥)。多密钥加密可确保哪怕设备物理安全受到威胁,依然可以保障用户数据的完整性。取决于具体硬件,APFS加密可使用AES-XTS或AES-CBC算法。 

这种加密机制还实现了一个额外的功能:更为快速的数据擦除。通常情况下当用户从设备中删除文件后,可以通过市面上提供的很多(免费或收费的)反删除软件找回删掉的内容。为避免这种情况,以往如果需要删除包含机密信息的文件,或需要将存储过私密数据的设备退役给他人使用,必须首先使用抹掉功能擦除存储设备,并可能要将这一过程执行多遍。取决于存储设备容量,整个过程将耗费极多时间。 

对于使用APFS文件系统的存储设备,在启用加密功能后,安全擦除的过程将变得大为简便和快捷,不再需要耗费大量时间多次给存储设备填充随机数据,只需要删除加密所用的密钥即可。在如此严苛的加密机制影响下,给相关电子数据的提取和恢复带来了极大困难,相关公司和机构不得不摒弃HFS+时代的优越感,不断寻找新的技术突破。 

启动安全性实用工具

  • 只有 iMac Pro才提供启动安全性实用工具。

  • 使用启动安全性实用工具可确保 iMac Pro 始终从指定的启动磁盘启动,并且始终从合法的受信任操作系统启动

  •  提供了以下三项功能:固件密码保护、安全启动和外部启动设置 

使用固件密码可以防止不知道密码的人从指定启动磁盘以外的其他磁盘、光盘启动。至此,传统的离线启动以获取mac电脑数据的取证方式将失去价值。


640?wx_fmt=jpeg

640?wx_fmt=png

猜你喜欢

转载自blog.csdn.net/xcnhykohj3ek/article/details/80837351