首页/安全/应急响应速查/取证挂载防写保护

取证挂载防写保护

取证挂载必须防写:块设备置只读、读卡器写保护、只读挂载副本;任何分析动作都不能污染原件。

应急响应速查安全更新于 2026-10-13

防写的三层保护

取证挂载必须防写:块设备置只读、使用带写保护的接入设备、以只读方式挂载副本。任何分析动作都不应污染原件,否则后续的哈希比对就不再成立。

只读挂载不够

只读挂载只是文件系统层的保护,块设备层仍可能被写入。因此要叠加 blockdev --setro 或硬件写保护开关,并在挂载后核对实际生效的状态,而不是凭参数假设。

基本信息

块级保护blockdev --setro /dev/sdb
挂载参数-o ro,noload,nouuid
硬件保护带写保护开关的读卡器或只读桥接设备
核对方式blockdev --getro 与 mount 输出双确认
适用对象物理证据盘与磁盘镜像
权限要求需要 root

典型使用场景

  • 分析前对证据盘做写保护
  • 把从受害主机取下的硬盘只读接入
  • 校验保护措施是否确实生效
  • 避免分析工具写回原件
  • 为证据完整性提供书面说明

只读保护与挂载

只读保护与挂载
blockdev --setro /dev/sdb
blockdev --getro /dev/sdb                 # 应为 1
mount -o ro,noload,nouuid /dev/sdb1 /mnt/evidence
mount | grep sdb1
losetup -r /dev/loop0 /evidence/disk.img && mount -o ro /dev/loop0 /mnt/image

输出逐列读法

检查项含义正常/异常
getro 返回值1 表示块设备只读返回 0 说明保护未生效
挂载参数是否包含 ro缺 ro 表示以可写方式挂载
设备路径目标设备确认作用于正确的磁盘
挂载点证据目录避免落在桌面自动挂载路径下
带日志的文件系统要加 noload 等参数:否则挂载动作本身会回放日志并改写原盘内容,一次挂载就可能破坏证据。
分析工具可能写临时文件或更新访问时间:把工具的工作目录指向另一块盘,避免在证据盘上产生任何写入。

辅助防护手段

  • 分析机与原件分离,避免误操作写回
  • 镜像至少保留两份并分别存放
  • 每次挂载操作记录时间与完整参数
  • 分析结束后再次校验哈希确认未变更

保护措施清单

  • 块设备设置为只读
  • 镜像使用只读回环设备
  • 必要时启用硬件写保护开关
  • 挂载参数包含 ro 与 noload
  • 核对 getro 与 mount 的实际输出
  • 记录操作时间与操作人

易错点

  • 可读写挂载做分析:随时改动时间戳与日志内容
  • 只靠 mount ro:块设备层仍可写,需要 setro 双保险
  • 忘记 noload:带日志的文件系统挂载时回放日志,改动原盘
  • 分析工具在证据盘上运行:临时文件与访问时间被改写
  • 不核对保护状态:以为已保护,实际参数并未生效

数据来源与参考

  • man 8 blockdev(setro/getro)
  • 取证只读挂载实践(noload 说明)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌