首页/安全/取证与溯源速查/时间戳篡改的交叉验证检测
Windows 取证55 条

时间戳篡改的交叉验证检测

单一时间戳异常不足以证明篡改,常见信号是 $SI 与 $FN 时间不一致、创建时间晚于修改时间、以及文件时间与日志记录冲突。

取证与溯源速查安全更新于 2026-10-13

时间戳篡改的交叉验证

单个时间戳异常不足以证明篡改,可靠做法是交叉验证:看两组文件时间是否一致、创建时间是否晚于修改时间、以及文件时间与日志记录是否冲突。多条独立线索指向同一结论时,篡改的表述才站得住脚;只有一处异常时,先为它找别的解释更稳妥。

基本信息

信号一$SI 与 $FN 两组时间的差异方向与幅度异常
信号二创建时间晚于修改时间等反常规的时间组合
信号三文件时间与日志、内存痕迹或备份中的记录冲突
常用工具MFTECmd 导出 $MFT 后按列比对
表述要求区分“存在异常”与“已证实篡改”,并写明置信度

典型使用场景

  • 判断样本文件是否被改动过时间以躲避排序
  • 核对可执行文件的落地时间与执行痕迹是否吻合
  • 排查时间精度异常,例如大批文件的时间整齐到分钟
  • 结合备份或卷影副本中的历史版本做验证
  • 在报告中说明判定依据与仍存的其它解释

导出并对比

导出并对比
MFTECmd.exe -f 'C:\case\$MFT' --csv C:\out\mft
Import-Csv C:\out\mft\'$MFT.csv' | Where-Object { $_.'SI Created' -ne $_.'FN Created' } | Select-Object -First 10 FullPath, 'SI Created', 'FN Created'
Import-Csv C:\out\mft\'$MFT.csv' | Where-Object { [datetime]$_.'SI Created' -gt [datetime]$_.'SI Modified' } | Select-Object -First 10 FullPath, 'SI Created', 'SI Modified'
# 结果再与日志、备份或卷影副本中的时间做交叉核对

信号与判定

信号含义是否足以定性
两组时间不一致存在两个时间来源的差异需结合操作场景,单条不足以定性
创建晚于修改时间顺序不符合常规较强信号,仍需排除解析错误
精度异常时间整齐到秒或分钟可辅助判断,单独出现的说服力弱
与日志冲突文件时间与事件记录矛盾先复核时区与时钟偏移再定性
交叉验证的关键是找独立来源:文件系统时间、日志时间、内存痕迹、备份与卷影副本分属不同机制,两条独立来源一致时结论才稳;同一工具的两次输出并不算两份证据。
不要在报告中直接写“时间被篡改”而不给依据。写成“存在时间异常,依据为 A、B 两点,另有 C 这一解释尚未排除”既保留了判断,也避免结论超出证据能支撑的范围。

易错点

  • 凭单点时间异常就断定篡改,未做交叉验证
  • 忽略工具解析错误与时区换算错误造成的假异常
  • 把同一工具的多次输出当成多个独立来源使用
  • 结论表述超出证据范围,未列出尚未排除的其他解释

数据来源与参考

  • MFTECmd 官方文档(Eric Zimmerman 工具)
  • SANS 时间戳篡改资料
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌