🚀

[CODE BLUE 2025レポート] Day 2 YAMAGoya

に公開

セッション情報

YAMAGoya: Open Source Threat Hunting Tool using YARA and SIGMA
https://codeblue.jp/program/time-table/day2-t3-05/

発表資料
https://github.com/JPCERTCC/YAMAGoya/blob/b5b6f437d55bab2adae56914cf60884fce794d8b/docs/YAMAGoya_CODEBLUE2025.pdf

またJPCERT/CCからも、ツールの紹介記事が出ています。
https://blogs.jpcert.or.jp/ja/2025/11/YAMAGoya.html

セッション内容

YAMAGoyaとは

https://github.com/JPCERTCC/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