クラウドセキュリティエンジニアリングについて知る
学習の目的
この単元を完了すると、次のことができるようになります。
- クラウドセキュリティエンジニアリングを定義する。
- クラウドセキュリティエンジニアが他のチームやベンダーと連携する方法を説明する。
- クラウドセキュリティエンジニアリングの重要性を説明する。
クラウドセキュリティエンジニアリングとは?
クラウドコンピューティングには、固有のセキュリティ上の問題や課題が多数あります。クラウドでは、データはサードパーティプロバイダーに保存され、インターネット経由でアクセスされます。つまり、このデータを保持する構造がわかりにくくなっているということです。そのため、顧客は攻撃対象領域を明確に把握できない可能性があり、攻撃者が悪用する攻撃ベクトルを予測することが困難な場合があります。顧客とクラウドサービスプロバイダー (CSP) の双方が、それぞれの役割とクラウドコンピューティングに内在するセキュリティ問題を理解することが不可欠です。
クラウドセキュリティエンジニアとして、組織がクラウドにおける強固なセキュリティ体制を維持できるようにサポートします。そのためには、クラウドシステムの CIA、つまり機密性 (Confidentiality)、整合性 (Integrity)、可用性 (Availability) に加え、クラウドシステムによって保存および処理される情報を保護する必要があります。それぞれの用語の意味を詳しく見てみましょう。
-
機密性とは、データへのアクセスを制御し、不正開示を防ぐことによって、データを非公開または秘密の状態で維持することを意味します。たとえば、従業員の給与データベースへのアクセスは、給与を受けている承認された従業員のみに限定する必要があります。
-
整合性とは、データが改ざんされていないため、信頼できることを保証することを意味します。e コマースシステムにおいて商品と価格情報が正しいことがその一例です。
-
可用性とは、インフラストラクチャ、システム、アプリケーションが確実に稼働し、承認済みユーザーがリソースに必要なときにタイムリーかつ確実にアクセスできることを意味します。たとえば、悪意のある攻撃者が意図的に特定のユーザーをシステムにアクセスできない状態するサービス拒否攻撃を防ぐことなどが挙げられます。
ここで、Andrea を紹介しましょう。大学のクラウドセキュリティエンジニアであり、クラウドテクノロジーの採用、構築、運用をサポートしています。また、大学の従来の履修スケジュールシステムのクラウドへの移行や、管理機能を対象とした新しいクラウドネイティブシステムの計画とエンジニアリングなどのプロジェクトに携わってきました。
現在、Andrea は大学の既存のインフラストラクチャを評価し、履修科目に関連付けられたデータベースストレージなど、さまざまな機能をクラウドベースのシステムに移行するためのソリューションを調査しています。また、大学の既存の IT インフラストラクチャを評価し、アーキテクチャチームとエンジニアリングチームと共に変更を提案します。この 2 つのチームと緊密に連携して、データベースの既存構造をクラウドベースのシステムに統合することも行います。
システムの移行、セキュリティの強化、ポリシーの適用
チームがデータベースストレージのクラウドへの移行を決定すると、Andrea は移行をサポートし、クラウド上のシステムを管理します。また、大学が使用するクラウドサービスプロバイダーとの交渉も行います。プロジェクトを通して、Andrea は大学の上級管理職に進捗状況を伝えます。
Andrea は毎日、大学のクラウドベースのシステムおよび学生と教職員のデータのセキュリティ強化に取り組んでいます。マイクロサービス設計 (単一のアプリケーションを小規模なサービススイートとして開発するアーキテクチャアプローチ) やアプリケーション開発などのトピックに関するセキュリティ推奨事項を提示するなど、大学の IT フットプリント全体におけるセキュリティのベストプラクティスの開発、実装、普及も行っています。また、常に既存のクラウド構造を分析して新規および強化されたセキュリティ手法を構築し、大学のセキュリティアーキテクトと密接に協力しながら、組織向けのクラウドセキュリティフレームワークを開発しています。
さらに、アクセス管理、認証、アプリケーションセキュリティ、データ保護、鍵管理、暗号化、ファイアウォールに関連する制御など、クラウドシステムのセキュリティポリシーの適用とセキュリティ制御の実装をサポートしています。アプリケーションチームとインフラストラクチャチームと協力することで、攻撃者から保護し、セキュアなクラウドを確立して維持するためのインフラストラクチャ (ネットワーク、オペレーティングシステム、データベース) とアプリケーションを設計しています。その上、ファイアウォールや仮想プライベートネットワーク (VPN) トンネルなどの物理的な保護メカニズムの実装でも実務経験を積んでいます。
システムの監視とメトリクスのレポート作成
こうしたセキュリティ保護の実装に加え、Andrea は大学のクラウドシステムとインフラストラクチャのセキュリティ体制を監視し、脅威の検知に努め、インシデント対応をサポートします。ゼロデー脅威から保護し、暗号化されたトラフィックと暗号化されていないトラフィックを検査して、キルチェーン (サイバー攻撃のフェーズを表すモデル) 全体にわたって脅威を検知します。可能性のあるリスクを検知するために脅威のシミュレーションを行い、セキュリティの脆弱性をテストします。また、主要システムの監視を設定して、リソースと重要なプロセスの CIA の検証を行ったり、システムやアプリケーションのログを確認して、バックアップなどの重要なスケジュール済みジョブの完了を確認したりします。
最後に、Andrea は、主要なクラウドセキュリティメトリクスの作成、維持、レポートを行っています。追跡するメトリクスの例としては、クラウド上の機密データにアクセスできる未管理のデバイス数、組織が暗号化鍵を管理していないクラウド上の機密データのインスタンス数、ユーザーの活動とログインを追跡するためのログがない未管理のクラウドアプリケーション数などが挙げられます。テクノロジーチームとビジネスチームと協力して、このようなメトリクスで表されるギャップを埋めます。また、インシデント対応チームとも連携し、インシデントやテクノロジー障害の修復と復旧に取り組み、影響を受けるチームとの調整役となってコミュニケーションを図ります。まさにクラウドセキュリティのスーパーヒーローですね。
クラウドセキュリティチーム
クラウドセキュリティエンジニアは、クラウドベースの管理とセキュリティに特化した大規模なチームの一員として働くことが多く、他のチームに適切なコーディング方法を指導します。また、ソフトウェアチーム、運用チーム、アーキテクチャチームが混在する部門横断的なチームとも連携します。
さらに、クラウドコンピューティングの使用は IT 機能のアウトソーシングの増加を意味する場合もあります。データ暗号化、鍵管理、クラウド認証などの専門スキルを活用するために、企業が請負業者や下請業者と協力することはよくあることです。場合によっては、エンジニアは、遠方の都市でクラウドインフラストラクチャに取り組んでいる技術者と電話やメールでやり取りする必要があるかもしれません。このようなクラウドパートナーは、社内では得られないような専門知識をプロジェクトに提供してくれます。クラウドテクノロジーが進歩し続ける中、これは効果的な戦略です。
クラウドセキュリティエンジニアリングの重要性
世の中全体がコンピューターテクノロジー主導になりつつあり、ほとんどすべての業界が日常業務においてさまざまな形のテクノロジーにますます依存するようになっています。このような変化し続ける状況の一部として、セキュリティは重要な考慮事項となっています。
新しい環境をアップグレードまたは設計する際に、企業がオンプレミスのインフラストラクチャモデルからクラウドファーストのアプローチに移行していくにつれて、クラウドの経験を持つ技術者を雇用する必要性が飛躍的に高まっています。
インターネットに接続された IT システムには、堅牢なセキュリティが必要です。クラウドは脅威の対象領域が非常に広いため、攻撃に対して特に脆弱です。アプリケーションを会社独自のデータセンターでホストしている場合、セキュリティ体制は具体的なセキュリティ懸念に対処するために、適切な場所に適切なセキュリティテクノロジーを実装するという単純なものになります。データセンターのセキュリティは、ファイアウォールや侵入検知システムで外部接続を厳重に保護することで維持できます。
ただし、現代の分散型クラウドコンピューティング環境では、セキュリティの維持ははるかに難しくなっています。クラウド環境では、セキュリティはクラウドプロバイダーとクラウドサービスを利用する顧客の間で共有される責任となります。
ベンダーと顧客の責任
レイヤー状に設計されたセキュリティには、物理コンポーネントと論理コンポーネントの両方が含まれています。サービスとしてのインフラストラクチャ (IaaS) ベンダーが提供するクラウドインフラストラクチャはさまざまな方法で保護されています。可用性の観点から言えば、インフラストラクチャはベンダーによって可用性が高くなるように設計されており、インフラストラクチャのアップタイムはベンダーに責任があります。セキュリティの観点からは、ベンダーはベンダーが提供するインフラストラクチャのセキュリティ確保のみに責任を負います。
顧客としては、ベンダーのクラウドインフラストラクチャに 1 つ以上の仮想アプリケーションをインストールする場合、アクセス、ネットワークトラフィック、データアプリケーションのセキュリティを確保する責任があります。多くのベンダーは、顧客のクラウドアプリケーション環境のさまざまな部分を保護できるように、いくつかのセキュリティツールを提供しています。ただし、このようなツールには多少の問題点があります。
第一に、こういったツールではいくつかの基本的なセキュリティ機能しか提供されない可能性があります。また、このようなツールはベンダーが基盤となるインフラストラクチャを保護するために使用するものと同じツールです。攻撃者がインフラストラクチャレイヤーでこのようなツールをスキップできるとしたら、顧客のアプリケーションレベルでもスキップできる可能性が高いと思われます。
第二に、おそらくより重要なのは、多くの組織がハイブリッド環境で運用を行っているという事実です。ハイブリッド環境では、アプリケーションは組織独自のデータセンターでホストされたままであったり、ベンダーの IaaS クラウドプラットフォームでホストされていたり、別のベンダーのクラウドプラットフォームでホストされていたり、複数のサービスとしてのソフトウェア (SaaS) ベンダーでホストされていたりなどさまざまです。これは「マルチクラウド」環境と呼ばれます。この環境には、複数の独立したまとまりのないセキュリティソリューションが存在するという、「マルチクラウド」問題が伴います。つまり、関与するクラウドベンダーの数が増えるほど、複雑さも増すということです。これは重大なセキュリティ上の課題となる可能性があり、高いスキルを持つクラウドセキュリティエンジニアの重要性と必要性を際立たせる要因となっています。
まとめ
クラウドコンピューティングは、開発者に多くのメリットをもたらし、テクノロジーをより身近なものにするのに役立ちます。ただし、これを成功させるためには、組織はセキュリティをクラウドに統合する必要があります。クラウド環境への移行では、新たな課題が生じるため、セキュリティとコンプライアンスソリューションの再評価が必要です。つまり、組織が使用するクラウドソリューションが安全であることを保証するために、クラウドセキュリティエンジニアとして実行すべき多くの作業があるということです。次の単元で、その責務と対応するスキルセットを詳しく見ていきましょう。
リソース
- 外部サイト: CSA: Welcome to the Cloud Security Alliance (Cloud Security Alliance へようこそ)
- 外部サイト: Fortinet: The Evolution of Cybersecurity (サイバーセキュリティの進化) (ログインが必要)
- 外部サイト: CISA: 外部サイト: McAfee: Cloud Computing Security Issues (クラウドコンピューティングのセキュリティ問題)