【アップデート】AWS Security Hub で Compliance.SecurityControlId などの検出結果フィールドが追加されました【統合に備えよう】

新機能「統合コントロールビュー」、「統合コントロール検出結果」に備えよう
2023.02.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

以下 AWS Security Hub のアップデートを紹介します。

  • New ASFF fields
    • Security Hub has added ProductFields.ArchivalReasons:0/Description and ProductFields.ArchivalReasons:0/ReasonCode to the AWS Security Finding Format (ASFF).
    • February 8, 2023
  • New ASFF fields
    • Security Hub has added Compliance.AssociatedStandards and Compliance.SecurityControlId to the AWS Security Finding Format (ASFF).
    • January 31, 2023

Document history for the AWS Security Hub User Guide - AWS Security Hub

これは以下ドキュメントやブログで記載されている AWS Security Hub の新機能「統合コントロールビュー(consolidated controls view)」、 「統合コントロール検出結果(consolidated control findings)」に向けたアップデートとなります。

どんなアップデート?

AWS Security Hub には 「AWS上のセキュリティチェック結果」や、 「他サービスからのセキュリティイベント」を集約する役割があります。 集約する際に、 AWS Security Hub Finding Format(ASFF) という共通の形式(JSON)でまとめます。

このASFFに新規フィールドが追加されました。以下 4項目です。

フィールド 概要
Compliance.SecurityControlId コントロールID
Compliance.AssociatedStandards コントロールが関連付けられているセキュリティ標準
ProductFields.ArchivalReasons:0/Description 検出結果がアーカイブされた理由の説明
ProductFields.ArchivalReasons:0/ReasonCode 検出結果がアーカイブされた理由のコード

はじめに言ったとおり、このアップデートは 今後のセキュリティ標準のアップデート に備えたものです。 なので、最低限 セキュリティ標準関連の検出結果には付いているフィールドとなります。

Compliance.XXX 部分を実際に見てみる

「AWS基礎セキュリティのベストプラクティス(以降AFSBP)」のケース

AFSBPの Config.1: AWS Config should be enabled を見てみます。

それぞれのチェック結果(検出結果)の右側にある Finding.json を選択すると、 どのような ASFF で保存されているか、確認できます。

img

以下キャプチャ部分が今回の更新で追加されたものです。

img

"Compliance": {
  "Status": "PASSED",
  "SecurityControlId": "Config.1",
  "AssociatedStandards": [
    {
      "StandardsId": "standards/aws-foundational-security-best-practices/v/1.0.0"
    }
  ]
},

※なお、コントロールID自体は ProductFields.ControlId でも取得できています。(これは従来からあるものです)

img

「CIS AWS Foundations Benchmark v.1.2.0(以降CIS)」 のケース

CISの 2.5 - AWS Config が有効になっていることを確認する を見てみます。 ※内容としては AFSBPの Config.1 と同じです。

検出結果JSONはこんな感じです。

img

"Compliance": {
  "Status": "PASSED",
  "SecurityControlId": "Config.1",
  "AssociatedStandards": [
    {
      "StandardsId": "ruleset/cis-aws-foundations-benchmark/v/1.2.0"
    }
  ]
},

Compliance.ControlId(=Config.1) の値が、 従来あった ProductFields.RuleId(=2.5) と違う点に注意してください。

ProductFields.XXX 部分を実際に見てみる

マネジメントコンソールの [Security Hub > Findings] にてフィルタ( Record state is "ARCHIVED" ) をつけて、アーカイブされた検出結果一覧を確認できます。 そのうちの1項目のJSONを見てみました。

img

以下キャプチャのとおり、 ProductFields.ArchivalReasons:0/DescriptionProductFields.ArchivalReasons:0/ReasonCode を確認できました。

img

"ProductFields": {
  "StandardsArn": "arn:aws:securityhub:::standards/aws-foundational-security-best-practices/v/1.0.0",
  "StandardsSubscriptionArn": "arn:aws:securityhub:ap-northeast-1:123456789012:subscription/aws-foundational-security-best-practices/v/1.0.0",
  "ControlId": "SSM.4",
  ### (略) ###
  "ArchivalReasons:0/ReasonCode": "NOT_UPDATED_WITHIN_THREE_DAYS",
  "ArchivalReasons:0/Description": "The finding is in an ARCHIVED state because the finding was generated by a security check and it hasn't been updated in 3 days. This could be due to the resource being deleted or the control being disabled.",
  "aws/securityhub/FindingId": "arn:aws:securityhub:ap-northeast-1::product/aws/securityhub/arn:aws:securityhub:ap-northeast-1:123456789012:subscription/aws-foundational-security-best-practices/v/1.0.0/SSM.4/finding/6e6a9f3e-c7e4-43f4-8129-13f1afbb7236"
},

手元の検証環境で確認できた ReasonCode は NOT_UPDATED_WITHIN_THREE_DAYS のみでした。 それの Description (及び機械翻訳)は以下のとおり。

"The finding is in an ARCHIVED state because the finding was generated by a security check and it hasn't been updated in 3 days. This could be due to the resource being deleted or the control being disabled."

↓ 機械翻訳

発見がARCHIVED状態になっているのは、発見がセキュリティチェックによって生成され、3日間更新されていないためです。これは、リソースが削除されたか、コントロールが無効になっていることが原因である可能性があります。

それぞれの活用について

「統合コントロールビュー」に向けて

対応予告のドキュメント にも、「統合コントロールビュー」リリース後の フィールド変化として、今回の4つが存在します。

img

今後「統合コントロールビュー」で利用するために、 先行して追加された感じでしょうか。

「統合コントロールビュ」ーに関しては、 利用者側での追加対応は特に無いと思います。 新しいSecurity Hubのコンソールページを楽しみにしましょう。

"副作用のある"「統合コントロール検出結果」に向けて

また、もう一つの予定されている新機能 「統合コントロール検出結果」 に向けた変更でもあります。

これは各標準(AFSBPやCIS)の共通するチェック(Config.1や 2.5)を 1つの検出結果 で扱う 機能です。将来実装され、既存環境については 顧客側で手動有効化 する必要があります。

2023/02/21時点の 対応予告ページ を見る限り、イメージはこんな感じだと思います。

img

▼ Compliance.AssociatedStandards と Compliance.SecurityControlId について

StandardsArn(StandardsGuideArn)や ControlId(RuleId)が削除されるところを見て分かる通り、 「統合コントロール検出結果」には 副作用があります

EventBridgeのフィルタなどで、これらを参照している場合は、 代わりに今回追加された SecurityControlId や AssociatedStandards を活用しましょう。

実際に対応予告ページにもそのように書かれています。

Changes to control finding fields and values after turning on consolidated control findings

  • ProductFields.ControlId: Removed. See Compliance.SecurityControlId instead.
  • ProductFields.RuleId: Removed. See Compliance.SecurityControlId instead.
  • ProductFields. StandardsArn: Removed. See Compliance.AssociatedStandards instead.
  • ProductFields.StandardsGuideArn: Removed. See Compliance.AssociatedStandards instead.

– 引用: Upcoming features: consolidated controls view and consolidated control findings - AWS Security Hub

「事前に SecurityControlId と AssociatedStandards を実装したから移行してくれよな!」 というアップデートと捉えることもできるでしょう。

▼ ProductFields.ArchivalReasons:0/Description と ProductFields.ArchivalReasons:0/ReasonCode について

また、こういったASFFの変更があるためか、 将来実装される「統合コントロール検出結果」機能をONにすると、 もともとあったセキュリティ標準の検出結果は 一度全てアーカイブ されます。 そして、「統合コントロール検出結果」に合わせた検出結果が再生成されます。

「"統合コントロール検出結果への移行" によってアーカイブされた検出結果である」 ことを分かるようにするために、 ProductFields.ArchivalReasons:0/Description と ProductFields.ArchivalReasons:0/ReasonCode は役に立つでしょう。

実際に ASFF example には CONSOLIDATED_CONTROL_FINDINGS_UPDATE のケースが載っています。

"ProductFields": {
    "API", "DeleteTrail",
    "ArchivalReasons:0/Description": "The finding is in an ARCHIVED state because consolidated control findings has been turned on or off. This causes findings in the previous state to be archived when new findings are being generated.",
    "ArchivalReasons:0/ReasonCode": "CONSOLIDATED_CONTROL_FINDINGS_UPDATE",
    "aws/inspector/AssessmentTargetName": "My prod env",
    "aws/inspector/AssessmentTemplateName": "My daily CVE assessment",
    "aws/inspector/RulesPackageName": "Common Vulnerabilities and Exposures",
    "generico/secure-pro/Action.Type", "AWS_API_CALL",
    "generico/secure-pro/Count": "6",
    "Service_Name": "cloudtrail.amazonaws.com"
}

おわりに

以上、検出結果フィールド追加のアップデートを紹介しました。 統合コントロールの新機能は『2023年の第1四半期にリリースされる予定』と書かれているので、 そろそろ来るのではないでしょうか。

機能追加されたときに、スムーズに移行できるように備えておきましょう。

※対応予告ページには「変更される可能性があり」と書かれています。なので、今後の進展は以下ドキュメントや公式の案内を待ちましょう。

参考