Amazon InspectorがLambdaの脆弱性スキャンに対応。SnykのLambda統合とどのように使い分けるか #reInvent22 #reInvent @snykjp #Qiitaアドカレ
こんにちは!AWS事業本部コンサルティング部のたかくに(@takakuni_)です。
Snyk アドベントカレンダーの 12/8 の記事です。
SHARP 水なし自動調理鍋 HEALSiO ヘルシオ ホットクックを狙っています。 (妻が)
Snyk
Snyk は「デベロッパーファーストのセキュリティプラットフォーム」を標榜する、SaaS 型の SAST(静的解析)ツールです。弊社でも取り扱っています。
フリープランもあるためお気軽にぜひご利用いただけると幸いです。
re:Invent 2022 にて、 Amazon Inspector が Lambda の脆弱性スキャンに対応しました。
Snyk Open Source でも以前から Lambda の脆弱性対応はサポートされており、今回はどのような違いがあるのかをまとめていければと思います。
脆弱性データベース
Amazon Inspector
公式より提供されるアップデートブログを確認する限り、 CVE をもとに脆弱性を検出しているそうです。
Amazon Inspector scans functions and layers initially upon deployment and automatically rescans them when there are changes in the workloads, for example, when a Lambda function is updated or when a new vulnerability (CVE) is published.
Snyk Open Source
対して、 Snyk は独自の脆弱性データベースを利用して検出します。
対応言語
Amazon Inspector
Amazon Inspector は次の言語をサポートしています。
- Java
- Java 8
- Java 11
- NodeJS
- NodeJS 12
- NodeJS 14
- NodeJS 16
- Python
- Python 3.7
- Python 3.8
- Python 3.9
Supported programming languages: AWS Lambda function scanning
Snyk Open Source
対して、 Snyk Open Source では以下の言語がサポートされています。
- NodeJS
- Java ( Maven のみ)
- Ruby
詳しい言語バージョンは、以下製品ページよりご確認ください。
Open Source - Supported languages and package managers
スキャン頻度
Amazon Inspector
Amazon Inspectorは以下の頻度でスキャンが実行されます。
- Amazon Inspector が既存の Lambda 関数を発見した場合(Inspectorを有効にした場合)
- 新しい Lambda 関数をデプロイするとき
- Lambda 関数を更新した時
- 新しい脆弱性が CVE に公開された時
- 自動スキャンのみ
参考:Scanning AWS Lambda functions with Amazon Inspector
Snyk Open Source
Snyk Open Source は以下のタイミングでスキャンが実行されます。
- 初回スキャン
- 新しい脆弱性が公開された時
- 日時、週次の自動スキャン
- 手動スキャンも可能
料金
Amazon Inspector
料金体系が少し複雑ですが、1ヶ月(720時間)、1関数あたり$0.36発生します。
Snyk Open Source
フリープランなら200テストまで無料で1ヶ月ご利用いただけます。
また、ビジネスプラン($98/月あたり人から)になると無制限でテスト可能になります。
Developer security for teams of all sizes
使いわけについて
まず初めに、 Lambda の対応言語を確認する必要があります。
Python の場合だと Amazon Inspector 、 Ruby だと Snyk と言った言語ベースでの使い分けができます。
(Snyk Open SourceとしてはPythonに対応しているため、デプロイ前のSCMで脆弱性管理も可能です。)
次点で、料金やスキャンタイミングなどを考えていくといいと思います。
まとめ
以上、Lambdaの脆弱性スキャンまとめでした。
対応言語や、料金スキャンタイミングさまざまな違いが明確に分かれててとてもわかりやすかったです。
以上、AWS事業本部コンサルティング部のたかくに(@takakuni_)でした!