广州销毁公司
   销毁项目
  广州销毁公司
  广州化妆品销毁
  广州食品销毁
  广州产品销毁
  广州文件销毁
  广州硬盘销毁
   详细信息
SSD固态硬盘证据获取的重新理解(1)
发布时间:2019/11/12 11:39:21 阅读:2467

目前SSD固态硬盘越来越普及,之前我们曾提到,对于SSD固态硬盘中删除的数据恢复成功率不高,对于涉案SSD而言,要在已删除数据中提取有价值的线索或者证据存在一定难度。那个时候,我们对于SSD中的TRIM技术、自蚀和垃圾回收机制了解很少。到2014年这个情况已经有所改善,从大量的实际案件检验情况来看,取证人员已经可以从SSD固态硬盘中获取到相当的证据和线索,尽管目前依然面临重重困难。
SSD自蚀

SSD受到自蚀影响,究其根本原因是已有数据覆盖了原来的数据。然而证据的自我毁灭是在操作系统发出了一个删除指令之后触发的。而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。此时数据销毁过程中触发的是TRIM命令,破坏数据的真正原因是后台垃圾回收执行的整理碎片过程。

在很多情况下,如果仅执行了TRIM命令,那么意味着还是有些删除的数据可以被恢复。

TRIM后的读取性分析

SSD固态硬盘的数据恢复效果很大程度上取决于使用者的习惯。

一位研究人员在自己的SSD驱动器上进行了测试,删除了1000个文件,然后等5分钟运行数据恢复工具,该工具发现了几百个文件,恢复这几百个文件后发现内容全部被填零了。

“我们分析了嫌疑人的笔记本电脑和其中的SSD硬盘,恢复的(已删除)文件80%都是数小时前被删除的”,另一个取证人员说道。

不同的取证人员有不同的体验,答案在于不同的SSD驱动器处理TRIM数据页的方式。

SSD对于Trim指令的处理方式,一共有3种,包括:

Indeterminate read after trim(IRAT)

本方式在执行Trim后,当系统再次读取SSD上相同位置的LBA数据,SSD允许返回任意数据给系统,具体返回什么数据由固件决定,数据可以每次一样也可以每次都不一样。

Determinate read after trim(DRAT)

本方式在执行Trim后,当系统再次读取SSD上相同位置的LBA数据,SSD允许返回任意数据给系统,每次返回的数据都一定相同。

Determinate read of Zero after trim(DZAT/RZAT)

本方式在执行Trim后,当系统再次读取SSD上相同位置的LBA数据,SSD允只会返回“0”。

可以看出,部分SSD返回的非原始数据(全0,全1,或者其他非原始数据)不是因为执行TRIM指令而清空物理块,而是因为SSD控制器表示在TRIM的地址中没有包含有效数据,即物理块在被执行TRIM指令前没有关联的逻辑电平。

从SSD中获取证据

截止目前为止,从SSD中获取证据的方法仍然是较为传统的通过硬件或者软件的方式进行镜像制作,接着使用证据搜查工具。

能否从中发现已删除的信息并提取有价值的线索或证据,取决于SSD驱动器是否支持TRIM指令和垃圾回收系统。

操作系统支持

如同TRIM是操作系统的一个属性一样,它也是SSD驱动器的一个属性,旧的文件系统并不支持TRIM(请参阅wiki中相关说明)。简而言之,TRIM支持Windows7及之后版本的系统,支持的Windows文件系统只有NTFS,如果SSD的文件系统是FAT32或者exFAT的,则该驱动器没有TRIM功能。

对于MAC OS X,TRIM仅支持由苹果公司批准的SSD驱动器,而且仅从版本10.6.8开始,基于MAC OS X较老的版本则不支持,值得注意的是,用户自行安装的SSD驱动器(非苹果官方提供的)也被排除在TRIM之外。

早期和基本型SSD

不是所有的SSD驱动器支持TRIM和后台垃圾回收功能。一些较旧的SSD驱动器以及类似SSD的存储用基本片和亚笔记本闪速媒体(如华硕Eee某些型号)并不支持TRIM命令。例如,英特尔开始制造支持TRIM的SSD驱动器启用的34mm驱动光刻技术(G2),他们的50mmSSD则没有TRIM的支持。

在现实中,很少SSD驱动器在没有TRIM技术的情况下能够在市场上活跃很久。很多入门级小型笔记本电脑没有TRIM技术是因为其使用的闪存存储经常误认为是“SSD”。

外设驱动器、USB硬盘盒及NAS

TRIM命令完全支持SATA接口,包括eSATA扩展,以及取消映射SCSI命令。如果一个SSD驱动器在USB接口硬盘盒中或者特定的NAS存储中,TRIM命令将不被支持。

PCI-E和PCIe的SSD硬盘

有趣的是,TRIM命令不支持任何版本的Windows下高性能SSD硬盘占用PCIExpress插槽的情况。但不要混淆PCIExpressSSD是SATA驱动器搭载M.2或MSATA接口。PCI-Express板实现的SATA端口也排除在外。

RAID阵列

TRIM不支持大部分的RAID类型(少数阵列例外)。SSD作为阵列的一部分是可以被分析的。

一个需要注意的例外是,当前的RAID0使用兼容的芯片(如英特尔H67,Z77,Z87,H87,Z68)并正确的驱动程序(最新的Inter快速存储技术驱动程序Rapid Storage Technology Driver),还有最新版本的BIOS,如果符合这些配置,即可支持TRIM命令。

损坏的数据

令人惊讶的是,SSD驱动器损坏的系统区(损坏的分区表和文件系统等)比正常情况下更容易恢复。TRIM命令会因为数据没有适当的删除而被中断。这些数据仅仅是无法直接查看或无法被系统识别。许多可用的商业数据恢复工具(例如,英特尔SSD固态硬盘配套的优化工具箱,OCZ SSD工具箱)均能可靠地从逻辑损坏的SSD驱动器中提取信息。

SSD固件错误

使用中的SSD中的固件有时会有bug,这也会影响到TRIM和扰乱垃圾文件回收功能。例如OCZ Agility3 120GB,固件版本2.09中就包含bug致使TRIM功能无法使用,到版本2.15时修复了TRIM问题。但版本2.22时由发布了唤醒计算机时导致数据丢失的问题,版本2.25时修复了这个问题,但使得TRIM功能再次出现问题。(参考链接:http
://www.overclock.net/t/1330730/ocz-firmware-2-25-trim-doesnt-work-bug-regression-bad-ocz-experience)。因此固件存在的问题也可能导致TRIM无法正常使用。

原文作者:Yuri Gubanov,计算机取证专家,俄罗斯Belkasoft公司CEO。

下一篇:旧电脑转卖后支付宝被盗刷 废弃电子产品泄密需当心
上一篇:信息销毁在数据中心的实践与应用
广州销毁公司   网址:www.bingtong8.com   电话:13622259977