パスワードを忘れた? アカウント作成
9313285 story
ゲーム

「ポケモン」のオンライントレード機能を利用して改造データをやり取りするソフトに任天堂が注意喚起 45

ストーリー by hylom
ドーピング 部門より
あるAnonymous Coward 曰く、

任天堂の人気ゲーム「ポケットモンスター」シリーズには、「ダイヤモンド・パール」以降オンラインでゲーム内の「ポケモン」をほかのユーザーと交換するシステムが搭載されているのだが、この機能を悪用し、データを改造した「ポケモン」を取得するツールが公開されているそうだ。これを受けて任天堂が、このようなツールの利用について警告する事態になっている。

通常このような改造ツールは使い方が難しかったり専用ツールが必要だったりと、一般人が使うにはハードルが高かったのだが、今回話題になっているツールは無線LAN内に偽のDNSサーバーを立ち上げることで正規のサーバーとは異なるサーバーに接続させることで、不正改造された「ポケモン」を送り込むシステムだ。iPhone/Androidアプリとして提供され、分かりやすいGUIで操作できるため、利用のハードルがとても低く、簡単に試せる模様。

ただし海外の開発者が海外版ポケモンに向けて作っている(このツール自体のUIは日本語化されている模様)ため、日本語版のポケモンで利用するとデータの不整合から不具合が発生することがあるようだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by s02222 (20350) on 2013年07月01日 13時25分 (#2412471)
    DSどうしの直接通信に比べて、サーバを仲介した交換サービスなら、割と簡単にこの手の横入りが出来ない仕組みに出来そうだけど。実装にバグでもあったのかな?
    • by Anonymous Coward on 2013年07月01日 14時08分 (#2412513)

      件のアプリは、
      1.ポケモン交換用サーバのエミュ鯖に改造ポケモンのデータをアップロードする
      2.DS本体のDNS設定を変更し、エミュ鯖へアクセスする
      3.ゲーム内で交換用サーバにアクセスする(エミュ鯖へつながる)
      4.交換して改造ポケモンが手に入る

      という仕組み。

      Web上には無料で使えるツールがあるのに、iOS/Android向けに有料で配布したのはうまいと思った。
      改造をしたい年齢層とスマフォの利便性が合致したイメージ。

      親コメント
      • >3.ゲーム内で交換用サーバにアクセスする(エミュ鯖へつながる)

        例えばここをSSLにして、サーバの秘密鍵をソフトにしこんでおいた証明書で確認すれば、繋がっているか先が本物のサーバかどうかは検出出来るので、本物のサーバ以外とは通信しないようにソフトを作り込むのはそんなに手間ではないはず。

        DSのソフト側をエミュレータなりで徹底解析しても、まず、本物と誤認されるエミュ鯖は作れない。 どんなブラウザにでも乗ってて、銀行のサイトが本物か? みたいなクリティカルな用途にも使われている素性の確かな技術。

        # 逆に、DS上のソフト側を改造して、エミュ鯖からもダウンロードし放題にするのは可能。
        # そこから、本物のサーバへアップロードする形の不正利用は防ぎにくそう。

        そういう交換用サーバを使う仕組みにした時点で、今回のような攻撃を受けるのは想定されてしかるべきレベル。 もしかしたら、データを受け取った後で「データが正しいポケモンのものか」というチェックを入れるから大丈夫、みたいな想定だったのかも知れない。 そうだとしても、そこのチェックの手法も、上のと同じぐらい頑丈にできる(けど実装上、上のやり方の方が早いから採用するメリットが思いつかない)物もあれば、 ソフトを解析すれば「本物と見なされてしまうデータ」をねつ造する方法が見いだせてしまうやり方まで色々あるけど、抜かれたということはお粗末。
        親コメント
        • by Anonymous Coward

          >例えばここをSSLにして、サーバの秘密鍵をソフトにしこんでおいた証明書で確認すれば、
          >繋がっているか先が本物のサーバかどうかは検出出来るので、本物のサーバ以外とは通信しないようにソフトを作り込むのはそんなに手間ではないはず。
          新規に作るのでしたらね、としか言いようがないです。

          >そういう交換用サーバを使う仕組みにした時点で、今回のような攻撃を受けるのは想定されてしかるべきレベル。
          別に自分のソフトで自分で工夫してどうこうしても、その責任をメーカーに問わない限りは気にしていないってだけでは。

        • by Anonymous Coward

          >サーバの秘密鍵
          サーバの秘密鍵なんていらない公開鍵だけでいいはず。

          • えーっと・・・、ああ、

            >「サーバの秘密鍵」を「ソフトにしこんでおいた証明書」で

            こうです。これでも省略しすぎな感じですが。「接続先が接続先だと期待したサーバである」かどうかは、「接続先が接続先だと期待したサーバしか持ってないはずの『サーバの秘密鍵』を持っている」ことを確認しているので。その際のやりとりで、ソフト側に必要となるのは、サーバの公開鍵です。
            親コメント
  • もうちょっと根本的な問題として、ステータスの値のチェックとかつけてないんでしょうか。
    通常のプレイで発生し得ないデータである、と認識できるレベルの特異性なら、そういったデータをソフト側で弾く処理をするのは難しくないように思えますが。

    だいぶ前だったと思いますが、マジコンを検出するとゲームが途中から進行できなくなるプロテクト、等はあったように思いますし(そのプロテクトは破られてる、という話題もありましたが)、それよりは簡単に実装できそうな気がするのですが……。

    たとえばRPGで「極端に入手できる確率が低い武器を何種類も持っている」ようなデータは、確率的に無理だろうという推測が成り立つにしても「あり得ないデータ」と否定しきることはできませんが、キャラクターのHPの最大値が100にしかならないゲームで、HP999のキャラクターを持っていれば「不正プレイである」と断定しちゃっていいと思うんです。
    このあたり、いわゆるモンスターハンターの「悪魔武器」なんかにも言えることですが、デバッグ用に強力なステータスを用意できる余地を残すにせよ、リリースする際に潰しておけばこういう問題は発生しないのに、と思わざるを得ません。

    • 正規のサーバを介しての対戦や交換の時は、
      明らかに不正なものについては弾く仕様にはなっていますよ

      親コメント
    • by Anonymous Coward

      改造する連中はそういうことはしないよ
      やるとしたら、覚えられる範囲内で技を覚えさせるか個体値を最高値にするぐらいしかない
      あとは育成の手間を省くために経験値をいじるか努力値をいじる程度
      明らかにばれるような改造したら、はじかれるからね

  • by Anonymous Coward on 2013年07月01日 13時21分 (#2412465)

    警告はするけど修正はしたくないってことなのかな

    • 3DSならまだしも、ポケモンはDSのソフトですので、修正パッチなどは出せません。
      まさかこの数を回収して修正するわけにもいかないでしょうし

      --
      一人以外は全員敗者
      それでもあきらめるより熱くなれ
      親コメント
      • by Anonymous Coward

        ポケモンのダイヤモンド・パールではWi-Fiを使ったバグ修正を行っています。
        どういうやり方をしているのかは知りませんが、やろうと思えばできるようにはなっているでしょう。実装方法は気になります。

        問題は、この方法は実際のサーバーがローカルに存在するのと同様の状況を作り出す為、対策しようがない事でしょう。
        あるとすればIPアドレス決め打ちでハードコーディングとか、DNSの認証をするとか、そういう方法になってしまうでしょう。

        • by Anonymous Coward

          別アプリのセーブデータ修正プログラム [nintendo.co.jp]を配布しているだけではなくて?

        • by Anonymous Coward

          問題は、この方法は実際のサーバーがローカルに存在するのと同様の状況を作り出す為、対策しようがない事でしょう。
          あるとすればIPアドレス決め打ちでハードコーディングとか、DNSの認証をするとか、そういう方法になってしまうでしょう。

          いや、対策なんてSSL一択っしょ。証明書チェックして正規のサーバーじゃなかったら弾けばいい、ただそれだけ。難しいことなんて何一つないよ。

          • by Anonymous Coward

            これは入手方法がそれだけならいいんですが
            すれ違いや友達同士でも交換も視野に入っているので難しいのではないかと思います。

          • by Anonymous Coward

            sslって期限ありませんでしたっけ?

            期限切れた時にDSからつなげなくなったりしないのでしょうか?

            • Re:っSSL (スコア:3, 興味深い)

              by s02222 (20350) on 2013年07月01日 17時43分 (#2412634)
              一般的な用途で、どれぐらい期間が長い証明書まで発行して貰えるサービスがあるかは分かりませんが、 DSのソフトと専用のサーバとの通信だけを保護したいのであれば、自己署名証明書、いわゆるオレオレ証明書でも問題ないので大丈夫です。 sslの規格も詳しくは知らないので期限無限とか1000年とかが通るかどうか分かりませんが、2~30年使えるものまでは試したことがあります。

              自己署名証明書で保証されたルート証明局を運用する技術上の問題点は、「証明局が正しいことを保証するための証明書」を安全にユーザに提供する方法が一般には無いところです。

              一般的なsslの運用では、証明書をOSに組み込んでおいたりOSのセキュリティアップデートで更新したりの方法でルート証明書がユーザに配布されるという戦略でこの問題を回避していますので、上位の証明局のポリシーに従って、証明書の期限にも制限が出ます。

              用途をDSのソフトに限定するのであれば、ソフト内に証明書を組み込んでおけば「証明書をユーザに安全に提供する」という条件は満たせるので、 自己署名証明書の問題は解消できます。
              親コメント
            • by Anonymous Coward

              期限切れたらもちろん繋げなくなります。ですので普通は期限が切れる前に新しい証明書に更新します。

              # DS側じゃなくてアクセスするサーバー側の話なんで、普通のオンラインショップとかと何も変わらないですよ。

              • by Anonymous Coward

                ルート証明書の期限もあるからDS側関係ないとは言えない
                ただ実際には期限は十分長くて、切れるころにはサーバー経由の交換サービス自体が終わってるとは思うけど

      • by Anonymous Coward

        マジコン対策などの修正パッチは ファームウェア修正 [nintendo.co.jp]の形で配布されているけれど。
        任意の更新の他に、新しいゲームソフトにバンドルする形で配布されていて、この更新を行っていないと(新しい)ゲームソフト側に仕掛けられている
        バージョンチェックを通過しない。
        不正ユーザーとはイタチゴッコを続けているけれど、善意のユーザーに不正データが渡らないようにすることが目的なら充分に効果はあるでしょ。
        ゲームソフト自体を更新できなくても、ファ

    • by Anonymous Coward

      別段薦めている訳でも無し、警告だけで壊れたら壊れたで「ご愁傷様」で良いと思うけどね。

    • by Anonymous Coward

      逆に修正したりしたら、修正していないDSとの交換が出来ないのでは?
      で、WiFi環境を持って居ないし使ったことも無いユーザーの筐体の更新を考えると、弊害の方が多いって可能性はあるかな。

  • by Anonymous Coward on 2013年07月01日 13時34分 (#2412481)

    親から金を取ればOK.

typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...