首页/安全/应急响应速查/只读方式挂载镜像与证据盘

只读方式挂载镜像与证据盘

挂载证据盘或磁盘镜像必须只读:禁止日志回放改写原盘,避免挂载动作本身改变证据;镜像文件用只读回环设备。

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

为什么必须只读

挂载动作本身就会改变证据:文件系统驱动会回放日志、更新挂载计数、写入访问时间。对证据盘或镜像,正确做法是块设备置只读、镜像用只读回环设备建立,并在挂载参数上显式禁止日志回放。

光有 ro 还不够

ro 只约束文件系统层,块设备层仍可被写入,桌面环境的自动挂载更是绕过人工参数。因此要叠加块级只读(blockdev --setro)或硬件写保护,并在挂载后核对实际生效的参数。

基本信息

关键选项ro 必选;建议追加 noexec、noatime
镜像文件losetup -r 建立只读回环设备
NTFS/XFS加 noload 禁止挂载时回放日志
块级保护blockdev --setro /dev/sdb 双保险
核对方式mount 与 blockdev --getro 输出确认
权限要求挂载与块设备操作需 root

典型使用场景

  • 分析磁盘镜像中的分区内容
  • 浏览从受害主机取下的证据盘
  • 校验挂载参数是否真的只读
  • 在带桌面环境的分析机上避免自动挂载
  • 与写保护设备配合形成完整防写链

只读挂载物理盘与镜像

只读挂载物理盘与镜像
mkdir -p /mnt/evidence
blockdev --setro /dev/sdb                          # 块设备级只读(双保险)
mount -o ro,noload /dev/sdb1 /mnt/evidence        # 物理盘(xfs 示例)
losetup -r /dev/loop0 /evidence/disk.img          # 镜像:只读回环
mount -o ro,noatime /dev/loop0 /mnt/evidence
mount | grep evidence   # 应显示 ro

挂载输出逐列读法

字段含义正常/异常
设备名挂载的设备或回环设备直接挂载原始块设备且无 ro 即为风险做法
挂载点证据目录挂在桌面自动挂载路径下易被其他进程访问
挂载参数ro、noatime、noload 等未见 ro 说明为可写挂载,必须卸下重挂
文件系统类型ext/xfs/ntfs 等xfs 或 ntfs 未加 noload 会回放日志
不要直接双击或读写挂载:一次日志回放就可能改写原盘日志区,哈希校验也随之后续不成立。
只读挂载不等于块设备只读:配合 blockdev --setro 与硬件写保护读卡器,才能覆盖绕过文件系统层的写入。

核对保护是否生效

核对保护是否生效
blockdev --getro /dev/sdb        # 1 表示块设备已只读
findmnt /mnt/evidence | head -n 3
losetup -a | head -n 10           # 回环设备应显示 (read-only)
cat /proc/mounts | grep evidence  # 内核视角的挂载参数

挂载前检查项

  • 确认镜像哈希已计算并登记
  • 确认回环设备以只读方式建立
  • 确认没有其他进程正在使用该设备
  • 记录挂载时间、参数与操作人

易错点

  • 用 rw 挂载又落盘:原盘证据被污染,哈希校验不过
  • 桌面环境自动挂载 NTFS 会回放日志,覆盖取证点
  • 挂载后不核对实际参数:以为只读,实际以可写方式挂上
  • 在证据盘上直接跑分析工具:工具会写临时文件或更新访问时间
  • 不记录挂载参数与时间:事后无法说明镜像处于什么状态

数据来源与参考

  • mount(8) 手册(util-linux)
  • Sleuth Kit 取证流程文档

相关工具

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