今回はChris Hymes(データ保護責任者兼情報セキュリティ最高責任者)、Mark Hillick(セキュリティ部門責任者)、Clint Sereday(アンチチート部門プロダクトリード)、Daniel Hu(データプライバシー担当プロダクトリード)、Warren Kenny(アプリケーションセキュリティ担当プロダクトリード)の5名で、「Riot Vanguard」についてお話します。
Vanguardについては以前にもご説明しましたが、ここ数週間はVanguardのカーネルモードドライバに関するご意見を数多く伺っています。その中で特に懸念されているのがドライバの安全性と利用者のプライバシーです。そういったご質問については現在、私たちの同僚であるPaul “Riot Arkem” Chamberlainが可能な限り対応しています。私たちはライアターの中でも特に面倒でパラノイアックな人間の集まりではありますが、ここでVanguardがセキュリティとプライバシーを尊重して作られていることを説明することで、彼の仕事をバックアップできればと思います。
Riot Securityの背景
数年前、私たちはライアットにおけるセキュリティの進化についての記事を書きました。そこでは自分たちの採用したアプローチをこのように説明していました:
- ライアットの持つプレイヤー中心の文化を保護し、
- フィードバックと利用者の意見を重視し、そして
- 何かを禁止するのではなく、複数の選択肢を提供することを旨とする。
これは2017年当時から2020年現在まで一貫しています。アンチチート担当チームはセキュリティ&データプライバシー担当チームと緊密に連携し、何度も確認を取りながらVanguardを開発しました。カーネルモードでドライバコンポーネントを実行することが議論を呼び、それと同時にVanguardに導入されている技術に興味を抱く方がおられるであろうことも承知しています。Vanguardの機能をリスクにさらす可能性があるため、技術面のあまり深い部分についてはお話しできませんが、問題ない範囲まで可能な限りご説明することと、この記事は社内外のセキュリティ専門家によるレビュー済みであることも併せてお知らせします。
つまり、プレイヤーのプライバシーとセキュリティが極めて慎重に扱われているということが確認されない限り、ライアットがその情報を公開することは決してありません。まずこれを念頭に置いていただき、そこからVanguardの目指すものと基本的なアーキテクチャを見ていきましょう。
Riot Vanguardの目指すもの
- ライアットは自社ゲームのコンペティティブ・インテグリティ(競技の公正さ)を限界まで向上させるよう取り組んでいます。私たちは皆さんに、自分や対戦相手の能力に疑念を抱くことなくゲームをプレイしていただきたいのです。
- チートとの戦いは絶え間なく進化を続けており、私たちも目的達成のためのより良い手段を常に模索しています。チートの手法も、ゲームクライアントのメモリを操作するだけの単純なものから、現在は基礎部分であるOSそのものを改造するような手法にまで至っています。
- アンチチートソフトがユーザーモードでしか実行できない場合、上位の特権レベルでチートが実行されているとアンチチートが機能しなくなってしまいます。例えばある技術力の高いチートコミュニティでは、Direct Memory Access(DMA)を使用してメモリを別のコンピューターに送信し、そこで改めて処理していました。
- Vanguardは私たちのコンペティティブ・インテグリティの理想を実現するための解決策であり、同時にチーターと戦うための新たな武器を戦線に投入し続けるための手段でもあるのです。
- Vanguardが収集・処理する個人情報の範囲については、現在のリーグ・オブ・レジェンドのアンチチート機能を超えるものではありません。ライアットに必要なのはゲームの公正さを高いレベルで維持するための情報だけであり、プレイヤーや使用しているマシンについて詮索したいとは思っていないのです。私たちの収集したゲームデータはゲームの運営と、PackmanやVanguardといったインテグリティ関連サービスに利用されます。
Riot Vanguardのアーキテクチャ
- Vanguardは「クライアント」、「ドライバ」、そして「プラットフォーム」の3つのコンポーネントで構成されています。
- クライアント(ユーザーモード)はゲーム実行中のすべてのアンチチート検出を処理します。
- 検出情報を受け取り、またプレイヤーが正常にゲームをプレイできるようにするため、クライアントはプラットフォームとやりとりする必要があります。
- ドライバを認識するまで、クライアントはそのマシンを信頼できるものと認めません。そして信頼されていないマシンではVALORANTはプレイできません。
- ドライバ(カーネルモード)はメモリとシステムの状態の正当性を評価するため、またクライアントが改ざんされていないことをチェックするために使用されます。
- クライアント初期化前のローディングチートを防ぐため、ドライバはスタートアップ時に実行されます。
- このドライバがないとVALORANTは起動しませんが、アンインストール自体はいつでも可能です。(「プログラムと機能」内の「Riot Vanguard」)。
- ドライバがプレイヤーのコンピュータ-に関する情報を収集し、外部に送信することはありません。
- ドライバにはMicrosoftのコード署名手続きに則った署名だけでなく、ライアットの持つEV証明書による署名もされています。
これからについて
プレイヤーのセキュリティとプライバシーに関する取り組みの一環として、私たちは6年前からHackerOne上で「バグ懸賞金プログラム」を行っています。今まですでに200万ドル近い懸賞金をセキュリティ研究者各位に支払っており、その対象にはプレイヤーが触れるものすべてが含まれています。そして今回この場をお借りして、Vanguardの脆弱性に対する、より高額な懸賞金枠を設定することを発表させていただきます。プレイヤーの皆さんが気分を害することなくゲームをプレイし続けられるよう、言葉だけでなく行動で示すことにしたのです。もしプレイヤーのセキュリティやプライバシーを侵害しかねないVanguardの欠陥を発見された場合には、相当な額の懸賞金をお受け取りいただける可能性がありますので、すぐにレポートをご提出いただけますようお願いいたします。詳しくはHackerOneの当社ページでご確認ください。
もし仮にライアットがプレイヤーの信頼を裏切るようなものをリリースしようとしても、私たちがそうはさせません(そんなことは決して起こらないと考えていますが)。プレイヤーの皆さんは私たちに自由に疑問を投げかけ、異議を唱えることができます。ただひとつだけお伝えしておきたいのは——もし私たち自身がプレイヤーの信頼とプライバシーを軽んじており、またライアットもそういう会社だと考えていたならば、今ここで働いてはいないだろう、ということです。私たちも皆さんと同じゲーマーであり、完全に信用できないプログラムを自分のコンピューターにインストールしたいとは思いません。
ゲームのコンペティティブ・インテグリティと個人のプライバシー、その双方を私たちにお任せいただけるなら幸いです。