Amazon InspectorでLambda関数の脆弱性もスキャンが可能に!

2022年11月28日にAmazon Inspectorで「AWS Lambda関数」のスキャン(標準スキャン)が可能になりました。

また、2023年2月28日に「AWS Lambda関数」のコードスキャンがプレビュー利用できるようになったと発表がありました。

この記事では『Amazon InspectorによるLambda関数のスキャン』について、

  • Amazon Inspectorとは
  • Lambda関数のスキャン方式の種類
  • Lambda関数のスキャンのタイミング
  • 特定のLambda関数をスキャンから外す方法
  • Lambda関数のスキャンでサポートしているプログラミング言語

などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。

Amazon Inspectorとは

Amazon Inspectorとは

Amazon Inspectorは、AWS(Amazon Web Services)が提供する「ソフトウェアの脆弱性」や「意図しないネットワークのアクセスがないか」を継続的にスキャンする脆弱性管理サービスです。

Amazon Inspectorを有効にすると、「Amazon EC2インスタンス」、「Amazon ECRに存在するコンテナイメージ」、「AWS Lambda関数」を自動検出し、既知の脆弱性がないかを継続的にモニタリングすることができるようになります。脆弱性が発見された場合には改善策を提案してくれます。これにより、セキュリティを向上させることができます。

Amazon InspectorでLambda関数の脆弱性スキャンが可能に

今まではAmazon Inspectorでは、「Amazon EC2インスタンス」、「Amazon ECRに存在するコンテナイメージ」のみ脆弱性のスキャンができましたが、2022年11月28日から「AWS Lambda関数」もスキャン可能になりました。詳しくは下記リンクを参照してください。

あわせて読みたい

Amazon InspectorでLambda関数のスキャンにかかる料金』については下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。

Lambda関数のスキャン方式の種類

Lambda関数のスキャン方式には「標準スキャン」と「コードスキャン」の2種類あります。

  • 標準スキャン
    • デフォルトのスキャンタイプ。
    • Lambda関数のコードやレイヤーで使用されるアプリケーションパッケージの依存関係におけるソフトウェアの脆弱性を特定できる。
  • コードスキャン
    • Lambda関数のコードやレイヤー内のコードの脆弱性を特定できる。
    • コードスキャンでは「CodeGuru Detector Library」を使って、Amazon CodeGuruの「CodeGuru Reviewer」と似たような形で指摘事項を生成してくれる。

コードスキャンが使えないリージョンもあります(2023年4月現在、東京リージョンはコードスキャンを使えませんでした)。コードスキャンが使えるリージョンの場合、「標準スキャンのみ」または「標準スキャン+コードスキャン」のどちらかをアクティブにすることができます。

補足

「CodeGuru Reviewer」は機械学習を活用して、リポジトリ内の既存のソースコードを分析し、見つけにくいバグや重大な問題を高い精度で特定し、修正の提案をしてくれる機能です。

Lambda関数のスキャンのタイミング

Amazon Inspectorは、以下のタイミングでLambda関数をスキャンしています。

  • 新しい脆弱性がCVE項目に追加された時
    • (正確には、Amazon Inspectorが新しい脆弱性をデータベースに登録した時)
  • 既存のLambda関数を更新した時
  • 新しいLambda関数をデプロイする時
  • Amazon Inspectorが既存のLambda関数を検出した時
    • (Amazon Inspectorを有効にした後など)

特定のLambda関数をスキャンから外す方法

Amazon Inspectorはデフォルトでは、アカウント内のすべての関数を継続的にスキャンしています。

特定のLambda関数をスキャンから除外したい場合、キー「InspectorExclusion」と値「LambdaStandardScanning」のタグを追加するとスキャン対象から除外することができます。

Lambda関数のスキャンでサポートしているプログラミング言語

2023年4月現在、下記のプログラミング言語をサポートしています。

  • Java
  • Node.js
  • Python
  • Go

本記事のまとめ

この記事では『Amazon InspectorによるLambda関数のスキャン』について、以下の内容を説明しました。

  • Amazon Inspectorとは
  • Lambda関数のスキャン方式の種類
  • Lambda関数のスキャンのタイミング
  • 特定のLambda関数をスキャンから外す方法
  • Lambda関数のスキャンでサポートしているプログラミング言語

お読み頂きありがとうございました。