[注意喚起]AWS Security Hubが統合コントロールビューと統制結果の統合を対応予告しました[ASFFフィールド変更]

AWS Security Hubの2023年の第1四半期にリリースされる予定の機能がアナウンスされました。これにはASFFの大きな変更が発生するため、関連する仕組みを使っている場合には対応が必要になります。準備しましょう。
2022.12.20

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

こんにちは、臼田です。

みなさん、AWSのセキュリティチェックしてますか?(挨拶

今回はAWS Security Hubの2つのアップデートについて予告があったのでこちらの情報共有と注意喚起です。

Prepare for consolidated controls view and consolidated control findings in AWS Security Hub - AWS Security Hub での統合コントロール ビューと統合コントロールの検出結果の準備

今回のアップデートではAWS Security HubのFindingフォーマット(ASFF)に大きな変更があるため、これを利用している場合はこの変更の確認やアップデートへの対応準備を進めましょう。アップデートは2023年の第1四半期と予告されています。

例えばAWS での自動化されたセキュリティ対応ソリューションを利用していたり、自前のカスタムアクションやFindingsの集計機能などを実装している場合などは影響があります。

なお、現状機能が出ているわけでは無く私も試せていないこともあり、以下は私がドキュメントから読み取った内容をまとめているだけですので、詳細は1次情報を辿ってください。

アップデート概要

AWS Security Hubで新しく下記2つの機能がリリースされる予定です。

  • 統合コントロールビュー
  • 検知結果の統合

後者の検知結果の統合については、既存でSecurity Hubを利用している環境ではオフの状態でリリースされるとあり、機能のオンオフが可能であることが明記されていますが、前者の統合コントロールビューは機能自体のオンオフについては何も記載がなく、リリース時にこれが適用され、以前の状態に戻せないように私は読み取れました。

そして、どちらの機能もASFFがそれぞれ変更されるため、既存でSecurity Hubを利用しているのであればこのアップデートは適用され、Findingsの活用をしている場合に影響が考えられます。

変更内容の詳細などはこちらのユーザーガイドにあります。このガイドにはAppendixで変更内容の詳細の突き合わせ表やサンプルFindingsも掲載されているので、対応する方はこちらをよく確認しましょう。

前述の通りこの2つは2023年の第1四半期にリリースされる予定で、ほぼすべてのリージョンで提供される予定です。ただ変更の可能性もあります。同時にリリースされるかは明記されていませんでしたが、関連性の深い機能のため、私は同時にリリースされると考えています。

機能1: 統合コントロールビュー

これまでSecurity Hubのセキュリティ基準の画面では、各コントロール(チェックの観点)毎に有効化し、

それぞれの画面で結果を確認していました。

今回のアップデートでこれを1つの統合されたコントロールビューで表示するように変更されます。各コントロール自体は引き続き独立して有効・無効でき、表示を1箇所にまとめます。

これに合わせて、従来それぞれのコントロールで独自のコントロールIDが振られていましたが、これが統合されASFFも変更されます。影響を受けるフィールドは下記5種類です。

ASFF フィールド 統合コントロール ビューのリリース後の変更点 統合コントロール ビュー リリース前の値の例 統合コントロール ビュー リリース後の値の例
Compliance.SecurityControlId 単一のコントロール ID が標準全体に適用されます。ProductFields.ControlIdは、引き続き標準ベースのコントロール ID を提供します。 該当なし(新規分野) EC2.2
Compliance.AssociatedStandards コントロールが有効になっている標準を表示します。 該当なし(新規分野) [{“StandardsId”: “aws-foundational-security-best-practices/v/1.0.0”}]
ProductFields.RecommendationUrl このフィールドは標準を参照しなくなります。 https://docs.aws.amazon.com/console/securityhub/PCI.EC2.2/remediation https://docs.aws.amazon.com/console/securityhub/EC2.2/remediation
Remediation.Recommendation.Text このフィールドは標準を参照しなくなります。 「この問題を修正する方法については、AWS Security Hub の PCI DSS ドキュメントを参照してください。」 「この問題を修正する方法については、EC2.2 の AWS Security Hub のドキュメントを参照してください。」
Remediation.Recommendation.Url このフィールドは標準を参照しなくなります。 https://docs.aws.amazon.com/console/securityhub/PCI.EC2.2/remediation https://docs.aws.amazon.com/console/securityhub/EC2.2/remediation

RecommendationUrlRecommendation.Textなどを参照しなくなるとあるため、これらを利用する場合には事前の対応が必要になる可能性があります。ただ、ユーザーガイドのAppendixにある新旧のサンプルを比較したところ、これらのフィールドは引き続き残るようにも見受けられたので、それを見る限りはもしかしたら対応しなくてもいいかもしれません。しかし、上記の表にあるような変更が該当サンプルで適用されきっていないようにも見受けられるので油断しないようにしましょう。

機能2: 検知結果の統合

上記統合コントロールビューでは表示をまとめますが、Findings自体はまとめられないようです。

各コントロールでは同じ種類のFinding Typeが別名で存在しているものがあるため、従来は1つの検知が最大4つのFindingsに増幅されていました。

検知結果の統合を行うとこれを1つにできます。

その代わり、統合コントロールビュー以上に多数のASFFフィールドに変更があります。おそらく、そのために機能のオンオフがあるのでしょう。例えばGeneratorIdはaws-foundational-security-best-practices/v/1.0.0/Config.1からsecurity-control/Config.1に変わるぐらいです。

変更は以下の表のとおりです。(多いのでサラッと読み飛ばしていいです)

ASFF フィールド 統合コントロール ビューのリリース後の変更点 統合コントロール ビュー リリース前の値の例 統合コントロール ビュー リリース後の値の例
GeneratorId このフィールドは標準を参照しなくなります。 aws-foundational-security-best-practices/v/1.0.0/Config.1 security-control/Config.1
Title このフィールドは標準を参照しなくなります。 PCI.Config.1 AWS Config を有効にする必要があります {
Id このフィールドは標準を参照しなくなります。 arn:aws:securityhub:eu-central-1:123456789012:subscription/pci-dss/v/3.2.1/PCI.IAM.5/finding/ab6d6a26-a156-48f0-9403-115983e5a956 arn:aws:securityhub:eu-central-1:123456789012:security-control/iam.9/finding/ab6d6a26-a156-48f0-9403-115983e5a956
ProductFields.ControlId このフィールドは、標準にとらわれない単一のコントロール ID を優先して削除されます。 PCI.EC2.2 削除されました。 代わりに Compliance.SecurityControlId を参照してください。
ProductFields.RuleId このフィールドは、標準にとらわれない単一のコントロール ID を優先して削除されます。 1.3 削除されました。代わりにCompliance.SecurityControlIdを参照してください。
Description このフィールドは標準を参照しなくなります。 この PCI DSS コントロールは、現在のアカウントとリージョンで AWS Config が有効になっているかどうかを確認します。 この AWS コントロールは、現在のアカウントとリージョンで AWS Config が有効になっているかどうかを確認します。
Severity Security Hub は、結果の重大度を説明するために製品フィールドを使用しなくなります。 “重大度”: { “製品”: 90, “ラベル”: “クリティカル”, “正規化”: 90, “オリジナル”: “クリティカル” }, “重大度”: { “ラベル”: “クリティカル”, “正規化”: 90, “オリジナル”: “クリティカル” },
Types このフィールドは標準を参照しなくなります。 [「ソフトウェアと構成のチェック/業界および規制基準/PCI-DSS」] [「ソフトウェアと構成のチェック/業界および規制基準」]
Compliance.RelatedRequirements このフィールドには、関連する規格全体の関連要件が表示されます。 [「PCI DSS 10.5.2」、 「PCI DSS 11.5」] [「PCI DSS v3.2.1/10.5.2」、 「PCI DSS v3.2.1/11.5」、 「CIS AWS Foundations Benchmark v1.2.0/2.5」]
CreatedAt 形式は同じままですが、統合されたコントロールの結果をオンにすると値がリセットされます。 2022-05-05T08:18:13.138Z 2022-09-25T08:18:13.138Z
FirstObservedAt 形式は同じままですが、統合されたコントロールの結果をオンにすると値がリセットされます。 2022-05-07T08:18:13.138Z 2022-09-28T08:18:13.138Z
ProductFields.RecommendationUrl このフィールドはRemediation.Recommendation.Urlに置き換えられます。 https://docs.aws.amazon.com/console/securityhub/EC2.2/remediation 削除されました。代わりに Remediation.Recommendation.Url を参照してください。
ProductFields.StandardsArn このフィールドはCompliance.AssociatedStandardsに置き換えられます。 arn:aws:securityhub:::standards/aws-foundational-security-best-practices/v/1.0.0 削除されました。代わりにCompliance.AssociatedStandardsを参照してください。
ProductFields.StandardsControlArn このフィールドは削除されます。これは、Security Hub が複数の標準にわたるセキュリティ チェックの検出結果を 1 つ生成するためです。 arn:aws:securityhub:us-east-1:123456789012:control/aws-foundational-security-best-practices/v/1.0.0/Config.1 削除されました。
ProductFields.StandardsGuideArn このフィールドは Compliance.AssociatedStandards に置き換えられます。 arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0 削除されました。代わりに Compliance.AssociatedStandards を参照してください。
ProductFields.StandardsGuideSubscriptionArn このフィールドは削除されます。これは、Security Hub が複数の標準にわたるセキュリティ チェックの検出結果を 1 つ生成するためです。 arn:aws:securityhub:us-east-2:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 削除されました。
ProductFields.StandardsSubscriptionArn このフィールドは削除されます。これは、Security Hub が複数の標準にわたるセキュリティ チェックの検出結果を 1 つ生成するためです。 arn:aws:securityhub:us-east-1:123456789012:subscription/aws-foundational-security-best-practices/v/1.0.0 削除されました。
ProductFields.aws/securityhub/FindingId このフィールドは標準を参照しなくなります。 arn:aws:securityhub:us-east-1::product/aws/securityhub/arn:aws:securityhub:us-east-1:123456789012:subscription/aws-foundational-security-best-practices/v/1.0.0 /Config.1/finding/751c2173-7372-4e12-8656-a5210dfb1d67 arn:aws:securityhub:us-east-1::product/aws/securityhub/arn:aws:securityhub:us-east-1:123456789012:security-control/Config.1/finding/751c2173-7372-4e12-8656 -a5210dfb1d67

また、変更後には既存のFindingsはアーカイブされ、新しいFindingsが生成されます。また、ユーザーが提供したFindingsはほとんどリセットされます。

検知結果の統合は新しくSecurity Hubを有効化するアカウントではデフォルトで有効となります。AWS Organizationsで統合されている場合は管理アカウントでのオンオフに影響されます。既存でSecurity Hubが有効のアカウントではデフォルトでオフです。

APIの追加

検知結果の統合を有効化した場合にAPIが追加されるようです。しかも、これは私の待ち望んでいたAPIたちです!下記6つあります。

  • BatchGetSecurityControls – コントロールのバッチに関するアカウントおよびリージョン固有のデータを返します。
  • ListSecurityControlDefinitions – 指定された標準に適用されるコントロールに関する情報を返します。
  • ListStandardsControlAssociations – コントロールが現在有効な各標準に関連付けられているか、関連付けが解除されているかを識別します。
  • BatchGetStandardsControlAssociations – コントロールのバッチについて、各コントロールが現在指定された標準に関連付けられているか、関連付けが解除されているかを識別します。
  • BatchUpdateStandardsControlAssociations – コントロールを、そのコントロールを含む有効な標準に関連付けるか、有効な標準からコントロールを分離するために使用されます。これは、管理者がメンバー アカウントにコントロールの関連付けまたは関連付けの解除を許可したくない場合に、UpdateStandardsControl API アクションの代わりとなるバッチです。
  • BatchGetControlEvaluations (プライベート API) – コントロールの有効化とコンプライアンスの状態、コントロールの結果数、およびコントロールの全体的なセキュリティ スコアを取得します。

私が待望のAPIはBatchGetControlEvaluationsです。これまで取得できなかったセキュリティスコアも取得できるようになります!これまではセキュリティスコアは画面上でのみ参照できていて、既存のAPIでは直接取得ができませんでした。これまでは下記ブログの仕組みで無理やり取得していました。

他のAPIも、これまではGetFindingsでしかFindingsを取得する手段がなく、フィルターを駆使してかなり頑張って取得する必要がありました。コントロールやリージョンを指定した取得やアップデートができそうなので、めちゃくちゃ良くなりそうです。

GetFindingsはAPIのスロットルがあったのでこれらのAPIにもどの程度スロットルがあるかは気になるところです。

実はこれまでマネジメントコンソールではこれらのAPIを呼んでいる形跡がありましたが、ユーザーが直接利用することはできませんでした。待望のAPI実装です。

まとめ

今回のアップデートはそれ自体非常にいいアップデートですが、大きな変更があるためそれぞれ準備が必要です。

影響範囲を確認し準備はしっかりしておきましょう。