シグネチャ

概要

シグネチャは、検知ルールが識別した攻撃パターンに名前とCAPEC(Common Attack Pattern Enumeration and Classification)分類を付与するメタデータです。リアルタイム検知ルールやバッチ検知ルールが検知したイベントにsignatureフィールドがあると、その値と名前が一致するシグネチャを検索し、マッピングされたCAPEC IDをイベントに付与します。ルールのSignature Appにアプリを指定するとそのアプリのシグネチャから、空欄のままにするとアプリが指定されていないシグネチャから検索します。CAPECには攻撃の深刻度が定義されているため、シグネチャにマッピングされたCAPECの深刻度は、イベントのリスクスコアの影響度の値に加算されます。活用方法はシグネチャの活用を参照してください。

アプリは検知ルールとともにシグネチャを組み込みで提供できます。そのようなアプリをインストールすると、アプリの組み込みシグネチャが自動的に登録されます。組み込みシグネチャは、編集パネルでApp・シグネチャ名・Description・CAPEC IDを変更できません。

カスタム検知ルールに使用するシグネチャは、この画面で直接登録するか、CSVファイルをアップロードして一括登録します。シグネチャリストでCAPEC IDをクリックすると、CAPEC詳細ページに移動し、攻撃パターンの実行フロー・前提条件・対策を確認できます。

Policies > Signaturesメニューは、ライセンスにXDR機能が含まれている場合にのみ表示されます(ライセンス別機能を参照)。この場合、メニューはクラスタ管理者・管理者・ユーザーロールのアカウントすべてに表示され、3つのロールすべてがシグネチャリストと詳細を照会できます。編集パネルでのシグネチャの追加・編集とリストからの削除はクラスタ管理者と管理者ロールのみが実行でき、ユーザーロールのアカウントにはAdd・Saveと行のチェックボックスが表示されません。ただしUploadは3つのロールすべてに表示され、ユーザーロールもCSVファイルをアップロードしてシグネチャを追加・更新できます。ロール別の権限はアカウント権限一覧を参照してください。

シグネチャリストの照会・検索

Policies > Signaturesでシグネチャリストを照会または検索できます。

シグネチャリスト

  • App: シグネチャが属するアプリのアイコン。アプリが指定されていないシグネチャにはデフォルトのロゴが表示されます。
  • シグネチャ: シグネチャ名
  • Description: シグネチャの説明
  • CAPEC ID: シグネチャにマッピングされたCAPEC IDを先頭から3個まで表示し、4個以上ある場合は、+N Show Moreをクリックすると全リストを確認できます。各IDをクリックすると該当のCAPEC詳細ページに移動します。
  • 検知の傾向: 直近24時間の時間別検知件数を棒グラフで表示します。最大値を持つ棒は赤色で強調されます。棒の上にカーソルを置くと、その時点の時刻と検知件数を確認できます。
  • Modified At: シグネチャが最後に変更された日時(yyyy-MM-dd HH:mm形式)

ツールバーのAppドロップダウンで特定のアプリを選択すると、そのアプリに属するシグネチャのみが表示されます。

特定のシグネチャを検索するには、ツールバーの検索ボックスに検索語を入力してEnterキーを押してください。空白で複数の単語を入力すると、単語ごとにシグネチャ名・Description・マッピングされたCAPEC IDの3か所のうち少なくとも1か所に含まれている必要があります。大文字・小文字は区別しません。

リストの更新

シグネチャリストを最新情報に更新するには、ツールバーで更新をクリックしてください。

シグネチャのダウンロード

シグネチャリストをファイルとしてダウンロードするには、ツールバーでダウンロードをクリックしてください。シグネチャダウンロードダイアログが開きます。

シグネチャのダウンロード

  • File Name(必須): ダウンロードするファイルの名前(デフォルトシグネチャ、最大200文字)
  • Columns(必須): ファイルに含める列。シグネチャ・Description・CAPEC ID・Modified Atの4列すべてが選択されており、チェックボックスで列を外したり、右側のハンドルをドラッグして順序を変えたりできます。
  • File Format(必須): ダウンロードするファイルの形式。CSV(デフォルト)・XML・Microsoft Word・HTML・JSON・PDFから選択します。
  • Encoding(必須): ファイルのエンコーディング。ファイル形式がCSVまたはJSONのときのみ表示されます。
  • Range(必須): ダウンロードする範囲の開始番号と終了番号(デフォルトは現在のページの最初の行番号から全件数まで)

指定が終わったらDownloadをクリックしてください。リストが空の場合、ダウンロードアイコンは無効化されています。

シグネチャの追加

検知ルールで照合する新しいシグネチャを作成するには、次の手順に従ってください。

  1. Policies > Signaturesで、ツールバーのAddをクリックしてください。

  2. シグネチャ追加パネルで項目を入力してください。

    シグネチャ追加

    • App: シグネチャが属するアプリ。空欄のままにすると、どのアプリにも属さないシグネチャになります。

    • シグネチャ(必須): シグネチャ名。最大500文字まで入力できます。空白のみで構成された名前は保存できません。

    • Description: シグネチャの説明。最大2,000文字まで入力できます。

    • CAPEC ID: シグネチャにマッピングするCAPEC IDを検索して選択します。検索はCAPEC ID・名前・Descriptionを照合し、攻撃パターン種別のCAPECのみが候補になります。検索欄にCAPEC IDや名前の一部を入力すると、候補が CAPEC-63 / Cross-Site Scripting (XSS) のように表示されます。

      CAPEC IDの検索

      候補をクリックすると選択されます。複数選択することもできます。選択したCAPEC IDは検索欄の下にCAPEC-66: SQL Injection形式のタグとして積み重なります。タグの削除ボタンをクリックするとリストから外れ、Saveすると解除されます。

  3. パネル右上のSaveをクリックしてください。保存するとパネルが閉じ、リストに新しいシグネチャが表示されます。

Note
同じアプリ内では、シグネチャ名は他のシグネチャと重複できません。既存の名前で保存すると、重複したシグネチャであるというエラーメッセージが表示されます。アプリを指定しないシグネチャ同士でも名前は重複できません。

シグネチャの編集

シグネチャのApp・名前・Description・CAPEC IDを変更するには、次の手順に従ってください。

  1. シグネチャリストで、編集するシグネチャの行をクリックしてください。

    編集するシグネチャ行の選択

  2. シグネチャ編集パネルで値を修正してください。入力項目はシグネチャの追加と同じです。

    シグネチャ編集

  3. パネル右上のSaveをクリックしてください。保存するとパネルが閉じます。

Note
アプリが提供する組み込みシグネチャを開くと、App・シグネチャ・Description入力が無効化され、CAPEC ID検索欄とタグの削除ボタンが表示されなくなるため、マッピングを変更できません。Saveボタンはそのまま表示され、クリックしても値は変わらず、変更日時だけが更新されます。

シグネチャの削除

シグネチャを削除するには、次の手順に従ってください。

  1. シグネチャリストで、削除するシグネチャのチェックボックスを選択してください。1件以上選択すると、ツールバーの左側が選択した項目に対する操作を尋ねる表示に変わります。

    シグネチャの選択ツールバー

  2. Deleteをクリックしてください。選択を元に戻すにはDeselectをクリックしてください。

  3. シグネチャ削除ダイアログで削除するシグネチャの名前とDescriptionを確認し、Deleteをクリックしてください。

    シグネチャ削除の確認

削除は他の機能からの参照を確認せず、すぐに反映されます。シナリオはシグネチャを名前で検索するため、削除後に検知されたイベントにはそのシグネチャのCAPEC IDが付与されません(すでに記録されたイベントはそのままです)。

シグネチャのアップロード

CSVファイルをアップロードしてシグネチャを一括登録・更新するには、次の手順に従ってください。

  1. Policies > Signaturesで、ツールバーのUploadをクリックしてください。

  2. シグネチャアップロードダイアログで項目を指定してください。

    シグネチャアップロード

    • App: アップロードするシグネチャが属するアプリ。空欄のままにするとアプリのないシグネチャとして登録されます。
    • File(必須): アップロードするCSVファイル。案内文のここリンクをクリックすると、サンプルテンプレートファイルをダウンロードできます。

    CSVファイルは次の形式に従う必要があります。

    • 最初の行が正確にsignature,description,capecsであればヘッダーとして扱われスキップされます(省略することもできますが、異なる場合は最初の行もデータとして読み込まれます)。
    • 各行の列は正確に3個(シグネチャ・Description・CAPEC IDリスト)である必要があります。
    • capecs列にはCAPEC IDを空白で区切って列挙します(例: CAPEC-192 CAPEC-230)。
    • ファイルエンコーディングはUTF-8である必要があります。
  3. Uploadをクリックしてください。

  4. アップロードが完了すると結果が表示されます。追加・更新・失敗件数を確認し、OKをクリックしてください。

    シグネチャアップロード結果

CSVのシグネチャ名が同じアプリの既存シグネチャと一致する場合、そのシグネチャを更新します。ただし、その既存シグネチャがアプリの組み込みシグネチャである場合はDescriptionのみが更新され、この件数は結果画面の追加・更新・失敗のいずれにも含まれません。1つのファイルに同じ名前が2回出現する場合、後のものだけが反映され、前のものは無視されます。列数やCAPEC ID形式が誤っている行、シグネチャが空の行、Descriptionが2,000文字を超える行は、その行だけがスキップされ、失敗として集計されます。シグネチャ名が500文字を超える行が1つでもあるとファイルをアップロードできず、Fileの下にその行番号が表示されます。

Note
アップロード中にCancelをクリックすると、アップロードをキャンセルしたという通知が表示され入力画面に戻りますが、すでにサーバーへ送信済みのファイルはそのまま反映され、処理が終わると結果画面が表示されます。

シグネチャの活用

登録したシグネチャはリアルタイム検知ルールとバッチ検知ルールで活用します。両フォームのSignature App項目は、XDR機能を含むライセンスの場合にのみ表示されます。

検知されたイベントにsignatureフィールドがあると、その値でシグネチャを照会します。ルールのSignature Appにアプリを指定するとそのアプリで名前が一致するシグネチャを検索し、Signature Appを空欄のままにするとアプリが指定されていないシグネチャの中でのみ検索します。そのため、この画面でアプリを指定せずに登録したシグネチャを使うには、Signature Appを空欄のままにしてください。一致するシグネチャが見つかると、マッピングされたCAPEC IDがイベントに付与されます。クエリではsonar-signature-to-capecsコマンドで同じ照会ができます。

シナリオビルダーのルール시그니처 패턴탐지(シグネチャパターン検知)は、この画面のシグネチャではなくパターングループを照合対象とします。名前は似ていますが異なる機能なので、混同しないでください。