ガバメントクラウド上のクラウドネイティブアプリケーションに対するセキュリティ対策

ガバメントクラウド上のクラウドネイティブアプリケーションに対するセキュリティ対策

ガバメントクラウドとは、デジタル庁の政策の一つであり、「府省庁や地方公共団体などの情報システムを運用するためのクラウド基盤」のことです。

現在のガバメントクラウドは、令和4年度末までの先行事業として、いくつかの市町村の協力を得て、実際に基幹業務システムをガバメントクラウドで稼働させ、市町村がガバメントクラウドを安心して利用できるかを検証しています。(参考ブログ記事:「ガバメントクラウド上の情報システムをセキュアに維持するための解決策」)

またガバメントクラウドは、地方自治体の情報システムだけでなく、各府省庁の情報システムでも2023年度を目処に利用される方向で進んでいます。

今年度(2022年度)においては、各府省庁の情報システムは、「第二期政府共通プラットフォーム」を利用することになっています。

「ガバメントクラウド」の先行事業においては、IaaS基盤にアマゾンウェブサービス(AWS)とGoogleクラウドプラットフォーム(GCP)が採用されています (参考Link) が、「第二期政府共通プラットフォーム」のIaaS基盤にもAWSが採用されています (参考Link)。

「第二期政府共通プラットフォーム」のAWSと「ガバメントクラウド」のAWS (またはGCP) では、何が異なるのでしょうか?

そのヒントが、デジタル庁公式noteの「ガバメントクラウドでのクラウド最適なアーキテクチャのサンプル」という記事に記載されていました。

これまでの「3層Webアプリケーション」アーキテクチャ

デジタル庁公式noteの「これまでのアーキテクチャ」に記載されているように、IaaS基盤を利用した構成は「3層Webアプリケーション」のアーキテクチャが一般的であり、これは現在でも多くの企業で採用されている構成パターンです。

図1 3層Webアプリケーションのイメージ
図1 3層Webアプリケーションのイメージ

このアーキテクチャに登場する仕組み一つ一つが、個別のサーバーインスタンス (Windows Server OSやLinux OSなど) 上にソフトウェアとしてインストールされて動作する、という形態です。

この構成パターンは、オンプレミスの構成に類似した状態でIaaS基盤に移行できる、という点ではメリットですが、以下のようなデメリットがあります。

  • コスト高になりがち
    • 一般的にIaaS基盤では、サーバーインスタンス料がコストの大半を占める
  • 管理面が複雑になりがち
    • 各OSへログインするための踏み台サーバが個別に必要
    • OSパッチ管理の仕組みが必要
    • 各サーバー上で動作するアンチウィルスソフトウェア管理のための仕組みが必要

クラウド最適なアーキテクチャ

デジタル庁公式noteの「クラウド最適なアーキテクチャ」に記載されているように、「ガバメントクラウド」においては、Webサーバ及びWebアプリはWeb APIアーキテクチャに変更する、データベースは業務ごとに分離するなど、様々な技術によってクラウドに最適な構成デザインを採用することが検討されています。

最近では、このような「クラウドの利点を徹底的に活用するシステム」のことを「クラウドネイティブ」と呼びます。

各々のクラウドネイティブな技術に関する詳細とそのメリットは、デジタル庁公式noteに記載されているのでここでは割愛しますが、大枠でのポイントは「インスタンスではなく、コンテナを利用する」「基本的に全てマネージドサービスを利用する」という2点に集約できそうです。

図2 クラウド最適なアーキテクチャのイメージ
図2 クラウド最適なアーキテクチャのイメージ

この構成を採用することで、アプリケーションをホストするWindows OSやLinux OSが不要になるので、3層Webアプリケーションアーキテクチャでの課題が解消されます。

  • コスト削減になる
    • サーバーインスタンス費用が発生しないので、コストが下がる。
  • OS管理が不要になる
    • OSの管理に必要な踏み台サーバ、OSパッチ管理サーバ、ウィルス対策サーバが不要になる。

また、OS構成が存在しないので、この構成をInfrastructure as Code (IaC) とコンテナのConfigで表現できるようになります。

これは「クラウド最適な構成をテンプレート化できる」ということであり、多くの自治体や各府省庁は、そのまま利用、またはちょっとした差分変更程度で、クラウド最適な構成をIaaS基盤上に容易に展開できるようになります。

クラウドネイティブ アプリケーションに対するセキュリティの考慮点

ガバメントクラウドを利用することで、行政の様々な情報システムが、迅速に無駄なく展開されることが期待できますが、インターネットからアクセスできるアプリケーションである以上は、攻撃を受ける可能性は高く、それらの脅威から防御する対策が必要です。

図3 インターネットからアクセスできるため脅威対策が必須
図3 インターネットからアクセスできるため脅威対策が必須

このようなクラウドネイティブ アプリケーションを保護するには、セキュリティに対するフルスタック防御のアプローチが必要です。

このフルスタック防御アプローチには、「ランタイム防御」、「WebアプリケーションとAPIセキュリティ」、「ネットワークの可視性」、「脆弱性管理やコンプライアンスのチェック」が含まれます。

Prisma CloudのCWPによるフルスタック防御

Prisma CloudのCWP (Cloud Workload protection) は、Defenderエージェントを通じたエージェント型フレームワークによる、コンテナやVMなどのクラウドワークロードに対するフルスタック防御を提供します。

図4 Prisma Cloud CWPの仕組み (コンテナの例)
図4 Prisma Cloud CWPの仕組み (コンテナの例)

Prisma Cloudのランタイム防御

コンテナやVMのようなワークロードでは、ランタイムにおける不正な振る舞いに対する保護は、特に重要なセキュリティ機能です。

コンテナ上で起動可能なプロセスに対するホワイトリスト、ブラックリストを作成でき、コンテナ上で動作するプロセスの厳密な管理を行い、不正な振る舞いを防止することが可能です。

また機械学習によりコンテナの動作を学習、および高度なAI分析により、クリプトマイナーやその他不審な動きをブロックします。

その他、証明書や重要なファイルへの書き込みや、ポートスキャンやその他不審なトラフィックをブロックするなど、実行時において広範に不正な振る舞いを防止し、コンテナなどのワークロードのランタイム防御を実現します。

これらの多くはAIを用いて自動的に行われるので、管理者は面倒なセキュリティポリシー作成、運用管理の手間から解放され、より少ないコストで、より安全なワークロードのランライム環境を実現できます。

コンテナ環境においては、ホストOS側の改変も必要なく、コンテナへエージェントをインストールする必要もありません。コンテナとして展開するDefenderコンテナがこれらの防御機能を提供します。

図5 ホストOSの改変なしにコンテナのランタイム防御を実現
図5 ホストOSの改変なしにコンテナのランタイム防御を実現

Prisma CloudのWebアプリケーションとAPIセキュリティ

ガバメントクラウドからのサービス提供は、基本的にWebアプリーケーションによる展開になると考えられます。

Prisma Cloud CWPは、WebアプリとAPIに対する高度なネットワークセキュリティ機能を提供します。

これにはOWASP Top 10に対応した危険なリクエストに対する保護を行う機能が含まれます。またボットやDoS攻撃にも対応したネットワーク保護機能を提供します。

これらの機能は従来型のWebアプリケーションファイアウォール (WAF) に似ていますが、単純にインジェクション攻撃などを検出するだけでなく、入力された文字列の妥当性を調べるなど、より高度な検出を行うことにより、従来のWAFでありがちな過検知や検知もれを防ぐことができます。

図6 Web Application & API Security (WAAS)
図6 Web Application & API Security (WAAS)

Prisma Cloudのコンテナイメージスキャン

Prisma Cloudでは、コンテナアプリケーション開発ステップにおける脅威からの防御も提供しています。

各レポジトリに格納されているコンテナイメージには、秘密鍵などのセンシティブな情報や脆弱性を含んだモジュールさらには、ハッカーが仕込んだマルウェアを内包している可能性があります。

Prisma Cloudでは、予め設定したプライベートおよびパブリックのレジストリ内の、特定のイメージをスキャンし、マルウェアの存在、脆弱なOSやライブラリの検査、コンプライアンスチェックを行い、他のワークロードと同様に安全性のスコア化を行います。

これらの検査では、既知のマルウェアだけでなく、コードスキャンを行うことにより、報告されていない未知のマルウェアの検出や、秘密鍵などのセンシティブなファイルの検出も可能ですので、通常のエンドポイントセキュリティよりも、より高度であり、かつ開発環境に適したセキュリティ対策を行うことができます。

これにより、開発者が初期の段階で、安全なコンテナイメージを使用していることが担保され、セキュリティのシフトレフトを実現します。

図7 コンテナイメージスキャン機能
図7 コンテナイメージスキャン機能

Prisma Cloudによるコンテナの可視化

Prisma Cloudは、すべてのデータを可視化してナビゲートできるように設計されています。

たとえば、マイクロサービス間のコネクションを可視化してから、レイヤーごとの脆弱性分析ツールに即座にドリルインし、コンプライアンスを評価し、インシデントを調査することができます。

Prisma Cloudは、コンテナー化されたアプリの分析を容易にするために、キャンバス上にノードを配置します。

各ノードは、ノードに含まれる最も重大な脆弱性またはコンプライアンスの問題に基づいて色分けされ、現在定義されている脆弱性およびコンプライアンスポリシーを反映しています。色分けにより、展開の問題領域をすばやく見つけることができます。

図8 コンテナ環境の全体的な把握
図8 コンテナ環境の全体的な把握

Prisma CloudによるIaCセキュリティ

ガバメントクラウドでは、クラウド最適な構成をテンプレート化するために、Infrastructure as Code (IaC) の利用も考慮されています。

IaCを使うことで、インフラストラクチャのプロビジョニングを自動化し、組織がクラウドアプリケーションをより高速に、より少ないリスクで、より少ないコストで開発、展開、拡張できるようになります。

IaCテンプレートが開発者またはDevOpsエンジニアによって作成されると、何度も繰り返し使用され、1つのテンプレートが数百回または数千回も使用されることも珍しくありません。

1つの間違いが、簡単に数千のアラートに変わる可能性があり、開発者の生産性が何時間も失われる可能性があります。

図9 IaCテンプレートの設定ミスにより、セキュリティチームの負荷が激増
図9 IaCテンプレートの設定ミスにより、セキュリティチームの負荷が激増

Prisma CloudのIaC Securityは、開発プロセスのできるだけ早い段階で問題を特定して修正することを非常に簡単にする、開発者チームとDevOpsチーム向けのクラウドセキュリティ機能です。

IaCテンプレートは、そのソースで問題を修正することにより、数百のワークロードにデプロイされる前に保護され、セキュリティアラートが大幅に削減されます。

IaC Securityは、すべてのコミット、プルリクエスト、ビルドジョブにセキュリティを組み込まれており、開発チームにリアルタイムに警告します。

このことは、開発者の生産性に役立つだけでなく、セキュリティチームはIaCの問題から解放され、重大なランタイムセキュリティの脅威に集中できるようにもなります。

図10 IaC Securityによる安全で効率的なDevSecOpsの実現
図10 IaC Securityによる安全で効率的なDevSecOpsの実現

まとめ

ガバメントクラウドの本格的なサービス開始によって、各府省庁及び地方自治体のあらゆる行政システムがクラウド最適 (クラウドネイティブ) な手法で展開されると考えられます。

そのことで、国民の利便性は格段に向上し、コストも大幅に削減されることが期待されます。

一方で、コンテナ利用によるクラウドネイティブなアプリケーション展開においても、インターネットに面していれば、当然ながら攻撃を受けることになります。

Prisma Cloudは、このブログでご紹介したような、クラウドネイティブなアプリケーションの防御に最適な機能を豊富に持っており、ご利用に際しての展開も非常に容易に行えます。

Prisma CloudのCWPに関するより詳細につきましては、こちらをご参照ください。