首页/安全/取证与溯源速查/超级时间线:多源时间戳归一方法
溯源思路与流程68 条

超级时间线:多源时间戳归一方法

把磁盘、内存、日志、注册表等来源的事件按统一时间基准合成一条时间线,是溯源分析的主干工作;plaso 生态用 log2timeline 采集、psort 输出。

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

超级时间线的定位

超级时间线(super timeline)把磁盘镜像、文件系统元数据、系统日志、注册表、应用日志等来源的事件,统一换算到同一时间基准后按时间排序成一条主线。plaso 生态是 Linux 分析机上最常用的实现:log2timeline.py 从镜像里解析出事件并写入 .plaso 存储文件,psort.py 负责过滤与导出成 CSV 等可读格式,pinfo.py 用来看存储概况。它解决的是「事件散落在十几个来源、时间还互相对不上」的问题,是主机溯源的主干工作,属于事后分析,不替代内存与流量的现场采集。

基本信息

适用平台Linux/macOS 分析机,Python 3 环境(plaso 以 pip 安装)
工具链log2timeline.py 采集 / psort.py 导出 / pinfo.py 查看
常见输入磁盘镜像(dd、E01)、内存镜像、日志目录、文件系统元数据
常见输出l2tcsv(CSV)、dynamic(SQLite)、json_line、xlsx
磁盘要求.plaso 存储体积常大于被采集日志之和,先确认剩余空间

典型使用场景

  • 跨来源对时:把登录日志与文件落地时间放在同一条线上互相印证
  • 事件时间窗不明确,先全量采集再按窗口切片,避免反复回现场
  • 多台主机各自采集后合并,还原横向移动路径
  • 需要可复核产出:导出 CSV 交给他人用表格继续筛
  • 在整盘镜像里回答「某个时间段究竟发生了什么」
  • 验证单点痕迹真伪:用文件系统元数据反证日志里的时间
  • 对外交付时间线材料:附录里保留采集与导出命令、工具版本与校验值

采集与导出

采集与导出
# 从镜像采集事件,时间戳统一按 UTC 渲染,结果存进 .plaso 存储
log2timeline.py --timezone UTC --storage-file case.plaso /evidence/disk.dd
# 先看概况:事件总数、各解析器命中量、可用输出模块
pinfo.py case.plaso
# 按时间窗切片导出(过滤表达式写在引号里,可加 host 等字段)
psort.py -o l2tcsv case.plaso "date > '2026-01-02 00:00:00' AND date < '2026-01-03 00:00:00'" -w win.csv
# 全量导出,交给表格工具做二次筛选
psort.py -o l2tcsv case.plaso -w timeline.csv
wc -l timeline.csv   # 行数 = 事件数 + 1 行表头
# 归档前对存储与产物分别记录校验值
sha256sum case.plaso timeline.csv > case.sha256

l2tcsv 逐列读法

列含义判读要点
date/time/timezone事件时间与其渲染时区三列一起看;timezone 不是 UTC 说明导出侧基准未统一
MACB该行对应哪类时间戳同一文件可能多行,分别是修改/变更/访问/创建
source/sourcetype来源与子类型,如 LOG、FILE、REG、WEBHIST用它判断证据层级,日志与文件系统互证才算稳固
type事件类型描述,如 Content Modification Time语义靠它,只看时间容易误读
user/host归属账号与主机空值是常态;多主机合并时必须靠 host 区分
desc/extra事件描述与附加字段extra 里常有原始路径、命令行、注册表键名等细节
采集侧的 --timezone 决定事件时间戳渲染基准,导出侧还有独立的时间/时区参数;两端都显式写 UTC,再核对 CSV 里 timezone 列是否与预期一致,避免默认值悄悄影响整条时间线。
解析器全开会产生大量低价值事件(Windows 解析器尤其容易膨胀)。先用 pinfo.py 看各解析器命中量,再用 --parsers 限定范围,可同时缩短耗时与降低噪声;不同版本参数名有差异,执行前以 --help 为准。
分析务必针对镜像或只读挂载的副本执行。把采集工具指向正在运行的原始盘,既会扰动证据,也可能因文件被占用而产生不一致结果。

易错点

  • 时区参数漏设会让整条时间线整体偏移,跨主机合并时偏移叠加,因果顺序被彻底颠倒
  • 解析器不加筛选导致事件量爆炸,分析者在噪声里找线索,关键事件被淹没
  • 直接对原始磁盘采集而非镜像副本,工具读取会写入访问时间等元数据,破坏证据可采性
  • 把时间戳语义(写入、元数据变更、审计记录)混为一谈,容易把「文件被读取」当成「文件被写入」
  • 只看导出的 CSV 不回看原始日志,缺少互证来源,结论难以复核

数据来源与参考

  • Plaso 官方文档(log2timeline/psort 用法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌