Vanguardはライアットゲームズが開発したゲームセキュリティソフトです。
チート対策ですね。
VALORANTはリリース前からチート対策がんばるよ、と言ってる珍しいパターンなわけですが、これは最初から「競技」を見据えている、ということでもあるのかなと。
プロがどうとかに限らずですが、競技の場合「不正」があると、成り立たないわけですね。
対戦ゲームでも同じでして、不正があると公正さがなくなってしまいます。公正さが無くなると、不公平感がつのるんですよね。
ゲームの場合、競技でもありますが娯楽を提供するビジネスでもあるため、この不公平感が増すと、ユーザーが減ってしまいビジネスとして成り立たなくなります。
古今東西のオンライン対戦ゲームはこの不正なデータ改ざんに非常に悩まされてきまして、現在でも尽きることのない戦いが続いているわけです。
不正なデータ改ざん、という行為は、PCだけでなく、他のプラットフォームでも起きます。難易度の差で、PCが一番多いのは変わらないのですが、CS機でも普通にいます。WiiUのスプラトゥーンでは結構出会いましたしね~。
どんなゲームでも、例えCS機だろうとスマホだろうと、対戦ゲームはこの不正改ざんと戦い続けているわけです。
どれだけ対策をしても、この不正はなくなることがないので、できるだけ事前準備をして対策し、そこから漏れたものを事後対策しつつ、対策レベルを上げていく、を繰り返していくしかないわけですね。
まさにいたちごっこ。ですが、やり続けなければならない。なかなかに辛い戦いでもあります。
Vanguardについてはライアットゲームズがかなり細かく説明してくれているので、それをもとに、ゲームのセキュリティについてもちょっと勉強しておきたいと思います。
ライアットゲームズ サポート Vanguardについて
URL:https://support-valorant.riotgames.com/hc/ja/articles/360046160933
ライアットゲームズ サポート Vanguardのアンインストールと無効化
URL:https://support-valorant.riotgames.com/hc/ja/articles/360044648213
ライアットゲームズ /dev: アンチチート カーネルドライバ
URL:https://jp.leagueoflegends.com/ja-jp/news/dev/dev-null-anti-cheat-kernel-driver/
ライアットゲームズ A Message About Vanguard From Our Security & Privacy Teams
URL:https://www.riotgames.com/en/news/a-message-about-vanguard-from-our-security-privacy-teams
Vanguardとは
Vanguardとは、ライアットゲームズが開発したゲームのセキュリティソフトです。
常駐する(常にメモリ上にいる)クライアントと、カーネルドライバで構成されています。
目的としては競技の公正さをできるだけ高く保つためのものです。
Vanguardはカーネルレベルで動作しています。
また、VALORANTをプレイしなくても、PCを起動するだけで実行されます。
システムトレイ上のアイコンにて、その動作を確認でき、そのシステムアイコンから起動を停止することができます。
ただし、起動を停止すると、PCを再起動をしないとVALORANTをプレイできなくなっています。この辺りはゲームのアンチチートシステムとしては珍しいな~という印象です。というか初めて見ました。
PC起動時にVanguardが起動していることが、VALORANTのゲームプレイに必須なんですよね。アンチチートシステムを避けて不正をしようとする場合、アンチチートシステムが開始する前に改ざんしてチートを含める、という形になるので、それを防ごうとしているわけですね~。
また、VALORANTをアンインストールしても、Vanguardは独自にPCに残る仕様のようです。Vanguardをアンインストールするためには個別に対応をする必要があります。
詳細は以下のサポートページにあります。
ライアットゲームズ サポート Vanguardのアンインストールと無効化
URL:https://support-valorant.riotgames.com/hc/ja/articles/360044648213
もし、ライアットゲームズがVanguardをVALORANTにしか使わないのであれば、VALORANTのアンインストール時に一緒にVanguardを削除してくれると楽だよな~とは思います。
以下は、Vanguardの概要です。
- Vanguardはクライアントとカーネルドライバで構成されている
- VanguardはPC起動時に起動する
- VanguardはPCを起動するとメモリに常駐する
- VanguardがPC起動時に起動していないと、VALORANTはプレイできない
- Vanguardを停止した場合、再起動しないとVALORANTはプレイできない
- VanguardはVALORANTをアンインストールしても削除されない
まだ日本ではクローズドも開始されていないため、実際のPCに対してどんな挙動になるのかわからないですけどね~。
ドライバ関連はPCを使っているうえで一番厄介で一番難易度が高い部分なので、ちょっと怖さはあります。
カーネルって何
カーネル、といったらあのチキンのおじさんしか普通は思い浮かばないわけですが、PCのOS(WindowsとかLinuxとか)に関わる用語です。
OS内の中核になる機能、と説明されることが多いですね。
実際に何をやっているのかというと、ソフトウェアとハードウェアをつないでいる機能、と思ってもらえばよいかと思います。
ゲームを動かす際には、CPUやメモリーを使っています。タスクマネージャーとかでCPUの使用率を見たり~、なんてことをしたことがあるかと思いますが、各々のソフトウェアを動かす際にはそういったハードウェアを使っているわけですね。
CPUやメモリーに命令をしなければソフトは動作しないんですけど、各ゲームや各ソフトウェアが直接CPUやメモリに命令を出しているわけではないのです。
それらのPCを動かす時に必要な共通の基本動作をやってくれているのがOSでして、OSの中でも「カーネル」という部分が、ハードウェアとの対応窓口をしてくれている、という形になります。
ゲームがOSに、この処理をしてね~とお願いし、OSの中のカーネルさんがそれを受け取り、カーネルさんがCPUとかに処理を依頼する、って感じです。
チート行為は、以前はメモリーの改ざんや通信データの改ざん、などが基本だったのですが、それらへの対策が取られるにつれて、OSのカーネルレベルで不正なデータを通す形に進化してきたわけです。
なので、ライアットゲームズでは情報公開の段階で、このようにカーネルのところでも見ているよ、という話をしているわけです。
このカーネルレベルでの対応ですが、Battleyeなどの他社のシステムでも行われています。
ただ、大体のゲームがゲーム起動時にアンチチートソフトも起動しているのに対して、VanguardはPC起動時になっています。
そのため、PCに対しての影響(Vanguardが原因でPCのセキュリティ低下の原因にならないか、など)やプライバシー等の懸念が出てくるのは当然ではあるのですが、その辺りもライアットゲームズは説明してくれています。
ただし、この辺りの情報は今後も気をつけていく必要があります。常駐するソフトに脆弱性があった場合、それが原因でPCが危険になるからです。
OSの脆弱性と同じですね。
そのリスクはVanguardだけでなく、webサービスでも他のクライアントソフトでも他のアンチチートシステムでもありうるので、それと同じ、というだけではあるのですが。
常駐しカーネルを使用していることへの懸念
以下は、redditでのユーザーとRIOTの開発者とのやり取りです。
要は常駐ソフトにしてカーネルドライバが起動していてPCのセキュリティは大丈夫なの?という懸念に対して、最善を尽くしてできるだけのことをしている、という回答になっています。
reddit Anticheat starts upon computer boot
要約してしまうと以下です。
- ゲームを実行しなければ
- ドライバーは何もスキャンしない
- サーバーと通信しない
- システムリソースをできるだけ使わない
- いつでもアンインストール可能
- ドライバーのセキュリティには最善を尽くしている
- 複数の外部セキュリティリサーチチームに欠陥を確認してもらった
- 最小権限の原則に従っている
- PCの情報を収集または送信することはない
- ゲームが実行されている場合にのみ、チート検出スキャンが非ドライバーコンポーネントによって実行される
この常駐しているVanguardは何をしているの、というのは誰しもが疑問に思うわけでして、PCの情報を収集していたり、それをサーバーに送信したりしてるんじゃないの、的なことは思うわけですが、それはしてないよと。
さらに、Vanguard自体は大丈夫なのセキュリティ的に、という心配もでるわけです。Vanguardが原因で、PCの脆弱性をつかれる、なんてことにならないの、と。そのあたりも最大限対策しているよ、と。
すっごく簡素化していってしまうと、カーネルドライバは「アンチチートシステム起動前にOSレベルでチートを起動させるのを防ぐ」ためだけに使ってます、ってことですかね~。そう明言されているわけではなさそうですが。
カーネルレベルでの不正を防ぐには、PC起動時からVALORANTに対して行われうる不正な処理を監視する、というのは良い案ですよね。PC側にリスクはありますが。
後は起動後のVanguardの脆弱性を埋めていくだけで良いので、問題の切り分けがしやすくて、対策がしやすい、ということにもなります。
ゲームの設計をサーバーで全部の処理をして、PC側では一切処理をしないって形にすれば本当はいいんでしょうけど、そんな高性能サーバーを大量に準備するのは今は難しいでしょうし、通信インフラの限界もありますし…となった時の一番妥当な策なんだろうと思います。
リスクに関しては、ライオットゲームズ側も最大限対策をしている、ということですし、そこは信じてプレイするしかないわけで。
とはいえ、この世に100%のものはありません。
なので、他の常駐するソフトウェアと同じですが、どんなソフトを使うにしても、最終的には自衛しないといけないわけで、情報収集はちゃんとやっとかないとな~というのはあります。
まだプレイ前なのでわかりませんが、他のゲームや他のソフトウェアとの兼ね合いも気になります。NVIDIAのfree styleとか、あのあたりがゲームで使えない、などは全然気にならないですし、あの系統がハッキングに使われることもあるようなので、そういうのはいいのですが、他のソフトウェアとか、他のゲームをつけた時に変な挙動をする、とかがあると厄介だな~と思います。
ドライバ関係は本当に何がどう影響するのかわからないんですよね。
海外の人のツイートを見る限りでは、やはり環境によってはVanguardがインストールできなかったり、何がしかの影響を及ぼしているものもあるみたいでして、自分の環境でどうなるのかはやってみないとわからんですね。
最小権限の原則って何
最小権限の原則っていうのは、情報セキュリティ設計などの基本原則でしで、そのモジュールだったりユーザーだったりが必要になるものだけにアクセスが可能な形にする、という設計原則のことです。
誰かにメールを送りたいとして、送り先の人のクレジットカード番号って必要ないですよね。なのにメール送り人がメアドを確認するデータの中にクレジットカードの番号があったら…、なんて感じです。(実は結構普通の会社の普通の従業員さんの場合、そういう業務設計を作れる人ってあんまりいないんですけどね…やばいエクセルファイルが添付され…)
そういうのはやめようね、という原則です。
Vanguardはアンチチートに必要なことにしかアクセスできないようにしている、という意味で回答内で使われているようですね。
それでもチーターはいる
これだけ頑張ってるのに、クローズドベータではすでにチーターがいるみたいで、配信とかでもちょっと上がってましたね。
実際に、チートに利用されうる脆弱性がVanguardにあり、それを修正したアナウンスがされています。
02:VANGUARDのエラーと解決策、ガンスキン、エージェントのプログレッション
URL:https://beta.playvalorant.com/ja-jp/news/game-updates/02-on-vanguard-errors-solutions-gun-skins-and-agent-progression/
人が作るものは完ぺきではないんですよね。
というわけで、このイタチごっちが続いていくのが、オンライン対戦ゲームの宿命でもあります。
チートをゼロにすることはできないでしょう。人には欲望があるからです。オリンピックですら、ドーピングの問題があるわけでして、そのために非常に厳格な検査を行っているにも関わらず、やる人はいなくならないわけですね。
ゲームの不正もそれと同じです。需要が無くなることはないですし、需要がある限り、作る人も出るわけですね。
ある程度プレイ時間のある対戦FPSで、チーターに出会わなかったことはない、のですよね。これはCS機でも同じです。
だからある意味仕方のないことでもあります。技術的な部分を考えていくと、百パーセントの確率でゼロにするのは今のところ無理です。
そのうえで対策を続けてくれているわけです。(営利企業なので当然、ともいえますが)
1ユーザーとしては、こういった対処をしてくれていて、さらにこんなに情報を出してくれている、ということが単純にありがたいです。
ゼロにすることは難しくても、毎日出会うとか、毎回出会うとかでなければ、ゲームとしては普通にプレイできるので、そういった環境になっているといいな~と思います。
チーターに出会ったときに、瞬間的に頭に血が上って怒り心頭になる気持ちは良くわかります。
BFとか、CODとか、PUBGとか、APEXとか、数は少なくてもフォートナイトとか、どんなゲームでも、あからさまなチーターにやられてきました。
そんな中で、これからもエンジニアの皆さんは戦い続けるわけですね。なかなか対策が上手くいってないゲームももちろんありますが、それでも戦ってるわけですね。
その戦いに敬意を表しつつ、ゲームを楽しめたらな~と思います。
まとめ
VALORANTは今のところPC版のみでして、CS機は今のところ開発の予定はない、的な話をライアットの人のインタビュー記事で見ましたが、そうなると今後もPCユーザーのみが対象になります。
ゲームができるぐらいのPCを買おうとすると、ある程度PCについて詳しくなるというか、ならざるをえない部分があって、OSの話とかセキュリティの話などに詳しい人の率も、高くなっていく傾向にあります。
もともとゲームを作っているよ~とかシステム関係だよ~とかいう人にもPCゲーマーは結構いると思うので、そういう人からするとこの記事は突込みどころ満載かと思いますが、なんかPC良くわからんし、VALORANTのチート対策がどうとかいうの全然意味がわからん、みたいな人に、とっかかりとして役に立つといいな~と思います。