Security Hub automation rulesで検出結果を更新または抑制できるようになったので、検証してみました。
aws.amazon.com
アップデート概要
- 検出結果のさまざまなフィールドの自動更新、検出結果の抑制、重大度やワークフローステータスの更新、メモの追加が可能
事前準備
Security Hubのメニューに「オートメーション」が追加されています。

今回は更新と抑止を検証したいので、それぞれの共同を確認するために、ブロックパブリックアクセスを無効にしたS3バケットを2つ用意します。

検出結果の重要度を変更する
S3バケット「test1-automation-rules-bucket」のブロックパブリックアクセスが無効であることを検出させ、その重要度を変更します。
「オートメーション」→「ルールを作成」から、ルールテンプレート「Elevate severity of findings that relate to important resources」を選択します。

条件で、ResourceIdにS3バケットに「test1-automation-rules-bucket」のARNを指定します。

重要度はデフォルトで「CRITICAL」になっています。

ルールステータスが「有効」になっていることを確認し、「ルールを作成」を押下します。


複数のコントロールで検出されるため、今回は「AWS基礎セキュリティのベストプラクティス v1.0.0」から「[S3.8] S3 Block Public Access setting should be enabled at the bucket level」に絞って確認します。
SecurityHubの定期チェック後に検出結果を確認してみると、本コントロールの重要度は通常HIGHですが、CRITICALに変更されていることが分かります。
また、自動アクションに記載されているノートが反映されています。

詳細の画面も同様に変更されています。

また、履歴タブから「オートメーション」が重要度とノートを変更したことが記録されています。

JSONログを確認すると、元の重要度はSeverity.Originalに保持され、Severity.Labelに変更後の値が記録されています。
また、Noto.Textにノートが記録されています。
{
"SchemaVersion": "2018-10-08",
"Id": "arn:aws:securityhub:ap-northeast-1:xxxxxxxxxxxx:subscription/aws-foundational-security-best-practices/v/1.0.0/S3.8/finding/xxxxxxxxxxxx",
"ProductArn": "arn:aws:securityhub:ap-northeast-1::product/aws/securityhub",
"ProductName": "Security Hub",
"CompanyName": "AWS",
"Region": "ap-northeast-1",
"GeneratorId": "aws-foundational-security-best-practices/v/1.0.0/S3.8",
"AwsAccountId": "xxxxxxxxxxxx",
"Types": [
"Software and Configuration Checks/Industry and Regulatory Standards/AWS-Foundational-Security-Best-Practices"
],
"FirstObservedAt": "2023-06-26T04:04:35.301Z",
"LastObservedAt": "2023-06-26T04:04:42.291Z",
"CreatedAt": "2023-06-26T04:04:35.301Z",
"UpdatedAt": "2023-06-26T04:04:35.301Z",
"Severity": {
"Product": 70,
"Label": "CRITICAL",
"Normalized": 70,
"Original": "HIGH"
},
"Title": "S3.8 S3 Block Public Access setting should be enabled at the bucket-level",
(省略)
"Note": {
"Text": "This is a critical resource. Please review ASAP.",
"UpdatedBy": "sechub-automation",
"UpdatedAt": "2023-06-26T04:04:45.635Z"
},
(省略)
検出結果を抑制する
S3バケット「test2-automation-rules-bucket」のブロックパブリックアクセスが無効であることを検出させ、その検出を抑制します。
「オートメーション」→「ルールを作成」から、ルールテンプレート「Suppress informational findings」を選択します。

条件で、ResourceIdにS3バケットに「test2-automation-rules-bucket」のARNを指定します。

ワークフローステータスはデフォルトで「SUPPRESSED」になっています。

ルールステータスが「有効」になっていることを確認し、「ルールを作成」を押下します。


先ほどと同様、「AWS基礎セキュリティのベストプラクティス v1.0.0」から「[S3.8] S3 Block Public Access setting should be enabled at the bucket level」に絞って確認します。
ワークフローのステータスが「SUPPRESSED」に変更されています。
また、自動アクションに記載されているノートが反映されています。

詳細の画面も同様に変更されています。

また、履歴タブから「オートメーション」がステータスとノートを変更したことが記録されています。

JSONログを確認すると、Workflow.Statuslに抑制を表す「SUPPRESSED」が記録されています。
また、Noto.Textにノートが記録されています。
{
"SchemaVersion": "2018-10-08",
"Id": "arn:aws:securityhub:ap-northeast-1:xxxxxxxxxxxx:subscription/aws-foundational-security-best-practices/v/1.0.0/S3.8/finding/xxxxxxxxxxxx",
"ProductArn": "arn:aws:securityhub:ap-northeast-1::product/aws/securityhub",
"ProductName": "Security Hub",
"CompanyName": "AWS",
"Region": "ap-northeast-1",
"GeneratorId": "aws-foundational-security-best-practices/v/1.0.0/S3.8",
"AwsAccountId": "xxxxxxxxxxxx",
"Types": [
"Software and Configuration Checks/Industry and Regulatory Standards/AWS-Foundational-Security-Best-Practices"
],
"FirstObservedAt": "2023-06-26T04:04:35.301Z",
"LastObservedAt": "2023-06-26T04:04:40.573Z",
"CreatedAt": "2023-06-26T04:04:35.301Z",
"UpdatedAt": "2023-06-26T04:04:35.301Z",
(省略)
"Workflow": {
"Status": "SUPPRESSED"
},
"RecordState": "ACTIVE",
"Note": {
"Text": "Automatically suppress this bucket",
"UpdatedBy": "sechub-automation",
"UpdatedAt": "2023-06-26T04:04:42.523Z"
},
(省略)
まとめ
Security Hub automation rulesで検出結果を更新または抑制することができました。
これまで、手動で対応していた運用を、事前にルールを定義することで自動化することができます。
きめ細やかな条件を指定できることで運用が楽になると思うので、ぜひ活用してみてください。