---
title: 'SRUM — Giải mã dấu vết thực thi ngầm và truyền tải dữ liệu trong điều tra số'
date: '2026-06-24T23:55:21+07:00'
author: Chigger
tags:
  - digital-forensics
  - windows
draft: false
summary: 'Khai thác System Resource Utilization Monitor để tái dựng lịch sử thực thi và truy vết dòng thời gian hệ thống.'
image: /uploads/2026/06/4e01c64cdccf336e.webp
series: digital-forensics
part: 3
---


![](/uploads/2026/06/21fbbedc965941f7.webp)
## Tổng quan 

Trong lĩnh vực điều tra số và ứng phó sự cố (DFIR), các artifact kinh điển như Prefetch, Amcache, Shimcache hay Master File Table (MFT) từ lâu đã trở thành nền tảng để tái dựng lịch sử thực thi và hoạt động của hệ thống Windows. Tuy nhiên, bên cạnh những nguồn dữ liệu quen thuộc này, **System Resource Utilization Monitor (SRUM)** là một thành phần thường bị bỏ sót nhưng lại mang giá trị forensic đặc biệt cao.

Được Microsoft giới thiệu từ phiên bản Windows 8 nhằm mục đích theo dõi mức sử dụng tài nguyên phục vụ quản lý hiệu năng, SRUM vô tình cung cấp cho các điều tra viên một lớp dữ liệu hành vi chi tiết. Nguồn dữ liệu này minh chứng rõ nét cách hệ thống và người dùng tương tác với ứng dụng theo dòng thời gian, mang lại bức tranh toàn diện hơn trong quá trình phân tích pháp chứng.

## Cơ chế hoạt động của SRUM

SRUM vận hành như một cơ chế ghi nhận và lưu trữ liên tục thông tin sử dụng tài nguyên của từng ứng dụng, gắn liền với từng định danh người dùng (User SID) và tiến trình (Process) cụ thể. Toàn bộ các dữ liệu này được cấu trúc và lưu trữ trong tập tin cơ sở dữ liệu tại đường dẫn:

`C:\Windows\System32\SRU\SRUDB.dat`

Tập tin `SRUDB.dat` được xây dựng dựa trên cấu trúc **Extensible Storage Engine (ESE)** — công nghệ lưu trữ dạng bảng tương tự như cấu trúc Active Directory hay một số thành phần hệ thống khác của Microsoft. Điểm ưu việt của SRUM so với các artifact thực thi khác là nó không chỉ ghi nhận sự tồn tại đơn thuần của một tiến trình, mà còn lưu vết toàn bộ hành vi tiêu thụ tài nguyên trong suốt vòng đời hoạt động của tiến trình đó, bao gồm: chu kỳ CPU, lưu lượng mạng, mức tiêu thụ năng lượng và định danh người dùng liên kết.

## Cấu trúc dữ liệu

Cơ sở dữ liệu SRUM được chia thành nhiều bảng (tables) chuyên biệt, mỗi bảng phản ánh một khía cạnh hành vi khác nhau của hệ thống. Khi tiến hành phân tích tổng thể, SRUM cho phép điều tra viên kết nối các điểm dữ liệu cô lập để trả lời những câu hỏi cốt lõi: *Ứng dụng nào đã thực thi? Thời gian chạy trong bao lâu? Tiêu thụ bao nhiêu tài nguyên CPU/mạng và thuộc quyền hạn của người dùng nào?* Sự liên kết chặt chẽ này tạo ra một góc nhìn "end-to-end" (toàn diện từ đầu đến cuối) về hành vi hệ thống, giúp phát hiện các điểm bất thường mà các artifact độc lập khác dễ dàng bỏ sót.

### 1. Network Usage – Dấu vết truyền dữ liệu qua mạng

Bảng **Network Usage** chịu trách nhiệm ghi lại chi tiết lượng dữ liệu gửi và nhận (bytes sent/received) của từng tiến trình theo thời gian. Trong thực tế điều tra, dữ liệu này đóng vai trò quyết định để phát hiện các hành vi kiểm soát và chiếm đoạt dữ liệu (data exfiltration), xác định tần suất kết nối định kỳ của mã độc (beaconing), hoặc phát hiện lưu lượng mạng bất thường từ các tiến trình lạ.

Khác với nhật ký tường lửa (firewall logs) thông thường vốn chỉ ghi lại các kết nối ở tầng mạng, SRUM thiết lập một mối quan hệ ràng buộc trực tiếp: `Tiến trình (Process) ↔ Lưu lượng mạng (Network Usage) ↔ Định danh người dùng (User SID)`. Từ đó, điều tra viên có thể xác định chính xác danh tính tài khoản nào chịu trách nhiệm cho hành vi truyền tải dữ liệu đó.
![](/uploads/2026/06/4e01c64cdccf336e.webp)

### 2. Application Resource Usage – Phân tích hành vi thực thi

Thông qua bảng **Application Resource Usage**, hệ thống ghi nhận chi tiết thời gian chiếm dụng CPU (CPU time), bao gồm cả thời gian chạy tương tác ở chế độ nền trước (Foreground CPU time) lẫn các hoạt động ngầm (Background activity). Khả năng phân tách này giúp điều tra viên phân biệt rõ ràng giữa hai ngữ cảnh: người dùng trực tiếp khởi chạy ứng dụng tương tác trên màn hình, hay tiến trình đang được thực thi ngầm bởi các thành phần như Windows Service, Task Scheduler và mã độc duy trì đặc quyền (persistence). Đây là nguồn tham chiếu quan trọng để xác định cơ chế kích hoạt thực sự của một mối đe dọa.
![](/uploads/2026/06/755de801577ab54a.webp)

### 3. User SID – Truy vết định danh người dùng

Một trong những giá trị cốt lõi của SRUM là việc gắn chặt mọi hoạt động tài nguyên với một **Security Identifier (SID)** cụ thể. Thuộc tính này cho phép xác định chính xác tài khoản người dùng nào đã khởi tạo tiến trình, hỗ trợ đắc lực trong việc phân tách hành vi giữa các tài khoản khác nhau trên cùng một hệ thống (đặc biệt là môi trường Terminal Services hoặc máy chủ dùng chung). Đối với các cuộc điều tra mối đe dọa từ bên trong (insider threat), việc kết hợp dữ liệu SID từ SRUM với các mốc thời gian hệ thống sẽ giúp dựng lại một dòng thời gian hành vi chuẩn xác cho từng tài khoản riêng biệt.

### 4. Mối quan hệ giữa Registry và SRUM

Khóa Registry HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SRUM\Extensions quy định chính xác tiến trình dịch vụ hệ thống SRUM Service sẽ nạp load tập tin DLL nào để thực hiện nhiệm vụ thu thập từng loại dữ liệu tài nguyên cụ thể. Bản thân khóa này không lưu trữ user activity history hay ghi nhận việc các ứng dụng thông thường đang load DLL gì, mà đóng vai trò là cấu hình cốt lõi định nghĩa tai mắt của chính hệ điều hành, chẳng hạn như chỉ định hệ thống nạp `eeprov.dll` khi cần đo lường energy consumption.

Đối với các điều tra viên, đây là một verification artifact quan trọng để phát hiện các kỹ thuật defense evasion nâng cao. Nếu xuất hiện một custom GUID lạ trỏ đến một DLL bất thường nằm ngoài thư mục hệ thống, đó là dấu hiệu cho thấy kẻ tấn công đã can thiệp vào cấu hình để lừa tiến trình Windows nạp malicious code nhằm thao túng hoặc làm sai lệch toàn bộ dữ liệu behavioral monitoring trong tệp SRUDB.dat. Đồng thời, khóa này còn cung cấp dictionary mapping giúp điều tra viên giải mã thủ công cấu trúc bảng dữ liệu thô và tính toán lại time blind-spot của hệ thống dựa trên các tham số buffer cache.
![](/uploads/2026/06/e8c36f28d8ac5d21.webp)

## Cơ chế ghi dữ liệu và Khoảng mù thời gian

Mặc dù SRUM giám sát hệ thống liên tục, cơ chế ghi dữ liệu của thành phần này không diễn ra theo thời gian thực (real-time) xuống đĩa cứng để tránh ảnh hưởng đến hiệu năng hệ thống. Thay vào đó, dữ liệu được lưu tạm thời (cache) trong bộ nhớ và Registry trước khi được ghi hàng loạt (flush) xuống tệp `SRUDB.dat` sau mỗi khoảng thời gian **~60 phút** hoặc khi hệ thống thực hiện quy trình tắt máy (shutdown) tiêu chuẩn.

> **Lưu ý Forensic:** Cơ chế này vô tình tạo ra một "khoảng mù thời gian" (time blind-spot) kéo dài khoảng một tiếng cuối cùng trước khi xảy ra sự cố. Trong trường hợp hệ thống bị tắt đột ngột (kernel panic, rút nguồn điện trực tiếp) hoặc bị can thiệp cố ý bởi kẻ tấn công, các dữ liệu hành vi cận kề thời điểm đó có nguy cơ bị mất hoặc không được cập nhật đầy đủ vào cơ sở dữ liệu.

## Phương pháp thu thập và công cụ phân tích

Do tệp `SRUDB.dat` luôn ở trạng thái khóa (locked) bởi tiến trình hệ thống khi Windows đang hoạt động, điều tra viên không thể sao chép tệp này bằng các lệnh copy thông thường. Để trích xuất dữ liệu một cách toàn vẹn, các kỹ thuật thu thập phổ biến bao gồm việc sử dụng công cụ tạo ảnh đĩa logic (như FTK Imager) 

Sau khi thu thập thành công, dữ liệu dạng ESE sẽ được phân tích bằng các công cụ chuyên dụng trong cộng đồng DFIR như **SrumECmd** (thuộc bộ công cụ của Eric Zimmerman) hoặc **srum-dump**. Các công cụ này hỗ trợ phân tách cấu trúc bảng phức tạp và xuất ra định dạng CSV hoặc Excel, giúp điều tra viên dễ dàng lọc, chuẩn hóa và xử lý dữ liệu trên quy mô lớn.

## Vai trò của SRUM

Trong bức tranh tổng thể của hoạt động pháp chứng kỹ thuật số, SRUM không hoạt động độc lập mà đóng vai trò như một mảnh ghép hoàn thiện cho các artifact khác.

| Artifact hệ thống | Vai trò cốt lõi | Sự bổ sung từ SRUM |
| --- | --- | --- |
| **Prefetch / Shimcache** | Xác định *thời điểm* ứng dụng được kích hoạt lần đầu hoặc lần cuối. | Cung cấp chi tiết *hành vi và lượng tài nguyên tiêu thụ* trong suốt thời gian ứng dụng đó duy trì hoạt động. |
| **Amcache / MFT** | Chứng minh *sự tồn tại* của file thực thi cấu trúc nhị phân trên hệ thống. | Xác minh tiến trình đó đã thực sự *tương tác với mạng* hoặc tiêu tốn bao nhiêu chu kỳ CPU. |
| **USN Journal** | Ghi lại các biến động vật lý của tệp tin trên hệ sính thái lưu trữ. | Minh chứng hoạt động đó do *tiến trình cụ thể nào và người dùng nào* điều khiển. |

## Kết luận

System Resource Utilization Monitor (SRUM) là một nguồn tài nguyên forensic giàu giá trị nhưng chưa được khai thác đúng tầm trên hệ điều hành Windows. Bằng cách cung cấp mối liên kết chặt chẽ giữa tiến trình, lưu lượng mạng, mức tiêu thụ năng lượng và định danh người dùng, SRUM cho phép các điều tra viên vượt qua giới hạn của câu hỏi *"Cái gì đã chạy?"* để tiến tới câu trả lời cho câu hỏi *"Nó đã làm gì khi đang chạy?"*. Việc khai thác hiệu quả SRUM sẽ làm tăng đáng kể độ chính xác của dòng thời gian điều tra và nâng cao năng lực phát hiện các hành vi bất thường, tinh vi trong hệ thống.
