Amazon Inspector で脆弱性を自動スキャン - EC2、Lambda、ECR の継続的セキュリティ評価
EC2 インスタンス、ECR コンテナイメージ、Lambda 関数の脆弱性を自動スキャンし、CVE ベースのリスクスコアで優先順位を付ける。Systems Manager エージェントとの統合でエージェントレススキャンも実現する方法を解説します。
Inspector の概要
Amazon Inspector は EC2 インスタンス、ECR コンテナイメージ、Lambda 関数の脆弱性を自動的にスキャンするセキュリティ評価サービスです。Inspector v2 は v1 から大幅に刷新され、有効化するだけで対象リソースを自動検出し、継続的にスキャンを実行します。CVE (Common Vulnerabilities and Exposures) データベースと照合し、検出された脆弱性にリスクスコア (Inspector スコア) を付与します。Inspector スコアは CVSS ベーススコアに加え、ネットワーク到達可能性やエクスプロイトの有無を考慮した独自のコンテキストスコアで、実際のリスクに基づいた優先順位付けが可能です。GuardDuty が実行時の脅威検知に特化しているのに対し、Inspector は脆弱性の事前検出に焦点を当てています。
スキャン対象と検出方法
EC2 インスタンスのスキャンは Systems Manager (SSM) エージェント経由で実行されます。SSM エージェントがインストールされたインスタンスは自動的にスキャン対象になり、OS パッケージ (Amazon Linux、Ubuntu、Windows など) の脆弱性を検出します。エージェントレススキャンも提供されており、SSM エージェントなしで EBS スナップショットベースのスキャンが可能です。ECR コンテナイメージのスキャンは、イメージのプッシュ時と定期的な再スキャンで実行されます。ベースイメージの OS パッケージに加え、プログラミング言語のパッケージ (npm、pip、Maven など) の脆弱性も検出します。Lambda 関数のスキャンはデプロイ時と定期的に実行され、関数コードが依存するパッケージの脆弱性を検出します。
検出結果の管理と統合
検出された脆弱性は Inspector コンソールのダッシュボードで一覧表示され、リスクスコア、影響を受けるリソース、修正方法が提示されます。抑制ルールで、許容済みの脆弱性や誤検知を非表示にし、対応が必要な脆弱性に集中できます。Security Hub との統合で、Inspector の検出結果を他のセキュリティサービス (GuardDuty、Macie、Config) の検出結果と統合的に管理します。EventBridge との統合で、Critical または High の脆弱性が検出された際に SNS 通知や Lambda 関数をトリガーし、自動修復ワークフローを構築できます。Organizations との統合で、委任管理者アカウントから全メンバーアカウントの Inspector を一元管理し、組織全体の脆弱性状況を可視化します。 セキュリティ評価の実践についてはAmazon の関連書籍も参考になります。
Inspector の料金
Inspector の料金はスキャン対象のリソースタイプごとに異なります。EC2 インスタンスのスキャンはインスタンスあたり月額約 1.2528 ドルです。ECR コンテナイメージの初回スキャンはイメージあたり約 0.09 ドル、再スキャンはイメージあたり約 0.01 ドルです。Lambda 関数のスキャンは関数あたり月額約 0.30 ドルです。無料トライアルとして、有効化から 15 日間は全機能を無料で利用できます。Organizations で全アカウントに一括有効化する場合、アカウント数 × リソース数に応じたコストを事前に見積もります。
継続的スキャンの仕組み
Inspector の特徴は、一度きりではなく継続的に脆弱性を評価する点にあります。新しいパッケージがインストールされたり、新しい脆弱性情報が公開されたりすると、それを検知して自動的に再スキャンします。これにより、評価結果が常に最新の状態に保たれ、新たに判明したリスクを見逃しません。コンテナイメージやインスタンスに含まれるソフトウェアの構成情報を把握し、既知の脆弱性と照合します。手動で定期的にスキャンを実行する運用と違い、変化が起きたタイミングで自動的に評価されるため、対応の遅れを防げます。継続的な可視性が、セキュリティ運用の土台になります。
リスクの優先順位付け
脆弱性は次々と見つかるため、すべてに同じ優先度で対応するのは現実的ではありません。Inspector は、脆弱性の深刻度に加え、実際に悪用が可能か、その資産がネットワーク的に到達可能かといった文脈を加味したスコアで、リスクの優先順位を示します。これにより、理論上の深刻度は高くても実際には到達できない問題より、現実に攻撃されうる問題を優先して対処できます。限られた対応リソースを、本当に危険なものに集中させられます。文脈を踏まえた優先順位付けが、効率的で実効性のある脆弱性管理を可能にします。
修復と運用
検出された脆弱性には、どう対処すべきかの修復ガイダンスが示されるため、対応の方針を立てやすくなります。多くはパッケージの更新で解消できるため、パッチ適用の運用と連携させて修正します。すぐに対応できない、あるいは影響がないと判断した検出項目は、抑制ルールで一時的に除外し、対応すべきものに集中できます。ただし、抑制した項目を放置しないよう、定期的に見直すことが重要です。検出から修復までの流れを運用プロセスに組み込み、新たな脆弱性が見つかったら速やかに評価・対応するサイクルを回すことが、セキュリティ水準の維持につながります。
組織展開とガバナンス
複数のアカウントを運用する組織では、脆弱性管理を一元化することが重要です。Inspector は、組織全体で集中管理する仕組みを備え、管理用のアカウントから全アカウントのスキャン状況や検出結果を把握できます。これにより、どのアカウントに重大なリスクが残っているかを横断的に確認し、対応の優先順位を組織レベルで判断できます。検出結果を他のセキュリティサービスに集約すれば、さまざまなセキュリティ情報と合わせて統合的に管理できます。アカウントごとにばらばらに対応するのではなく、組織全体で統制の取れた脆弱性管理体制を築けます。
まとめ
Amazon Inspector は EC2、ECR、Lambda の脆弱性を自動的に検出し、コンテキストベースのリスクスコアで優先順位を付けるセキュリティ評価サービスです。SSM エージェント統合とエージェントレススキャンの両方に対応し、Security Hub・EventBridge との連携で検出から修復までのワークフローを自動化します。