[CODE BLUE 2025レポート] Day 2 YAMAGoya
セッション情報
YAMAGoya: Open Source Threat Hunting Tool using YARA and SIGMA
発表資料
またJPCERT/CCからも、ツールの紹介記事が出ています。
セッション内容
YAMAGoyaとは
YARAルールとSigmaルールをエンドポイント(PC)で実行できるツール。
特徴
- YARAルールによるメモリスキャン
- Sigmaルールによる振る舞い検知
- ユーザーランドで動作する
- カーネル権限不要
- ドライバインストール不要
- GUIとコマンドラインの両方に対応
- C#で書かれている
ファイルスキャンは対象外。
メモリスキャン機能
Virtual memory spaceをYARAルールで検査。
メモリ全体を検査するのは現実的ではないので、絞り込みをする。
ターゲットとなるメモリ空間が決まったら、YARAルールで検査する。
各メモリ領域にタグ付けをしていく。
特定のタグの組み合わせを持つ領域を検査ターゲットにする。
- 実行可能権限を持っている
- Private空間
- Commitされている
YARAスキャンはデフォルトは無効化されているので、使用する場合は有効化する。
振る舞い検知機能
ETWを使用して、OSアクティビティを調査する。
- ファイルの操作
- ネットワーク接続
- レジストリ変更
- Powershell実行
- WMI
ETW = Event Tracing for Windows
Windowsの機能。
カーネルもしくはアプリケーションが特定のアクションを実行した際にEventを発行、ログ出力する。
ETWの用途、使用例
- Applicationのデバッグ
- EDRが検知などに使用する
- EventLog
ETWの構成要素
- Controllers
全体を管理する。- Providerの有効無効
- 出力されたイベントの管理
- Providers
ログを発出する。 - Consumers
イベント、ログを受信する。
YAMAGoyaは主にConsumerであるが、少しControllerも含まれる。
Providerのセットアップを行うところでController機能を使う。
デフォルトでは1000以上のETWがあり、YAMAGoyaは17種類を使用する。
- DNS
- SMB
- Powershell
- etc.
既知のETW Bypass手法があり、それによってYAMAGoyaもバイパスされてしまう場合がある。
カスタムルール
独自のYAMLでカスタムルールを作成し、検知を行うことも可能。
Sigmaのルールではカバーしきれない、複数のアクティビティの組み合わせで検知する。
- ファイル作成
- プロセス開始
- DLL読み込み(DLLサイドローディング対策)
マルウェアの実行自体は防げることが多いが、DLL読み込みはチェックされないことがある。
正規のバイナリからDLL経由でマルウェアが実行されるのを検出する。 - 外部通信
C2サーバとの通信
まとめ
Windows環境をSigmaルールとYARAルールで守ってくれるツール、YAMAGoyaを紹介するセッションでした。
公開されているSigmaルール・YARAルールを手軽に実行できる環境という面でも便利そうです。
Windowsユーザーの方は導入されてみてはいかがでしょうか。
Discussion