[アップデート]AWS Security Hubのサマリダッシュボード上でウィジェットのカスタマイズやフィルタリング機能が実装されました #AWSreInvent

ウィジェットのカスタマイズおよびダッシュボード全体のフィルタができるようになったSecurity Hubのサマリダッシュボードのアップデート概要について紹介します。
2023.11.29

あしざわです。

re:Invent 2023、楽しんでいますか?

ところで、皆さんAWS Security Hub使っていますか? もちろん使ってますよね。

AWS Security Hubは、その他のAWSのセキュリティ系サービス(GuardDutyやInspectorなど)の検出結果を統合できるCSPM(Cloud Security Posture Management)製品です。

とても便利なサービスなのですが、ユースケースによってはコンソール画面が使いづらく、Security Hubで検出した結果をQuickSightなどの別のBIツールに出力して可視化している方も少なくないのでは、とも思います。

先日、そんな課題の一端を解決できるかもしれない Secuirty Hubのサマリダッシュボードを強化・改善できるアップデートが、AWSのWhat’s newにきていたので紹介します。

アップデート概要

アップデート内容は、大きく分けて2点あります。

  • サマリダッシュボードのフィルタリング機能
  • サマリダッシュボード上のウィジェットのカスタマイズ機能

Secureity Hubの概要ではウィジェットについてはこれまでも表示されていましたが、アップデートによって追加・削除できるようになった点が新しいです。

それぞれ紹介します。

サマリダッシュボードのフィルタリング機能

Security Hub サマリダッシュボードの画面上部に、従来の検出結果のクエリでも利用していたようなフィルタ欄が出現しています。

試しにSeverityがHighのFindingsに限定するクエリを実行してみました。

想定通り、「Assets with the most findings」のウィジェットにSeverity = Highのもの(By severityが赤色)のみ表示されていそうです。

トグルを開くと、入力中のクエリをクエリセットとして保存・既存のクエリセットのアップデート・削除ができるようです。デフォルトのクエリに指定することもできるようですね、フレキシブルだ。

保存中のクエリセットはChoose a query setから簡単に呼び出せました。

サマリダッシュボード上のウィジェットのカスタマイズ機能

Security Hubコンソールの概要画面で従来より多くの情報を可視化できるようになり、ウィジェット形式でのカスタマイズが可能になっています。

デフォルトで表示されるウィジェットと概要は以下です。

※ウィジェットのタイトルの言語は、本日時点の日本語版Security Hubコンソールの表記に準拠しているので、英語と日本語が混ざっています。

セキュリティ標準

セキュリティ標準全体 および 各 Security Hub 標準のセキュリティ スコアを表示

Assets with the most findings

リソース、アカウント、アプリケーションのカテゴリ別にFindingsが多い上位 6 項目のSeverityとリソースタイプをグループ化して表示

Findings by Region

Security Hub がリンクされた各 AWS リージョンにおける、Severity別にグループ化されたFindingsの合計数を表示

Most common threat type

GuardDutyで検出したFindingsのうち上位10項目の脅威の内訳を表示

※この検証のために、事前にGuardDutyのサンプルイベントをコンソールから発行しています

Software vulnerabilities with exploits

Inspectorで検知した脆弱性のうち、修復が提供されているものと修復が提供されていないものの内訳を表示

※私の環境では現状、何も表示されていませんでした

New findings over time

過去 90 日間のFindingsの検出数をグラフ化し、Severityかプロパイダーごとにデータを分類できる

Resources with most findings

S3、EC2、Lambdaのカテゴリ別にFinfingsの検出項目数およびSeverityの割合を表示

以下はデフォルトでは非表示で、追加可能なウィジェットおよびその概要です。

最も検出結果の多い AMI

Fingingsを検出したAMIのうち、上位10項目を表示

最も多くの検出結果のある IAM プリンシパルを表示

Fingingsを検出したIAMプリンシパルのうち、上位10項目を表示

※私の環境では現状、何も表示されていませんでした

最も検出結果の多いアカウント (重要度ごと)

Fingingsを検出したAWSアカウントのうち、上位10項目をSeverity別にグループ化して表示

最も検出結果の多いアカウント (リソースタイプごと)

Fingingsを検出したAWSアカウントのうち、上位10項目をSeverity別にリソースタイプご毎に表示

インサイト

Security Hub が管理する5 つの分析情報と、それらが生成したFingingsの数を表示

AWS 統合による最新の検出結果

GuardDuty、Inspectorのような統合された AWS サービスから Security Hub で検知したFingingsの数を表示

アップデート前との比較やその他の概要

従来のウィジェットとの比較ができないので残念ですが、「セキュリティ標準」や「Findings by Region」、「最も検出結果の多い AMI」「最も多くの検出結果のある IAM プリンシパル」のあたりは以前から表示されていたものだった記憶があります。

GuardDutyやInspectorなど他サービスと関連する可視化ウィジェットは新しく利用できるようになったものであるように見ています(誤っていたらご指摘ください)

Add Widgetからウィジェットを追加・削除できます。AWSマネジメントコンソールのTOP画面のウィジェットと同じ感覚で操作できます。

横に広げたり、縮めたりもできます。

もう少し深堀りたいウィジェットの紹介

以下2つのウィジェットが特に気になったので、もう少しだけ深掘って紹介します。

  • Most common threat type
  • Assets with the most findings

Most common threat type

このウィジェットでは、GuardDutyで検出した上位10個のFindingsをグラフに表示させます。

グラフの各項目をマウスでホバーすると、Fingingsの個数と同時に「検出結果を表示」ボタンが出てきます。

クリックすると、クエリが入力された検出結果一覧が表示されます。

上の画像で表示されている検出結果クエリの赤枠箇所「• プロバイダーのタイプ *次と同じ: *Effects/Data Exfiltration/Trojan:Runtime-DropPoint」は、FindingsのJSONファイルの内容を一部抜粋したものから引用すると$.FindingProviderFields.Types = Effects/Data Exfiltration/Trojan:Runtime-DropPointに該当するFindingsを検索するクエリを実行していることになります。

{
  "SchemaVersion": "2018-10-08",
  "Id": "arn:aws:guardduty:ap-northeast-1:123456789012:detector/e8c0f58bade3509aa17a2b6c891950c6/finding/e941c7ff8ce04ff0aa0dd511ba578dc6",
(略)
  "FindingProviderFields": {
    "Severity": {
      "Label": "MEDIUM"
    },
    "Types": [
      "Effects/Data Exfiltration/Trojan:Runtime-DropPoint"
    ]
  },
  "Sample": true,
  "ProcessedAt": "2023-11-28T02:05:16.475Z"
}

GuardDutyはそこまで頻繁に検出するものではないので、これまでにGuardDutyで検出したFindingsのサマリをダッシュボード形式で確認できるのは嬉しいですね。攻撃者にどこを攻撃されやすいのかを分析して、セキュリティ対策の優先度の指標が傾向が得られそうです。

Assets with the most findings

このウィジェットでは、リソース、アカウント、アプリケーションのカテゴリ別に検知したFindingsが多かった上位 6 項目のSeverityとリソースタイプをグループ化して表示できます。

ホバーすると「検出結果を表示」のボタンが出てくるのは先述したウィジェットと同じなので割愛します。

このウィジェットを利用すれば、どのリソースが一番Security Hubで検知されていてFindingsの個数が何個なのか? そのリソースで検知したFindingsのSeverityの内訳はどうなっているのか?などの情報が得られます。

検証アカウントが単一のアカウントなので今回は見どころのある結果が見られませんが、カテゴリをアカウント単位に変更すれば、アカウント跨ぎのSeverityの内訳がいい感じに確認できそうです。

その他のウィジェットの詳細については以下公式ドキュメントをご覧ください。

さいごに

先日のアップデートで発表された、AWS Security Hubのサマリ画面のカスタマイズ についてまとめました。

個人的にInspectorの検出結果のサマリを表示できそうな「Software vulnerabilities with exploits」のウィジェットが気になったのですが、InspectorのFindingsを準備できる環境がすぐ整えられなさそうだったので断念しました。続報ブログに任せたいと思います。

みなさんもお好みのウィジェットでSecurity Hubコンソールをカスタマイズしてみましょう。

以上です。