Upgrade to Pro — share decks privately, control downloads, hide ads and more …

運営11年目タイトルを守る最強の盾の有効性と活用法

 運営11年目タイトルを守る最強の盾の有効性と活用法

こちらのスライドは、9/26に開催されたTGSフォーラムにおいて発表したモンスターストライクのクライアントエンジニア 森田の資料です。

https://tgs.nikkeibp.co.jp/tgs/2024/jp/business/seminar/
#TGS2024

MIXI ENGINEERS

October 11, 2024
Tweet

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. 2 ©MIXI はじめに 本講演では、 モンスターストライク(以下、モンスト)の11年の歴史で最も猛威を振るった “ワンパンチート”を軸に、現在スマートフォンアプリ最強のプロテクションツー ルであるDigital.ai Application Security(旧 Arxan

    EnsureIT)をなぜモンス トは導入したのか。その効果はどのくらいあったのか?をご紹介します。 また、導入後の状況や長期運用をする中で見えてきた課題に触れながら、チート にどう向き合うか考えていきます。
  2. 3 ©MIXI 自己紹介 森田 修康(もりた のぶやす) 氏 名 株式会社MIXI デジタルエンターテインメントオペレーションズ本部

    モンスト開発部クライアント2グループ 所 属 2019年3月 株式会社ミクシィ(現 株式会社MIXI)入社 以前は登記事務所で働いていたが、iPhone3G発売に衝撃を受け てスマホエンジニアへ転身を決意 数年の独学の後、ソーシャルゲーム開発会社を経て現職 プログラミング歴:26年 略 歴
  3. 6 ©MIXI スマホゲームのチート事情 スマホ向けゲームアプリの市場規模は短期間で急速に拡大している (引用)ゲーム産業は依然高水準! – 経済産業省 オンラインプラットフォームのゲームコンテンツ市場の推移 https://www.meti.go.jp/statistics/toppage/report/minikaisetsu/hitokoto_kako/2023 1006hitokoto.html

    (2024/08/14閲覧) 2008年のiPhone3G発売以降、スマートフォン (以下、スマホ)は爆発的に普及し、ゲーム産 業もスマホゲームの比率が年々高まっています。 モンストは2013年10月にサービスを開始し、現 在運営されているスマホゲームの中ではスマホ 黎明期を経験しているタイトルとなります。 本日はスマホゲームのチートに関するトピック ですので、まずはチートの手口を見ていきます。 ※各社の商品またはサービスなどの名称は、各社の商標または登録商標です。
  4. 7 ©MIXI スマホゲームのチート事情 スマホでチートを行う際、ほぼ必ず最初に行わ れるのがRoot(システム管理者)権限の取得で す。 Root権限の取得はシステムを不安定にするため 通常の方法ではできません。 しかし、Androidの一部メーカーはRoot権限の 取得方法を提供していたり、ハッカーフォーラ

    ムで機種別の議論が盛んであったり、Android は比較的チートをしやすい傾向にあります。 OSによる権限の制約がほぼなくなる 一般的に • 端末内にあるOSシステムを含むほぼすべてのファ イルを書き換えが可能 • 特定のアプリのメモリを外部から書き換えが可能 • OSのファームウェアを差し替えて正規OSではでき ないことを実現可能 • 不正規のアプリケーションのインストールが可能 (iOSの場合) Root権限がある場合 OSによるファイルアクセス権やプログラムの実行 権限に制約がある 一般的に • アプリ内の限られたフォルダ内しかファイルの書 き換えが出来ない • アプリに外部から干渉が出来ない Root権限がない場合
  5. 8 ©MIXI スマホゲームのチート事情 2014年頃になるとiOSでも “脱獄”(Jailbreak) という、Root権限の取得やシステムの不正改造 が流行します。 本来セキュリティの脆弱性を突いたクラッキン グは専門性が高く一般人が出来るものではあり ません。

    ですが、それを容易にするツールや紹介サイト や動画の登場により、誰でも簡単にスマホの Root権限の取得が可能になりました。 数多くの紹介動画がアップされ、専門知識が無くても誰でも容易に行うことが 可能になった (画像元) 2015年に期間設定を行い「iphone 脱獄」で検索 - Google (2024/8/14閲覧・一部プライバシー部分加工)
  6. 9 ©MIXI スマホゲームのチート事情 このように、 • スマホによるゲームユーザーが爆発的に増加 した • Root権限の取得や脱獄を簡単に行うことが出 来るようになった

    といった市場や環境の変化が見られます。 加えて、 • ソーシャルゲーム特有の承認欲求や時短欲求 という需要が重なった結果、安易にチートに手 を出すユーザーも登場しやすいと考えられます。 興味や個人的欲求により容易に手が出せてしまう状況は、逮捕者を出す社会問 題にまでになっている (引用)「脱獄アイフォーン」販売、19歳少年逮捕 ゲーム課金逃れる 「チートアプリ」組み込む 商標法違反容疑 – 京都新聞 https://www.kyoto-np.co.jp/articles/-/175856 (2024/08/22閲覧)
  7. 10 ©MIXI スマホゲームのチート事情 このような流れの中で、ユーザー数が増加して いたモンストでもチート行為が目立ち始めまし た。 特に猛威を振るったのは、 • “ワンパンチート” •

    “ドロ変チート” です。 チートはゲームバランスを壊すだけでなく、 ユーザーの離脱や売り上げの減少等を引き起こ すため、看過することはできません。 ワンパンチートとは ドロ変チートとは クエスト中に、自キャラの攻撃で敵キャラがどん なに強くても必ず倒すチート 不正に敵のHPを0にしたり攻撃力をカンストさせ たりすることで行っていた 倒した敵キャラがドロップするキャラのIDを書 き換えることで、書き換えたIDのキャラクター を入手するチート クエスト中の一部のパラメータはクライアントか らサーバーに自己申告していたため狙われた
  8. 11 ©MIXI スマホゲームのチート事情 当然モンストもチート対策に乗り出します。 ドロ変チートはクライアント内でデータを改ざ んしてサーバーを騙す手法だったため、サー バー側で不正検知ができる仕組みを構築して対 策可能でした。 一方で、ワンパンチートはクライアント内で データを改ざんしてクライアントを騙す手法

    だったため、クライアントに専用の対策が必要 でした。 ・通信を偽装 ・パラメータの改ざん 異常を検知してエラーを返す ドロ変チートの不正検知 サーバー 不正クライアント(アプリ) ここでキャラBが来るのは変だな データ更新はやめよう 本来はキャラAのドロップを送るけど、 書き換えてキャラBを送ろう 不正検知機構が外部にある場合は不正汚染はクライアントのみになる サーバーがハッキングされない限り、サーバーは安全として対策ができる
  9. 12 ©MIXI スマホゲームのチート事情 モンストのワンパンチートは主に ・メモリ改ざん ・バイナリ書き換え と呼ばれる2つの手法が使用されました。 メモリ改ざんは、チートツールを同時起動して ツール側からモンストのメモリを書き換えます。 バイナリ書き換えは、プログラムを書き換えた

    アプリをインストールしてゲーム内を操作しま す。 ※どちらの画像もサンプルです。実際のコードやメモリではありません メモリ改ざん バイナリ書き換え 例)0x00021534の0x0048(72)が攻撃力だから 0xFFFF(65535)に書き換えちゃおう! のようにメモリを書き換えてプログラムを騙す 例)敵の死亡判定式を常に有効にしてしまえば 必ず敵を倒せる! のようにプログラムを書き換えて処理を騙す (実際にはプログラムが変換されたバイナリを 書き換える)
  10. 15 ©MIXI 最強の盾 前述の通り、モンストはメモリ改ざんやバイナ リ書き換えの対策が急務でした。 そこで別アプローチとしてプロテクション系 ツールの導入を検討したときに出会ったのが、 Digital.ai Application Security

    (導入時の名称はArxan EnsureIT) でした。 Digital.ai社はセキュリティ対策企業として数々の受賞もしている 改ざん防止アプリケーションのパイオニア企業 (引用)ArxanTechnologies 項目より一部抜粋・翻訳 – Wikipedia https://en.wikipedia.org/wiki/Arxan_Technologies (2024/08/22閲覧) Digital Ai(旧称Arxan Technologies)は、 モノのインターネット(IoT)、モバイル、 その他のアプリケーション向けの改ざん防止 とデジタル著作権管理(DRM)を専門とす るアメリカのテクノロジー企業です。Arxan のセキュリティ製品は、ソフトウェアの改ざ んやリバースエンジニアリングを防止するた めに使用され、開発者が望ましくないと判断 したソフトウェアへのアクセスや変更を防止 します。同社によると、同社によって保護さ れたアプリケーションは5億台以上のデバイ スで実行されています。同社の製品は、モバ イル決済や銀行、自動車、ヘルスケア、ゲー ムなど、さまざまな業界で使用されています。
  11. 16 ©MIXI 最強の盾 Application Securityにはチート対策やクラッ キング対策の様々な機能が備わっています。 機能は主に • 攻撃を検知する検知機能 •

    攻撃されにくくする防御機能 に分類されます Application Securityの凄いところは、この機 能を何重にも組み合わせて必要な防衛網を構築 出来るところです。 リソース検証 文字列難読化 デバッガ検知 エミュレータ検知 Root化検知 脱獄検知 コード難読化 データ難読化 シンボル難読化 関数の隠ぺい ライブラリ検証 主な検知機能 主な防御機能 その他多数 難読化のロジック変更 メモリ検証
  12. 17 ©MIXI 最強の盾 Application Securityの導入方法は複雑な防衛 網の構築とは打って変わってシンプルです。 【導入手順】 • アプリを通常通りに実装 •

    防御方法の設定ファイルを作る • 通常通りにビルドする • ビルドしたアプリをツールで変換する 開発フローやコードを大きく変えなくてよいの で、リリース後から導入も容易です。 防御方法の設定ファイル Application Securityの設定ファイル はプログラム記述となっていて、 • どの防御機能を • どの部分に • どのような構成で • どの程度かけるか を列挙していきます。 変換の際にこちらの記述通りに防御ロ ジックが実行されて、アプリに変更を 加えます。
  13. 18 ©MIXI 最強の盾 モンストでは、 • 求めている機能が多数ある • 導入がしやすい • ゲーム内の処理の負荷が比較的少ない

    点を高く評価し、導入を決定しました。 はたして、ワンパンチートは撲滅できたので しょうか? Application Securityは、シード値を 与えることで内部の防御ロジックを入 れ替えることが出来ます。 運用の中でこの値は度々変更している のですが、まれに変更後とてもゲーム が重くなる事がありました。 ロジックによっては処理が重いものも 存在しているようなので、対応箇所の 量や負荷を確認しながら調整すること をお勧めします。 処理の負荷に関して
  14. 20 ©MIXI 最強の盾 結果はグラフを見ていただいた通り、絶大な効 果を発揮しました。 Application Security導入前の改造クライアン トなどが残っていたため、しばらくの間チート が残りました。 こちらは個別対応やBANなどを行い、2017年の

    中旬ごろにはワンパンチートは終息しました。 2024年現在、国内モンストでのワンパンチート はほぼ駆逐された状態を維持しています。 0にはならないワンパン 先ほどよりワンパンチートと連呼していますが、 ワンパン自体は正規の方法でも実現可能です。 腕の良いストライカーはキャラの特性や技術を 駆使してボスを一撃で倒すことがあります。 先ほどの推移グラフは集計の都合上、チート以 外の凄腕ストライカーのワンパンも一部含まれ てしまっているため、0にはなっていません。 運営としては、チートに頼るのではなくプレイ ヤースキルを磨いてワンパンを楽しんで頂ける と嬉しく思います。
  15. 22 ©MIXI チート対策に終焉無し 前述の通り、Application Securityの導入でワ ンパンチートはほぼ駆逐できました。 専門的な知識のない一般ユーザーはチートツー ルが使えなくなった時点で手段を失うため、全 体のチートユーザー数も劇的に減った印象です。 また、

    iOSやAndroidも年々セキュリティが向 上しており、社会的な啓蒙活動も増え始めてい るため、徐々にチートがしにくい環境にはなっ てきていると思います。 チート問題が社会的に認知され、各所で啓蒙活動も展開されていることも抑止 に繋がっている チート行為はやめましょう – 警視庁 https://www.keishicho.metro.tokyo.lg.jp/kurashi/cyber/notes/cheat.html (2024/08/28閲覧)
  16. 23 ©MIXI チート対策に終焉無し しかしながら、技術を持った人間が悪意を持て ば状況や環境にお構いなく、セキュリティの脆 弱性をついてチート攻撃を仕掛けてきます。 一つのチートが終息したからもう大丈夫という ことはありません。あくまでも一つの手段を防 いだだけだという認識を持つことは重要です。 モンストでは、仮に未知のチートが発生しても

    検知してBANできる環境構築を日々取り組み続 けています。 マルチで巻き添えBAN? 一部で「チート利用者とマルチしたから巻き添 えでBANされる」といった噂があります。 しかしながら、モンストでは不正検知後自動で BANといった手段はとっておらず、事実確認を 行いアカウント停止措置をするか判断しており ます。 ただしチートの手口は年々巧妙になっているた め、誤解を避けるためも異常挙動に遭遇した場 合は速やかにその場から離れるよう呼びかけを しています。
  17. 27 ©MIXI モンストの盾の活用法 近年ではRoot権限を取得しないチートや高度な バイナリ改造のチート事案も発生し始めている ため、常に最新の情報を収集して適切な対策を 講じ続ける必要があります。 Application Securityはチートの足掛かりにな るようなRoot権限、Jailbreak、エミュレータ、

    ライブラリ改ざん検知などの機能が豊富です。 日ごろからこういった検知情報にアンテナを 張っておくことをお勧めします。 Application Securityは非常に強力な プロテクションツールです。 ですが、防御設定も長期間同様のもの を使用すれば傾向も出てきて対策が行 われるかもしれません。 また、防御設定の範囲外からの攻撃も 度々発生します。 セキュリティ全体のメンテナンスを定 期的に行うことをお勧めします。 メンテナンスに関して
  18. 31 ©MIXI モンスト12年目に向けて DREAMDAZE Ⅱ LaLa arena TOKYO-BAYにて沢山のストライカーと共に (2024/07/14 講演者撮影)

    モンスターストライクは をビジョンに、友人や家族に思わず言ってしま いたくなるような、ポジティブな驚きや感動を 届けられるプロダクトを目指して、12年目の 運営を続けていきたいと思います。 日常に“一人じゃ抱えきれない興奮”を届ける