【PSOE】WEB問題集:検知エンジニアリング編

WEB問題集

PSOE#1(detection-engineering)

YARA-L 2.0 ルールで、特定の親プロセスから生成された PowerShell プロセスを検知したい場合、必須となる構造はどれですか。

ディスカッション 0

正解:C

正解の根拠

YARA-L 2.0 では meta、events、condition の三つのセクションは必須です。events セクションでイベント条件と変数 (placeholder) の関連付けを記述します。

セクション必須/任意
meta必須
events必須
condition必須
match / outcome / options任意

不正解の理由

  • B は condition セクションが必須のため誤りです。条件記述なくしてルールは成立しません。
  • C は events セクションを書かないと検知ロジックが定義されず、ルールが動作しません。
  • D は match セクションが任意であり、24 時間固定という制約も存在しません。

参考:YARA-L 2.0 overview

PSOE#2(detection-engineering)

単一イベントルール (single-event rule) と複数イベントルール (multi-event rule) を区別する最も明確な要素は何ですか。

ディスカッション 0

正解:D

正解の根拠

events セクション内で event variable を一つだけ宣言する場合は single-event rule、複数宣言する場合は multi-event rule になります。複数の場合はジョイン条件で関連付けが必要です。

種別event variable 数
single-event1 個
multi-event2 個以上

不正解の理由

  • A の author 数はメタ情報であり、検知種別の判定とは無関係です。
  • C の outcome は両方の種別で任意であり、種別判定要素になりません。
  • D のプレフィックスは命名規約にすぎず、エンジンの判定条件ではありません。

参考:Single-event vs multi-event

PSOE#3(detection-engineering)

match セクションを使用して 10 分間に複数回発生するブルートフォースを検知する場合、正しい記述に該当するものを 2 つ選んでください。

(2つ選択)

ディスカッション 0

正解:A, B

正解の根拠

match セクションは集約のキーと時間ウィンドウを宣言する場所であり、condition セクションで $event#count などの集計値に対する閾値判定を行います。

セクション役割
matchキーと時間ウィンドウ
condition閾値判定

不正解の理由

  • C の outcome は付加情報の算出には使えますが、検知の必須要素ではありません。
  • D は events セクションに match キーワードは存在せず、構文として誤りです。

参考:YARA-L match section

PSOE#4(detection-engineering)

YARA-L 2.0 の match セクションで使用できる時間ウィンドウの上限はどれですか。

ディスカッション 0

正解:C

正解の根拠

match セクションの時間ウィンドウは最小 1 分から最大 48 時間まで指定できます。それ以上長い相関分析が必要な場合は別の手段を検討します。

項目
最小1 分
最大48 時間

不正解の理由

  • A の 7 日はストア検索などの保持期間と混同したものでルール上の上限ではありません。
  • B の 30 日は本機能の上限を大きく超えており、サポート対象外です。
  • D の 90 日は UDM ログの保持期間目安であり、match の上限とは異なります。

参考:match section limits

PSOE#5(detection-engineering)

YARA-L 2.0 で reference list を参照して既知のホワイトリスト IP を除外する記述として正しいものはどれですか。

ディスカッション 0

正解:A

正解の根拠

reference list は %list_name 形式で events セクション内の述語として参照します。in 演算子で包含判定、否定する場合は not in を使用します。

用途構文
包含field in %list
除外not field in %list

不正解の理由

  • A の list() という関数は YARA-L に存在せず、構文エラーになります。
  • B の reference 宣言を meta に記述する仕様はなく、参照は events セクションで行います。
  • C の not match は文字列比較演算であり reference list の照合用途とは異なります。

参考:Reference lists