Prisma CloudでAWSリソースの脆弱性管理(Lambda編)


Palo Alto社のセキュリティ製品、Prisma CloudをでAWSリソースの脆弱性管理を行ってみます。
今回は、Lambdaに対して、脆弱性診断をかけてみます。

準備

Prisma Cloudアカウントがない方は、以前の投稿をご参照ください。
https://qiita.com/Hiroyama-Yutaka/items/0c5205749bc54e3ec056

脆弱性診断

Computeメニューに存在します。
今回は、(AWS Lambda)に対して、実施してみます。

準備

手順はこちら。
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/vulnerability_management/serverless_functions

適当にLambdaファンクションを作成。今回はSAMでPythonベースのファンクションを作りました。
今回は、意図的に脆弱性のあるライブラリバージョン(numpy1.16.0, request2.2.1)を使用しておきました。
https://nvd.nist.gov/vuln/detail/CVE-2019-6446
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1830

手順に従って環境変数をセット。Prisma CloudコンソールにLambdaファンクションが表示されます。

最初は、ファンクションがグレーアウトされていると思います。(↑のキャプションのアイコン)
ClickしてScan対象にしましょう。

成功すると、ファンクションアイコンが赤くなります。

スキャン

初回に自動的にスキャンが走っています。
中を覗くと、しっかり仕込んだ脆弱性を検知してくれています。

requestsをアップデート。

$ cat hello_world/requirements.txt 
requests==2.2.1
$ vi hello_world/requirements.txt 
$ cat hello_world/requirements.txt 
requests==2.20.0
$ sam build
$ sam deploy

再スキャンして確認!
無事、requestsの脆弱性が解消が確認できました。

まとめ

Prisma CloudでAWS Lambdaの脆弱性スキャンをしてみました。
Prisma CloudのAWS Lambdaには、脆弱性スキャン以外にも、実行開始をフックして、起動引数に攻撃性のある内容が含まれていないかなどをチェックする機能も備えています。

その機能や別のサービスなどは別の機会に試してみます。