[ アップデート ] Amazon ECR のベーシックスキャンで CVSS v3 が利用されるようになりました!

2023.06.18

こんにちは!AWS 事業本部コンサルティング部のたかくに(@takakuni_)です。

2023年6月13日-14日にアナハイムで AWS re:Inforce 2023 が開催されました。

AWS re:Inforce 2023 で ECR のコンテナイメージに対するベーシックスキャンが CVSS v3 に対応しました。

今までどうだったか

今まで ECR のベーシックスキャンの脆弱性スコアリングは CVSS v2 のみ対応していました。

一方、 Amazon Inspector による拡張スキャンは、 CVSS v2, v3 に対応していました。

Amazon Inspector AWS Black Belt Online Seminar より引用

今回のアップデートで ECR のベーシックスキャンでも、 CVSS v2 に加え、 CVSS v3 スコアも取得可能になりました!

CVSS バージョンの違い

CVSS v2 と CVSS v3 で何が違うのかですが、 CVSS v3 では CVSS v2 に比べ、「基本評価基準の細分化」や「環境評価基準のアプローチの変更」が主な改訂項目になります。

詳しくは IPA さんの資料をご参照ください。(とてもわかりやすくおすすめです)

深刻度にアップデート

CVSS v3 に対応したことで、一部の脆弱性の深刻度が CVSS v3 のスコアを基準に変更されたようです。

Some existing vulnerabilities may change in severity level based on the new information from CVSS version 3.

再掲 ECR basic scanning now uses version 3 of the Common Vulnerability Scoring System (CVSS) framework

深刻度についておさらい

ECR ベーシックスキャンの深刻度がどのように決まるかおさらいします。

深刻度は以下の順序で決まります。

  1. イメージ配布先からの CVE の重大度を利用する
  2. 1 の CVE 重大度 がない場合に、 CVSS のスコアを利用する

そのため、 CVSS v3 のスコアが CVSS v2 より高くても、1のルールで低く表示されることもあるため、あくまで 2 のルールで深刻度が更新されたと認識いただければと思います。

Amazon ECR では、可能であれば、アップストリームのディストリビューションソースからの CVE の重大度 が使用されます。それ以外の場合は、共通脆弱性評価システム (CVSS) スコアが使用されます。CVSS スコアは、NVD 脆弱性の重大度評価を取得するために使用できます。詳細については、「NVD 脆弱性の重大度」を参照してください。

ベーシックスキャン

やってみた

実際に ECR ベーシックスキャンを試してみようと思います。以下は、 ECR に ubuntu:18.04 のイメージをプッシュしてスキャンした結果です。(抜粋・マスクしています。)

出力結果に新しく CVSS3_SCORECVSS3_VECTOR が attributes に登録されていることがわかります。

{
    "imageScanFindings": {
        "findings": [
            {
                "name": "CVE-2020-13844",
                "description": "Arm Armv8-A core implementations utilizing speculative execution past unconditional changes in control flow may allow unauthorized disclosure of information to an attacker with local user access via a side-channel analysis, aka \"straight-line speculation.\"",
                "uri": "http://people.ubuntu.com/~ubuntu-security/cve/CVE-2020-13844",
                "severity": "MEDIUM",
                "attributes": [
                    {
                        "key": "CVSS3_SCORE",
                        "value": "5.5"
                    },
                    {
                        "key": "package_version",
                        "value": "8.4.0-1ubuntu1~18.04"
                    },
                    {
                        "key": "package_name",
                        "value": "gcc-8"
                    },
                    {
                        "key": "CVSS3_VECTOR",
                        "value": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
                    },
                    {
                        "key": "CVSS2_VECTOR",
                        "value": "AV:L/AC:L/Au:N/C:P/I:N/A:N"
                    },
                    {
                        "key": "CVSS2_SCORE",
                        "value": "2.1"
                    }
                ]
            }
        ],
        "imageScanCompletedAt": "2023-06-18T18:40:12+09:00",
        "vulnerabilitySourceUpdatedAt": "2023-06-18T04:33:19+09:00",
        "findingSeverityCounts": {
            "MEDIUM": 1,
            "LOW": 6,
            "INFORMATIONAL": 4
        }
    },
    "registryId": "123456789012",
    "repositoryName": "ubuntu",
    "imageId": {
        "imageDigest": "sha256:0891d22f55fab66664581bbfca80601dfc9d6e8fff8f65a493e9f96644e29417",
        "imageTag": "18.04"
    },
    "imageScanStatus": {
        "status": "COMPLETE",
        "description": "The scan was completed successfully."
    }
}

参考までに、アップデート前は以下のようなアウトプットが表示されていました。

{
    "imageScanFindings": {
      "findings": [
          {
              "name": "CVE-2019-5188",
              "description": "A code execution vulnerability exists in the directory rehashing functionality of E2fsprogs e2fsck 1.45.4. A specially crafted ext4 directory can cause an out-of-bounds write on the stack, resulting in code execution. An attacker can corrupt a partition to trigger this vulnerability.",
              "uri": "http://people.ubuntu.com/~ubuntu-security/cve/CVE-2019-5188",
              "severity": "MEDIUM",
              "attributes": [
                  {
                      "key": "package_version",
                      "value": "1.44.1-1ubuntu1.1"
                  },
                  {
                      "key": "package_name",
                      "value": "e2fsprogs"
                  },
                  {
                      "key": "CVSS2_VECTOR",
                      "value": "AV:L/AC:L/Au:N/C:P/I:P/A:P"
                  },
                  {
                      "key": "CVSS2_SCORE",
                      "value": "4.6"
                  }
              ]
          }
      ],
      "imageScanCompletedAt": 1579839105.0,
      "vulnerabilitySourceUpdatedAt": 1579811117.0,
      "findingSeverityCounts": {
          "MEDIUM": 1
      }
  },
  "registryId": "123456789012",
  "repositoryName": "sample-repo",
  "imageId": {
      "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6"
  },
  "imageScanStatus": {
      "status": "COMPLETE",
      "description": "The scan was completed successfully."
  }
}

AWS CLI Command Reference describe-image-scan-findings より引用

まとめ

以上、「Amazon ECR のベーシックスキャンで CVSS v3 が利用されるようになりました!」でした。

この記事がどなたかの参考になれば幸いです。AWS 事業本部コンサルティング部のたかくに(@takakuni_)でした!