首页/安全/取证与溯源速查/NTFS 时间戳语义与篡改识别
Windows 取证55 条

NTFS 时间戳语义与篡改识别

NTFS 文件有多组时间:$STANDARD_INFORMATION 与 $FILE_NAME,后者更新较难:两者失衡可提示时间戳篡改。

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

NTFS 的两组时间

NTFS 文件的主文件表(MFT)里同一个文件有两组时间戳:$STANDARD_INFORMATION(SI)属性中的四时间,和目录索引项 $FILE_NAME(FN)属性中的四时间,各自包含创建、修改、MFT 变更与访问时间。用户态 API(如 SetFileTime、各类时间戳修改工具)能轻易改写 SI,改写 FN 则需要更底层的操作,因此两组时间出现系统性矛盾时,是时间戳被篡改的重要提示。需要注意的是,文件复制、解压、打补丁等常规操作本身也会造成两组时间不一致,异常判定必须结合目录语境。

基本信息

适用平台Windows 的 NTFS 卷(FAT 系列无此结构)
分析对象MFT 条目($MFT)或其提取副本,可由镜像直接解析
常用工具Sleuth Kit 的 fls/istat、MFTECmd、analyzeMFT 等
四时间含义Created(创建)、Modified(内容修改)、MFT Modified(元数据修改)、Accessed(访问)
输出注意时间默认按 UTC 输出,比对前统一时区口径

典型使用场景

  • 判断入侵者投放的工具文件是否被“时间戳伪造”伪装成系统旧文件
  • 区分正常补丁更新与手工替换:批量文件时间被改成同一时刻通常是镜像或工具行为
  • 确认可疑文件的真实出现时间,为时间线提供可信锚点
  • 识别从介质复制而来的文件:复制会重写创建时间而保留内容修改时间
  • 作为报告中的方法说明:解释为什么两个工具看到的时间不同

提取与比对

提取与比对
# 用 TSK 从镜像中查看同一条目的两组属性时间(含 MFT 条目号)
istat -o 2048 -f ntfs /evidence/disk.dd 42
# 批量导出目录条目与时间,便于成批比对
fls -o 2048 -r -m "/" /evidence/disk.dd | head -40
# Windows 侧可用 MFTECmd 导出 $MFT 为 CSV 后按 SI/FN 列对比
MFTECmd.exe -f "C:\case\$MFT" --csv C:\case --csvf mft.csv

两组时间的差异读法

现象可能原因判断方向
SI 创建时间晚于 FN 创建时间时间戳被工具改写,或文件被移动重建结合同目录其他文件与操作日志判断
四时间高度一致且为整点被批量修改或镜像工具写入重点核查该批文件的来源与用途
SI 修改时间早于创建时间典型的伪造痕迹作为重点线索,但不能单独作为结论
FN 时间晚于 SI 时间目录项后来被更新(重命名、移动)重命名行为本身也是线索
所有文件时间与卷创建时间一致镜像或复制过程写入该类时间不可用于事件排序
只提取 SI 或只提取 FN 都无法做完整判断;不同工具默认展示的属性不同,报告里要写清所用工具、命令与导出的是哪一组时间。
时间戳异常只是线索,不是结论。把它与文件内容哈希、进程执行痕迹、网络连接记录、日志事件结合后,才能给出“该文件在某时段出现并被使用”的判断。

易错点

  • 把 SI 与 FN 不一致直接定性为篡改:文件复制、解压、安装程序更新都会产生差异,先排除常规形变再标记异常
  • 忽略时区:解析工具多数按 UTC 输出,而现场日志可能是本地时间,未统一口径时会出现数小时级的顺序错乱
  • 拿单个文件的时间戳支撑结论:篡改通常是成批进行的,按目录聚类看整批文件的时间分布才更有证据力
  • 在生产机上直接分析 $MFT:读取系统卷元数据与写操作都可能有风险,应从镜像或只读副本中提取后分析
  • 忘记记录提取方法与工具版本:不同版本对时区与精度处理不同,缺了这行信息复核者无法重现结果

数据来源与参考

  • NTFS 技术参考($SI/$FN 属性)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌