概要
- Amazon Inspectorに新機能として AWS Lambda関数の脆弱性をスキャンする機能が追加されました。
- ということで早速試してみたという記事になります。
Amazon Inspectorとは
- Amazon Inspector というのは脆弱性を管理するためのサービスであり、今までは Amazon EC2 インスタンスの脆弱性や、Amazon ECR に存在するコンテナイメージの脆弱性を継続的にスキャンできました。
- 今回追加された機能というのは、AWS Lambda 関数と Lambda レイヤ全体の脆弱性を継続的にスキャンできるようになりました。
気をつけるべき点
- 現時点では、Java、NodeJS、Python で記述された関数とレイヤーに対してのスキャンが実行できます(2022/11/29 時点)
- デフォルトでは、アカウント内のすべての関数を継続的にスキャンしますが、特定の Lambda 関数を除外したい場合は、キー「InspectorExclusion」と値「LambdaStandardScanning」を含むリソースタグを付与します。
利用できるリージョン
- 米国東部 (オハイオ)
- 米国東部 (バージニア北部)
- 米国西部 (北カリフォルニア)
- 米国西部 (オレゴン)
- アジアパシフィック (香港)
- アジア パシフィック (ムンバイ)
- アジア パシフィック (ソウル)
- アジア パシフィック (シンガポール)
- アジア パシフィック (シドニー)
- アジア パシフィック (東京)
- カナダ (中部)
- ヨーロッパ (フランクフルト)
- ヨーロッパ (アイルランド)
- ヨーロッパ (ロンドン)
- ヨーロッパ (ミラノ)
- ヨーロッパ (パリ)
- ヨーロッパ (ストックホルム)
- 中東 (バーレーン)
- 南アメリカ (サンパウロ)
スキャンされるタイミング
- 関数のデプロイ時に関数とレイヤーをスキャンする
- Lambda 関数が更新されたときスキャンする
- 新しい脆弱性 (CVE) が公開されたときなど、ワークロードに変更があったときに自動的に再スキャンする
やってみた
- Amazon Inspector のコンソール画面にいくと、Findings に「By Lambda Functions」が追加されてますね。
- まずは、「Dashboard」を確認してみると、今まで脆弱性のスキャンができていた Amazon EC2 と ECR の結果およびLambda Functionsの結果が表示されていることがわかります。
-
Amazon Inspector は、関数だけではなく、Lambda レイヤーもスキャンします。
-
また、サードパーティのレイヤーを使用している場合も、Amazon Inspector はそれらのレイヤーの脆弱性もスキャンします。
-
次に、Findings の「By Lambda Functions」を移動します。
-
ここでは、さまざまな関数の結果を確認することができます。
-
また、Amazon EventBridge などを利用し、Amazon Inspector の結果を開発者やシステム管理者に通知することができるので、今までのスキャンできたリソースに加えて Lambda関数及び使用しているレイヤーの脆弱性スキャン結果を送れます。
まとめ
- 少し前にあった、Log4jの脆弱性ではないですが、Lambdaで実行しているアプリケーションで利用しているライブラリなどに新しい脆弱性が発覚した際に、Amazon Inspector は脆弱性が公開されたタイミングでワークロードを継続的に監視し、ほぼリアルタイムで再スキャンできる、かつ自動で通知することもできるワークフローが組めるのが素晴らしいですね!
参考文献