2021年12月7日
はじめに
AWS re:Invent 2021 で新しい Amazon Inspector が発表されました。 この新しい Amazon Inspector (以下、Inspector とします。) では、様々な機能の追加や改善が行われています。 例えば、EC2 インスタンスやコンテナイメージなどが自動で検出されるようになったり、脆弱性などのスキャンが特定のタイミングで実行されるようになりました。 またリスク評価の新指標「Amazon Inspector スコア」も実装されています。
このエントリでは、Inspector の機能の中で、EC2 インスタンスの脆弱性管理に関連する項目についてお伝えいたします。 コンテナイメージの拡張スキャンや、Amazon EventBridge および AWS Security Hub との統合など、他に気になる機能もございますが、それらについてはまた別の機会でご紹介できればと存じます。 大まかな項目は以下のとおりです。
- 使用方法
- Inspector の有効化
- ダッシュボード
- 全ての結果を表示する
- 脆弱性ごとの表示
- インスタンスごとの表示
- 抑制ルール (Suppression rules) について
- Amazon Inspector スコアについて
- スキャンの開始されるタイミングについて
- まとめ
使用方法
Inspector の有効化
まず Inspector の画面を表示します。 サービスの検索ウィンドウに [Ins] と入力すると次のように表示されるので [Inspector] を選択します。
画面右側の [Get Started] をクリックします。
画面右側の [Enable Inspector] をクリックします。
これで Amazon Inspector の有効化が完了し、EC2 インスタンスや ECR イメージの自動ディスカバリや脆弱性スキャンなどが開始されます。
ダッシュボード
結果のサマリが表示される画面です。 左メニューには、脆弱性ごとやインスタンスごとに結果を表示するためのショートカットや、各種設定へのショートカットが表示されます。
Environment coverage セクションには、Inspector の検査対象とされているインスタンスやコンテナリポジトリの範囲が表示されます。 この例では、Instances に 100%、その下部に 3 / 3 instances と表示されています。 これは環境全体でインスタンスが 3 つ存在し、Inspector によって全てスキャンされていることを示しています。
Critical findings セクションには Inspector によって Critical と判定された結果の項目ごとの集計が表示されます。 ここではインスタンス全体で 3 つの Critical な結果があることが示されています。
Risk based remediations セクションには脆弱性スキャンによって判明した危険な脆弱性の数やパッケージ名が表示されます。
他にもダッシュボードには ECR リポジトリや ECR コンテナの状況などが表示されます。
全ての結果を表示する
左メニューの [All findings] をクリックすると、全ての結果が表示されます。
結果は危険度やタイトルなど様々な条件での絞り込みが可能です。
結果をエクスポートすることも可能です。エクポートするには画面右側の [Export findings] をクリックしてください。
エクスポート形式は JSON か CSV のどちらかを選択します。 またオプションで絞り込み条件を指定することもできます。
脆弱性ごとの表示
左メニューの [By vulnerability] をクリックすると脆弱性に関する結果が表示されます。 結果はタイトルや CVE-ID で絞り込み可能となっています。また各脆弱性のタイトルをクリックすることで脆弱性の詳細ページに遷移します。
インスタンスごとの表示
左メニューの [By instance] をクリックするとインスタンスごとの結果の集計が表示されます。
インスタンスのリンクをクリックすることでそのインスタンスの結果を表示することができます。
インスタンスの脆弱性一覧です。詳細を表示するには各脆弱性のタイトルをクリックしてください。 ここでは例として CVE-2021-40438 をクリックします。
CVE-2021-40438 の詳細です。 脆弱性の概要 (英語) と影響するパッケージ、CVSS 評価の詳細などが表示されます。
抑制ルール (Suppression rules) について
Inspector はインスタンスやコンテナの脆弱性を自動で検出することに加え、脆弱性を CVE-ID 単位で表示を行うため、通常の運用であっても表示される脆弱性は膨大な数になります。 Inspector には、表示される脆弱性の数を減らすことを目的とした、「抑制ルール (Suppression rules)」と呼ばれる機能があります。 例えば、組織の脆弱性対策として危険度が「低 (Low)」以下の脆弱性は無視するような運用を行っている場合、下図のような脆弱性の表示を隠すことができれば好ましいです。 では、抑制ルールの作成手順を見てみましょう。
左メニューの [Suppression rules] をクリックします。
画面右側の [Create rules] ボタンをクリックします。
ルールの名前や説明、抑制する脆弱性の条件を入力し、[Save] ボタンをクリックします。 ここでは抑制する条件として危険度が「低 (Low)」以下の脆弱性を選んでいます。 画面下部に指定した条件に適合する脆弱性、すなわち抑制される脆弱性のリストが表示されています。
ルールが作成されました。
再び All findings 画面に戻り、脆弱性のフィルタリング条件として危険度「低 (Low)」以下を指定していますが、抑制ルールに基づき、脆弱性が表示されなくなりました。
Amazon Inspector スコアについて
CVSS は脆弱性そのものが持つ危険性を共通の基準で評価できる優れた指標です。 しかしながら CVSS による評価は、インスタンスなどが配置された環境による違いを考慮しないため、外部の攻撃者に晒されるインスタンスと信頼されたユーザのみがアクセスできるインスタンスで同じ結果になります。 このような課題を解決するため、Amazon Inspector スコアが実装されました。Amazon Inspector スコアはユーザガイドで次のように説明されています。
「Amazon Inspector リスクスコアは、ネットワークからの到達可能性の結果と悪用可能性と common vulnerabilities and exposures (CVE) 情報を関連付づけることで、各結果に対して生成された高度に状況を説明するスコアです。 Amazon Inspector は National Vulnerability Database (NVD) ベーススコアを構成するセキュリティメトリックを調査し、それをコンピュート環境に応じて調整します。」
スキャンの開始されるタイミングについて
Inspector では、定期的あるいは手動でスキャンを実行するのではなく、特定のタイミングでスキャンが実行されるようになりました。 ユーザガイドによると、以下のタイミングでスキャンの実行が開始されるとされています。
EC2 インスタンス
- Inspector によってインスタンスが検出された
- 新しいインスタンスを起動した
- 既存のインスタンスに新しいソフトウェアがインストールされた
- Inspector が新たな CVE アイテムをデータベースに追加した
まとめ
新しくなった Amazon Inspector の機能などをご紹介しました。 機能を有効化するだけでインスタンスやコンテナの脆弱性などを検査できるので、脆弱性管理の導入の敷居は低くなると考えます。 是非活用をご検討ください。
参照
- Steve Roberts, "Improved, Automated Vulnerability Management for Cloud Workloads with a New Amazon Inspector," AWS News Blog, Nov 29, 2021.
- "Severity levels for Amazon Inspector findings," Amazon Inspector User Guide, Dec 6, 2021. (確認日)
- "Scanning Amazon EC2 instances with Amazon Inspector," Amazon Inspector User Guide, Dec 6, 2021. (確認日)