PLAYERUNKNOWN'S BATTLEGROUNDS NEWS

DEV.BLOG

【開発】不正プログラム対応の関するアンチチートチームからのお知らせ

2018.12.21

プレイヤーの皆さん、こんにちは。

前回のFIX PUBGキャンペーンの開発ノートにてお約束しました、アンチチートチームの努力の成果に関する詳細をご共有いたします。
今回の記事では、アンチチートの進展についていくつか共有したいと思います。

より分かりやすくこの開発ノートを読んでいただくため、FIX PUBGキャンペーンのFIX LOGとは異なりますが、下記の目次をご確認ください。

 

・技術的対策の強化

・アンチチート対策機能の改善

・ハッキングプログラムユーザーへの対応の処置の改善

・Steamシステムの脆弱性への取り組み

・法的手段の強化

 

技術的対策の強化

今までPUBGのゲームに対し、チートプログラムによる様々な種類の攻撃が行われてきました。
そして、それらの異なる種類の攻撃に、複数のセキュリティ対策を活用し対応してきました。
まず初めに、一般的にどのようにしてこのチートプログラムは機能し、その機能を基にどのような機能改善を行ったのかについてご説明いたします。

 


 

①    チートプログラム(exe)とゲーム(exe)を起動した際に、RAM上で同時に関連データを読み込みます。

 

②    ゲームプロセス、または第三者団体が提供するゲームのアンチチート対策から、デフォルトの保護を有効にします。

   これは、このプロセスにアクセスし他のプロセスをブロックするための事前保護機能です。

 

③    チートプログラムプロセスは、②からの保護機能を無効にし、ゲームプロセスのメモリにアクセス*することを可能にします。

   *アクセスができるということは、ゲームに関する情報を自由に変更できるということです。

   これに使われる代表的なチートは、DKOM、プロセスハロウイング、SSDDフッキングなどです。

 

④    ゲームメモリプロセスへアクセスできるチートプログラムは、様々なデータを収集、修正、またはコピーし、本来ゲーム内では提供していない不正機能を提供します。代表的に使われている機能はDLLインジェクションとコードインジェクションです。

   DLLインジェクション: DLLファイルを特定のプロセスにインジェクトします。WindowsのLoadLibrary() APIを使用します。

   コードインジェクション: 対象のプロセスにインジェクトを実行します。WindowsのCreateRemoteThread()を使用します。

 

⑤    確保されたメモリスペースは、本来ゲーム内にない機能を提供するために、自由に読み込み、または、改ざん/修正されます。

 

 

DLLインジェクションは最も古く、また最も広く使用されたハッキング方法です。
DLLインジェクションは特定のDLLファイルを強制的にゲームプロセスにインジェクトします。
この攻撃が成功すると、このDLLコードは、あたかもそれがオリジナルコードであるかのように信頼されます。
そのため、このゲームプロセスは、フックされたデータやハイジャックされたデータのDLLを使用し、
ハッカーの望むままに改造することができるのです。

アンチチートチームはDLLインジェクション攻撃をブロックすることに取り組んできました。開発の初期段階においては、
SteamやDiscordなどのプログラムをPUBGプロセス上でDLLインジェクションを試行したり、
悪質なコードと認識されたりするなどの、互換性の問題もありました。

しかし、継続的な改善を通して、ほとんどの互換性の問題を修正し、多くのDLLインジェクション攻撃を防ぐことができました。
現在は、PUBGのプロセス上にDLLインジェクション攻撃を利用し、何らかの有効な影響を及ぼすことはほぼ不可能でしょう。

 

カーネルドライバ攻撃も最近頻繁に検出されます。
カーネルドライバは、ハードウェア間の接続や、特定の権限下で実行するプロセスを見出すために必要なファイルです。
カーネルドライバは大部分のアンチチート対策を回避することができ、一般的なユーザーの権限よりも高い権限で実行することができます。
そのため、この検出は非常に難しくなっています。

更に、Windows OS が権限のないカーネルドライバを内部でブロックしているにも関わらず、セキュリティ違反を悪用したり、
不正な証明書を取引し、権限のないカーネルドライバがあたかも合法であるかのように利用されている事例も多くあります。

DLLインジェクションをブロックするのと同じ方法を使用してこの種類の攻撃を防ぐこともできましたが、
Windows OSにて新しい脆弱性が継続的に発見されたため、この方法は非常に効果的ではなくなりました。
さらに、多くのアンチチート対策は、悪質なコードによって使用されたものと非常に似た方法を用いていたため、
見分けることが難しくなったのです。

そのため、アンチチートチームは、カーネルドライバを使用する攻撃に効果的に対処するため、
最優先で暗号化を行い、ハッカーに悪用される可能性があるメモリ領域を保護しています。
また、より広い領域の範囲に対してこの方法を適用させるために、最善を尽くしています。

私たちは、クライアントとサーバー間の通信プロトコルを暗号化したり、クライアントの結果値を再検証することで、様々な技術的な対応を強化しています。
そのため、ハッキングプログラムに対する戦いで先頭を切るために努力しております。

 

アンチチート対策機能の改善

上記で説明した技術的対策に加え、ゲームプロセス領域を保護するためにPUBGは外部のアンチチート対策を活用しています。
私たちは「BattlEye」と「Uncheater」という、2つのアンチチート対策機能を現在使用しています。
この対策を通じてゲームプロセス領域を保護し、アンチチート対策を回避するための様々な試行を検知します。

このようなアンチチート対策に加え、ユーザーの皆さまの行動パターンを分析する学習技術を適用し、ハッキングユーザーが使用している、
ゲームの通常の操作を妨害するための異常なゲームパターンやアクションを検知できるシステムを構築しました。
このようなシステムを構築している過程で、ゲームのセキュリティ強化を支援してくれる、
多数の経験豊富なアンチチート対策会社やトップランクのエンジニアとの共同取り組みを行いました。

今後も新しい攻撃手段を研究し、このような攻撃に対して防御できる技術を開発するため、
私たちは引き続き、より多くのアンチチート対策会社と協力していきます。

 

ハッキングプログラムユーザーへの対応の処置の改善

上記でも述べた、技術的な対策を設けておりますが、すべての不正プログラムを完璧にブロックすることは現実的に難しい点があります。
私たちの解決策の先を行こうとするハッキングプログラムに対し、こ
のようなプログラムがゲーム内で使用されているかどうかを検知し、すぐにブロックするよう努めています。

アンチチートチームは、約3TBのゲームログ、60以上ものチートログの種類、1日平均約1,000万の報告を分析しています。
このデータの海の中から、異常なパターンを示しているユーザーを選定し、アカウントが停止しております。
また、不正プログラムのパターンを定期的に更新し、PCワクチンのような解決策となるようなデータベースを作成しています。
このコンパイルされたデータを基に、既知の不正プログラムを使用するユーザーのアカウントを、引き続きアカウント停止処分しております。

不正プログラムを検知し、このようなユーザーを迅速にアカウント停止するための私たちの戦いは続きます。
それと同時に、プレイヤーの皆さんに、関連したニュースのアップデートを共有するシステムの改善にも取り組んでいます。

FIX PUBGキャンペーンの一環として挙げられている例の1つは、8月23日のアップデート以降ゲーム内で使用されているフィードバック報告システムです。
このシステムが実装されてから11月30日まで、プレイヤーの皆さんから約1億以上の報告が寄せられました。
1回のマッチで複数の報告を受けたユーザーの83%は、永久的にアカウント停止処分となりました。
皆さんの報告が、公平なPUBGを作るための大きな手助けとなっています。

下記は、8月23日から11月30日の、週間フィードバック報告のデータです。

 

FIX PUBGキャンペーンの一環である、ハードウェアでのアクセス禁止についてもご説明いたします。
11月19日より、ハードウェアでのアクセス禁止が開始されました。
アクセスを禁止する方法は非常に慎重を期すため、インターネットカフェや公共のコンピューターが不公平となるような影響を受けないよう、確実に行っています。
無害なPCに損害を及ぼさないように、どのハードウェアのアクセスを禁止するかをより慎重に選択しております。
特定のハードウェアのアクセスが禁止されたら、下記のスクリーンショットにあるメッセージが表示され、
そのハードウェアでは今後一切PUBGをプレイすることができなくなります。
ハードウェアのアクセス禁止に加え、マクロマウスの禁止も開始しました。
マクロ機能を使用する方法を通して不公平な利益を提供するすべてのデバイスに対して、この取り組みを拡大していく計画です。

 



<ハードウェアのアクセス禁止メッセージ(上段) / マクロマウスのアクセス禁止メッセージ(下段)>

現在、24時間年中無休で、100名以上のモニタリング担当メンバーが世界中のハッキングプログラムの販売者(ウェブサイト、メッセンジャー、Discordなど)を監視しています。
ハッキングプログラムの情報を交換している様々なコミュニティも注意深く監視されているため、PUBGのセキュリティを脅かすいかなる要素も、すぐに検知され対処するために努めております。

改善された過程を通じて、ハッキングプログラムに対して迅速に対応することができるようにしており、
目標はハッカーがゲーム内で活動することができないよう、早く先手を打てるようにすることです。

同じマッチにいる他のプレイヤーがアカウント停止処分された場合、
ゲームプレイ中にプレイヤーに表示されるリアルタイム警告のシステムが、ライブサーバーにも適用されました。
リアルタイムで、異常なゲームプレイのパターンを検知、またはゲームプレイ中にユーザーがハッカーであることが確認された場合、アカウントは停止処分となります。
その際、ゲームは引き続き行われ、キルログが表示される場所に、すべての他のプレイヤーに対して通知が送られます。
このシステムにより、私たちが行っているアンチチート対策に対するユーザーの疑問を一部解消できるのではないかと信じております。

 

Steamシステムの脆弱性への取り組み

ゲーム内に適用されている方法とは別に、私たちは外部プラットフォームにおける脆弱性の改善も行っております。
ご存知の通り、PUBGユーザーはSteamプラットフォームを使用しているユーザーが多いです。
このプラットフォームにあるいくつかの欠点が、不正利益のために悪用されたこともあります。
通常の処置でハッキングプログラム使用ユーザーを罰せられるよう、私たちはSteamとこの点を改善し、脆弱性に対処しました。
実際起こったいくつかの例をご紹介します:

 Steamファミリーシェアリングシステムにある欠点を利用し、SteamとPUBGのブロックを回避
・PUBGを購入したアカウントがPUBGを購入していないアカウントとゲームを共有するために、
 Steamファミリーシェアリングシステムを使用した場合、ファミリーシェアリングしてもらったアカウントがゲームをプレイできなくなるようブロックしました。

 Steamの最低返金要件を満たすためにSteam上のゲームプレイ時間を改ざんし、
 長期間ゲームをプレイしているにも関わらず返金をしてもらい、実質無料でゲームをプレイ

・PUBGのプレイ時間を計算する方法やSteamユーザーのソフトウェア返金要件を強化するために、
 Valve Corporation(Steamの運営会社)と協力し、上記の出来事が二度と起こらないようにしました。

 Steamプラットフォームが構成されている方法に起因し、ベータテストサーバーとテストサーバーが異なる環境であるとみなす事実を悪用し、
 ライブサーバー上でアカウント停止されたアカウントがテストサーバーにアクセスして不正プログラムを使用
・システムを変更したため、アカウント停止記録が全サーバー間でチェックできるようになりました。
 アカウント停止記録は、ライブサーバー、テストサーバー、及びその他のサーバーで共有されるため、
 1つのサーバー上でアカウント停止されたユーザーは、他のサーバーも使用できなくなりました。

 

システムの脆弱性の悪用に対抗するため、Steamとの密接な協力関係を強化しながら、システムを引き続き改善していきます。

 

法的手段の強化

公平なゲーム環境を妨げるハッキングプログラムはブロックされる必要があり、ハッキングプログラムを開発、助長、及び売却した誰もがゲーム界から追放されるべきだと考えております。
ハッキングプログラムの拡散を防ぐために、私たちは法執行機関や海外の行政機関と協力し、自国や海外を問わない法的手段を強化しています。
下記は2018年に執行された法的手段の結果であり、CNリージョンでは、テンセントとの提携を通じて以下の成果を出すことができました。

・2018年1月に中国の連雲港市で41名を逮捕
・2018年2月に中国の淮安市で3名を逮捕
・2018年2月に中国の襄陽市で11名を逮捕
・2018年4月に中国の南京市で141名を逮捕
・2018年4月に中国の淮安市で1名を逮捕
・2018年8月に韓国の大田地方警察庁が6名を逮捕
・2018年9月に中国の温州市で1名を逮捕
・2018年10月に中国の唐山市で3名を逮捕
・2018年10月に中国の温州市で34名を逮捕
・2018年10月に韓国の陽川警察署が11名を逮捕


上記にある結果に加え、私たちは現在、大韓民国警察庁、法律事務所、著作権保護機関と共にハッキングプログラムを販売している会社の調査を行っており、
この調査を通してハッキングプログラムの開発者を追跡しています。調査の結果が出次第、すぐに皆さんにもお知らせいたします。 

 

終わりに

『PLAYERUNKNOWN'S BATTLEGROUNDS』は、一度に100名のユーザーがプレイするバトルロイヤルゲームであるため、
ハッキングプログラムユーザーがたった1名いるだけで、他の99名のプレイヤーに影響を及ぼし、ゲームプレイにも致命的な影響をもたらすこととなります。
私たち全員は、その他のゲームより、PUBGにはより高いレベルのセキュリティを保つ必要があることを認識しています。

開発ノートでご説明したように、アンチチートチームは様々な観点から「公平なゲームができる環境の設立」に一生懸命取り組んでおり、この取り組みに引き続き専念していきます。
今回ご紹介した内容は、私たちの取り組みにおける第一歩であり、ハッキングプログラムとの戦いのために、新たなアンチチート技術の研究や開発が終わることはありません。

私たちを信頼してくださっている全ユーザーの皆さんに感謝いたします。皆さんの信頼にお応えできるよう、最善を尽くします。

ありがとうございます。

 

『PUBG』アンチチートチーム