昨日PSPのGripshift exploitを発見したMatiaz氏がリリースしたPSP-1000のFW5.02で動作するHello Worldの続報です。
TIFF exploitなのでてっきりwololo氏が絡んでいると思いきや全く別モノだったようです。そのwololo氏が自身のサイトWagic, Magic the Gathering, and PSP homebrewsで、Matiaz氏のTIFF exploitを解説していました。【情報源:Wagic, Magic the Gathering, and PSP homebrews】
なお、修正版h.binがリリースされましたがまもすけは何度やっても全然Hello World表示しません。言語を英語にしてみたりといろいろ試しましたがさすがにもうあきらめました。100回やって表示されなければ嫌になるでしょう。普通は。
なお、原文も掲載したいところですが楽天ブログの字数制限に経験上引っかかって記事が投稿できない恐れがありますので原文は割愛させていただきます。英文はWagic, Magic the Gathering, and PSP homebrewsをご覧下さい。
1.解説
今回のexploitは?
Gripshift exploitでおなじみMatiaz氏が昨日FW5.03以下の(おそらく5.05でも動作すると思われます)PSPで動作するexploitで“Hello world” を表示するハックを公表しました。tiffファイルをフォトフォルダに入れて“h.bin”をメモリースティックのルートに入れて画像を表示させると、必ずではありませんが20回以内程度には“hello world”のメッセージを表示します。
PSP-3000にCFW?
そこまですぐには進みません。今はPSP-1000で“hello world” を表示するだけです。
PSP-1000だけ?そんなもんイラネ
もう一度言いますが、そんなに速くは進みません。現時点で“Hello World”が表示できるのはPSP-1000だけですが、脆弱性自体は全PSPに存在しているのです。2000/3000との違いはRAMの扱い方です。時間が解決する問題で(ひょっとすると数日かも?)PSP-2000とPSP-3000でもできるようになるでしょう。
え、じゃあやっぱ俺の3000にCFWイケるのでは?
それはちょっと…何度も言いますがそんなに速くは無理です。何度も言っていることですが、新型3000にCFWというのは仮に今回のexploitが起動したとしてもおそらく不可能でしょう。
じゃあ、やっぱそんなもんイラネ
いやいや、今回のexploitはユーザーモードのexploitです。カーネルモードのexploitを使えばPSP-3000でHEN (Homebrew ENabler)を起動させる事はできるでしょう。HENが起動できればHomebrew起動もISO起動も可能になります。HENはメモリー上に常駐できます。PSPがスリープモードに入る程度なら元には戻りません。exploitの起動率が高くなくても一旦HENが起動できれば毎回exploitを起動し直す事は無いのです。もちろんハード的に再起動したらやり直しです(クラッシュした後など)。再起動後はもう一度exploit起動からやり直しです。
ですからHENを使えば、exploitの起動率の低さはあまり気にしなくても大丈夫です。
ただHENがリリースされたとしても、待ち望んでいるものは他にもあります。-まだ見つかっていないカーネルモードexploitです。もしかするとそれがMatiaz’氏がreadmeに記載していた“bit of awesomness”なのかもしれません。
じゃあ、Gripshift exploitとの違いは?
そうですね、そんなに大きな違いはありません。どちらも同じユーザーモードexploitですが異なるのは以下の点です。
Gripshift exploitは高価なUMDが必要(tiffはタダ)
Gripshift exploitはFW5.02以下にしか対応していない(tiffは5.05まで)
tiffのexploitは非常に不安定(Gripshift exploitは起動率100%)
ですのでどちらを使うかはこの質問の答え如何です。「Gripshift持ってる?PSPのファームは?」
ソニーが対策してくるのは確実?
間違いないでしょう。次回のシステムアップデートでこの「問題を解決」してくるはずです。Homebrewを楽しみたいならばアップデートしないことです。
それから、exploit探しは続けてください。楽しいですし、勉強にもなります。皆さんが”クラッシュバグを探せ!”とやってくれればexploitはきっと見つかると思っています。
脆弱性についての私の記事を読んでいろいろ試してみてください。何でもかんでも私に頼るのはご勘弁です。
2.誰が、いつ?
ここまでくる間の99%はMatiaz氏の功績ですが、誰が今回関わっていたのかということを公表するのは非常に重要だと思っています。何人かが関わっているはずですが、その中の一人だけの名前が挙がるのは少し寂しいです。Matiaz氏と同時に作業していただけで大して重要な役割を果たしていなかったとしてもです。
最初はYouTubeの動画へのリンクを掲載しただけでした。私のブログへ投稿してくれたのもmalloxisという方でした。そのtiffファイルがいまこうしてあるのは本当に運が良かったのです。
今回のファイルはDark-Alex フォーラムで少し騒がれましたが、他のサイトではさっぱりでした。Noob81と私は興味を持ち作業を開始しましたが、その時点でなんとかなるという確証が持てなかったので他にも手伝ってくれる人が必要でした。そこでFreeplay氏、Matiaz氏、Archaemic氏に声をかけてみたところ、3氏とも脆弱性あり、exploitになりうると読んでいたのです。それからは皆が個々に動いていましたが(私はMaxMouseDllのSlims氏に個人的に手伝ってもらいました)、最初にフィニッシュラインを超えたのはMatiaz氏でした(彼にしてもlan.stフォームのDavee氏と一緒にやっていた事は明白です)。
細かい事まではともかく、今の結果は非常に嬉しい話です。しかしハッキングというのは名声が付いてくるものだと思いますので、貢献度は小さくても協力した人の名前は公開すべきだと思います。とにかく最終的に我々は利用価値のあるものを作れました。すばらしいではないですか。
(ここで名前を挙げた方々は全員ではないかもしれません。私が把握している分だけですのでご了承ください。)
3.どうやって?
全部把握しているわけではないのですが、多少説明はできます。
これはあなたが言っていたLibTIFFの脆弱性?
違います。全く別モノです。私がテストしてみた範囲では今回のこれはtiffライブラリの脆弱性とは関係ありません。PSPのlibファイルにあったソニー特有のバグのようです。(PS3やiPodでもクラッシュするなら私の話が間違っている事になりますが、そんな事は起こらないでしょう)
PSPLINKでの表示見せてよ
分かりました。初期のファイルを私が弄ったものになりますが、ハッキングに使えるかどうかの可能性の証拠をお見せしましょう。Matiaz氏はこのエラー表示をもとに最後までたどり着いたわけではなく別の方法で効率的にやったみたいですが、何にせよこれがすべての出発点です。
Matiaz氏がリリースしたものでも同じ結果になると思います。バイナリを編集してPSPLinkで見たのと同じ状態です。
聞かないと分からなかった裏事情満載でした。状況がよく分かりました。wololoさんありがとうございました。