Amazon Inspector Lambda コードスキャンを有効化の手順について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、Amazon Inspectorを使用したLambda関数のカスタムアプリケーションコードに対する脆弱性スキャンの重要性と実装方法を詳しく解説します。

ポリシーの説明

Amazon Inspector Lambda コードスキャンは、Lambda関数のカスタムアプリケーションコードを静的に分析し、セキュリティ脆弱性を自動検出する高度な機能です。Amazonの機械学習技術とCodeGuru Detector Libraryを活用し、コードパターンやデータフローを分析してセキュリティ上の欠陥を高精度で特定します。

検出可能な脆弱性カテゴリ:

  1. インジェクション攻撃系
    • SQLインジェクション (CWE-89)
    • OSコマンドインジェクション (CWE-78)
    • LDAPインジェクション (CWE-90)
    • XMLインジェクション (CWE-91)
    • ログインジェクション (CWE-117)
    • NoSQLインジェクション
  2. 認証情報管理
    • ハードコードされた認証情報 (CWE-798)
    • AWSアクセスキー、APIキー、データベース認証情報
    • 環境変数内の平文シークレット
  3. 暗号化関連
    • 脆弱な暗号化アルゴリズム (CWE-327)
    • 不適切なハッシュ関数の使用 (CWE-328)
    • セキュアでない乱数生成 (CWE-330)
  4. アクセス制御
    • パストラバーサル/ディレクトリトラバーサル (CWE-22)
    • サーバーサイドリクエストフォージェリ(SSRF) (CWE-918)

Lambdaスキャンの種類と違い:

  • Lambda標準スキャン: ランタイム、レイヤー、依存関係に含まれる既知のCVEを検出
  • Lambdaコードスキャン: カスタムアプリケーションコード内のセキュリティ欠陥を検出

両方を有効化することで、包括的なセキュリティカバレッジを実現できます。

修復方法

コンソールでの修復手順

AWSのコンソールを使用して、Amazon Inspector Lambda コードスキャンを有効にします。

  1. AWS Management Consoleにログイン
    • Amazon Inspectorサービスページに移動します
  2. アカウント管理ページへアクセス
    • 左側のナビゲーションメニューから「アカウント管理」を選択
  3. Lambda関数スキャンの有効化
    • 「AWS Lambda関数のスキャン」セクションを確認
    • 「Lambda標準スキャン」を先に有効化(必須前提条件)
    • 「Lambdaコードスキャン」を有効化
    注意事項:
    • コードスキャンは標準スキャンが有効の場合のみ利用可能
    • 両方を有効化することで包括的なセキュリティを実現
  4. 暗号化設定(オプション)
    • 検出結果の暗号化にカスタマー管理キー(CMK)を使用する場合は設定
  5. 確認と有効化
    • 設定内容を確認し、「有効化」ボタンをクリック
    • 有効化には数分かかる場合があります

対応言語とリージョン

サポート言語(2025年1月現在):

  • Java: 8, 11, 17, 21
  • JavaScript/Node.js: 12.x, 14.x, 16.x, 18.x, 20.x
  • Python: 3.7, 3.8, 3.9, 3.10, 3.11, 3.12
  • Go: 1.x
  • .NET: Core 3.1, 6, 7, 8

※最新のサポート状況はAWS公式ドキュメントを確認してください

最後に

この記事では、Amazon Inspectorを使用したLambda関数のコード脆弱性スキャンの重要性と実装方法を解説しました。

Lambdaコードスキャンを有効化することで、アプリケーションコードに潜むセキュリティ脆弱性をプロアクティブに検出し、セキュリティインシデントを未然に防ぐことができます。

導入効果:

  • 開発速度の向上: セキュリティ問題の早期発見による手戻り作業の削減
  • コスト削減: インシデント対応コストの大幅な削減
  • コンプライアンス対応: 各種セキュリティ基準への準拠
  • 継続的改善: DevSecOps文化の醸成

実装のベストプラクティス:

  1. 段階的な導入
    • 開発環境 → ステージング → 本番の順で導入
    • 初期は通知のみ、安定後にブロッキングを有効化
  2. CI/CDパイプライン統合
    • ビルド時にInspector APIを呼び出してスキャン
    • Critical脆弱性でデプロイをブロック
    • High脆弱性は警告として通知
  3. 継続的な管理
    • 月次で脆弱性レポートを作成
    • 四半期ごとにセキュアコーディング研修を実施
    • 脆弱性のKPIを設定して追跡
  4. チーム連携
    • セキュリティチームと開発チームの定期会議
    • 脆弱性修正のナレッジ共有
    • セキュリティチャンピオンの育成

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

参考資料

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る