SRUM,即系统资源使用监视器(System Resource Usage Monitor),是Windows的一项功能,按小时记录每个程序消耗的CPU、网络和能耗情况。它的主要用途是电池报告和网络数据用量跟踪,但作为副作用,它成为您电脑上运行过的一切活动的详细日记,无论是从开始菜单、脚本还是后台服务启动的。
数据收集由诊断策略服务(DPS)驱动,该服务会定期查询正在运行和最近运行过的进程,并将结果写入数据库。由于它独立于资源管理器运作,SRUM能够捕捉到其他痕迹(如UserAssist)完全遗漏的程序,并且数据可以保留数周之久。它以ESE数据库的形式存储(与Windows搜索使用的引擎相同),位于 C:\Windows\System32\sru\SRUDB.dat, 其跟踪的数据类别配置于 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SRUM\Extensions.
| 字段 | 揭示的信息 | PrivaZer的处理方式 |
|---|---|---|
| 路径和用户SID | 运行了哪个程序,是谁运行的 | 已删除 |
| CPU周期 | 该应用程序进行了多少处理运算 | 已删除 |
| 发送/接收的网络字节数 | 该应用程序在线上传输了多少数据 | 已删除 |
| 连接时长 | 该应用程序保持连接的时长 | 已删除 |
| 磁盘读/写 | 该应用程序产生的存储活动 | 已删除 |
| 前台使用时间和能耗 | 该应用程序的活跃使用程度及其功耗 | 已删除 |
与Amcache一样,SRUM记录没有外观性质的部分,每个字段都是对程序实际行为的度量。使其异常详尽的是这种组合:不仅仅是某个程序运行过,而是它按小时使用了多少网络、磁盘和电池,持续数周之久。PrivaZer会删除这些记录,使这份资源使用日记不再留存于数据库中。
SRUM不仅仅说明某个程序曾经存在,它还说明了该程序是如何被使用的:产生了多少网络流量、在前台运行了多长时间、大致消耗了多少电池电量。由于数据收集是由诊断策略服务而非资源管理器驱动的,它不局限于您双击打开的程序,后台进程和命令行工具同样会显示出来。这种组合——存在证据加上长期的使用画像——正是使SRUM即便在其他执行痕迹已被清除后,依然对取证工具具有价值的原因。
会。PrivaZer会在扫描过程中检测并清除SRUM数据库,也可以单独针对它进行清理。
SRUDB.dat在Windows运行期间通常由诊断策略服务保持打开状态。PrivaZer会释放该锁定,并安全删除以下位置的文件: C:\Windows\System32\sru, SRUDB.dat及其附带的任何伴随文件,在删除前先覆写它们,使旧记录无法通过数据恢复工具找回。这一过程在同一会话中直接完成,无需重启。需要管理员权限。
会。卸载程序并删除其文件不会删除其SRUM历史记录。即使该程序本身的所有痕迹早已消失,其CPU、网络、磁盘和能耗使用情况的按小时记录依然可能在数据库中保留数周之久,不仅证明该程序曾经存在,还展示了它实际是如何被使用的。清理SRUM正是为了清除这些残留记录。
安全。SRUM是Windows为电池和网络报告而维护的一个诊断缓存,并会自动重建。清除它不会影响您已安装的程序、文件或系统稳定性。诊断策略服务会照常继续运行(或重启),因此依赖它的故障排除功能不会受到永久性影响。
会,这是预期中的情况:您再次使用电脑后,诊断策略服务会立即恢复其按小时的汇总记录。清理只是删除了此前的历史痕迹,因此调查人员此后能恢复的只是那之后发生的内容。定期运行PrivaZer可以让这份痕迹保持简短。
这四者都能证明某软件曾存在或运行过,但各自捕捉的侧面不同。SRUM是唯一一个具有按小时资源使用画像(CPU、网络、磁盘和能耗)的,也是唯一一个不依赖于GUI启动的。UserAssist以运行次数和聚焦时间记录GUI启动情况。Amcache是一个包含丰富的每个程序元数据(包括SHA-1哈希值)的配置单元文件。Shimcache主要记录路径和最后修改日期。只清理其中一项,其余三项仍会保留。
其他相关内容请参见: Amcache, Shimcache 和 UserAssist.