用途
本技能用于在 Linux 取证工作站上,使用 dd 或 dcfldd 创建取证级、逐位的磁盘镜像,并通过哈希校验保持证据完整性。
适用时机包括:
- 需要为调查创建可疑磁盘的取证副本时;
- 事件响应中,在分析前保全易失性磁盘证据时;
- 执法或法律程序需要经验证的逐位副本时;
- 对存储设备执行任何破坏性分析之前;
- 从物理硬盘、USB 设备或存储卡采集镜像时。
前置条件
- 基于 Linux 的取证工作站(SIFT、Kali 或任意 Linux 发行版);
- dd(所有 Linux 系统预装)或 dcfldd(增强取证版本);
- 已配置硬件写阻断器或软件写保护;
- 存储空间大于源盘的目标盘;
- 取证工作站的 root/sudo 权限;
- SHA-256 或 MD5 哈希工具(sha256sum、md5sum)。
主要能力
- 使用 dd 进行原始(raw/dd 格式)逐位镜像采集,支持 bs 块大小、conv=noerror,sync、status=progress,以及通过 gzip 压缩镜像、通过 count 做部分采集;
- 使用 dcfldd 进行取证级采集,支持内置 SHA-256/MD5 哈希、hashwindow 分块哈希、hashlog 哈希日志、split 分卷与 splitformat、errlog 错误日志、vf 与 verifylog 验证;
- 通过 sha256sum 对源设备与镜像进行哈希比对,确认完整性;
- 对分卷镜像逐个校验;
- 采集前后对源盘重新哈希,确认源盘未被改动;
- 生成采集报告并对哈希、日志、备注打包归档。
使用方式
整个工作流分为六步:
步骤 1:识别目标设备并启用写保护
列举块设备识别目标,确认设备信息,启用软件写保护并验证只读状态,或使用 udev 规则实现持久写保护。
步骤 2:准备目标位置并记录源设备
创建案件目录结构,记录源盘信息(hdparm、smartctl),对源设备做采集前哈希。
步骤 3:使用 dd 采集镜像
使用 dd 进行基础采集(含进度与错误处理),或压缩镜像以节省空间,或用 count 做部分采集。
步骤 4:使用 dcfldd 采集(首选取证方法)
安装 dcfldd 后,使用内置哈希与分卷输出采集,将大镜像切分为段,并进行带验证的采集。
步骤 5:校验镜像完整性
对镜像计算哈希,与源哈希比对;对分卷镜像逐段校验;重新对源盘哈希并与采集前比对,确认源盘未发生变化。
步骤 6:记录采集过程
生成采集报告(案件编号、时间、检验人、源设备信息、采集工具、块大小、写阻断器、镜像哈希、源哈希、哈希是否一致、采集错误),并将哈希、日志、备注打包归档。
关键概念
- 逐位副本:包含未分配空间与松弛空间的源盘精确副本;
- 写阻断器:防止对证据介质写入的硬件或软件机制;
- 哈希校验:通过加密哈希比对源与镜像以证明完整性;
- 块大小(bs):影响速度的传输块大小,取证常用 4096 或 64K;
- conv=noerror,sync:遇到读错误时继续,并以零填充以保持偏移对齐;
- 证据链:证明证据未被篡改的文档化记录;
- 分卷镜像:将大镜像拆分为较小文件以便存储和运输;
- 原始/dd 格式:无元数据容器开销的逐位镜像格式。
适用场景
- 场景 1:采集可疑笔记本硬盘——通过硬件写阻断器连接磁盘,识别为 /dev/sdb,使用 dcfldd 配合 SHA-256 哈希,分卷为 4GB 段以便归档,校验哈希一致并在案件笔记中记录;
- 场景 2:对被入侵工作站的 USB 闪存盘制作镜像——使用软件写保护,dcfldd 同时进行 MD5 与 SHA-256 双哈希,镜像较小可单文件保存,校验后存于加密案情盘;
- 场景 3:网络远程采集——通过 netcat 或 ssh 管道传递 dd 数据,两端各自独立哈希以校验传输完整性;
- 场景 4:从故障盘采集——先用 ddrescue 恢复可读扇区,再用 dd 的 conv=noerror,sync 以零填充空缺,并在错误日志中记录不可读扇区。
相关工具
dd(标准 Unix 磁盘复制工具,用于原始镜像)、dcfldd(DoD 计算机取证实验室增强版 dd,含哈希)、dc3dd(DoD 网络犯罪中心另一取证 dd 变体)、sha256sum(SHA-256 哈希计算)、blockdev(设置块设备只读)、hdparm(磁盘识别与参数报告)、smartctl(S.M.A.R.T. 数据获取)、lsblk(块设备枚举与识别)。
限制
资料未说明该流程的具体性能数据、兼容设备清单或适用范围之外的限制,相关内容暂未提供。