注)この記事で取り扱うネットワーク周りの知識については完全に門外漢なので、もし間違いなどあればコメント等で教えて下さい。






普段あまり明かされる事のないVACのシステムについて、なぜValveのトップであるGabe Newell氏(画像の人物)から直接コミュニティに語りかける事になったのでしょうか。

どうやらVACがユーザーのDNSキャッシュ(接続したドメインの履歴)をmd5ハッシュ化したものをVACのサーバーに送っているとされた事(Redditスレッド)への対応のようです。(Valveは隠れて個人情報を集めていたのか?という疑惑が持ち上がった)


以下、Gabe Newell氏本人による投稿の訳です

信頼はマルチプレイゲームのコミュニティにおけるクリティカルな部分です。-開発者への信頼、システムへの信頼、そして自分以外のプレイヤーへの信頼。

チートはマイノリティの利益がマジョリティへの害のより少ないネガティブサムゲームです。

この信頼に基づいたシステムへは、コードを書いてハックしたり、ソーシャルエンジニアリングを通じて、などといった様々な攻撃方法が存在します。

Counter-Strikeのようなゲームにおいては、これまで千個ほどのチートが作成され、そのうち数百のチートはいつでもアクティブに利用されています。また、チートを販売する事で利益をあげようとするグループが大体10~20個存在します。

私達がVAC(私達の)について話すことはあまりありません。なぜならそうすることによってチーターが前述の方法によってシステムを攻撃する機会を生み出してしまうからです。

今回は例外です。

このRedditスレッドの内容に関係したカーネルレベルの有料チートが多数存在します。

チート開発者はチート利用者が料金を支払っているかという問題を抱えています。そこで彼らはDRM(デジタル著作権管理)とアンチチートコードを彼らのチートのために作成しました。

それらのチートは利用者が本当にチートの料金を支払っているかをDRMサーバーに送信します。

VACはこれらのチートの存在をチェックします。

もしVACがチーターを発見した場合、そのチーターのチートがどのDRMサーバーに接続しているかをチェックします。

この二回目のチェックはDNSキャッシュ内のチートDRMサーバーが部分一致するかをチェックすることでなされます。

もしこれが発見された場合、マッチしたDNSのエントリーはVACサーバーへ送信されます。

この一致はValveのサーバーでダブルチェックを受け、そこからそのクライアントが将来のBAN対象としてマークされます

このセカンドチェックを受けるクライアントは0.01%に満たない。570人のチーターが結果としてBANされています。

チート対信頼は現在進行形のキャット-マウスゲーム(イタチごっこ)です。新しいチートはいつでも作られており、発見され、BANされ、改良されます。

この特定のチートの繰り返しへのVACのテストは13日に渡り有効という極めて典型的なものでした。

それはもはやチート提供者が利用者のDNSキャッシュを操作する事によって動作するほどにアクティブではありません。

カーネルレベルのチートは作成にとても費用がかかります。そしてその発見もとても費用がかかります。

私達の目標はチート製作者やチーターにとって合理的に獲得することを期待することができる経済的利益以上にそれらを高価にすることです。

また、チートにはプレイヤー達の信頼を攻撃するというソーシャルエンジニアリングの側面もあります。

もし”Valveは悪である-彼らはあなたの訪れたサイトをトラッキングしているではないか”というアイディアが牽引力を持つなら、それはチーターとチート作成者を利するものです。

VACは本質的に恐ろしい見た目のソフトウェアです、なぜならVACは漠然としたものであろうとしますし、攻撃しようとするコードにを追いかけるものですし、コソコソしています。

多くのチート作成者にとって、ソーシャルエンジニアリングはコードのイタチごっこを続けるよりは簡単なシステムへの攻撃方法です。この意味で今後より多くのRedditへの投稿がVACを邪悪なものであるという嫌疑を差し向けようとするでしょう。

それに対する私達のレスポンスは私達が実際に何をしているか、そしてそれはなぜなのか、を人々が私達を信頼に値するかどうかを判断しうる十分な透明性をもって明らかにすることです。


Q&A

Q)私達のブラウジング履歴はValveへ送られているのですか?
A)いいえ。

2) Do we care what porn sites you visit? Oh, dear god, no. My brain just melted.

Q)Valveはマーケットでの成功を邪悪なものへと変貌するために利用したのか?
そうは思いません。ですが、あなたは私達が信頼に値するかどうかを判断しなければなりません。私達は全力であなたの信頼を培い、維持し続けようとします。


Trust is a critical part of a multiplayer game community - trust in the developer, trust in the system, and trust in the other players. Cheats are a negative sum game, where a minority benefits less than the majority is harmed.
There are a bunch of different ways to attack a trust-based system including writing a bunch of code (hacks), or through social engineering (for example convincing people that the system isn’t as trustworthy as they thought it was).
For a game like Counter-Strike, there will be thousands of cheats created, several hundred of which will be actively in use at any given time. There will be around ten to twenty groups trying to make money selling cheats.
We don’t usually talk about VAC (our counter-hacking hacks), because it creates more opportunities for cheaters to attack the system (through writing code or social engineering).
This time is going to be an exception.
There are a number of kernel-level paid cheats that relate to this Reddit thread. Cheat developers have a problem in getting cheaters to actually pay them for all the obvious reasons, so they start creating DRM and anti-cheat code for their cheats. These cheats phone home to a DRM server that confirms that a cheater has actually paid to use the cheat.
VAC checked for the presence of these cheats. If they were detected VAC then checked to see which cheat DRM server was being contacted. This second check was done by looking for a partial match to those (non-web) cheat DRM servers in the DNS cache. If found, then hashes of the matching DNS entries were sent to the VAC servers. The match was double checked on our servers and then that client was marked for a future ban. Less than a tenth of one percent of clients triggered the second check. 570 cheaters are being banned as a result.
Cheat versus trust is an ongoing cat-and-mouse game. New cheats are created all the time, detected, banned, and tweaked. This specific VAC test for this specific round of cheats was effective for 13 days, which is fairly typical. It is now no longer active as the cheat providers have worked around it by manipulating the DNS cache of their customers’ client machines.
Kernel-level cheats are expensive to create, and they are expensive to detect. Our goal is to make them more expensive for cheaters and cheat creators than the economic benefits they can reasonably expect to gain.
There is also a social engineering side to cheating, which is to attack people’s trust in the system. If “Valve is evil - look they are tracking all of the websites you visit” is an idea that gets traction, then that is to the benefit of cheaters and cheat creators. VAC is inherently a scary looking piece of software, because it is trying to be obscure, it is going after code that is trying to attack it, and it is sneaky. For most cheat developers, social engineering might be a cheaper way to attack the system than continuing the code arms race, which means that there will be more Reddit posts trying to cast VAC in a sinister light.
Our response is to make it clear what we were actually doing and why with enough transparency that people can make their own judgements as to whether or not we are trustworthy.
Q&A
1) Do we send your browsing history to Valve? No.
2) Do we care what porn sites you visit? Oh, dear god, no. My brain just melted.
3) Is Valve using its market success to go evil? I don’t think so, but you have to make the call if we are trustworthy. We try really hard to earn and keep your trust.

1 コメント:

 
Top