sonar-assess-risk

イベントログのリスクスコアを計算します。検出ルールと資産情報をもとにETIRリスクスコアを算出してレコードに追加し、セキュリティ運用においてイベントの深刻度の優先順位付けに活用します。

コマンドプロパティ

項目説明
コマンドタイプ加工クエリ
必要な権限なし
ライセンス使用量該当なし
並列実行対応
分散実行データノードで実行(mapper)

構文

sonar-assess-risk [simple=BOOL] [rule=BOOL]

オプション

simple=BOOL
t を指定すると最終リスクスコアフィールド(_risk_score)のみを出力し、その他の分析フィールドは省略します(デフォルト: f)。
rule=BOOL
t を指定するとルール関連フィールド(_rule_ticket_issue_cond_rule_enabled)を追加で出力します(デフォルト: f)。

入力フィールド

フィールド必須/任意説明
_rule_typestring必須検出ルールタイプ(STREAM または BATCH
_ruleinteger必須検出ルールID
_signature_guidstring任意シグネチャGUID
host_ipstring任意検出されたホストのIPアドレス
src_ipstring任意イベントの送信元IPアドレス
dst_ipstring任意イベントの宛先IPアドレス

出力フィールド

simple=f(デフォルト)の場合に出力されます。simple=t の場合は _risk_score のみ出力されます。

フィールド説明
_rule_typestring入力フィールドを維持(STREAM または BATCH
_ruleinteger入力フィールドを維持(検出ルールID)
_rule_namestring検出ルール名
host_ipstring入力フィールドを維持
src_ipstring入力フィールドを維持
dst_ipstring入力フィールドを維持
_signature_guidstring入力フィールドを維持
_risk_scorestring算出されたリスクスコア(例: CriticalHighMediumLow
_private_ipstringイベントで識別された内部IPアドレス
_capec_idstringシグネチャに関連付けられたCAPEC ID
_likelihood_typestring可能性の計算に使用されたタイプ
_likelihood_targetstring可能性の計算対象
_exploit_targetstring攻撃対象の資産
_exploit_cve_idstring関連するCVE ID

rule=t の場合に追加で出力されます。

フィールド説明
_rule_ticket_issue_condstringチケット発行条件(ALWAYSONCE
_rule_enabledboolean検出ルールの有効/無効

計算エラーが発生した場合に出力されます。

フィールド説明
_errorstringエラーメッセージ
_error_filestringエラーが発生したソースファイル名
_error_lineintegerエラーが発生したソースコードの行番号

エラーコード

パースエラー

該当なし

ランタイムエラー

該当なし

処理中に例外が発生した場合、レコードを破棄せずに _error_error_file_error_line フィールドにエラー情報を記録してパイプラインに渡します。

説明

sonar-assess-risk はイベントレコードに含まれる _rule_type_rule フィールドを使用して対応する検出ルールオブジェクトを取得し、ETIRサービスでリスクスコアを計算してレコードに追加します。

ルールオブジェクトが見つからない場合(_rule_type または _rule フィールドがないか、該当IDのルールが存在しない場合)、そのレコードにはフィールドを追加せずパイプラインに渡します。

simple=t オプションを使用すると _risk_score フィールドのみが追加されて出力がシンプルになります。リスクスコアの値のみが必要な集計やフィルタリングパイプラインで便利です。

rule=t オプションを使用すると、検出ルールのチケット発行条件(_rule_ticket_issue_cond)と有効状態(_rule_enabled)も確認できます。

使用例

  1. 直近1時間以内のイベントのリスクスコアを計算

    table duration=1h sonar_events
    | sonar-assess-risk
    | fields _rule_type, _rule, _rule_name, src_ip, dst_ip, _risk_score
    
  2. リスクスコアのみを追加してリスクスコア別に集計

    table duration=1d sonar_events
    | sonar-assess-risk simple=t
    | stats count by _risk_score
    
  3. 検出ルール情報を含めてリスクスコアを計算

    table duration=1h sonar_events
    | sonar-assess-risk rule=t
    | fields _rule, _rule_name, _rule_enabled, _rule_ticket_issue_cond, _risk_score
    

互換性

sonar-assess-risk コマンドはSonar 5.0.2603.0バージョンから利用可能です。