検証結果データベース化の是非〜PSPのUser Mode Exploit調査の効率化は必要か
ブログに読者の方から
「ゲームを調査した方法やそのゲーム名をまとめて”検証済”や”exploit無し”という形で公開もしくは共有できないか」
という質問をいただきました。exploitの重複を避けることが出来るのではないかという理由です。
まだexploitというものが稀少だと思われていた頃PSP Forums in JAPANで体験版についてはデータベース化を図っていた時期がありました。
当時はexploitを発見するのは海外ハッカーで、日本版はいわゆる”逆輸入”で対応してくれることを祈りつつも基本はなんとかして海外版を入手することに明け暮れていた、今とは異なる背景があった時代です。みんゴルexploitの例が顕著ですが、今は日本版で発見し海外ハッカーに協力を仰ぎ事前に海外版でのexploit化を確認しておき全リージョン版向けにリリースする”ワールドワイドな協力体制”でのexploitリリースという流れも出来ています。
体験版はそのほとんどがセーブデータ自体存在せず、あったとしてもPSNアカウント認証ありの場合が多く「世界中の誰でも簡単に入手できる」ものとまでは言えなくなっています。
であれば必ずセーブデータがある市販のゲームで探す方が正直言って簡単確実です。
ただでさえカットアンドトライで時間だけがかかるexploit探しです。探す方とすれば、できるだけ効率的に行って結果を出したいと思うのは当然です。
exploit検証結果のデータベース化、ならびに共有化ができれば時間の経過と共に「調査しなくても良いゲーム」の数が増えていき、重複することの無い効率的な調査が行えることになります。
データベース化するのは簡単で、GameGazフォーラムにそういうトピックを立てて情報を集めればいいだけです。それは私も分かっています。
では、なぜやらないのか。
それはハイリスク ノーリターンだからです。
ハイリスク ノーリターンの3つの理由、挙げてみます。
1:検証結果の共有が実は無駄な理由〜Patapon2とみんなのGOLF
先入観を持つということは、良い時には効率的に物事が運びますが、悪い時には真実が見えなくなります。
先のPSP Forumで体験版データベース化を図ったとき、実はパタポン2をテストしています。
が、「名前の部分がどこに当たるのか分からなかったのでスルー」という表現でそのまま放置されてしまいました。
みんなのGOLFについても、ゲーム名をJ416氏が発表した時に「自分も試したのだが、単なるクラッシュだと思っていた」とのつぶやきもどこかで見た記憶があります。
バイナリ編集する部分が特定できないので調査中止、単なるクラッシュでexploitは存在しない。
仮にこれがデータベース化されると、情報を書いたユーザー本人の表現如何では「パタポン2」と「みんなのGOLF」は調査対象外リストに入ってしまいます。
ご存知の通り上記ゲームはPSPの6.20(Patapon2 exploit)/6.31(Golf exploit)としてHalf Byte Loaderのトリガーとして実用化されています。調査したユーザーの調査内容が一定レベルとならない中でその情報を共有化しても結果的に得るものが何も無い(ノーリターン)という実例が2つもある以上、情報の共有化には疑問を感じざるを得ません。
2:検証結果の共有が実は無駄な理由〜Pursuit Force: Extreme JusticeとPhantasy Star Portable
2009年2月頃、Pursuit Force: Extreme JusticeというEU版ゲームでloppi1994氏がクラッシュバグを発見しました。私もUS版へセーブデータを移植してクラッシュすることを確認しましたが、当時はexploit化させるためのノウハウがなく結果的にはクラッシュバグという形で世に情報が出回りました。
セーブデータが公開されていた影響もあるとは思いますが、Hello Worldが起動したわけでもなんでもないにも関わらず結局は5.50UPDATEで対策されてしまいました。
これはつまり、クラッシュバグであることを公開しても対策されてしまう可能性が高いことを意味しています。良く調べればexploitとなった可能性もあったのかもしれませんが、一度対策されてしまった以上もう調べる気にもなりません。
同様のことが、最終的には対策されてしまったPhantasy Star Portable体験版でのクラッシュバグにも言えます。
仮にクラッシュしたがexploitではないという情報をデータベース化すると、本来は調べ方を変えればexploitになったかもしれないゲームをわざわざ対策してもらうためにソニーへ情報提供(ハイリスク)することに他なりません。
3:検証結果の共有が実は無駄な理由〜「情報を知っている人は少なければ少ないほど良い」
「情報を知っている人は少なければ少ないほど良い」というのは私の言葉ではなく、wololo氏の言葉です。
exploitの情報は知っている人が多くなればなるほど情報がリークされる危険性が高まります。
Patapon2のexploitはmalloxisとmaku氏、Flyer氏が順に発見しましたが、自分でHello Worldを作ることも出来なかったmalloxisが3人目となるFlyer氏の発見で焦ってexploitの第一発見者としての名誉を主張する愚かな行為のためにHello Worldを公開したことは記憶に新しいところです。
これは実際のexploitの話ではありますが、逆にexploitに限りなく近いようなゲームが見つかった場合($ra以外の、複数のレジスタコントロールが可能など)はどうなるでしょう。
ゲーム名のデータベースですからゲーム名とPSPLinkの結果をフォーラムに貼って「これはexploitになりますか?」となってしまう可能性もあるでしょう。
フォーラムを読んだ人が実際に試してみてexploit化に成功したと仮定しても、その時点で既にクラッシュするゲーム名は”不特定多数が知っている”状態です。情報流出->対策はもう目前です。これこそ究極のハイリスク ノーリターンです。
4:重複という副作用の効用
個人的にはシークレットプロジェクトとして進めていかなければならない案件である以上、重複はやむを得ないと考えます。
これは社会経済活動においても日常的に存在することです。新規市場掘り起こしを狙った新製品などを開発するメーカーは、その独自内容はあくまで極秘のまま開発を続けていきます。発売時に他社から同製品が同時期に出てきてしまう可能性もありますが、それを避けるために他社へ情報を公開するようなことは余程特殊な例ではない限り通常はしません。
重複は最終的に成功するための副作用でしかありません。更に副作用は必ず発生するとは限りません。
exploitは稀少資源です。それは無限に存在するものではありません。数が少ないからこそ重複するわけですが、見方を変えると稀少だからこそ計画的に消費し、資源の浪費、枯渇を避けて活用すべきです。リスクがある運用方法についても可能な限り避けるべきです。
これはあくまでも私個人の考え方です。私個人の考え方を全ての方々に強要するわけにはいきませんが、一度みなさんの意見を伺ってみたいです。ご意見をコメント欄(スパム対策のために承認制になっています。ごめんなさい)へ是非お寄せください。
○○の方法で調べた、というところまでデータベース化すれば、いらぬ調査を避けたりできるのかも知れませんが、重要なのは、SONYもこれを利用できるという点だと思います。「Exploitがありそう!」という期待が、すぐ絶望に変わる(いいすぎ?)のは目に見えてます。
できるとしたら、公開された(されてしまった)Exploitをまとめるくらいですね。
今、拝見しました。遅ればせながらコメントします。
データベース化は悪くはない事だと思います。しかし、今現在やるべき事ではない気がします。FWという形をとっている以上、潰されてしまったらそれで終わりですし、頻繁にFWの更新もされるでしょう。きりがありません。
データベース化はPSPの次世代機が出て、完全に移行してしまってからでも遅くないと思います。こう言うのは、分かる奴らがアングラで細々とやっていればいいのです。
ご意見ありがとうございます。
@DENさん
「SONYもこれを利用できるという点」
そうですよね。基本的にはこれに尽きると思います。
@COBRAさん
「PSPの次世代機が出て、完全に移行してしまってから」
もうホントに新作ゲーム発売も終息して誰もPSP買わなくなった頃なら良いかもしれません。需要があるかどうかは別問題ですが。
見つけた”exploitになりえるかもしれないもの(方法含む)”を
複数の信頼出来る方に検証してもらい
その結果を集約して、どんな結果であっても
少人数グループ内で共有して、外部には”検証済み”
とだけ公表する方法であれば、見逃しにくくなるだとか
ソニー側にも伝わらないのではないかと思ったのですが。。。
考えが甘かったですね・・・済みません
@gggop5さん
ご提案いただいたことが逆に嬉しいですよ。
ユーザーコミュニティみんなでいろいろと考えていけるようになってきた証拠です。
ただ待つだけから参加するコミュニティは理想ですね。