SRUM

개요

SRUM은 System Resource Utilization Monitor의 약어로 시스템 내 리소스 사용량에 대한 정보를 담고 있는 아티팩트이다. 팬더믹 상황이 만연한 요즘 시대에 원격 근무, 원격 사용률이 높아지고 있는 추세이기도 하고, 바이러스/랜섬웨어의 경우 원격 서비스나 외부에서 특정 자원을 다운로드 하는 경우가 빈번하기 때문에 자원 사용량을 통해 특정 행위를 간접적으로 확인하는데 있어 SRUM은 사용 가치가 높은 아티팩트이다.
예를 들어 자원 사용한 시간이 남아있기 때문에 특정 프로그램이 특정 시간대에 사용되었다는 증거가 되기에 충분하기 때문이다. 또 네트워크 사용량을 확인하여 어떤 IP를 통해 분석 시스템에 접근했는지 또한 확인해볼 수 있다. 안티 포렌식 행위를 통해 기타 아티팩트가 삭제되어 있는 경우, SRUM이 남아있을 때가 있는데 (안티포렌식의 대상이 아니라고 판단되어) SRUM을 활용해서 간접적인 행위를 식별할 수 있다.
다만 윈도우 8 이후부터 적용된 기능이기 때문에 윈도우 7이나 다른 운영체제 환경에서는 사용할 수 없는 아티팩트이니 사용에 참고하도록 하자.

경로

윈도우 아티팩트 특성상, 로컬 경로에 남아있는 정보와 레지스트리에 남아있는 정보를 확인할 수 있다. SRUM역시 마찬가지로, 로컬 경로를 통해 좀더 실질적인 정보에 접근할 수 있으며 레지스트리 경로를 통해 부수적인 정보를 확인할 수 있다.
로컬 경로
레지스트리 경로

데이터

이번 절에서는 구조에서 다뤘던 로그 파일과 데이터 파일에 어떤 정보가 저장되고, 어떤 경우에 활용될 수 있는지 알아보도록 하자. 또 SRUM 데이터가 어떻게 처리되는지 역시 알아가며 SRUM 데이터의 특성에 대해서도 정리할 예정이다.
보면 크게 4가지의 파일로 규정지을 수 있는데, 각 파일의 저장하고 있는 내용은 다음과 같다. 중요한 것은 SRUDB.dat 파일이니까 해당 파일을 위주로 어떤 데이터가 저장되는지 분석해 보자.
SRUDB.DAT
SRUM 데이터 처리 방식

결론

생각외로 많은 정보를 확인해볼 수 있는 아티팩트가 SRUM이다. SRUM을 자주 사용하는 것은 아닌데, 이는 휘발성으로 인한 데이터 간 공백이 존재할 수 있어 아티팩트를 분석하여 도출하는 결론을 100% 신뢰할 수 없기 때문이다. 이에 다른 아티팩트와 조합해서 사용할 때 신뢰성을 더 실어줄 수 있는 요소로 사용되거나, 안티포렌식으로 인해 파일 실행, 네트워크 연결 이력에 대한 정보를 찾을 수 없을 때 차선책으로 이용하는 것이 바람직 해 보인다.

Tools

srum-dump
srum-dump
MarkBaggett

Reference

Windows Internals, Part 1: System architecture, processes, threads, memory management, and more (7th Edition) - By Mark E. Russinovich, David A. Solomon, and Alex Ionescu.
"Windows 10 and Windows Server 2016 Security Baseline" - Microsoft Docs
"Windows 10 and Windows Server 2016 Security Baseline" - Center for Internet Security (CIS)
"Windows 10 and Windows Server 2016 Security Baseline" - National Institute of Standards and Technology (NIST)