Cloud Security Maturity Model·AWS v3.0.0

ドラッグで移動 · ピンチでズーム

基礎 脆弱性管理

c2.10 アプリケーションの脆弱性を管理する

アプリケーション(DAST)とコード(SAST)をスキャンし、重要なアプリケーションにはペネトレーションテストを行います。開発者の IDE の段階で、次にパイプラインとイメージレジストリで、そしてデプロイ後にも問題を検出します。ライフサイクル全体にわたる多層防御です。

実装ガイダンス

シフトレフトし、その後もスキャンし続ける

脆弱性は開発者がコードを書いている段階で修正するのが最も安価ですが、多層防御は各段階でのスキャンを意味します。IDE のチェックを経ずに到着するコードもあり、新たな脆弱性(たとえば依存関係のもの)はデプロイ後に現れます。

  • IDE で: Amazon Q Developer がコード記述中に脆弱性を指摘し、修正案を提示します。
  • パイプラインとレジストリで: Amazon Inspector がコードスキャン(SAST)、ソフトウェア構成分析、Infrastructure as Code のスキャンを行い、Amazon ECR のコンテナイメージや GitHub・GitLab などのリポジトリのコードをスキャンします。
  • デプロイ後: Amazon Inspector が AWS Lambda 関数のコードをスキャンします。

パートナー製品とオープンソースの選択肢

パートナーの DAST/SAST ツール(Checkmarx や Veracode など)は AWS Marketplace にあります。オープンソースでは、Automated Security Helper(ASH) が git-secrets、bandit、npm-audit、checkov、cfn_nag、cdk-nag といったツールをまとめ、Git・Python・JavaScript・CloudFormation・Terraform・Jupyter ノートブックにわたってシークレット・脆弱性・不適切なプラクティスを検出します。

WAF は代替ではない

Web アプリケーションファイアウォールの導入は攻撃のブロックに役立ちますが、根本的な脆弱性を修正する必要をなくすものではありません。多層防御に従い、両方を行ってください。

関連

これは後のフェーズの Security Champions と DevSecOps につながります。

How to validate

  • DAST(稼働中のアプリ)と SAST(コード)の両方でアプリケーションをスキャンしていますか?
  • カバレッジはどの程度ですか(重要なアプリのみ、大半、すべて)?
  • コードにコミットされたシークレットや認証情報をスキャンしていますか?
  • クリティカルな脆弱性が見つかった場合、パイプラインは本番への昇格をブロックしますか?

Threats addressed

  • ユーザーにサービスを提供するために公開が必要な Web アプリケーションは、その脆弱性を攻撃者の手の届く範囲に直接置くことになります。
  • ほとんどの開発チームはセキュリティの専門家ではなく、ツールなしにセキュアコーディングを優先する時間はめったにありません。

AWS サービス

Amazon Inspector Amazon ECR Amazon Q Developer

料金

Framework mappings

AWS CAF

Well-Architected

NIST CSF

References