SRUMのメモ

SRUMのメモ。

SRUMとはSystem Resource Usage Monitorの略で、アプリケーションやサービス等の利用状況を監視するWindowsの機能のこと。

フォレンジック調査の観点ではSRUMを調べることで、読み書きが異常に多いプロセスが無いかとか、外部と大量の通信を行っているプロセスが無いか(データ漏洩)などを確認することが出来る。

SRUMについては、すでに詳しく解説している記事がたくさんあるので、ここでは個人的に抑えておきたいポイントだけメモする。

SRUMが収集したデータは、まずSOFTWAREレジストリ(C:\Windows\System32\config\SOFTWARE)に保存され、その後は約1時間に一回、さらにシャットダウン時にSOFTWAREレジストリからC:\Windows\System32\SRU\SRUDB.datに保存される。

SRUMをパースするツールはいくつかあるが、自分のおすすめはSrumECmd (使用にあたりSOFTWAREレジストリとSRUDB.datを取得しておく必要がある)

コマンド

C:\path\to\SrumECmd.exe -f "C:\path\to\SRUDB.dat" -r "C:\path\to\SOFTWARE" --csv "C:\path\to\output_dir"

もしくは

C:\path\to\SrumECmd.exe -d "C:\path\to\dir_with_SRUDB.dat_and_SOFTWARE" --csv "C:\path\to\output_dir"

SRUMに記録される日時は通信や読み書きが発生した日時ではなく、SRUMのデータベースが更新された日時である。

SRUMのネットワーク関連のデータには通信を行ったアプリケーション名や送受信されたデータのバイト・サイズが記録されるが、通信先のIPアドレスやドメインは記録されない

SRUMを活用したデータ漏洩の調査事例

先日、マルウェアに感染したシステムを調査したのだが、調査内容のひとつに「データ漏洩の有無」というのがあった。

マルウェアを解析した結果、このマルウェアは窃取した情報をZIPファイルに保存して、C2サーバーへアップロードする機能を有していたことが判明した。

感染システムにインストールされていたEDRがC2サーバーへの通信を検知していたが、通信のサイズや内容までは記録されていなかった。

感染システムからC:\Windows\System32\SRU\SRUDB.datC:\Windows\System32\config\SOFTWAREを取得し、SrumECmdでSRUMのデータベースをパースしたところ、NetworkUsages_Output.csvにマルウェア・プロセスがネットワークに送信した通信のサイズが記録されていた。

このマルウェア・プロセスの通信のサイズが、マルウェアによってC2サーバーに送信されたとされるZIPファイルのサイズとほぼ一致したことから、かなりの確証を持って「データ漏洩が発生した」と結論付けることができた。

参考
https://jpn.nec.com/cybersecurity/blog/220722/index.html
https://muchipopo.com/forensic/srum/
https://digitalforensicsdotblog.wordpress.com/tag/srum/

Leave a Reply

Your email address will not be published. Required fields are marked *