Sysmonログを可視化して端末の不審な挙動を調査~SysmonSearch~(2018-09-06)

JPCERT/CCではマルウエアに感染した端末を起点として、他の端末への感染拡大やサーバーへの侵入など内部のネットワーク内に侵害が拡大する事例を多く確認しています。侵害を受けた端末の調査には、動作したアプリケーションや通信などの詳細なログを日頃から取得しておくことが望まれます。このような用途に使用できるツールとしてマイクロソフト社が提供しているSysmon[1]というツールがあります。Sysmonは、端末上で動作したアプリケーションの情報やレジストリエントリの作成、通信などWindows OSの様々な動作をイベントログに記録するツールです。このSysmonのログを調査する最も一般的な方法は、イベントログをテキストなどの形式に変換し検索する方法ですが、この方法では多数の端末を同時に調査することは困難です。
そこでJPCERT/CCではSysmonのログを一元管理し、ログ分析を迅速かつより正確に行うことのできるツール「SysmonSearch」を開発し、公開しました。今回は、この「SysmonSearch」について紹介します。

SysmonSearch概要

SysmonSearchはElastic Stack[2]で実現し、Sysmonのログを分析する機能(ログの検索、ログの統計、ログの可視化)にはKibana Pluginを使った独自実装をしています。図1はSysmonSearchの概要です。ここからはSysmonSearchの各機能について紹介します。

図 1:SysmonSearch概要

Sysmonのログの可視化

SysmonSearchは、Sysmonのログで記録されるプロセス、ファイル、レジストリ等の記録を1つのノードとして定義し、各ノードを関連付けて可視化します。このように表現することで、各ノードの関係性を容易に確認できます。例えば、あるプロセスからファイルが作成されたことやあるプロセスからネットワーク通信していることなどが確認できます。図2はSysmonのログを可視化した例になります。各ノードのアイコンはSysmonが記録するイベントID毎に用意してあり、視覚的にわかりやすくなっています。Sysmonが記録するイベントIDと対応するアイコンについてはAppendixをご覧ください。

図 2:SysmonSearchでSysmonのログを可視化した結果

Sysmonのログの検索

SysmonSearch では、保存されたSysmonのログに対して、以下の条件での検索ができます。

  • 日時
  • IPアドレス
  • ポート番号
  • ホスト名
  • プロセス名
  • ファイル名
  • レジストリキー
  • レジストリ値
  • ハッシュ値

上記検索条件により、インシデント調査の最中にマルウエアのハッシュ値や通信先等が確認できた場合、他端末への感染等を特定できます。また、IoC、STIX形式のデータをインポートして検索することもできます。

図 3: SysmonSearch検索画面

Sysmonのログの監視

監視ルールにもとづき、保存されたSysmonのログに対して準リアルタイムに検索し、ヒットしたログを確認できる機能です。各環境にあった監視ルールを作成し、ヒットしたログを確認することで、インシデントの早期発見に役立ちます。監視ルールは検索機能により作成できます。

図 4: SysmonSearch監視画面

Sysmonのログの統計

ネットワーク通信、プロセス、レジストリ関連イベントを統計、端末ごとのイベントの集計結果を確認できる機能です。統計データを確認することで監視機能では確認できないイベントを見つけるのにも役立つかもしれません。

図 5: 全端末のネットワーク通信、プロセス、レジストリ関連イベントの統計画面

図 6: 端末のイベントIDに対する統計画面

インストール方法

SysmonSearchはGitHubで公開していますので、次のWebページからダウンロードしてご利用ください。また、DockerFileも公開しておりますので併せてご利用ください。

JPCERTCC GitHub - SysmonSearch
https://github.com/JPCERTCC/SysmonSearch

JPCERTCC GitHub – SysmonSearch Wki
https://github.com/JPCERTCC/SysmonSearch/wiki

おわりに

SysmonSearchはSysmonのログを一元管理し、可視化することで迅速かつより正確な分析ができるようになります。また、ログを監視し、アラートを確認することでインシデントの早期発見にも役立ちます。来たるべきインシデント調査に備えるために、本ツールをご利用いただければと思います。

参考情報

[1] Sysmon - Windows Sysinternals | Microsoft Docs
https://docs.microsoft.com/ja-jp/sysinternals/downloads/sysmon

[2]オープンソースのElastic Stack(Elasticsearch、Kibana、Beats、Logsatsh)でリアルタイムな検索と分析 | Elastic
https://www.elastic.co/jp/products

Appendix Sysmonが記録するイベントIDに対するアイコンの紐づけ

イベントID イベント名 アイコン
1 Process Create
2 File creation time changed
3 Network Connection Detected
7 Image loaded
8 CreateRemoteThread
11 FileCreate
12
13
14
Registry Event (CreateKey)
12
13
14
Registry Event
19
20
21
WmiEvent
≪ 前へ
トップに戻る
次へ ≫