什么是硬盘初检
硬盘初检是指在对硬盘进行证据固定前的初步检测,其目的就是要预先判断硬盘是否存在一些故障。虽然绝大多数情况下工作中遇到的都是工作状态完好的硬盘,但如果说遇到了一块工作状态异常的硬盘,并且没有被发现而照旧采用常规的证据固定方法对其进行证据固定,那么就很有可能会导致硬盘在证据固定的途中发生故障导致彻底损坏。
所以硬盘初检的目的和意义就在于在证据固定前,对硬盘进行初步检测然后根据当前硬盘的健康状态选择合适的证据固定方案,确保硬盘不会在取证环节出现故障损坏。
(常规取证流程)
以上是证据固定的常规流程:
·首先是物证交接,一般要做相关的记录包括硬盘的型号、SN号等。包括可能还需要对外观进行拍照;
·接下来就是将硬盘连接只读设备或者直接连接拷贝机的源盘位置;
·然后就是制作磁盘镜像,比如制作dd镜像或者e01镜像以便后续做数据分析;
·最后是对镜像文件进行数据处理,进行搜索过滤等数据分析操作;
那么这一套流程对于取证工作者而言再熟悉不过了。但是这套操作流程的前提是建立在移交过来的硬盘是完全没有任何故障,没有任何异常问题的。那么如果说,在证据固定前并不知道硬盘的情况,并不知道是好是坏,就应该首先要要确定一下检材的基本情况。也就是说在证据固定之前应该再多一个步骤,“硬盘初检”环节。
(硬盘初检环节)
那么做硬盘初检的目的就在于要考虑万一移交过来的硬盘存在故障,从而避免采用常规的证据固定方式造成硬盘的彻底损坏。
为什么要做硬盘初检
◆加剧硬盘坏道
对于机械硬盘而言,随着使用时间的增加产生或多或少的坏道是再正常不过的了。可以说包括我们自己在用的硬盘,用过几年以上的都会产生一些坏道,只是有些并没有被察觉,并没有影响正常使用。
那么如果说移交给过来的硬盘本身已存在大量坏道,在没有初检的情况下直接镜像的话则很有可能会导致硬盘坏道量的继续增加。
(机械硬盘盘片区域示意图)
上图表示的是硬盘的盘片。硬盘的盘片区域大致可以分为用户区、服务区(也就是固件区或者叫SA区),还有一个可能被我忽视的区域称之为保留区。保留扇区的作用就是用于硬盘地址的映射。
这里从图中可以看到,硬盘从使用层面而言平时所说的第几扇区,指的是LBA逻辑地址。硬盘底层寻址时使用的是物理地址的方式。图中所表示的是在完全没有坏道缺陷的情况下LBA和PBA就是一一对应的,也就是LBA=PBA。但是我们知道,即便一块硬盘生产工艺再怎么精湛,也必然会有坏道的存在。
(PBA与LBA对照关系)
所以实际的LBA与PBA之间的转换关系应该是下图所示。图中物理地址4和5假设为坏道,原本正常情况下物理地址的4应该对应LBA4;物理地址的5对应LBA5。但是由于物理地址4和5是坏道,所以此时对照关系就发生了变化。硬盘会从保留扇区处选取扇区用于替换,所以LBA4和LBA5就直接映射到了保留扇区。
(坏扇区的映射关系)
硬盘缺陷表(Defect Table)
·P表(P-List:Permanent or Primary defect Table):永久缺陷表
·G表(G-List:Growth defect Table):增长性缺陷表
硬盘在出厂之前都必须要经过自校准流程进行测试,测试的目的就是扫描盘片上的坏道然后添加的P表中,P表也叫永久性缺陷列表;那么在正常使用硬盘过程中也会随时产生一些坏道,而硬盘自身都是具备坏道处理功能的,在日常中检测到的坏道会被自动添加到G表中,G表被称之为增长性缺陷列表。
回顾前文,PBA=4的位置出现了坏道,那么硬盘在检测到之后会进行地址映射,比如把保留区的1850这个扇区作为映射分配给4扇区,那么接下来硬盘再读写4扇区的时候就会自动跳转到1850这个位置。这个地址转换关系前面提到就是所谓的译码器,也就是做地址翻译的。
则PBA=4这条信息,这条记录就被记录到了G表中,那么这个加表和地址翻译的过程通常是硬盘在闲时自主完成的。这里注意是并不是发现坏道立刻就加到G表,然后做地址转换,而是在闲时完成。
前面科普了两个概念硬盘05警告,第一,缺陷列表的概念也就是记录坏道信息的;第二,译码器也就是记录地址转换信息的。
所以问题就来了,如果说一块硬盘已经存在了很多坏道,而硬盘还没有来得及做地址转换,或者硬盘已存在大量坏道但是可用于转换的扇区已经用尽了。那么此时再对这块硬盘进行加电或者镜像等读写操作时(也就是常规取证手段)就可能会导致大量的坏道溢出以及翻译器地址翻译错误。
那么所以说如果硬盘已经产生了一定程度的坏道量,如果再反复对其进行镜像等操作,后续则可能会加剧坏道的产生。
(扫描测试)
上图就是硬盘扇区扫描的情况,可以反映出扇区是否存在坏道。图中每一个色块表示256个扇区。软件是通过对扇区进行访问,以访问的时间作为判定标准。左侧图例可以看到绿色表示扇区延迟最低,黄色其次,接下来是紫色。那么棕色红色通常就认为是坏道。所以说通过扇区扫描的方式就可以大致判断出硬盘是否存在坏道以及坏道量和硬盘损坏程度。
◆固件损坏
硬盘的固件就好比计算机的Windows操作系统也是会经常出现各种问题的,比如今天少个组件丢个驱动明天系统可能就起不来了。硬盘也是如此,如果说硬盘的系统也就是固件存在一些问题而被忽视,也是很有可能造成硬盘彻底损坏的。
比如一些关键固件模块出现问题可能会导致硬盘不就绪,或者就绪速度极慢。比如WD硬盘02模块出现问题会导致硬盘复位慢;比如希捷译码器故障会导致硬盘彻底不复位等。
(硬盘固件检测)
图中所示有一些模块检测发现发生了损坏。那么硬盘的固件分为了从A-D几个级别,对于一些D级也就是无关紧要的模块,即便损坏通常来说对硬盘的正常工作不会产生较大的影响。但是对于一些重要模块出现了故障那可能就会伴随着很多故障表现的出现。
◆磁头故障
硬盘随着使用时间的增加磁头也会出现一些问题,比如会出现磁头老化、工作状态差、或者敲盘等彻底损坏的情况。磁头作为机械硬盘中最为精密的部件,也是非常容易损坏的。使用不规范比如硬盘加电状态移动硬盘,或者受到外力都有可能导致磁头彻底损坏,所以说在证据固定前对磁头的情况进行诊断是非常有必要的。对于磁头损坏的情况,通常就需要利用到开盘数据恢复的相关技术了。更换磁头、调整适配参数等。
检什么?怎么检
(硬盘初检内容)
◆硬盘的SMART
SMART翻译过来是自我监测分析和报告技术,也就是硬盘的自身的一份监测报告,用于实时的记录硬盘的工作状态以及健康程度。
(硬盘SMART模块)
SMART是以数值的形式存在于硬盘的固件区,作为一个模块。比如WD的21号模块就是SMART模块。硬盘SMART可以直观的反映出硬盘的健康状态,其中包含了6项内容,分别是ID名称、属性名称、当前值(数值)、最差值、阈值以及原始值。
(SMART数值)
每个品牌的硬盘SMART所记录的数据并不完全相同,有的记录的项会多一些有些品牌则会少一些。这里一般只需要看当前值。当前值是由硬盘的原始值经过计算而生成的。这里只需要知道当前值(数值)一旦低于最差值并接近于阈值,那么硬盘会发出警告同时有可能也会表现出一些故障。
如果说SMART报警一般称之为爆表,这时是可以通过清除SMART来解决报警问题的。清除SMART其实就是对其中的原始值进行清零,硬盘再自动根据原始值生成当前值,从而硬盘会误以为此时自身工作状态是正常的。所以应该清楚其实清除SMART只能解决当前报警问题,并不能根本的解决固件问题。
(清除SMART)
图中左侧是对SMART进行了清除操作,对应右上角图中可以看到原始值一列数值被重置了,所以SMART警报被解除。这里可以看到硬盘温度一项没有被清零,因为SMART是实时获取的当前硬盘信息,当前硬盘温度就是28度所以这里即便清除了SMART但温度一项还是有数值的。
◆坏道检测
硬盘的坏道好像会“传染”一样,所以对于存在坏道的硬盘在证据固定时应避免使用常规的手段。另外坏道数量的增加还会导致硬盘固件层面出现很多问题,所以说坏道检测也是十分有必要的。
(坏道的分类)
道坏道通常分两类,逻辑坏道和物理坏道,当然还有译码器等固件问题所产生的坏道暂且不做讨论。其实可以简单的理解为逻辑坏道是逻辑层面的扇区故障,而物理坏道通常是不可恢复的物理层面的扇区故障。
·逻辑坏道
图中是机械硬盘的示意图,数据读取时磁头在不同的磁道上进行寻道工作。这里有个小细节可能平时都没有想过,就是硬盘的设计导致磁头与盘片之间成一定的角度,也就意味着磁头在大多数磁道上并不是完全重合的,存在一定的角度偏差,看右下角的图。
(硬盘结构示意图)
那么当硬盘状态异常或者很多还有很多其他因素,导致磁头与磁道之间产生了偏差。从而导致磁头无法正常读取数据,或者读取出的数据错误,这种情况就称之为逻辑坏道。
(逻辑坏道)
那么硬盘是如何知道或者说如何判断,读出来的数据是错误的呢?
我们都知道一个扇区是512个字节。但这只是逻辑层面,如图深入到硬盘的更底层层面。图中所描绘的是一个扇区的物理层面结构。
(底层扇区结构示意图)
其实,所谓的512个字节,只是实际物理扇区的其中一部分而已,可以看到示意图中512字节的前端还有一些头部信息,包括还有干扰数据以及后面还有ECC校验和保留位。ECC校验信息,是磁头在向扇区内写入数据的同时计算生成的,同时在读取数据的同时也会再次确认数据和校验的准确。这也就是前面的提到的问题,硬盘怎么就知道自己读出来的数据是错误的呢?就是通过校验信息的比对。对于这数据与校验不匹配的扇区也就是前面说的逻辑坏道了。
通过示意图也许各位会有疑问,就是扇区内除了存放用户写入的数据外为什么还要存放干扰数据呢?其实干扰数据对于硬盘的健康起着至关重要的作用。硬盘写入数据的过程其实就是磁头磁化盘片的过程,N和S的转换。
可以想象一个场景,假设对硬盘进行全盘清零,全盘擦除。那么这个过程可以想象,磁头将会长时间持续保持一个工作状态,长时间以相同的工作电流,相同的工作电压,相同的磁化强度工作。这其实对于磁头这种精密的组件而言是致命的,这就好比让我们长时间做一件重复的,机械化的一件事情,我们内心也会烦躁一样。所以为了避免磁头的精度和灵敏度受到影响,硬盘在设计时就加入了干扰数据,也就是说即便是全盘写零,但是为了保持磁头灵敏度和增加磁头的寿命,硬盘底层也会在写零的同时写入一些干扰数据的。当然通过xways读取硬盘底层时肯定是读不到干扰数据的。
·物理坏道
清楚了逻辑坏道后,接下来再了解一下什么是物理坏道。下图中是机械硬盘的盘片,可以清晰的看到在内圈和外圈部分有两道很深的划痕。那么这是不是就是所谓的物理坏道呢?
其实不是,或者说不完全是。通常情况下硬盘出现了清晰可见的划痕后硬盘是无法复位的,是没有办法认盘并对其进行检测的。
(存在物理划痕)
一般平时所说的物理坏道指的是当某一区域或者某一扇区无法被磁头所磁化了,其实硬盘写入数据的过程其实就是磁头磁化盘片的过程,而如果某一区域某一扇区没有办法被磁头所磁化,那么这片区域也就无法继续使用了。这部分区域称之为物理坏道。
(无法被磁化)
那么对于物理坏道可以尝试调整磁头的工作状态硬盘05警告,比如调整磁头的飞檐高度、调整磁头的工作电流电压,从而达到改变磁头工作状态的目的来尝试读取数据。
当然同样可以改变磁头的磁化强度来反复的尝试对物理坏道区域进行反复磁化,以达到修复坏道的目的。当然实际的维修方法并不是这样的,一般要对硬盘做自校准读写测试、加表、生成译码器等操作。硬盘维修对于我们取证而言没有什么意义所以仅作为了解。
(反复磁化盘片)
◆磁头测试
机械硬盘的磁头组件是硬盘中最为精密的部分,如果在硬盘初检阶段检测出磁头工作状态不好或者彻底损坏,就千万不可直接尝试做镜像。如果镜像过程中导致磁头彻底损坏或者磁头将盘片划伤那么可能会导致硬盘所有数据彻底丢失。
图中可见硬盘共有两个磁头,在-2磁道分别做了写测试和读测试。-2磁道是负磁道位于固件区所以不包含用户数据,-2磁道是空磁道所以也不包含固件模块。
那么磁头好坏的判定标准就是首先向磁道中写入一段已知数据,然后尝试读取出来做对比,看读出来的数据是否与写入的数据一致,如果一致则判定磁头没有问题,反之则认定磁头存在故障。
之所以分别在-2和-10磁道进行测试,是为了增加测试的可信度,避免比如-2磁道本身有坏道,那么就会造成写进去的读出来的不一致,而对磁头的实际状况造成误判。所以可以选择多条空磁道测试以提高测试的可信度。
(负2磁道做读写测试)
(负10磁道做读写测试)
娜娜项目网每日更新创业和副业教程
网址:nanaxm.cn 点击前往娜娜项目网
站 长 微 信: nanadh666