【CEDEC 2018】Google Playのスマホゲームで不正返金や改変、チート等に対するセキュリティーを高めるための対策とポイント


8月22日~24日の期間、パシフィコ横浜でCEDEC 2018が開催中。その2日目、グーグルによる「Google Playのスマホゲームで不正返金、改変、チート等に対するセキュリティーを高めよう」と題したセッションが実施された。

スマホゲームを提供するとき、不正への対策が重要になってきている近年。人気作品であればあるほど、課金や返金の不正、アプリ改変、チート、海賊版など、さまざまなセキュリティ懸念への対策が重要となっている。

そこでグーグルが返金について、Google PlayのVoided Purchases APIによる最新の不正対策手法を紹介。さらに、多くの課題についての基本的な考え方として、脅威モデリング、誤判定やコストのバランスへの配慮、運用ポリシーのノウハウ、実装に役立つGoogleの各種API(SafetyNet Attestationなど) について触れられた。

登壇したのは、グーグルの松内良介氏(デベロッパーリレーションズ デベロッパーアドボケイト)とロドリゲス オスカル氏(デベロッパーリレーションズ デベロッパーアドボケイト)。


▲グーグルの松内良介氏(左)とロドリゲス オスカル氏(右)。

この日は、(1)返金にかかわる不正の対策について(1.Voided Purchases API、2.getBuyIntentExtraParams+accountld 送信)、(2)SafetyNet Attestationについて(APK 変更検知、端末/OS改変検知、CTS 互換性チェック)、(3)不正、チート対策の基本的な考え方について(WHYの理解と動機低減、複数シグナル、ユーザー体験など)という3つのテーマで構成された。

まず、松内氏から返金に関わる話題が語られた。「人気タイトルを狙った不正返金は残念ながら起こっています」と切り出し松内氏。不正のパターンは大きく分けて、業者によるものと、個人によるものがあるという。



業者についてはお金目的で、割安アイテム販売サイトなどを例に挙げ、裏側で多くの端末、アカウントを使った不正な返金申請を繰り返していると説明。業者による不正がたくさん起こると、ゲーム会社が本来得られるべき収益が不正返金によって得られなくなり、同社としてもそれを危惧し、何とかしたいと考えているようだ。

また、個人の場合、業者と比べて規模は小さく、いたずら心やネット掲示板の情報交換から不正なテクニックを使ったり、不正業者と知らずにそのようなサイトを利用するパターンもあるとした。

Google Playでの返金対応はどのようなものになっているのだろうか? 松内氏によれば、返金ポリシーを随時調整したり、過去の履歴を含め不正シグナルを随時検討するなど、Googleサポート窓口で対応。そして一定のポリシーの上で認められる場合は返金作業をするとのこと。

また、現状の課題として、アプリ事業者ごとのサポート品質に高低においてのサポート品質が低い場面の消費者保護や、Googleサポート対応をアプリ事業者ごとに変化させる運用の難しさ、そしてGoogle側はGoogleアカウントは把握できるが、ゲーム内ユーザーIDまでは把握できないことによる紐付けの難しさなどを挙げた。



そこでアプリ事業者側での対策の支援として"Voided Purchases API"、Google側でのリスク判断の強化として"getBuyIntentExtraParams+accountld 送信"を活用しているとのこと。

アプリ事業者側での対策支援に用いられているVoided Purchases APIは、返金などの理由により無効になった決済のリストを取得できるAPIとのこと。検知処理の構築⇒評価ポリシーの検討と運用(デベロッパー側で取得したデータを観察・分析、返金の回数・頻度について悪質度の評価ポリシーを検討、段階的な対応)という導入ステップを松内氏は説明。段階的な対応の関して、「悪質業者はほとんどゲームを遊ばないためプレイ時間が短いので、そういうところを観察し、すぐにアカウント停止にせず、段階的な対応を勧めています」(松内)と語った。




また、他の取り組みとして、getBuyIntentExtraParamsを用いたaccountld 送信についても紹介。こちらはGoogle側でのリスク判断の強化の取り組みで、不正の可能性が高い決済を事前ブロック(購入時にエラーにする)という目標がある。そして、getBuyIntentExtraParamsのaccountldパラメータでゲーム内ユーザーIDのハッシュ値をGoogleに送信。Googleがゲーム内ユーザーIDとGoogleアカウントの関係を把握し、より正確なリスク評価を行うという、"開発者に検討をお願いしたい手順"についても触れた。



続いてマイクを手にしたロドリゲス氏は、役立つセキュリティーツールとして"SafetyNet Attestation"を紹介。ゲーム開発者として、「互換性の心配をするかもしれませんが」というロドリゲス氏だが、本ツールは端末のセキュリティー・互換性という面で、APKの変更検知、端末・OSの正常動作ができるそうだ。



グーグルは常時不正に攻撃され、その攻撃に備えるチームがある。そこでロドリゲス氏はそこで学んできたことを各ゲームで適用するために役立つ情報についても話をした。

自身が考えるチート・不正を、「ユーザーが意識的に、自分の利益を得るために、ゲームシステムを意図しない方法で利用すること」とロドリゲス氏。その不正もゲーム内外、規模の大小などさまざま。




その不正に対するポイントとして、ロドリゲス氏は「相手も人間である」とし、人間は何かのルールがあれば、攻撃のパターンを変えてくるので、過去のデータには注意したほうがいいという。機械学習は過去のデータで未来を予測するが、悪いユーザーが行動を変えると過去データは役に立たない。機械学習を否定するわけではないが、機械学習を使う場合はプラスとして人間の経験も必要になってくるという考えを示し、「攻撃者は進化するので、ツールも進化しなければならない」(ロドリゲス)と、1つのツールですべての問題は消えないと述べた。

また、理想は全ての不正を止めたいが、「完全に、完璧完に取り締まるのは不可能」。本当の目的は、完全に止めることではなく、悪いユーザーが攻撃したくなくなるサービスにするのが良いのではないかとロドリゲス氏。攻撃することに対して面倒臭くする、スケールしにくくする、不満を感じさせる、成功していないと思わせることが、抑止につながるのではないか、ということのようだ。

そのほかのポイントとして、どうやって不正をしているのか(how)と目的は何なのか(why)と考えたとき、「両方とも大事ですが、重要なのはwhyを突き詰めること」(ロドリゲス)ともコメントした。




最後にチート・不正のまとめとして、いくつかの要素を挙げたロドリゲス氏。"お金だけではない"という要素について、「不正返金は、お金だけではなく、不正され続けることで会社、作品のブランド、評価も奪われてしまいます」と注意を呼び掛けた。
 
Google(グーグル)

会社情報

会社名
Google(グーグル)
企業データを見る