Amazon Inspector を使用して Lambda のセキュリティ評価を自動化する - AWS Lambda

Amazon Inspector を使用して Lambda のセキュリティ評価を自動化する

Amazon Inspector は、既知のソフトウェアの脆弱性や意図しないネットワークの露出について、ワークロードを継続的にスキャンする脆弱性管理サービスです。Amazon Inspector が生成する検出結果は、脆弱性を説明し、影響を受けるリソースを特定し、脆弱性の重要度を評価し、修正ガイダンスを提供します。

Amazon Inspector サポートにより、Lambda 関数とレイヤーのセキュリティ脆弱性評価が継続的かつ自動的に行われます。Amazon Inspector では、2 種類の Lambda スキャンを提供しています。

  • Lambda 標準スキャン (デフォルト): Lambda 関数とそのレイヤー内のアプリケーションの依存関係をスキャンして、パッケージの脆弱性がないか調べます。

  • Lambda コードスキャン: Lambda 関数内のカスタムアプリケーションコードをスキャンして、コードの脆弱性がないか調べます。Lambda 標準スキャンをアクティブ化することも、Lambda コードスキャンと同時に Lambda 標準スキャンをアクティブ化することもできます。

Amazon Inspector を有効にするには、Amazon Inspector コンソールに移動し、[設定] セクションを展開して [アカウント管理] を選択します。[アカウント] タブで [有効化] を選択し、スキャンオプションのいずれかを選択します。

Amazon Inspector をセットアップするときに、複数のアカウントで Amazon Inspector を有効にし、組織の Amazon Inspector を管理するためのアクセス権限を特定のアカウントに委任できます。有効にする際には、AWSServiceRoleForAmazonInspector2 ロールを作成して Amazon Inspector にアクセス権限を付与する必要があります。Amazon Inspector コンソールで、ワンクリックオプションを使用してこのロールを作成できます。

Lambda の標準スキャンでは、Amazon Inspector は、次のような状況で Lambda 関数の脆弱性スキャンを開始します。

  • Amazon Inspector が既存の Lambda 関数を検出した時。

  • 新しい Lambda 関数をデプロイした時。

  • 既存の Lambda 関数またはそのレイヤーのアプリケーションコードまたは依存関係に更新がデプロイされた場合。

  • Amazon Inspector がデータベースに新しい共通脆弱性識別子 (CVE) 項目を追加し、その CVE が関数に関連している場合。

Lambda コードスキャンでは、Amazon Inspector は、自動推論と機械学習を使用して Lambda 関数のアプリケーションコードを評価し、アプリケーションコードを分析して全体的なセキュリティコンプライアンスを確認します。Amazon Inspector が Lambda 関数のアプリケーションコードに脆弱性を検出すると、Amazon Inspector は詳細な [コード脆弱性] の検出結果を生成します。可能な検出のリストについては、「Amazon CodeGuru Detector Library」を参照してください。

結果を確認するには、Amazon Inspector コンソールにアクセスしてください。[結果] メニューで [Lambda 関数別] を選択すると、Lambda 関数で実行されたセキュリティスキャン結果が表示されます。

Lambda 関数を標準スキャンから除外するには、関数に次のキーと値のペアをタグ付けします。

  • Key:InspectorExclusion

  • Value:LambdaStandardScanning

コードスキャンから Lambda 関数を除外するには、関数に次のキーと値のペアをタグ付けします。

  • Key:InspectorCodeExclusion

  • Value:LambdaCodeScanning

例えば、以下の画像では、Amazon Inspector は脆弱性を自動的に検出し、検出結果を [コード脆弱性] という種類に分類しています。これは、脆弱性がコード依存ライブラリのいずれにもなく、関数のコードにあることを示します。特定の機能または複数の機能について、これらの詳細を一度に確認できます。

Amazon Inspector finds vulnerabilities in Lambda code.

これらの検出結果を 1 つずつ詳しく調べて、問題を解決する方法を知ることができます。

Amazon Inspector console displays code vulnerability details.

Lambda 関数を使用する際は、必ず Lambda 関数の命名規則に準拠するようにしてください。詳細については、「Lambda 環境変数を作成する」を参照してください。

修復案を承認する責任はユーザーにあります。修復案を受け入れる前に、必ず確認してください。コードが意図したとおりに動作するように、修正案の編集が必要となる場合があります。