块级与文件级哈希的区别
对整个设备做采集时,源盘是按块读取的,镜像则按文件保存,两者的哈希口径并不相同:采集工具的哈希参数记录的是从源设备读到的数据流摘要,sha256sum 一类命令计算的是镜像文件本身的摘要。两者相等,说明镜像忠实复现了源盘内容;任一侧记录缺失,完整性主张就无法闭环。
基本信息
| 源侧摘要 | 从设备按块读取的数据流哈希,由采集工具输出 |
|---|---|
| 产物侧摘要 | 镜像文件的文件级哈希,由通用命令计算 |
| 一致性判断 | 两侧相等表示镜像忠实复现源盘内容 |
| 记录方式 | 把两侧结果写进同一份采集日志 |
| 缺口处理 | 任一侧没有记录时,在报告中说明无法闭环 |
典型使用场景
- 采集完成时核对镜像是否忠实复现源盘
- 证据交接时提供可复核的口径说明
- 排查两侧摘要不一致的具体成因
- 归档时把采集日志与镜像一并保存
- 复核他人采集结果时先确认其记录口径
两侧记录
两侧记录
dc3dd if=/dev/sdb of=/evidence/sdb.dd hash=sha256 log=/evidence/sdb.log # 源侧摘要
sha256sum /evidence/sdb.dd >> /evidence/sdb.log # 产物侧摘要
cat /evidence/sdb.log # 两侧结果对照
blockdev --getsize64 /dev/sdb # 源设备字节数
stat -c '%s %n' /evidence/sdb.dd # 镜像文件字节数,两者应一致两侧口径对照
| 口径 | 计算对象 | 不相等时的含义 |
|---|---|---|
| 源侧摘要 | 从设备按块读取的数据流 | 采集过程出错或源设备被改动 |
| 产物侧摘要 | 镜像文件的字节内容 | 存储或传输环节发生了变化 |
| 两侧一致 | 口径对齐且内容一致 | 镜像忠实复现源盘 |
| 仅有一侧 | 记录不完整 | 完整性主张无法闭环 |
两侧的算法必须一致:一侧用 SHA-256、另一侧用 MD5 时结果无法直接对照。采集工具输出的摘要与通用工具计算的摘要在呈现格式上也可能不同,比对前先统一算法与格式。
常见错误是只保留镜像侧摘要,事后无法证明镜像与源盘一致。采集日志(含源侧摘要、采集时间、设备标识与参数)应与镜像一起归档,并单独计算一次采集日志自身的摘要。