admin 管理员组

文章数量: 1086019


2024年12月19日发(作者:安卓api中文手册)

TRIM指令在固态磁盘数据删除与恢复中的

作用

作者:张辉

来源:《电脑知识与技术》2020年第18期

摘要:伴随着固态硬盘的广泛应用,越来越多的网络犯罪现场会面对固态硬盘电子数据取

证问题。通常来说,固态硬盘数据一旦被删除,利用目前的取证工具几乎无法恢复,但也存在

特定情况。通过实验对TRIM指令在固态硬盘数据删除与恢复中的作用進行了验证分析,实验

表明,在TRIM指令特定设定与取证时间及时的情况下,可以完成SSD盘数据删除后的恢复

与取证。

关键词:固态硬盘;TRIM指令;取证分析

中图分类号:TP399 文献标志码:A

文章编号:1009-3044(2020)18-0218-03

开放科学(资源服务)标识码(OSID):

固态硬盘( Solid State Drives),简称SSD盘,是目前计算机中常用的一种电子存储设

备,与通常的机械硬盘相比具有读写速度快、功能损耗低、运行噪音小、抗震抗干扰性强等特

点,广泛应用于军事、工业、医疗等多个计算机领域中。伴随着固态硬盘的广泛应用,越来越

多的网络犯罪现场会面对SSD盘电子数据取证问题,探索SSD盘数据被删除后的恢复,一直

是困扰电子数据取证人员的一个难题。通常来说,SSD盘数据被删除后很难进行恢复,但在特

定情况下仍然可以进行,这与一个关键的指令有关,这个指令就是TRIM指令。我们通过实验

验证分析TRIM指令在SSD盘数据删除与恢复中的作用。

1 SSD盘的删除数据机制

SSD盘与机械硬盘写入及删除数据的机制是不同的。

机械硬盘删除数据时,Windows仅对被删除文件的文件头进行十六进制的改写以做标记,

等到真正要写人数据时再来删除,所以机械硬盘常见的三种删除方式,即删除到回收站、

shift+delete彻底删除以及快速格式化,完成删除操作后,实际的文件数据依然存在,我们可以

利用很多的文件分析软件或者电子取证工具完成大部分的数据恢复。

SSD盘在进行数据清除时,系统首先需要识别到SSD盘并确认TRIM指令。如果TRIM

指令是开启状态,SSD盘在删除数据时使用Volume Bitmap来记住数据已经删除。Volume

Bitmap是NTFS系统的文件快照,当再次写入数据时,可以根据VolumBitmap情况,向快照

中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。SSD盘的数据被删除后几乎

不能进行数据恢复。

2 TRIM指令

Trim,又叫Disable Delete Notify,本意是禁用删除通知。SSD盘支持Trim指令的最大优

势是避免SSD在垃圾回收时将无用数据当成有用数据来搬运,从而起到延长SSD寿命的作

用,且SSD不会随着使用时间越长速度就越慢。SSD支持Trim最大的劣势就是SSD在清空数

据后无法恢复数据。

Trim指令原始状态可以利用管理员身份进行查看,也可以重新进行设置。SSD盘的TRIM

指令默认为0即Trim开启状态。在一些网络犯罪中,嫌疑人为了增大SSD取证的难度会自行

进行设置,这种情况比较少见,但依然存在,本文我们通过三个实验验证Trim指令在SSD盘

数据删除中的不用效果。

3 固态磁盘数据删除与恢复中TRIM指令作用的不同

(1)Trim指令原始状态的查看

利用管理员权限来查看SSD盘的Trim状态(0为Trim打开,1为Trim关闭),其利用指

令为fsutil behavior query disable-deletenotify NTFS。

在WINDOWS搜索区域内输入CMD,并同时按shift+ctrl+回车键,即以管理员身份启动

CMD命令窗口,可以输入相应指令进行查看Trim状态,如图:

此图命令返回值为‘0’,此为系统TRIM指令已开启状态,也是SSD盘默认状态。

(2)利用CMD窗口设置Trim状态

在管理员身份启动的CMD命令窗口中,可以利用SET命令设置Trim指令的状态,设置

为0为Trim指令打开状态,设置为1为Trim指令关闭状态。如图:

实验-:Trim指令为“0”,即已开启状态下SSD盘数据删除过程及查看。

实验用软件为X-ways Forensics 19.9版本。X-ways Foren-SICS是由德国X-ways出品的一

个法证分析软件,也是目前最为常用的电子数据取证软件之一,其提供了强大的磁盘和文件的

分析功能。

具体过程为首先利用X-ways Forensics加载C盘,C盘是固态硬盘,且Trim指令已开启状

态。我们首先查看一个doc文档的存储空间,确认该文件在SSD上的存储是否为一个连续的

数据块,为了便于利用X-ways Forensics进行文件解析,设定的实验文件存储在一个连续的磁

盘空间中,查看该文档的文件头与文件尾所在的扇区并记录下来。如图1,当前文档的块首与

块尾所在的扇区分别为“932400”及“932471”。

在记录下待删除文件在SSD所存储的具体扇区后,回到C盘目录中,将该文件

shift+delete删除,再重新在X-ways Foren-SICS下加载该SSD分区,查找到上面文件头所在的

扇区,此时发现该扇区数据已全部为零,如下图:

实验结论:当启用Trim指令时(SSD默认状态),删除数据后随即清空待删除无效数

据,而不是等到,要写新数据时才开始清空,所以在这种情况下,已删除数据取证很难恢复。

实验二:Trim指令为“1”,即关闭状态下SSD盘数据删除过程及查看。

重复进行实验一的具体步骤:打开X-ways Forensics取证工具,加载C盘(SSD盘),确

认待删除文件的文件头与文件尾所在的扇区并记录下来。

回到指定盘,将该文件shift+delete彻底删除,再重新加载C盘(SSD盘)分区,找到指

定的扇区,此时发现该扇区所在的十六进制数据依然全部存在。我们可以选中文件块首与文件

块尾,利用“编辑”功能,“导出新的文件”后再进行查看,这时发现,数据恢复是完全可以进行

的。

如图比对:图5记录下该文件的块首所在扇区,图6该文件彻底删除后,再次加载找到所

在扇區。图7为利用“编辑”功能,“导出新的文件”后恢复的文件内容。

实验三:在实验二后续间隔一段时间再去查看对应扇区内容。

间隔一段时间后再去查看实验二文件块首所在的扇区,此时发现该扇区的数据已经被后续

进行操作的其他内容填充。 实验结论:由实验二得出,在Trim指令关闭,进行SSD文件的彻

底删除时,系统不会马上对这一部分数据清空,同样道理,在网络犯罪现场中,如果在已删除

文件的比较短的时间内,来进行对应文件的取证,是能够进行恢复出相应数据的。由实验三得

出结论,如果放置一段时间后,当有新的操作进行,此时新的数据会被写入,会覆盖原来的文

件,而原来的数据一旦被覆盖,原文件也就无法恢复了。

4 结束语

SSD固态硬盘在软件层面上的数据恢复并不是完全不可能的,只能说成功率比较低,其能

否恢复受到TRIM指令和取证时间的影响。Trim指令开启状态时SSD盘的已删除数据的恢复

几乎是不可能,而如果关闭了Trim命令,SSD盘会在空闲时完成删除数据的擦除操作。也就

是在这种情况下,能否恢复取决于取证的时间,如果该硬盘在取证之前已删除数据,但尚未写

入新数据,则该文件数据是可以恢复的;如果在取证之前将硬盘的数据删除且重新写入了新的

数据,则该文件所在扇区内容将被覆盖,也是不能恢复的。

参考文献:

[1]https://wenda. /q/26384 Winl0系统开启SSD固态硬盘TRIM方法教

[2]李庆.固态硬盘性能优化提升技术与方法探究[Jl.中国管理信息化,2019,22(24):

150-151.

[3]陈沪娟.固态硬盘管理问答[J].网络安全和信息化,2019(3):165-170.

[4]邓宗永,张鹏.固态硬盘数据销毁技术综述[J].电脑知识与技术,2018,14(28):239-

240.

【通联编辑:梁书】

基金项目:山东省教学改革项目《网络安全与执法专业“学训研战”体系研究与实践》

(M2018X208)

作者简介:张辉(1973-),女,山东警察学院侦查系统副教授,工学硕士,主要研究方

向:网络安全与执法。


本文标签: 数据 删除 指令