【ACADEMY】ランサムウェアやハッカーを防ぐ:ゲームのセキュリティについて知っておくべきこと
Sumo LogicのIain Chidgey氏がゲームセキュリティの基本を解説する。
コンピュータが存在する限り,セキュリティの問題はつきものだ。
ゲーム業界の場合,攻撃者は,EAで起きたように(関連英文記事),ゲームの発売前に資産を盗んで利益を得ようとするプロフェエッショナルかもしれない。
また,CD Projekt Redが2021年初頭に経験したように(関連英文記事),ハッカーがランサムウェアを使って資産をロックし,支払いを要求してくることもある。
同様に,ファンが単に好奇心を満たすためにファイルにアクセスしようとすることもある。Valveは,Half-Life 2のソースコードを,ゲームの発売日を知りたがっていたファンに盗まれてしまった(関連英文記事)。
初期の開発から商業的なリリースまで,そしてその後も,物事の安全性を維持するには,さまざまなスキルと優先順位が必要だ。ここではセキュリティ対策を始めるにあたり,知っておくべきことをまとめてみた。
ソフトウェア開発の管理は,通常,コードが開発され,テスト,QAを経て,自動的に製品化されるというパイプラインプロセスに沿って行われる。UnityやUnrealなどのゲームエンジンには,このパイプラインプロセスをサポートする機能が組み込まれており,これを継続的インテグレーションと継続的デプロイメント(CI/CD)と呼んでいる。
CI/CDパイプラインを見ることで,いくつかのことが分かる。まず,チームがどれだけうまく連携できているか,コミットの量に基づいてスケジュールどおりに進んでいるかなどだ。
攻撃の指標として利用できるメトリクスがいくつかある。これは,ユーザー名やパスワードなどの標準的なアカウント情報だけでなく,ファイルストアやデータベースなど,デベロッパが使用する可能性のあるAPIやその他のリソースも対象となる。たとえば,あるアカウントで何度もアクセスに失敗した場合は,攻撃が行われている可能性がある。とくにリクエストが急激に来ている場合は要注意だ。リクエストを制限することで,ハッカーがクレデンシャルを悪用したり,自動パスワードクラッキングシステムをアカウントに投入したりするのを防ぐことができる。この問題を解決するには,多要素認証を利用するのが理想的だ。
ネットワークトラフィックにも注目してほしい。デベロッパやアーティストは,ワークロードに応じて多くのデータを移動させているが,いくつかの標準的なアプローチに従い,合理的に予測可能なパターンを残しておく必要がある。トラフィック量の急激な増加や行動の変化は,プロジェクトの開発プロセスがシフトアップしたことを意味する場合もあるが,悪意のある活動の可能性を警告する場合もある。
また,トラフィックの始点と終点を見ることで,潜在的な問題を指摘することもできる。全員がリモートで仕事をしている場合,誰もが自分の仕事にアクセスするために仮想プライベートネットワークを使用するべきだが,あるデベロッパのアカウントがアクセスしてはいけないコードやアセットを見始めた場合,それを調査する必要がある。また,セッションの長さを追跡することも,セキュリティ侵害の指標となる。勤務時間外に長時間開いたままのネットワークセッションでは,データ転送のために未承認のVPNトンネルが設定されている可能性がある。
また,22番ポート(SSH),23番ポート(Telnet),3389番ポート(RDP)など,リモートアクセスに使用されるポートで確立された接続にもとくに注意を払う必要がある。これらのポートは通常,正規のトラフィックに使用されるが,データの流出にも使用される可能性がある。これらが不要な場合は,デフォルトで閉じるようにしてほしい。
ゲーム開発には,ゲームエンジンやソフトウェアコンポーネントなどの基本的なコードから,アートアセットやテクスチャまで,さまざまなファイル,フォーマット,タイプが存在する。これらのアセットは長期的にどこかに保存しなければならず,クラウドサービスを利用するケースが増えている。これらの環境を安全に保つためには,アクセス,データセキュリティ,バックアップに関するいくつかのベストプラクティスに従う必要がある。
最初に考慮すべき点はアクセスだ。簡単に言えば,誰がどのアセットにアクセスできるのか,そしてさらに重要なのはその理由だ。開発チームは作業量に応じて増減するため,コードにアクセスする必要のあるすべての人を把握するのは困難だが,ロールベースのアクセスコントロールと強力な認証を使用することで,不正なアクセスを未然に防ぐことができる。
アクセスコントロールと同時に,ネットワークトラフィックとその長期的な挙動を評価する必要がある。従来型の企業であれば,すべてが1つのデータセンターに集約されているため,単純な作業で済むかもしれないが,ゲーム企業の場合は,さまざまな環境,クラウドサービス,企業が混在している可能性がある。これだけ多くの可動部分があると,セキュリティの管理方法をより慎重に考えなければならない。
また,すべての資産を最新の状態に保ち,保護するために,データの完全なバックアップ計画を立てておく必要がある。これは,時間をかけて修正しなければならないバグや問題があるときのバージョン管理ではとくに重要だが,ランサムウェアの攻撃に対しても最善の防御策となる。現在の本番環境とは別に,完全かつ最新のバックアップを取っておくことは,復旧が必要になったときに,常にファイルのコピーが利用できるようにしておくという意味で,非常に重要だ。万が一,ランサムウェアの攻撃が成功した場合,これらのバックアップバージョンを使用して,早急にオペレーションを正常に戻すことができる。
ゲーム会社は,開発中の社内セキュリティに加えて,ゲームの発売後のサポートに必要なインフラについても考えなければならない。このインフラを守るのも,セキュリティオペレーションセンター(SOC)の仕事だ。
SOCのアナリストは,組織内のITで何が起こっているかをリアルタイムで調べ,潜在的な異常をフォローすることに日々を費やしている。プレイヤーをサポートするシステムからデータフィードを得ることで,SOCチームは,どこがうまく運用されていて,どこで攻撃が進行している可能性があるかを知ることができる。
SOCのアプローチは,大企業が長年にわたって実施してきた伝統的なものであり,大手ゲーム会社も同じモデルを採用してセキュリティ業務を行っている。しかし,ゲーム会社には考慮しなければならないいくつかの特殊な要件があ存在する。
同時に,トラフィックのレベルは,プレイヤーの行動や視聴者の属性に応じて,時間とともに大きく変化する。一般的な例として,若い年齢層を対象としたゲームは放課後の時間帯にピークを迎え,大人を対象としたゲームは日中のかなり遅い時間帯から夕方にかけてピークを迎える。
たとえば,クラウドの多くのサービスでは,容量に対して料金を支払うのだが,もし,平均的な容量ではなく,最高レベルの容量に対して支払いを続けなければならないのであれば,たとえ成功してもペナルティを受けることになる。むしろ,データの保存や分析のために,ピーク時の消費が自動的に膨大な支出につながらないように,セキュリティに関するコストをどのように管理するかを検討することが重要だ。
2つめの大きな違いは,チームが調査する行動の種類についてだ。アナリストは,通常とは異なるインフラやAPIアセットへのアクセス要求など,追跡調査が可能なデータの異常を探す。
しかし,ゲームの遠隔測定は,プレイヤーがゲーム内でどのように行動し,何が期待されているかを確認するのにも役立つ。プレイヤーは,フィードバックループを壊して早く進めることができるような無害なものから,ゲームを中断したりセーブファイルを破損したりするような障害まで,問題につながるゲームロジックの欠陥を見つけることがある。これらの問題はセキュリティリスクではないが,ゲームとその背後にあるビジネスにとってはリスクとなる。
デベロッパは,プレイヤーコミュニティで何が起こっているか,全体的な体験はどうかを知るためにゲームのデータを使用することが多く,セキュリティチームはその同じデータをセキュリティリスク管理に使用する。ここでアプローチを調整し,統合することで,両チームが別々のツールやデータセットを使用することなく,同じデータを長期的に活用できる。
セキュリティのもう1つの側面は,プレイヤーのデータそのものだ。多くのゲームでは,プレイヤーは実名でアカウントを作成する必要がある。これは個人を特定できる情報(PII)であり,とくに18歳未満のプレイヤーに対しては保護する必要がある情報だ。
欧州連合(EU)および英国(参考URL)では,子どものPIIは,プライバシーとセキュリティのために強化された保護を受けなければならず,また,同意を得るためには,より具体的な平易な表現が必要だ。
セキュリティの正式なコンプライアンスとは別に,プレイヤーアカウントに関わるセキュリティについても検討すべき点がある。ゲームが定額制であったり,ユーザーアカウントに有料アイテムが関連付けられていたりする場合,アカウントの乗っ取りが発生するリスクがある。
ここでは,脆弱なパスワードの推測,ブルートフォース攻撃,ソーシャルエンジニアリングなどにより,プレイヤーのアカウントが盗まれる可能性について説明する。いずれにしても,ハッカーの目的は,アカウントにアクセスして,そのアカウントにあるアイテムを盗んだり売ったりすることだ。この問題は何年も前から存在している。有名な事例としては,2005年に中国で高額アイテムの窃盗・販売に関連して殺人罪で有罪判決が下されたことや,世界各国で仮想アイテムの窃盗・転売に関連して逮捕者が出たことなどが挙げられる。
ありがたいことに,ほとんどのデベロッパはこの問題に真剣に取り組んでいる。ベストプラクティスの良い例はFortniteで,あらゆる種類のギフトや譲渡に2要素認証を義務付けている。他のゲームパブリッシャも,アカウントに認証を導入することを強く検討すべきだ。
これは,プレイヤーの安心感を高めるだけでなく,プレイヤーのプレイ状況を分析することにも役立つ。これにより,劣悪なAIの悪用やゲームロジックの破綻など,ゲーム内の行動がプレイヤーに影響を与える可能性がある事象を示すことができる。これは従来のセキュリティ問題ではないが,適切に管理されていない場合,プレイヤーのゲーム体験に影響を与え,キャンセルや返金要求につながる可能性がある。
ゲーム業界は成長と収益を上げているが,このような状況にある他の業界と同様,セキュリティを維持する必要がある。GlobalDataは,ゲーム市場は今後10年間で2倍以上に拡大し,2021年には約2000億ドル,2030年には4500億ドル以上になると予測しており(参考URL),これらすべてのインフラを安全に保護することが不可欠だ。
ゲームの安全性を確保するためには,コードやIP資産から実際のゲームやそれを支えるインフラに至るまで,ゲームの提供に関わるすべての企業のデータをより有効に活用する必要がある。適切なデータを収集する能力がなければ,ゲーム会社は,盗難,ランサムウェア,プレイヤーの体験低下などの問題に直面することになる。そのためには,継続的なインテリジェンスのアプローチが必要だ。
Iain Chidgey氏は,Sumo LogicのEMEA(欧州・中東・アフリカ)担当副社長だ。セキュリティとクラウドコンピューティングを中心に,20年以上の情報技術の経験がある。Chidgeyは,2019年に企業買収によってSumo Logicに入社した。Sumo Logicは,セキュリティ,オブザーバビリティ,モダンアプリケーションをカバーする継続的なインテリジェンス企業だ。
コンピュータが存在する限り,セキュリティの問題はつきものだ。
ゲーム業界の場合,攻撃者は,EAで起きたように(関連英文記事),ゲームの発売前に資産を盗んで利益を得ようとするプロフェエッショナルかもしれない。
また,CD Projekt Redが2021年初頭に経験したように(関連英文記事),ハッカーがランサムウェアを使って資産をロックし,支払いを要求してくることもある。
同様に,ファンが単に好奇心を満たすためにファイルにアクセスしようとすることもある。Valveは,Half-Life 2のソースコードを,ゲームの発売日を知りたがっていたファンに盗まれてしまった(関連英文記事)。
初期の開発から商業的なリリースまで,そしてその後も,物事の安全性を維持するには,さまざまなスキルと優先順位が必要だ。ここではセキュリティ対策を始めるにあたり,知っておくべきことをまとめてみた。
ソフトウェアのサプライチェーンとセキュリティ
ソフトウェア開発の管理は,通常,コードが開発され,テスト,QAを経て,自動的に製品化されるというパイプラインプロセスに沿って行われる。UnityやUnrealなどのゲームエンジンには,このパイプラインプロセスをサポートする機能が組み込まれており,これを継続的インテグレーションと継続的デプロイメント(CI/CD)と呼んでいる。
CI/CDパイプラインを見ることで,いくつかのことが分かる。まず,チームがどれだけうまく連携できているか,コミットの量に基づいてスケジュールどおりに進んでいるかなどだ。
想定される動作を把握することで,通常とは異なる動作に目を光らせることができる
このデータはセキュリティにも使用できる。たとえば,デベロッパのアカウントが時間外に資産にアクセスしているなど,通常とは異なる行動に目を光らせることができる。これはクランチの初期の兆候かもしれないが,攻撃の警告兆候である可能性もある。攻撃の指標として利用できるメトリクスがいくつかある。これは,ユーザー名やパスワードなどの標準的なアカウント情報だけでなく,ファイルストアやデータベースなど,デベロッパが使用する可能性のあるAPIやその他のリソースも対象となる。たとえば,あるアカウントで何度もアクセスに失敗した場合は,攻撃が行われている可能性がある。とくにリクエストが急激に来ている場合は要注意だ。リクエストを制限することで,ハッカーがクレデンシャルを悪用したり,自動パスワードクラッキングシステムをアカウントに投入したりするのを防ぐことができる。この問題を解決するには,多要素認証を利用するのが理想的だ。
また,トラフィックの始点と終点を見ることで,潜在的な問題を指摘することもできる。全員がリモートで仕事をしている場合,誰もが自分の仕事にアクセスするために仮想プライベートネットワークを使用するべきだが,あるデベロッパのアカウントがアクセスしてはいけないコードやアセットを見始めた場合,それを調査する必要がある。また,セッションの長さを追跡することも,セキュリティ侵害の指標となる。勤務時間外に長時間開いたままのネットワークセッションでは,データ転送のために未承認のVPNトンネルが設定されている可能性がある。
また,22番ポート(SSH),23番ポート(Telnet),3389番ポート(RDP)など,リモートアクセスに使用されるポートで確立された接続にもとくに注意を払う必要がある。これらのポートは通常,正規のトラフィックに使用されるが,データの流出にも使用される可能性がある。これらが不要な場合は,デフォルトで閉じるようにしてほしい。
データ管理のベストプラクティス
ゲーム開発には,ゲームエンジンやソフトウェアコンポーネントなどの基本的なコードから,アートアセットやテクスチャまで,さまざまなファイル,フォーマット,タイプが存在する。これらのアセットは長期的にどこかに保存しなければならず,クラウドサービスを利用するケースが増えている。これらの環境を安全に保つためには,アクセス,データセキュリティ,バックアップに関するいくつかのベストプラクティスに従う必要がある。
最初に考慮すべき点はアクセスだ。簡単に言えば,誰がどのアセットにアクセスできるのか,そしてさらに重要なのはその理由だ。開発チームは作業量に応じて増減するため,コードにアクセスする必要のあるすべての人を把握するのは困難だが,ロールベースのアクセスコントロールと強力な認証を使用することで,不正なアクセスを未然に防ぐことができる。
ロールベースのアクセスコントロールと強力な認証を使用することで,不正なアクセスを未然に防ぐことができる
コードアセットへのアクセスを,ユーザーアカウントと,デベロッパの携帯電話に送信されるワンタイムパスワードのような他の認証要素の両方に結びつけることで,アクセスを受ける人が本人であることをより確実にできる。アクセスコントロールと同時に,ネットワークトラフィックとその長期的な挙動を評価する必要がある。従来型の企業であれば,すべてが1つのデータセンターに集約されているため,単純な作業で済むかもしれないが,ゲーム企業の場合は,さまざまな環境,クラウドサービス,企業が混在している可能性がある。これだけ多くの可動部分があると,セキュリティの管理方法をより慎重に考えなければならない。
また,すべての資産を最新の状態に保ち,保護するために,データの完全なバックアップ計画を立てておく必要がある。これは,時間をかけて修正しなければならないバグや問題があるときのバージョン管理ではとくに重要だが,ランサムウェアの攻撃に対しても最善の防御策となる。現在の本番環境とは別に,完全かつ最新のバックアップを取っておくことは,復旧が必要になったときに,常にファイルのコピーが利用できるようにしておくという意味で,非常に重要だ。万が一,ランサムウェアの攻撃が成功した場合,これらのバックアップバージョンを使用して,早急にオペレーションを正常に戻すことができる。
全体像を把握する
ゲーム会社は,開発中の社内セキュリティに加えて,ゲームの発売後のサポートに必要なインフラについても考えなければならない。このインフラを守るのも,セキュリティオペレーションセンター(SOC)の仕事だ。
SOCのアナリストは,組織内のITで何が起こっているかをリアルタイムで調べ,潜在的な異常をフォローすることに日々を費やしている。プレイヤーをサポートするシステムからデータフィードを得ることで,SOCチームは,どこがうまく運用されていて,どこで攻撃が進行している可能性があるかを知ることができる。
SOCのアプローチは,大企業が長年にわたって実施してきた伝統的なものであり,大手ゲーム会社も同じモデルを採用してセキュリティ業務を行っている。しかし,ゲーム会社には考慮しなければならないいくつかの特殊な要件があ存在する。
ピーク時に自動的に支出が大幅に増加しないように,セキュリティに関するコストをどのように管理するかを検討する価値がある
1つめは,スケーラビリティだ。大作ゲームが発売されると,プレイヤーの数はほとんどいない状態から数百万人にまで急激に増加する。その際に発生する膨大なデータ量に対応することは,それだけで大変なことだ。同時に,トラフィックのレベルは,プレイヤーの行動や視聴者の属性に応じて,時間とともに大きく変化する。一般的な例として,若い年齢層を対象としたゲームは放課後の時間帯にピークを迎え,大人を対象としたゲームは日中のかなり遅い時間帯から夕方にかけてピークを迎える。
たとえば,クラウドの多くのサービスでは,容量に対して料金を支払うのだが,もし,平均的な容量ではなく,最高レベルの容量に対して支払いを続けなければならないのであれば,たとえ成功してもペナルティを受けることになる。むしろ,データの保存や分析のために,ピーク時の消費が自動的に膨大な支出につながらないように,セキュリティに関するコストをどのように管理するかを検討することが重要だ。
2つめの大きな違いは,チームが調査する行動の種類についてだ。アナリストは,通常とは異なるインフラやAPIアセットへのアクセス要求など,追跡調査が可能なデータの異常を探す。
しかし,ゲームの遠隔測定は,プレイヤーがゲーム内でどのように行動し,何が期待されているかを確認するのにも役立つ。プレイヤーは,フィードバックループを壊して早く進めることができるような無害なものから,ゲームを中断したりセーブファイルを破損したりするような障害まで,問題につながるゲームロジックの欠陥を見つけることがある。これらの問題はセキュリティリスクではないが,ゲームとその背後にあるビジネスにとってはリスクとなる。
デベロッパは,プレイヤーコミュニティで何が起こっているか,全体的な体験はどうかを知るためにゲームのデータを使用することが多く,セキュリティチームはその同じデータをセキュリティリスク管理に使用する。ここでアプローチを調整し,統合することで,両チームが別々のツールやデータセットを使用することなく,同じデータを長期的に活用できる。
プレイヤーのことを考える
セキュリティのもう1つの側面は,プレイヤーのデータそのものだ。多くのゲームでは,プレイヤーは実名でアカウントを作成する必要がある。これは個人を特定できる情報(PII)であり,とくに18歳未満のプレイヤーに対しては保護する必要がある情報だ。
欧州連合(EU)および英国(参考URL)では,子どものPIIは,プライバシーとセキュリティのために強化された保護を受けなければならず,また,同意を得るためには,より具体的な平易な表現が必要だ。
プレイヤーアカウントのセキュリティについては,コンプライアンス上の問題以外にも考慮すべき点がある
このデータを保護することは,セキュリティチームにとってフルタイムの要件だ。そのためには,どのようなデータが収集され,その中にPIIが含まれているのか,そのビジネス上の理由は何か,データの収集期間はどれくらいか,などを理解する必要がある。このようなことを最初から理解していれば,コンプライアンスを脅かすような潜在的な状況に気づくことが容易になる。ほとんどの企業では,GDPRを反映したアプローチやポリシーをすでに導入しているので,問題になるのは,変更を加えることによって,それらのプロセスが破壊されたり,時間の経過とともにコンプライアンス違反になったりしないかをどうチェックするかだ。セキュリティの正式なコンプライアンスとは別に,プレイヤーアカウントに関わるセキュリティについても検討すべき点がある。ゲームが定額制であったり,ユーザーアカウントに有料アイテムが関連付けられていたりする場合,アカウントの乗っ取りが発生するリスクがある。
ここでは,脆弱なパスワードの推測,ブルートフォース攻撃,ソーシャルエンジニアリングなどにより,プレイヤーのアカウントが盗まれる可能性について説明する。いずれにしても,ハッカーの目的は,アカウントにアクセスして,そのアカウントにあるアイテムを盗んだり売ったりすることだ。この問題は何年も前から存在している。有名な事例としては,2005年に中国で高額アイテムの窃盗・販売に関連して殺人罪で有罪判決が下されたことや,世界各国で仮想アイテムの窃盗・転売に関連して逮捕者が出たことなどが挙げられる。
ありがたいことに,ほとんどのデベロッパはこの問題に真剣に取り組んでいる。ベストプラクティスの良い例はFortniteで,あらゆる種類のギフトや譲渡に2要素認証を義務付けている。他のゲームパブリッシャも,アカウントに認証を導入することを強く検討すべきだ。
これは,プレイヤーの安心感を高めるだけでなく,プレイヤーのプレイ状況を分析することにも役立つ。これにより,劣悪なAIの悪用やゲームロジックの破綻など,ゲーム内の行動がプレイヤーに影響を与える可能性がある事象を示すことができる。これは従来のセキュリティ問題ではないが,適切に管理されていない場合,プレイヤーのゲーム体験に影響を与え,キャンセルや返金要求につながる可能性がある。
ゲーム業界は成長と収益を上げているが,このような状況にある他の業界と同様,セキュリティを維持する必要がある。GlobalDataは,ゲーム市場は今後10年間で2倍以上に拡大し,2021年には約2000億ドル,2030年には4500億ドル以上になると予測しており(参考URL),これらすべてのインフラを安全に保護することが不可欠だ。
ゲームの安全性を確保するためには,コードやIP資産から実際のゲームやそれを支えるインフラに至るまで,ゲームの提供に関わるすべての企業のデータをより有効に活用する必要がある。適切なデータを収集する能力がなければ,ゲーム会社は,盗難,ランサムウェア,プレイヤーの体験低下などの問題に直面することになる。そのためには,継続的なインテリジェンスのアプローチが必要だ。
Iain Chidgey氏は,Sumo LogicのEMEA(欧州・中東・アフリカ)担当副社長だ。セキュリティとクラウドコンピューティングを中心に,20年以上の情報技術の経験がある。Chidgeyは,2019年に企業買収によってSumo Logicに入社した。Sumo Logicは,セキュリティ,オブザーバビリティ,モダンアプリケーションをカバーする継続的なインテリジェンス企業だ。
GamesIndustry.biz ACADEMY関連翻訳記事一覧
※本記事はGamesIndustry.bizとのライセンス契約のもとで翻訳されています(元記事はこちら)