0Pricing
Cyber Security Academy · レッスン

検知のテストとチューニング

誤検知を減らします。

「検知のテストとチューニング」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

誤検知の問題

無害なアクティビティに反応する、チューニングされていない検知は、検知がないよりも悪いものです。アナリストはノイズの多いアラートを無視するようになり、本物の攻撃がキューの中に埋もれてしまいます。これがアラート疲労であり、十分な資金を持つ SOC さえも侵害を見逃す原因になります。

チューニングとは、現実の脅威を見落とすことなく、真陽性を最大化し、誤検知をゼロに近づけるための規律あるプロセスです。

真陽性と偽陽性、真陰性と偽陰性

フレーム検知の品質を表す4つの結果:

  • 真陽性(TP) — 実際の悪意ある活動に対して検知が発生します
  • 偽陽性(FP) — 正常な活動に対して検知が発生します
  • 真陰性(TN) — 正常な活動に対して正しく検知を発生させません
  • 偽陰性(FN) — 実際の悪意ある活動を見逃します

チューニングでは、この空間上でトレードオフを調整します。ルールを緩めるとFNを減らせますがFPのリスクが高まり、厳しくすると逆になります。重要なのは、SOCが維持できるバランスを見つけることです。

テストデータ:既知の正常と既知の悪性

盲目的にチューニングすることはできません。既知の悪性サンプル(ルールが検知を発生させる必要があります)と既知の正常サンプル(ルールが検知を発生させてはいけません)からなるコーパスを構築します。Sigma DaCでは、これらをルールの隣にテストケースとして配置します。

tests:
  - name: malicious_encoded_powershell
    log: { Image: 'powershell.exe', CommandLine: 'powershell -enc SQBFAFgA' }
    expect: match
  - name: legit_admin_script
    log: { Image: 'powershell.exe', CommandLine: 'powershell -File backup.ps1' }
    expect: no_match

攻撃者エミュレーション

この手法を安全に実行して、実際の既知の悪性テレメトリを生成します。Atomic Red Teamは、ATT&CKに対応付けられた、文書化された小規模なテストを提供します。ラボで実行して、ルールが実際に検知を発生させることを確認できます。

アトミックを実行し、ログを取得して、検知がトリガーされることを確認します。発生しなければ、YAMLの見た目がどれほど優れていても、ルールには検知範囲の不足があります。

# Run an atomic test for T1059.001 (PowerShell)
Invoke-AtomicTest T1059.001 -TestNumbers 1

# Then confirm the SIEM detection fired for that host/time window

環境のベースライン作成

ルールをアラート用にデプロイする前に、監査モードで過去データとライブデータに対して実行し、通常どのようなものがルールをトリガーするか把握します。このベースラインにより、そうでなければFPを発生させる正常なプロセス、管理者、ツールが明らかになります。

抽象的には悪意に見えるものでも、特定の環境ではバックアップジョブ、脆弱性スキャナー、RMMエージェントであることがよくあります。ベースラインを作成すれば、こうしたものが夜中にアナリストを起こす前に明らかにできます。

フィルターによるチューニング

最も明快なチューニングでは、悪意のあるロジックをそのまま保ち、明示的なフィルターで既知の正常なトリガーを差し引きます。これは監査可能です。レビュー担当者は、何をなぜ除外したのかを正確に確認できます。

コアロジックを広げるのではなく、根拠の明確な狭い除外を優先してください。コアロジックの拡張は、気付かないうちに盲点を生む可能性があります。

detection:
  selection:
    Image|endswith: '\\wmic.exe'
    CommandLine|contains: 'process call create'
  filter_sccm:
    ParentImage|contains: '\\CcmExec'
  condition: selection and not filter_sccm

フィルターのかけすぎに注意

除外するたびに、攻撃者が身を隠せる穴が生まれます。ParentImageにツール名が含まれるすべてのアクティビティをフィルターで除外すると、攻撃者はその名前を偽装して検知を回避できます。

ガイドライン:

  • 利用可能な最も具体的な属性(フルパス、署名済みパブリッシャー、ハッシュ)でフィルターします
  • 各フィルターが存在する理由を文書化します
  • フィルターを定期的に再レビューします — 環境は変化します
  • 条件を削除するのではなく、しきい値を引き上げることを優先します

しきい値と集約

一部の挙動は、量が多い場合にのみ疑わしくなります。ログインの失敗が1回なら通常ですが、1つの送信元から1分間に50回あれば通常ではありません。条件で集約を使用し、各イベントではなく、レートまたは件数に対してアラートを発生させます。

しきい値をチューニングすると、ブルートフォース、スキャン、データ流出のパターンでノイズを大幅に減らせます。

detection:
  selection:
    EventID: 4625
  timeframe: 1m
  condition: selection | count() by SourceIp > 30

測定と反復

チューニングは一度きりではなく、継続的に行います。ルールごとのメトリクスを追跡し、特に問題のあるルールを見直します:

  • ルールごとの1日あたりのアラート量
  • アナリストの判定に基づくFP率
  • 適合率 = TP / (TP + FP)
  • トリアージまでの時間への影響

週に200件のアラートを生成し、そのすべてが正常としてクローズされるルールは、チューニングするか、監査に降格するか、廃止する必要があります。判断はデータに基づいて行います。

トリアージの負荷を軽減するエンリッチメント

すべてのノイズが抑制で解決するわけではありません。多くの場合、アラートは技術的には有効ですが、判定にはコンテキストが必要です。エンリッチメントによって、そのコンテキストを自動的に付加し、アナリストがより迅速に判断できるようにします。

  • 資産の重要度と所有者
  • ユーザーの役割とアカウントが特権付きかどうか
  • IP、ドメイン、ハッシュの脅威インテリジェンス上の評判
  • ホストがメンテナンス期間中かどうか

エンリッチされたアラートを使うと、リスクスコアを付けて優先順位を設定できます。生のアラート量が変わらない場合でも、実質的なノイズを削減できます。

変更のたびに回帰テスト

ルールをチューニングしたら、CIですべてのテストスイートを再実行します。既知の悪性テストは、実際の検知を誤ってチューニングで除外しないように保護し、既知の正常テストはFPが解消されたことを確認します。

このクローズドループが、DaCとチューニングを組み合わせる理由です。テストが壊した検知範囲を検出してくれるため、積極的にリファクタリングできます。

pytest tests/windows/wmic_process_create_test.yml
# all known-bad cases still 'match'
# new known-good case now 'no_match'

確認問題

実際のトレードオフにチューニングの判断を適用します。

まとめ

チューニングによって、検知の信頼性と実用性を維持できます:

  • 管理されていないFPはアラート疲れを引き起こし、侵害の見逃しにつながります
  • TP/FP/TN/FNのフレームワークに基づいて判断します
  • 既知の正常と既知の悪性のテストコーパスを構築します
  • 攻撃者エミュレーション(Atomic Red Team)を使用して、ルールが検知を発生させることを証明します
  • アラートを発生させる前に、監査モードでベースラインを作成します
  • 広範な除外ではなく、狭く文書化されたフィルターとしきい値でチューニングします
  • FP率と適合率を測定し、特に問題のあるルールを反復的に改善します
  • 変更のたびに回帰テストを再実行します

Sigma検知エンジニアリングコースを修了しました。

よくある質問

「検知のテストとチューニング」レッスンは無料ですか?

はい。「検知のテストとチューニング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「検知のテストとチューニング」で何を学びますか?

誤検知を減らします。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「検知のテストとチューニング」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Detection-as-Codeの原則
  2. Sigmaルールの記述
  3. MITRE ATT&CKへのマッピング
  4. 検知のテストとチューニング
← Cyber Security Academyに戻る