コンテナ/マイクロサービス/サーバーレスセキュリティと自動化/AI(技術編)(前編)

クラウドセキュリティアライアンス(CSA)は、2024年7月15日、「クラウドコンピューティングのためのセキュリティガイダンス V5」(https://cloudsecurityalliance.org/artifacts/security-guidance-v5)を公開した。CSAガイダンスV5では、コンテナ/マイクロサービス/サーバーレスセキュリティの扱いが大幅に増えたのが特徴である。前編では、コンテナ、サーバーレス/FaaS、AIワークロードに関連する新ガイダンスの技術動向について概説する。

「仮想化とコンテナ技術」から「クラウドワークロードセキュリティ」へ

CSAガイダンスV4.0では、「仮想化とコンテナ技術」の章において、「コンピュート」、「ネットワーク」、「ストレージ」と並ぶ仮想化技術領域として「コンテナ」が取り上げられていた。そこでは、以下の通り、コンテナに係るクラウド事業者およびクラウド利用者向けの推奨事項を提示していた。

[クラウド事業者のための推奨事項]

  • 仮想化に使われる基盤となるインフラの全てをそれ自体でセキュアにする
  • テナント間のセキュリティ面の隔離を保証することに注力する
  • 仮想化レイヤにおいて十分なセキュリティ機能を提供し、クラウド利用者がその資産のセキュリティを適切に確保できるようにする
  • 物理インフォストラクチャと仮想化プラットフォームを攻撃者と内部不正に対してしっかりと防御する
  • クラウド利用者が管理する全ての仮想化機能に対し、デフォルトでセキュアな設定を実装する

[クラウド利用者のための推奨事項]

  • 利用しているクラウド事業者の提供する機能とセキュリティ上のギャップを確実に認識する
  • 仮想化サービスを、クラウド事業者のガイダンスと業界の実践規範に沿って適切に設定する
  • 利用するコンテナプラットフォームとその下のOSのセキュリティのための隔離機能を把握し、適切な設定を選択する
  • コンテナ間の隔離の実施には物理マシンまたは仮想マシンを用い、同一の物理/仮想ホスト上の同一のセキュリティ要件のコンテナはグループ化する
  • 配備対象となるのは、確実に、承認済みで認知済みでセキュアなコンテナのイメージかコードだけとなるようにする
  • コンテナの統合化・管理およびスケジューラのソフトウェアのセキュリティを適切に設定する
  • 全てのコンテナとリポジトリ管理に対して、適切なロールベースのアクセス管理と、強度の高い認証を実装する

これに対してCSAガイダンスV5では、「仮想化とコンテナ技術」から「クラウドワークロードセキュリティ」へと章の名称が変わった。参考までにCSAガイダンスV5の「8 クラウドワークロードセキュリティ」の章は、以下のような構成になっている。

8.1 クラウドワークロードセキュリティへの導入

  • 8.1.1 クラウドワークロードのタイプ
  • 8.1.2 クラウドワークロード:短期と長期
  • 8.1.3 伝統的なワークロードセキュリティ制御への影響
  • 8.1.4 ソフトウェア構成分析

8.1.5 ソフトウェア部品表(SBOM)

8.2 仮想マシン

  • 8.2.1 仮想マシンの課題と低減策
    • 8.2.2 ファクトリーによるセキュアな仮想マシンイメージの生成
  • 8.2.2.1 VM向けに推奨されるツールとベストプラクティス
  • 8.2.3 デプロイメントパイプラインによるセキュアなイメージの生成
  • 8.2.4 スナップショットと公的暴露/抽出

8.3 コンテナのセキュア化

  • 8.3.1 コンテナイメージの生成
  • 8.3.2 コンテナネットワーキング
  • 8.3.3 コンテナオーケストレーション&管理システム
  • 8.3.4 コンテナオーケストレーションのセキュリティ
    • 8.3.4.1 アーティファクトレポジトリのセキュア化
    • 8.3.4.2 セキュアなレポジトリ利用に関するベストプラクティス
  • 8.3.5 コンテナ脆弱性の管理
  • 8.3.6 コンテナ向けのランタイム保護

8.4 PaaSセキュリティ

  • 8.4.1 一般的なPaaS向けのセキュリティプラクティス
  • 8.4.2 暗号化とアクセス制御
  • 8.4.3 特定のPaaSのセキュア化

8.5 サーバーレス/FaaS(Function as a Service)のセキュア化

  • 8.5.1 FaaSセキュリティの課題
  • 8.5.2 サーバーレス向けIAM
  • 8.5.3 ネットワーク接続とアクセスパターン
  • 8.5.4 環境変数と秘密

8.6 AIワークロード

  • 8.6.1 AIシステムの脅威
  • 8.6.2 AI低減戦略

CSAガイダンスV5では、クラウドワークロードについて、クラウドコンピューティング環境で稼働する様々なタスク、アプリケーション、サービス、プロセスであり、仮想マシン(VMs)、コンテナ、サーバーレス/FaaS (Function as a Service)、AI、PaaS(Platform as a Service)など、幅広いリソースをカバーするものだとしている。

そして、クラウドワークロードと従来型環境の違いとして以下の3点を挙げている。

  • 動的で拡張的:

データやワークロードが静的な従来型環境と異なり、クラウドは、継続的に進化する、動的で拡張的な背景を有している。このような環境の流動的な特性は、アジャイルで順応性があるセキュリティアプローチを必要とする。クラウドに挑むセキュリティ専門家にとって、これは、標準的なセキュリティ対策を再考して、関与のルールが継続的に書き換えられるような背景に適応することを意味する。

  • 複雑性と多様性:

固有の要求事項を有する様々な種類のワークロードが存在するため、セキュリティに対する汎用的なアプローチは機能しない。

  • 完全性、機密性、可用性:

クラウドワークロードセキュリティの中核は、データの完全性、機密性、可用性というサイバーセキュリティの基盤となる原則の維持にある。クラウドでは、データが変更できないこと(完全性)、認可されたユーザーだけがアクセスできること(機密性)、必要な時に利用可能なこと(可用性)の保証が重要である。

ガイダンスV5では、仮想マシンからコンテナ、サーバーレスアーキテクチャに至るまで、クラウドワークロードの開発・実装プロセス全体において、統合ソフトウェア構成分析(SCA)やソフトウェア部品表(SBOM)の役割を統合することによって、セキュリティだけでなく信頼性やコンプライアンスを保証できるとしている。進化するサイバー脅威動向に対してクラウド運用のセキュア化を図ろうとする組織にとって、このようなプラクティスは必要不可欠なものとなりつつある。

サーバーレス/FaaSとAIワークロードが表舞台に登場

CSAガイダンスV5では、クラウドワークロードのタイプとして、以下の5つを挙げている。

[仮想マシン(VMs)とインスタンス]

  • クラウドサービスプロバイダー(CSP)が管理するハイパーバイザおよびその他の管理プレーンコンポーネントにより強制された、別個のOSを通して分離を提供する。
  • ハイパーバイザは、クラウドサービスプロバイダー(CSP)が維持する重要なコンポーネントであるが、個々のVM内のゲストOSのセキュリティは、通常、クラウドサービスカスタマー(CSC)が取扱うので、周到な構成とパッチ当てが必要となる。
  • さらに、VMスプロールは、重大なセキュリティリスクを示す可能性がある。
  • 加えて、スナップショットやイメージの管理は、機微データの漏えいを防止するために重要であり、厳格なガバナンスを必要とする。

[コンテナ]

  • コンテナは、ホストOSのカーネルを共有する、分離したランタイム環境であるが、自らのファイルシステムやライブラリ、構成を備えた別個の自己完結型プロセスとして稼働する。
  • コンテナは、軽量で効率的なVMの代替品を提供するが、異なるセキュリティ課題を示す。コンテナは、ホストOSカーネルを共有するので、本質的に弱い分離を提供する。
  • コンテナ化した環境におけるセキュリティは、正確にOSレベルの制御を構成し、コンテナイメージのセキュリティを維持し、コンテナのランタイム環境が適切に構成されていることを保証するように決定される。
  • Kubernetesのようなオーケストレーターのセキュリティ強化における利点にも関わらず、オーケストレーターは、侵害防止のために注意深く切り抜けなければならないような追加的複雑性をもたらす。

[PaaS(Platform as a Service)]

  • PaaSは、より効率的でオーバーヘッドの少ないアプリケーションの開発、実装、管理を促進するような、一連のツールおよびサービスを提供することによって、クラウドプラットフォームの機能を拡張する。
  • データベースやメッセージングシステムから、コンテンツデリバリーネットワーク(CDN)に至るまで、様々なサービスに基づいたセキュリティ考慮事項を示す。

[サーバーレス/FaaS(Function as a Service)]

  • FaaSは、開発者が、基盤となるインフラストラクチャの管理なしに、イベントやリクエストに対応して実行されるような個々の機能を書いてデプロイするクラウドコンピューティングモデルである。
  • サーバーレスモデルは、セキュリティ責任のより多くの部分をCSPに委ねる。この信頼性の再割り当てにより、CSPの特別なセキュリティ専門知識と先進的な保護対策を活かして、攻撃表面を最小化する。CSPによる強制された分離とともに、実行環境の短期的な性質が、固有のセキュリティの利点を提供する。
  • サービス拒否(DoS)攻撃や自動スケーリングによる経済的疲弊など、不正アクセスや潜在的攻撃に対するサーバーレスアプリケーションの保護のために、最小特権による秘密の管理と機能の構成が最も重要である。

[AIワークロード]

  • AIワークロードは、膨大な量の学習用データを処理して、意思決定を行い、予測を提供する。敵対的攻撃に対する保護、モデルの盗難の防止、プロンプトインジェクションに対する保護を特に強調しながら、データの完全性とプライバシーを保証することが最も重要である。
  • このような脆弱性にも関わらず、AIワークロードは、先進的な計算処理リソースとクラウド環境の拡張性を活用する。

一般的に、クラウドワークロードになると、特にサーバーレスコンピューティングのようなモデルにおいて、管理責任がCSP側にシフトする。攻撃表面が消失する可能性がある反面、可視性、制御、ガバナンスの課題は持続する。従って、セキュリティモニタリングやガバナンスは、すべてのクラウドワークロードに渡って堅牢なセキュリティポスチャを維持する際に重要となり、運用が妨げられることなく維持でき、データ保護規制を遵守していることを保証するとしている。

CSAガイダンスV4.0と比較すると、V5では、サーバーレス/FaaSやAIワークロードといった新トピックを網羅している点が注目される。

クラウドワークロードセキュリティの推奨事項

最後に、CSAガイダンスV5の「クラウドワークロードセキュリティ」では、以下のような推奨事項を提示している。

[クラウドワークロード管理]

  • 集中型クラウドデプロイメントレジストリの生成:効率的なトラッキングと管理のために、すべてのクラウドワークロードおよびデプロイメントの包括的なインベントリを維持する
  • 複数のデプロイメントを利用した組織階層の定義:セキュリティおよび管理の制御の向上のために組織ユニットを反映するクラウド環境を構築する
  • 新たなデプロイメント生成のための低摩擦プロセスのサポート:運用効率性を妨げることなくセキュリティポリシーの遵守を保証するためにプロセスを簡素化する

[仮想マシンセキュリティ]

  • 安全なベースVMイメージの強制:集すべてのデプロイメント向けに、中管理でバージョン化された、不変のベースイメージを利用する
  • イメージファクトリーの実装:一貫性とセキュリティを保証するために、VMイメージの生成、テスト、デプロイメントを自動化する
  • VMイメージの脆弱性スキャン:セキュリティリスクを低減するために、定期的にスキャンし、VMイメージをアップデートする
  • 短期間稼働のVMの採用:長期間稼働のインスタンスに関連するリスクを低減するために、不変のインフラストラクチャと一時的なVMを利用する
  • 構成管理とIaC(Infrastructure as Code)の利用:望ましい状態を維持し、構成ドリフトを防止する

・ホストベースのファイアウォールとSSHハードニングの実装:ネットワークアクセスを制御し、VMインスタンス上のSSH構成をセキュアにする

[コンテナオーケストレーションセキュリティ]

  • オーケストレーション向けのCSPサービス利用:セキュリティ強化のためにKubernetes-as-a-Serviceのようなマネージドサービスを有効活用する
  • オーケストレーションサービスのハードニング:不必要な機能を無効化し、最小特権アクセスを保証して、ネットワークポリシーおよびファイアウォールを実装する
  • 定期的なパッチ当てとアップデート:コンテナ、ホスト、オーケストレーションプラットフォーム向けパッチ管理の自動化
  • セキュリティポリシーの定義と強制:Kubernetes Security Policy、PodSecurityPolicy(注:Kubernetes 1.25では削除)、NetworkPolicyのようなツールを利用する
  • セキュリティベンチマークとツールの有効活用:Kubernetesの安全な構成を保証するために、CISベンチマークをフォローする
  • クラスターのホストとストレージの保護:ホストOSをハードニングし、保存時および転送時のデータの暗号化を適用して、アクセス制御リスト(ACL)を利用する

[モニタリングと評価]

  • CSPMツールの有効活用:クラウドセキュリティポスチャー管理(CSPM)ツールを利用して、クラウドセキュリティポスチャーを継続的にモニタリングする
  • 継続的モニタリングの実装:ワークロードの活動を追跡し、潜在的なセキュリティインシデントを迅速に検知するために、リアルタイムモニタリングツールを利用する
  • SCAツールの利用:依存性を管理し、脆弱性を早期に特定するために、ソフトウェア構成分析(SCA)ツールをCI/CDパイプラインに統合する
  • SBOMの生成と維持:透明性、セキュリティ対応、規制遵守を強化するために、すべてのワークロード向けにソフトウェア部品表(SBOM)を生成する
  • エンドポイント検知・対応(EDR)エージェント:ランタイムモニタリングを実行し、脆弱性評価をサポートする
  • セキュリティ情報・イベント管理(SIEM):リアルタイムのモニタリングとレポーティングを提供する

[トレーニングと意識]

  • 定期的なセキュリティ演習の実行:チームがリアルワールドインシデントの準備をするために、シナリオベースの演習や机上訓練を実行する
  • 安全文化アプローチの推奨:セキュリティインシデントに関して過度の責任を負わせることなく、全体的な向上と説明責任に焦点を当てる

[PaaSセキュリティ]

  • 定期的なセキュリティ監査:潜在的脅威を特定し低減するために、脆弱性評価を実行する
  • 包括的なロギングとモニタリング:疑いのある行動を検知して対応する
  • 最小特権の原則:ユーザーやサービスに必要最小限のアクセスレベルを付与する
  • 多要素認証(MFA):MFAでアクセス制御を強化する
  • 定期的なアクセスレビュー:適正なアクセスレベルを保証するために、定期的に、アクセス許可を再評価する

[サーバーレス/FaaS(Function as a Service)セキュリティ]

  • サードパーティサービスとAPIの点検:不正な構成やデータ漏えいを回避するために、それらがセキュアで信頼できることを保証する
  • 脆弱な依存性の管理:脆弱性や悪意のあるコードに関して、外部ライブラリを定期的にアップデートし、チェックする
  •  設定ミスの修正:セキュリティ設定が機能の展開およびアクセスを適切に制限していることを保証する
  • 機能に関するアイデンティティ/アクセス管理(IAM)特権の制限:不正アクセスやデータ漏えいのリスクを低減するために、必要最小限の許可を付与する
  • インターネットへの直接アクセスの制御:機能が直接インターネットにアクセスすることを防止するために、ネットワークセグメンテーションとACLを実装する

[AI低減戦略]

  • データセキュリティ:データを保護するために、暗号化、差分プライバシー、セキュアなマルチパーティ計算を利用する
  • モデルセキュリティ:敵対的な攻撃に対してモデルをハードニングし、堅牢なトレーニング手法を利用し、盗難防止のために固有識別子を組み込む
  • インフラストラクチャセキュリティ:割当・レート制限を実装し、クラウドサービスに関するベストプラクティスをフォローする
  • サプライチェーンセキュリティ:サイバーセキュリティポリシーを定義し、定期的にサードパーティの依存性を監査し、信頼されたリソースを利用する

特に、サーバーレス/FaaSセキュリティについてみると、厳格なアイデンティティ/アクセス管理(IAM)に始まるように、セキュリティへの集中的なアプローチが求められる。不正アクセスに対するAPIのエンドポイントセキュリティを強化し、高度な監視下で秘密を管理することが暴露を防止する鍵になるとしている。

後編では、CSAガイダンスV5の中でマイクロサービスのセキュリティに関連が深いアプリケーションセキュリティの新技術動向について概説する。

CSAジャパン関西支部リーダー
健康医療情報管理ユーザーワーキンググループリーダー
笹原英司

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*