首页/安全/取证与溯源速查/SRUM 记录的时间窗与粒度
Windows 取证55 条

SRUM 记录的时间窗与粒度

系统资源使用监视器按小时级窗口记录进程的网络与资源使用,属于聚合数据,用于回答“哪个进程在什么时段传了数据”。

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

SRUM 资源使用记录

SRUM(System Resource Usage Monitor)按小时间窗记录进程的资源消耗与网络用量,数据库是 C:\Windows\System32\sru\SRUDB.dat,采用 ESE 格式。它的价值在于:即使缺少流量日志,也能从主机侧看出某个进程在某个时间窗里发送了多少字节。

基本信息

数据库路径C:\Windows\System32\sru\SRUDB.dat
存储格式ESE 数据库,不能用文本方式直接读取
记录粒度按小时间窗聚合
主要字段进程标识、用户 SID、网络收发量、CPU 与磁盘使用
解析工具SrumECmd(Eric Zimmerman 工具集)等 ESE 解析器
获取方式卷影副本或离线镜像提取,避免直接复制在用文件

典型使用场景

  • 判断可疑进程的外联时间窗
  • 在缺少流量日志时提供主机侧网络用量旁证
  • 识别异常时段的高资源占用进程
  • 与进程列表、连接日志交叉印证
  • 分析长期驻留的定时任务与后台服务行为

最小示例

最小示例
# 先通过卷影副本或离线镜像取得副本
copy C:\Windows\System32\sru\SRUDB.dat C:\evidence\SRUDB.dat
# 解析为 CSV
SrumECmd.exe -f C:\evidence\SRUDB.dat --csv C:\out\srum
# 查看输出并按时间窗排序
Import-Csv C:\out\srum\SRUDB.csv | Select-Object -First 5 TimeStamp, AppId, BytesSent
dir C:\out\srum                                  # 输出文件名与列名以工具版本为准

字段与解读

字段含义注意
TimeStamp时间窗起点小时级聚合,不代表精确外联时刻
AppId应用标识,含路径或包名用于定位到具体进程
UserSID关联用户需换算成账号名再写进报告
BytesSent窗口内发送字节数与流量设备口径不一致
BytesRecv窗口内接收字节数单向数值异常时留意更新或回传行为
SRUM 是窗口聚合数据,不能用来判断秒级时刻;外联时点仍需结合连接日志或流量数据。
不同 Windows 版本的 SRUDB 表结构与记录类型有差异,报告中应写清工具版本与实际解析出的表名。
直接复制正在被系统写入的数据库可能得到不完整副本,应使用卷影副本或离线镜像提取,并记录获取方式与哈希。

易错点

  • 把窗口聚合当精确时间:SRUM 只有小时级粒度,用它断定分钟级行为会得出错误结论
  • 只解析 SRUDB.dat:单一来源说明不了操作者,需与进程、登录、连接记录交叉印证
  • 直接在活动系统上复制文件:占用中的 ESE 库可能复制成不完整文件,解析结果出现缺口
  • 忽略 SID 与账号的映射:报告里只写 SID,读者无法判断是哪个账号在使用

数据来源与参考

  • SrumECmd 官方文档(Eric Zimmerman)
  • Microsoft Learn(SRUM 概述)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌