取证理论笔记——介质存储机制

编码与进制

常见介质对象:
 移动设备:手机、ipad
 介质设备:计算机、移动硬盘、监控设备
 网络设备:路由器、交换机、服务器
 嵌入式/物联网设备:打印机、无人机、智能家居、智能穿戴设备

进制:二进制(bin)、十六进制(hex)、八进制(Dec)、十进制(Oct)
编码:UTF-8、ASCII、Base64
离线编码转换工具:CyberChef

磁盘存储机制

不同硬盘型号含有不同的信息,具体参考品牌方给出的说明

file

硬盘部分区域是厂商专用的,需要使用专门的工具或指令才能访问其数据或程序。
固件区:firmware(PCB或盘片)
服务区:Service Area/Service Zone

一、存储类型:
1、磁存储:以铝为主要分成的片机上涂了磁性介质,通过电流改变磁粒子的极性来实现数据存储。磁头采用分离式设计,由感应磁头写,磁致电阻磁头读。
注:磁致电阻效应,指在通有电流的金属或半导体上施加磁场时,其电阻值将发生明显变化。电阻值变化导致电压变化,从而产生数字信号。

2、光存储:光存储技术是用激光照射介质,通过激光与介质的相互作用使介质发生物理、化学变化,将信息存储下来的技术。存储介质受到激光照射后,介质的某种性质(如反射率、反射光极化方向等)发生改变,介质性质的不同状态映射为不同的存储数据,存储数据的读出则通过识别存储单元性质的变化来实现。

  • 可擦写光盘:其存储介质为使光照点的结晶态发生变化,即相变型介质。而磁光存储材料的光盘的存储介质则是产生磁化方向的改变,从而记录或删除信息。

  • 不可擦写光盘:此类光盘存储系统中所用的记录介质的记录机理都是热致效应。利用从激光束吸收的能量,作为高度集中的、强大的热源,促使介质局部熔化或蒸发,通常称为烧蚀记录。在读取时光强、光的相位或者光的偏振状态将发生某种变化来反映出二进制信号。具体来说,就是读取信息时,激光扫描介质,在凹坑处由于反射光与入射光相互抵消入射光不返回,而在未烧蚀的无凹坑处,入射光大部分返回。

参考文章:光储存技术及原理你懂吗?—中国科学院半导体研究所

3、电存储:固态硬盘(SSD),闪存技术,基于非易失性存储器(NAND),不需要机械运动部件所以能够防震抗摔不易丢失数据,读取时直接在芯片中找到数据并输出,极大地提升了读写速度,减少了能耗。同样缺点在于每次写入都会造成损耗,寿命相对较短,其次是单个存储单元容灾性为0,机械硬盘还能通过技术手段恢复部分,但SSD一旦损坏是一点办法没有的。
关于NAND技术原理大致为通过较高编程电压的正负极来时最小单元颗粒里面是否存储电子来实现二进制信号。
详情参考:NVMe SSD 学习总结 03: 浅析SSD技术基础NAND-Flash原理(NANA结构、工作原理、写放大)

二、存储层级
NAND颗粒 --> 页 --> 块
机械硬盘:扇区(对应页) --> 簇(对应块)
固态硬盘:页(读写最小单元) --> 块(擦除最小单元)

磁存储结构:
file

扇区sector,512字节,驱动器寻址的最小单位

file

所以CHS寻址方式的最大寻址范围为:
255 1023 63 512 / 1048576 = 7.837 GB ( 1M =1048576 Bytes )
或硬盘厂商常用的单位:
255
1023 63 512 / 1000000 = 8.414 GB ( 1M =1000000 Bytes )

三、机械硬盘寻址方式
1、CHS:最早采用的寻址方式,3D参数,适用于存储量小的磁盘
file
2、LBA(Logical Block Addressing)逻辑块寻址模式:
 将CHS这种三维寻址方式转变为一维的线性寻址,它把硬盘所有的物理扇区的C/H/S编号通过一定的规则转变为一线性的编号。在访问硬盘时,由硬盘控制器再这种逻辑地址转换为实际硬盘的物理地址。

注:固态硬盘是通过具体地址来寻址的,存储数据时,会将数据分割成多个块,每个块都有一个唯一的地址,这个地址就是寻址原理。每次当计算机要访问硬盘上的数据时,都会提供一个特定的块地址,硬盘控制器就根据这个地址找到对应的块,然后将其中的数据读取出来。

四、磁盘结构
计算机启动过程

file

磁盘基本结构

file

各个部分作用:
1,主引导记录(Master Boot Record,MBR):磁盘上的0号扇区

file

解读:

偏移 描述
80 活动分区
01 01 00 磁头号1,扇区号1,柱面号0
07 分区类型:NTFS分区
FE 3F 01 超过第16450560个扇区,设为最大值,可忽视
3F 00 00 00 分区起始扇区号63(小端序:0x3F)
43 7D 00 00 分区所占扇区数32,067(小端序:0x7D43)

注:从第63号扇区开始分区是因为第一个扇区是MBR头,而磁盘沿用了早期的规定,分区必须按照柱面对齐,而对于早期磁盘来说,一个柱面上的某个盘面正好对应一条磁道,一条磁道上刚好有63个扇区,所以直接把第一条磁道空出来了。

  • 里面写了一个引导程序(引导代码:33c0开头),在BIOS读取到磁盘MBR后,运行引导程序来加载操作系统的核心组件
  • 分区表(Partition Table)用于记录硬盘上的主分区和扩展分区的信息。分区表定义了硬盘的分区布局和大小,以及每个分区的起始位置和类型等参数。

file

  • 引导标志(Boot Signature)用于指示该扇区是否是有效的引导扇区。如果引导标志有效,BIOS 才会将其认为是可引导的。

注:分区有三种,主磁盘分区、扩展分区、逻辑分区。 一块硬盘最多只能有四个主分区,分区表仅有64个字节的存储空间,而每个分区的参数占据16个字节。

2,扩展分区:扩展分区可分成若干逻辑分区,以此来实现更高数量的分区。

  • 扩展分区表(扩展引导记录 EBR):与MBR类似,引导代码为空,分区表仅有两个表项,第一个表项指逻辑分区,第二个表项为二级扩展分区

file

偏移 描述
00 非活动分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
07 分区类型:NTFS分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
00 08 00 00 分区起始扇区号 0x8000 = 2048(相对扩展分区首扇区号)
00 38 80 0C 分区所占扇区数209729536,大小约为100G

详情见:NTFS文件系统详解(二)MBR\EBR基本信息

硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和

linux系统分区有些许不同,下次单独写一遍来描述。

五、新的分区方式:GPT
GPT(GUID Partition Table)分区,取代了旧的MBR分区表

file

分区类型标识仅为:EE
GPT分区表头,包含着一个MBR,以及引导程序,这是为了兼容某些不适用GPT分区的程序对其识别错误导致GPT分区表被破坏。

GPT分区依然使用LBA寻址方式,传统MBR信息存储在LBA0中,而GPT头存储在LBA1中,GPT头又称为EFI信息。

 这里的MBR又称为保护MBR,里面包含一个DOS分区表(LBA0),只包含一个类型值为0xEE的分区项,在小于2TB的磁盘上,大小为整个磁盘;在更大的磁盘上,它的大小固定为2TB。它的作用是阻止不能识别GPT分区的磁盘工具试图对其进行分区或格式化等操作,所以该扇区被称为“保护MBR”。实际上,EFI根本不使用这个分区表。
GPT分区详情参考:GPT 分区详解 —— 金步国

GPT分区结构布局

file

分区0号扇区:

file

分区1号扇区:

file

后续分区:

file

简述GPT特点:

容量支持:与MBR分区相比,GPT分区的最大分区数目为128个,每个分区的最大大小也更大,为18千兆兆字节.
引导方式:GPT分区表不需要像MBR分区表那样依赖于引导扇区,GPT分区使用UEFI(统一的可扩展固件接口)来引导操作系统,启动过程更稳定。
分区类型:GPT分区表支持更多不同类型的分区。除了常见的主分区和逻辑分区,GPT还引入了保留分区(Reserved Partition)和EFI系统分区(EFI System Partition)等特殊类型分区来满足不同的需求。
数据冗余:GPT分区表在存储上具有冗余功能,每个分区表项都有备份,以确保数据的完整性。
唯一标识符:GPT分区使用GUID(全局唯一标识符)来表示每个分区的唯一标识符,而不是像MBR分区那样使用扇区号。这更适应处理多操作系统、多启动配置的情况。

《取证理论笔记——介质存储机制》有1条评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据