执行痕迹的时间可得性对照
不同的执行痕迹能提供的时间信息差别很大:有的给出精确到秒的多次运行时刻,有的只能证明某文件曾被系统接触过。把各痕迹的时间可得性列清楚再安排分析顺序,先做能给出时间的那一类,时间线能更快成形,也避免在无法给出时间的痕迹上反复投入。
基本信息
| 运行缓存痕迹 | 多个最近运行时刻,精度较高,但可能被禁用或清理 |
|---|---|
| 用户活动记录 | 最近执行时间与次数,覆盖范围限于特定界面操作 |
| 缓存执行痕迹 | 本身不含时间,只能证明文件曾被系统接触 |
| 执行统计记录 | 提供最近执行时间,覆盖的程序范围有限 |
| 判读原则 | 有时间先用时间,无时间的痕迹只用于补存在性 |
典型使用场景
- 排定执行类痕迹的分析顺序,先跑能给出时间的
- 解释为什么某些程序有时间记录、某些只有存在性
- 交叉验证某个程序是否真的在这台主机上运行过
- 在报告中说明各类痕迹的能力边界
- 为选择现场采集对象提供依据
批量核对存在性
批量核对存在性
Get-ChildItem C:\Windows\Prefetch -Filter *.pf | Measure-Object # 运行时间与次数
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist" /s | Select-String -First 5 'Count|Focused'
# 缓存执行痕迹只有存在性,导出后作为“曾被接触”的证明使用
# 各来源结果统一换算到同一时间基准后再并入时间线时间可得性
| 痕迹 | 时间信息 | 局限 |
|---|---|---|
| Prefetch | 多个最近运行时刻,精度到秒 | 可能被禁用或清理 |
| 用户活动记录 | 最近执行时间与次数 | 只覆盖特定界面操作 |
| 缓存执行痕迹 | 本身不含时间 | 只能证明存在,时间需外部来源 |
| 执行统计记录 | 最近执行时间 | 覆盖的程序范围有限 |
先拿到来源清单再决定取证顺序:有时间的痕迹先做时间线,无时间的痕迹留作存在性证明,两条线最后在时间轴上合并,避免彼此牵制拖慢整体进度。
不要凭直觉给缓存类痕迹补上时间:它本身不记录执行时刻,硬填一个时间会让整条时间线失去可信度。需要时间就从其它来源取,取不到就在报告里写“时间不可得”。