アカウント名:
パスワード:
件のアプリは、1.ポケモン交換用サーバのエミュ鯖に改造ポケモンのデータをアップロードする2.DS本体のDNS設定を変更し、エミュ鯖へアクセスする3.ゲーム内で交換用サーバにアクセスする(エミュ鯖へつながる)4.交換して改造ポケモンが手に入る
という仕組み。
Web上には無料で使えるツールがあるのに、iOS/Android向けに有料で配布したのはうまいと思った。改造をしたい年齢層とスマフォの利便性が合致したイメージ。
>例えばここをSSLにして、サーバの秘密鍵をソフトにしこんでおいた証明書で確認すれば、>繋がっているか先が本物のサーバかどうかは検出出来るので、本物のサーバ以外とは通信しないようにソフトを作り込むのはそんなに手間ではないはず。新規に作るのでしたらね、としか言いようがないです。
>そういう交換用サーバを使う仕組みにした時点で、今回のような攻撃を受けるのは想定されてしかるべきレベル。別に自分のソフトで自分で工夫してどうこうしても、その責任をメーカーに問わない限りは気にしていないってだけでは。
>サーバの秘密鍵サーバの秘密鍵なんていらない公開鍵だけでいいはず。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
セキュリティーホール? (スコア:1)
Re: (スコア:2, 参考になる)
件のアプリは、
1.ポケモン交換用サーバのエミュ鯖に改造ポケモンのデータをアップロードする
2.DS本体のDNS設定を変更し、エミュ鯖へアクセスする
3.ゲーム内で交換用サーバにアクセスする(エミュ鯖へつながる)
4.交換して改造ポケモンが手に入る
という仕組み。
Web上には無料で使えるツールがあるのに、iOS/Android向けに有料で配布したのはうまいと思った。
改造をしたい年齢層とスマフォの利便性が合致したイメージ。
Re:セキュリティーホール? (スコア:1)
例えばここをSSLにして、サーバの秘密鍵をソフトにしこんでおいた証明書で確認すれば、繋がっているか先が本物のサーバかどうかは検出出来るので、本物のサーバ以外とは通信しないようにソフトを作り込むのはそんなに手間ではないはず。
DSのソフト側をエミュレータなりで徹底解析しても、まず、本物と誤認されるエミュ鯖は作れない。 どんなブラウザにでも乗ってて、銀行のサイトが本物か? みたいなクリティカルな用途にも使われている素性の確かな技術。
# 逆に、DS上のソフト側を改造して、エミュ鯖からもダウンロードし放題にするのは可能。
# そこから、本物のサーバへアップロードする形の不正利用は防ぎにくそう。
そういう交換用サーバを使う仕組みにした時点で、今回のような攻撃を受けるのは想定されてしかるべきレベル。 もしかしたら、データを受け取った後で「データが正しいポケモンのものか」というチェックを入れるから大丈夫、みたいな想定だったのかも知れない。 そうだとしても、そこのチェックの手法も、上のと同じぐらい頑丈にできる(けど実装上、上のやり方の方が早いから採用するメリットが思いつかない)物もあれば、 ソフトを解析すれば「本物と見なされてしまうデータ」をねつ造する方法が見いだせてしまうやり方まで色々あるけど、抜かれたということはお粗末。
Re: (スコア:0)
>例えばここをSSLにして、サーバの秘密鍵をソフトにしこんでおいた証明書で確認すれば、
>繋がっているか先が本物のサーバかどうかは検出出来るので、本物のサーバ以外とは通信しないようにソフトを作り込むのはそんなに手間ではないはず。
新規に作るのでしたらね、としか言いようがないです。
>そういう交換用サーバを使う仕組みにした時点で、今回のような攻撃を受けるのは想定されてしかるべきレベル。
別に自分のソフトで自分で工夫してどうこうしても、その責任をメーカーに問わない限りは気にしていないってだけでは。
Re: (スコア:0)
>サーバの秘密鍵
サーバの秘密鍵なんていらない公開鍵だけでいいはず。
Re:セキュリティーホール? (スコア:1)
>「サーバの秘密鍵」を「ソフトにしこんでおいた証明書」で
こうです。これでも省略しすぎな感じですが。「接続先が接続先だと期待したサーバである」かどうかは、「接続先が接続先だと期待したサーバしか持ってないはずの『サーバの秘密鍵』を持っている」ことを確認しているので。その際のやりとりで、ソフト側に必要となるのは、サーバの公開鍵です。