Amazon Web Services ブログ

公益企業が Infrastructure as Code によってランサムウェアやその他の災害から復旧する方法

この記事は、「 How energy and utility companies can recover from ransomware and other disasters using infrastructure as code on AWS 」を翻訳したものです。
米国サイバーセキュリティ・インフラセキュリティ庁によると、「設備、システム、ネットワークが、物理的であれ仮想的であれ、米国にとって非常に重要であると考えられ、それらの無能力化または破壊がセキュリティ、国家経済安全保障、国民の公衆衛生、安全、それらの任意の組み合わせを弱体化させる影響を及ぼす可能性がある」とされる重要な 16 のインフラセクターがあります。

公益企業セクターは、米国およびほとんどの国におけるこれら 16 の重要なセクターの1つです。石油やガスのパイプライン、水道や発電、送電、配電環境など、重要なインフラストラクチャの信頼性を維持する上で、制御システム (OT) とサイバーシステムは重要な役割を果たします。これらのシステムには、データセンターの機器の故障、自然災害、悪意のあるソフトウェア、国民国家からの攻撃、 “内部からの” 攻撃など、セキュリティと可用性に特有の課題があります。

過去 1 年間、重要なインフラストラクチャの運用を妨害する気象現象や、同様のことをするマルウェアやランサムウェアの攻撃がいくつか発生しました。 2021 年 10 月、ホワイトハウスのファクトシートには次のように記載されています。「ランサムウェアによる世界的な経済的損失は大きいです。ランサムウェアへの支払い額は、 2020 年に全世界で 4 億ドル以上に達し、2021 年の第一四半期には 8,100 万ドルを突破しました。」 このような攻撃を防ぐことは非常に重要ですが、復旧の準備も同様に重要です。このブログでは、アマゾンウェブサービス (AWS) の Infrastrucre as Code (IaC) を使用して災害から復旧する方法に焦点を当て、耐障害性、可用性、柔軟なネットワークなどの利点について説明し、復旧に備えるための手順を紹介します。

災害復旧のための従来の OT セットアップ

一般的に、公益企業や多くの産業では、オンプレミスで所有、運営されているデータセンターや局所制御施設に OT システムを導入しています。これらの施設の産業用制御システム (ICS) は、ベアメタルまたは仮想サーバーを使用する傾向があります。一般に、火災、洪水、地震などの災害によってプライマリデータセンターが稼働不能になった場合に、運用を継続できるようにするために、セカンダリデータセンターまたはディザスタリカバリデータセンターが存在します。これらのデュアルデータセンターの運用にはさまざまな構成があり、「アクティブーアクティブ」、「アクティブースタンバイ」、「パイロットライト」などの表現でよく呼ばれます。

アクティブーアクティブは、2 つのデータセンターを維持するうえで最も一般的な戦略です。この戦略では、公益企業はマシンとデータをプライマリデータセンターからセカンダリデータセンターに複製します。その結果、両方の場所のサーバーは同一状態になり、プライマリからセカンダリに数秒でフェールオーバーできます。このようなセットアップは、あるデータセンターが損傷したり機能しなくなったりすると、すべてのシステムがもう一方のデータセンターにフェールオーバーする自然災害に適しています。しかし、大規模な気象現象により、企業のプライマリデータセンターとセカンダリデータセンターの両方が機能しなくなったということは珍しくありません。

大規模な気象現象に加えて、サイバー脅威の懸念も高まっています。データセンターがマルウェアやランサムウェアに感染した場合はどうなるでしょうか?このような場合、データセンター間のレプリケーションサービスにより、マルウェアがプライマリデータセンターからセカンダリデータセンターに拡散または複製され、両方が動作不能になる可能性があります。このようなマルウェアに感染してしまった場合、公益企業の対応計画を「防御と検知」から「復旧」に切り替える必要があります。

復旧に AWS を使用するメリット

AWS のグローバルインフラストラクチャが耐障害性への対応を支援します

クラウド技術は、お客様が重要なシステムの要件を満たす耐障害性オプションを選択するのに役立ちます。AWS グローバルインフラストラクチャは、世界に 30 の AWS リージョンと 96 のアベイラビリティーゾーンを提供しています(訳注 : 2022/12/1 時点)。そのうちの 4 つの米国商用リージョンと 2 つの AWS GovCloud (米国) 向けリージョンがあり、政府機関のお客様とそのパートナーは安全なクラウドソリューションを柔軟に設計できます。さらに、米国では AWS Wavelength 用に 17 の AWS Wavelength Zone ロケーションを提供しています。これは、AWS のコンピューティングサービスとストレージサービスを 5G ネットワークに組み込み、超低レイテンシーのアプリケーションを開発、デプロイ、スケーリングするためのマルチアクセスエッジコンピューティング (旧 : モバイルエッジコンピューティング) インフラストラクチャを提供するサービスです。米国では、AWS は 16 の AWS Local Zones も提供しています (訳注 : 2022/12/1 時点) 。これは、コンピューティング、ストレージ、データベース、その他の AWS の一部のサービスを人口や産業の中心地の近くに配置するインフラストラクチャデプロイの一種です。AWS Local Zones では、AWS のインフラストラクチャとサービスを 1 桁ミリ秒単位で提供し、高速コンピューティングを実現します。AWS インフラストラクチャを使用すると、グローバルフットプリントを活用したい公益企業や組織に大きなメリットがあります。

また、AWS は複数の通信プロバイダーと連携して、専用のプライベートネットワーク接続と帯域幅をクラウドリージョンに提供しています。公益企業は AWS を用いることで、AWS の地理的な広がりと、高速で信頼性の高いネットワークサポート、伸縮自在性、自動化、および AWS サービスのオンデマンド性を利用して、耐障害性の高い重要なシステムを構築できます。

AWS の自動化と DevSecOps が復旧を支援します

DevOps は、ソフトウェア開発と IT 運用を組み合わせたカルチャー、プラクティス、ツールを組み合わせたものです。これらの組み合わせにより、企業は新しいアプリケーション機能と改善されたサービスをより迅速に顧客に提供できます。DevSecOps はこれをさらに一歩進め、セキュリティを DevOps に統合しました。DevSecOps を使用すると、自動化によって一貫した運用を行いながら、安全で規制に準拠したアプリケーションの変更を迅速に提供できます。

オペレーティングシステムやその他のソフトウェアの新しいバージョン、更新版、パッチが適用されたバージョンでシステムを確実かつ繰り返しバックアップ、構築、展開できるため、耐障害性が向上し、ランサムウェアなどのマルウェア攻撃からの保護が強化されます。侵害されたシステムを簡単に使用停止して分離し、バックアップから復元されたデータで別のシステムに置き換えることができます。

復旧方法の選択肢は多数あります。最も一般的な方法の 1 つは、マシンの以前のイメージ (バックアップ) を使用して新しいイメージを構築しますが、イメージ自体がすでに侵害されている可能性があるため、信頼性は低くなります。自動化を使用してシステムをゼロから再構築することが、最も信頼性の高い復旧方法です。

クラウドとオンプレミスのセットアップの主な違いの 1 つは、AWS 上のクラウドでは、自動化 (スクリプト、テンプレート、コードによる) を使用してインフラストラクチャ全体を構築できることです。自動化がテストされたら、それを使用して複数の地理的地域や異なる AWS アカウントにまたがって確実に構築プロセスを繰り返すことができるため、ビジネスの復旧に高い柔軟性がもたらされます。コードを使用してインフラストラクチャを構築および保守するこの機能のことを、「 Infrastructure as Code (IaC) 」と呼びます。AWS は、クラウド内のインフラストラクチャとシステムのデプロイと設定を自動化することを目的とした次のようなサービスを提供しています。

  • AWS CloudFormation: AWS とサードパーティのリソースをモデル化、プロビジョニング、管理できるサービス
  • AWS Cloud Development Kit (AWS CDK): オープンソースのソフトウェア開発フレームワーク
  • AWS Software Development Kit (AWS SDK): 任意の開発言語またはプラットフォームで AWS サービスにアクセスして管理するためのツール
  • さまざまな DevSecOps サービス

AWS ネットワークが復旧を支援します

電力業界では、OT は 1 つのデータセンターに集約されていません。実際には、発電所、変電所、その他の場所に高度に分散されます。公益企業は多くの場合、遠隔地とデータセンターを接続する自社所有のネットワークケーブルに依存しています。このアプローチにより、ネットワークをより細かく制御できます。ただし、このアプローチでは、サイバー攻撃が発生した場合の公益企業の俊敏性と変更能力も制限されます。「ネットワークが分離されていれば攻撃できない」という一般的な認識は、分散型サービス妨害 (DDoS) 攻撃には当てはまりますが、内部リソースから意図的または意図せずに導入されたマルウェアや、ソーシャルエンジニアリングを使用して公益企業のネットワークにアクセスする攻撃には当てはまりません。データセンターが危険にさらされ、ネットワークがこれらのデータセンターにのみサービスを提供するように配線されている場合、トラフィックを別の宛先に再ルーティングできないため、運用できなくなります。これが、ネットワークの俊敏性が重要である理由です。

AWS は、安全で柔軟なネットワークオプションを提供するさまざまなサービスを提供しています。

  • AWS Direct Connect は、AWS への専用ネットワーク接続を作成可能にします。公益企業はこれを使用して、施設から AWS への高帯域幅のファイバー接続を確立できます。
  • Amazon Route 53 は、可用性が高くスケーラブルなクラウドドメインネームシステム (DNS) ウェブサービスです。公益企業はこれを使用して DNS を管理し、トラフィックを数秒で再ルーティングできます。
  • AWS Global Accelerator は、ユーザーのトラフィックのパフォーマンスを最大 60% 向上させるネットワーキングサービスです。公益企業はこれを使用して、ある AWS ロケーションから別の AWS ロケーションにトラフィックを再ルーティングできます。

これらのオプションを使用すると、公益企業は 1 つまたは 2 つなどのインターネットプロトコル (IP) の宛先に制限される必要がなくなり、データセンターが侵害された際でも完全停止することを避けられます。

AWS インフラストラクチャでの復旧

AWS の復旧方法を理解するために、公益企業には複数のタイプの発電所 (石炭、石油、天然ガス、原子力、風力、太陽光発電所など) があり、それらの電力は送電線を介して長距離にわたって送られることを考えてみましょう。これらは数百の変電所で制御され、数百から数千の変電所を持つ配電ネットワークを介してエンドユーザーに供給されます。通信とネットワークは、公益企業の OT または ICS の重要な側面です。

1990 年代に定義された Purdue Enterprise Reference Architecture (PERA) モデルは、システムの全体概要を理解する 1 つの方法であり、これを使用して AWS インフラストラクチャがどのように役立つかを説明します。PERA アーキテクチャは OT または ICS を 5 つのレベルに分けます。

図 1: Dragos 社による PERA モデル図

レベル 0

これは、マシンまたはデバイスが固定された場所で実行する物理的なプロセスまたはアクションです。PERA の他の 4 つのレベルは、このレベルを制御して保護します。

レベル 1

レベル 1 は、レベル 0 のデバイスを制御するインテリジェント電子装置 (IED) で構成されています。IED は、レベル 0 から情報を読み取り、レベル 0 の動作を迅速に決定するセンサーです。レベル 1 には、レベル 2 のシステムから受け取ったコマンドに基づいてレベル 0 を動作させるアプリケーションも含まれます。レベル 1 システムは、多くの場合、デバイスハードウェアに組み込まれています。これらのシステムは、コマンドの呼び出しやイベントへの反応の待ち時間をほぼゼロにするため、レベル 0 のデバイスの近くに配置されます。

レベル 1 システムは、通常、レベル 0 デバイスを製造する OEM (相手先ブランド名製造) によって製造されます。まれに、公益企業自身がレベル 1 のシステムを構築することがあります。OEM は、複数の AWS テクノロジーを使用して、オンプレミスに設置されるレベル 1 のシステムを構築および支援し、状態を監視し、不正に変更が加えられるのを防ぐことができます。以下のすべての AWS サービスでは、暗号化されたチャネル経由での通信のみを許可し、X.509 証明書を使用して認証することで、デバイスの状態に関する情報を収集し、変更を防ぐことができます。

  • FreeRTOS: マイクロコントローラ用のオープンソースのリアルタイムオペレーティングシステム
  • AWS IoT Greengrass: デバイスソフトウェアを構築、デプロイ、管理するためのオープンソースのエッジランタイムおよびクラウドサービス
  • AWS IoT サービス (AWS IoT Device Defender など): IoT デバイス群のセキュリティを確保するのに役立つ完全マネージド型サービス

公益企業では、センサーを設置してレベル 1 と 0 の間、およびレベル 2 と 1 の間のトラフィックを監視し異常を検出することもできます。Amazon SageMaker を使用すると、あらゆるユースケースに対応する機械学習モデルの構築、トレーニング、デプロイが可能になり、異常検知モデルを簡単に作成できます。

レベル 2

レベル 2 では、ヒューマンマシンインターフェース (HMI) や監視制御およびデータ収集 (SCADA) システムなどの制御システムが存在します。これらのシステムは、アルゴリズムを使用して、または人間の指示に基づいてリアルタイムで制御決定を下します。これらのシステムは通常、Windows や Linux などの一般的なオペレーティングシステムで動作し、制御するマシンと同じ施設または近くのデータセンターに常駐する傾向があります。しかし、より高速なネットワーク技術 (ファイバー、LTE 、5G 技術など) の出現により、データセンターやクラウドへの移行が進んでいます。

レベル 2 のシステムでは、公益企業が SCADA および HMI サーバーを保護し、すべてのシステムまたはデータセンターが危険にさらされた場合にシステムを保護および復旧するためにトラフィックをリダイレクトするための耐障害性、信頼性、柔軟性に優れたネットワーク機能が必要です。次の AWS のテクノロジーとアプローチを使用して、危険にさらされたレベル 2 のシステムやネットワークから復旧できます。

  • オンサイトシステムでは、AWS CloudFormation と自動化を使用するユーティリティによって、AWS Outposts ファミリー (ほぼすべてのオンプレミスまたはエッジロケーションに AWS インフラストラクチャとサービスを提供するフルマネージドソリューションファミリー) または AWS Snowball (エッジコンピューティング、データ移行、およびエッジストレージデバイス) を使用してデプロイできます。これにより、サーバーとその関連アカウントが侵害された場合でも、新しいデバイスを数分から数時間で構築できます。
  • クラウド内のシステムでは、AWS CloudFormation または AWS Auto Scaling (可能な限り低コストで安定した予測可能なパフォーマンスを維持するように容量を自動調整する仕組み) による自動化を使用して、侵害されたサーバーをすぐに再構築して復旧できるため、復旧がさらに迅速になります。クラウドまたはオンプレミスのデータセンター全体が危険にさらされた場合、新しいアカウントやリージョンで復旧を行うことも可能です。
  • ネットワークを復旧するには、公益企業が発電施設または変電所からのトラフィックを別の場所にルーティングできなければなりません。LTE または 5G プロバイダーによって、AWS Direct Connect を使用してトラフィックをクラウドにルーティングし、Amazon Route 53 (DNS を使用している場合) または AWS Global Accelerator を使用して AWS 内のさまざまなエンドポイントにトラフィックをルーティングできます。

レベル 3 と 4

これらのレベルは、オペレーション (レベル 3) と企業計画 (レベル 4) をホストします。これらのシステムを保護することは、他のレベルのシステムを保護することと同じくらい重要です。なぜなら、これらのシステムは、すべての運用の意思決定と計画を行うからです。これらのシステムが失われると、公益企業は現在の業務を把握したり、意思決定を行ったりできなくなります。

もしレベル 4 のシステムが危険にさらされた場合、クラウドの自動化は迅速な復旧に役立ちます。AWS CloudFormation やその他の IaC 手法を使用することで、ユーティリティはレベル 3 と 4 のすべてのシステムをゼロから再構築でき、脆弱性による再構築のリスクが排除されます。自動化によるシステムの再構築は、システムの複雑さにもよりますが、数分から数時間かかる場合があります。これは、オンプレミス環境の再構築にかかる数週間から数か月よりもはるかに短いです。

回復力のあるアーキテクチャ : 復旧に備える方法

さまざまなレベルと運用要件 (PERA モデルで定義されているとおり) を理解し、AWS のサービスがこれらのレベルにおけるシステムの復旧にどのように役立つかを理解していれば、自然災害やサイバー災害の影響から身を守るための回復力のあるアーキテクチャを構築できます。その方法は次のとおりです。

  • ベンダーのライセンスの把握 : ベンダーに相談して、ライセンス契約に災害発生時のモビリティライセンスに関する規定が含まれていることを確認してください。多くのライセンス戦略は、メディアアクセス制御 (MAC) アドレス、その他のハードウェア機能、またはドングルに基づいています。このような制限のあるライセンス方式では、システムの俊敏性が低下し、災害発生時の復旧が妨げられます。ライセンスはクラウドに移行可能で、ディザスタリカバリをテストして新しい場所で復旧できるように柔軟でなければなりません。
  • ネットワーキングの俊敏性の向上 : データセンターをクラウドまたは別のクラウドリージョンに移転または再構築する必要がある場合は、すべての遠隔地(変電所など) がトラフィックを新しい場所にリダイレクトできることを確認する必要があります。AWS Private 5G を使用して、プライベートセルラーネットワークや AWS Wavelength、Amazon Route 53、AWS Global Accelerator などの他のサービスを作成して、ネットワークの俊敏性を向上させることができます。
  • 以下を含む AWS のセキュリティとガバナンスのベストプラクティスへの準拠 :
  • 自動化による実装 : システムの古いイメージを使用せずに、すべての環境のシステムを自動化を使用して再構築できることを確認してください。リビルドには最新バージョンのホストオペレーティングシステムを使用し、スクリプトを使用してソフトウェアを設定、強化、インストールする必要があります。AWS CloudFormation を使用して AWS インフラストラクチャ全体を構築してください。障害発生時には、OEM やソフトウェアベンダーと連携して、運用ソフトウェアの最新のパッチバージョンにアクセスできるようにしてください。
  • 人のアクセスを介さずに自動バックアップをホストする AWS アカウントの設置 :
    • すべてのレベルのすべてのシステムの再構築と再導入に必要なすべての情報を定期的に ( 目標復旧時間と目標復旧時点に基づいて、1 分ごとまたは 1 時間おきなど ) バックアップします。これには、各デバイスの構成設定とすべての運用データが含まれます。パスワードと証明書のバックアップには特に注意してください。次の AWS サービスを使用してください。
      • Amazon Simple Storage Service (Amazon S3) は、業界トップのスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。バックアップの保存に使用してください。
      • AWS Secrets Manager は、アプリケーション、サービス、IT リソースへのアクセスに必要なシークレットを保護するのに役立ちます。
      • AWS Systems Manager Parameter Store は、設定データ管理とシークレット管理のための安全で階層的なストレージを提供します。パスワード、設定、接続文字列などを複数のリージョンに保存するために使用してください。
      • AWS Key Management Service (AWS KMS) を使用すると、暗号化キーを簡単に作成および管理し、さまざまな AWS サービスやアプリケーションでの使用を制御できます。これを使用してバックアップを暗号化してください。
    • バックアップが本番システムとは別のリージョンに行われていることを確認してください。データの保存場所は自分で選択して管理することを忘れないでください。
    • S3 オブジェクトロックを使用して、Write Once Read Many (WORM) モデルを使用してオブジェクトを保存してください。WORM モデルを使用すると、バックアップを読み取ることはできますが、編集することはできません。S3 オブジェクトロックはガバナンスモード / コンプライアンスモードの 2 つのリテンションモードを提供します。どのような権限を持っていても、オブジェクトロックのあるファイルは削除できません。つまり、バックアップは不変になります。
    • AWS Lambda (サーバーレスのイベント駆動型コンピューティングサービス) を使用して、数分ごとにバックアップを検証するスクリプトを実行してください。
    • 完全マネージド型のメッセージングサービスである Amazon Simple Notification Service (Amazon SNS) を使用して、データを検証できない瞬間を SMS または E メールで主要担当者に通知してください。
  • 定期的な災害復旧テストの実施 : AWS では、これは費用対効果の高いプロセスです。AWS CloudFormation を使用すると、完成後に構築したものをすべて削除できるため、災害対策環境は数時間、場合によっては数分しか存在しません。これにより、コストを最小限に抑えながら、実務経験が容易になります。テストを行うことで、災害から確実に復旧できることがわかり、復旧にかかる時間を知ることができます。
  • IaC コードベースの保護 : ソースコントロール (AWS CodeCommit 、安全でスケーラビリティの高いマネージド型ソースコントロールサービス)を用いてコードのデプロイとサーバの設定に使用した AWS CloudFormation テンプレートとスクリプトを取得するようにし、それらを IaC コードベース専用の別のアカウント (別のリージョン) に配置します。
    • コードに変更があった場合は、要件トレーサビリティマトリックスで説明、承認、追跡する必要があります。
    • Amazon S3 では、すべてのスクリプトとコードのリリースバージョン (最新のコピー) にオブジェクトロックをつけることで復旧スクリプトを不変にし、攻撃者から安全に保護します。
  • IaC リカバリアカウントとリージョンのエンドポイントの設定 : SCADA データを受信し、他の必要なシステムと通信するようにエンドポイントを設定します。または、IP アドレスをこのアカウントとリージョンに移動できることを確認してください。
  • 柔軟なネットワークルーティングの実装 : Amazon Route 53 を使用して DNS を変更してトラフィックを再ルーティングするか、AWS グローバルアクセラレータを使用して IP アドレスを移動します。
IaC recovery overview

図 2: IaC リカバリの概要

まとめ

自然災害やランサムウェア攻撃からの迅速な復旧は、どのようなビジネスにとっても不可欠です。エネルギー・公益企業業界にとって、それは国の重要なインフラを保護する問題です。AWS には、安全で耐障害性の高いシステムの構築と運用に役立つ多くのオプションが用意されています。お客様は、業務にレジリエンスを構築し、自然災害やサイバー災害が発生した場合の迅速な復旧を支援するための重要な方法として、IaC を検討する必要があります。

AWS が公益企業の信頼性を高め、重要なインフラストラクチャを保護するためにどのように役立っているかについての詳細は、電力とユーティリティのコンプライアンスとセキュリティをご覧ください。

本ブログは、ソリューションアーキテクトの橋井が翻訳しました。原文はこちらです

Ranjan Banerji

Ranjan Banerji

Ranjan Banerji は、AWS のプリンシパルパートナーソリューションアーキテクトであり、電力と公益事業の分野を担当しています。Ranjan は AWS に 5 年間在籍しており、最初は国防総省 (DoD) チームの一員として、DoD の支社がコンプライアンスの要件を確保しながら AWS で新しいシステムを移行や構築を行うのを支援し、現在は電力および公益事業チームを支援しています。Ranjan の専門知識は、サーバーレスアーキテクチャから、規制対象の業界向けのセキュリティとコンプライアンスにまで及びます。Ranjan は、国防総省、連邦政府機関、エネルギー、および金融業界向けのシステムの構築と設計に 25 年以上の経験があります。