JailBreakの安全性


iPhoneJailBreak(以下JB)に関して、よくわかりもしないくせに過度に危険性のみを吹聴するのはいい加減、やめないか。


■ OpenSSHの危険性


もちろん、JB後にOpenSSHをインストールして、ID,PASSをdefaultのroot/alpineのままにしておくのは論外だ。
これだけは絶対にやめていただきたい。


まず、Terminalをインストールしてsuでsuper userになって、passwdでパスワードを変更すればとりあえずは大丈夫だ。
よりsecureにするには、以下の説明を。


OpenSSHを安全に使う設定(jailbreak後)
http://iphone.goodegg.jp/archives/186


■ 他のportが開いてしまう可能性


JBしたあとにインストールしたアプリによってその他のportが開いてしまう可能性は、ある。OpenSSHで使うportだけいくら安全にしても他のportが開いていれば意味がない。


あるいは、悪意を持って、特定のportを開けて、そこからiPhoneの端末内の情報を盗みだそうという輩はいるかも知れない。


野良リポジトリからのインストールにはそういうリスクがある。


逆に、saurik(Cydiaの作者)が管理しているプロジェクトに、そういう悪意を持ったアプリが紛れている可能性は、駅前にとめておいた自転車が盗まれる確率よりはずっとずっと低いだろう。


■ iPhoneが文鎮になる危険性


JBに失敗して、iPhoneが起動しなくなったという書き込みを見ることがある。
私も、リリースされたばかりのPwnageToolを使って、何度か文鎮になりかけた。


QuickPwnやWinPwnを使えば、画面の説明通りやればいいのだが、これにしてもバージョンが上がるごとに微妙に手順が変わる。まあ、画面に出てくる簡単な英語が読めるなら問題なく出来るはずだが。


林檎マークのままフリーズしたり、再起動の永久ループになったりしたとしても、普通はDFUモードに入ってiTunesから復元すればなおる。


しかし、復元ループになったまま、iTunesから認識できないということがある。


この場合、SpringBoardが起動時に
/var/mobile/Applications/
フォルダのどれかのアプリを読み込んだ時にエラーになってフリーズして(or 再起動を繰り返して)いる可能性が高い。(FW2.1で起きるのかどうかは知らない。FW2.0.1の時はこの現象によくなった。JBしていないiPhoneでも、この現象になって復元出来ずに困っている人をよく見かけた。)


この場合、DiskAidで接続して、
/var/mobile/Applications/
のいずれかのアプリフォルダを削除すれば起動するようになる。


とりあえず起動させるだけなら、林檎マークでフリーズしたときにDiskAidから
/var/mobile/Applications/
に移動して、このフォルダ名をApplications2などとrenameすればいい。こうすれば、SpringBoardが復帰して無事立ち上がる。


このあと、iTunesと接続してiTunes側で復元してもいいし、復元せずとも、エラーとなっているアプリのフォルダが特定できれば、そのフォルダを削除すればなおる。


林檎マークでのフリーズはJBしていないiPhoneでも見られる症状で(FW2.1になってから改善されたかも知れない)、JBしていれば上記手順でDiskAidで復旧できる。


だから、JBしておいたほうが文鎮になる可能性は圧倒的に減る。


そこでJBしておいたほうが文鎮にはなりにくいと私は結論する。(JBして入れたアプリが悪さして、iPhoneを復元しなければならなくなることは多々あるだろうが…)


■ iPhoneのアプリが起動しなくなる問題


JB自体が悪いのか、JBしたあとpatchを当てたMobileInstallationを使う奴が悪いのかは私は知らないが、DRMの問題で突然特定のアプリだけが起動しなくなることがある。


また、JBしていなくとも、この問題は比較的よく起きた。いまだにJBが原因なのかどうかは私にはわからない。


以下、私が理解している範囲の情報を書いておく。


大きなアプリをiTuneから転送すると、よくこの現象が起きる。
iPhone用の「ウィズダム英和・和英辞典」がなかなか公開できなかったのは、この問題によるものだろう。


iPhoneのFW2.0/2.01/2.02ではApple StoreからiPhone端末でdownloadしてアプリをインストールするとこの現象が起きることがある。(2.1ではおそらくなおっていると思うが、私には確証はない)
iTunes の特定のバージョンには大きなファイルのpush(iPhoneへの転送)にバグがあった。私が知る限りは、


・7.7.0.43 ←比較的ましだが、ごくまれに大きなファイルのpushでおかしくなることがある。
・7.7.1 ←かなり発生率の高い致命的なバグがあり大きなファイルのpushに問題がある
・8.0   ←修正された。たぶん大丈夫。


という状況だ。


まあ、何にせよ、iTunes 8.0とFW2.1の組み合わせではこの問題はおそらくは起きないかもしくは起きにくいと思う。


■ iPhoneから個人情報を盗む奴なんて本当にいるの?


「悪意を持った人がJBしたiPhoneから個人情報(iPhoneに入っている写真データや連絡先の情報など)を盗む」可能性があるのでJBはやめたほうがいいと言う人がいる。


自分でbackdoorを仕掛けたアプリを野良リポジトリに公開して、誰かのiPhoneに不正進入することを言っているのかも知れないが、それは相当罪が重い。すぐにばれるだろうし、捕まれば実刑は免れないだろう。こんなことは普通やらない。


あなたの写真データや連絡先に相手が実刑になるリスクを犯すだけの価値があるのかよく考えてみるといいだろう。


また「iPhoneのなかに入っている銀行口座の情報などを盗み出して、お金を引き出されてしまう」だとか言う人がいるのだが、架空口座でもない限りすぐに足がつく。一件目か二件目で事件として発覚するだろう。


そもそも架空口座を用意して、iPhoneに不正に侵入してデータを抜き出そうと考えるなら、そんな単発的にやるのは効率が悪いのである。他人名義の口座を買うのも楽ではないので、どうせやるなら、一気に、そして、大規模にやらないと意味がない。


ではどうやるのか?


■ 私が考えるiPhoneを舞台にした大規模犯罪のシナリオ


例えば、こういうシナリオだ。


他人名義の口座は10個ぐらい事前に用意しておく。


多くの人にdownloadしてもらうためには、Cydiaからインストールするようなアプリでは駄目だ。Cydiaを使っているような人には、Terminalで常駐プロセスを定期的にチェックしたり、portが開いていないかを調べたりするような人がたくさんいる。


だから、backdoorを仕込んだアプリをAppleStoreに無料で公開する。もちろん、それ用の会社もひとつ作る。アプリ制作には100万ぐらい使っていいだろう。どうせ他人名義の口座を全く足がつかない形で10個集めるのにも同じぐらいのお金がかかるだろうから。


そのアプリはたちまち人気になってたくさんの人が使うようになる。Appleの審査は、KDDI(auのアプリ)なんかとは違って、ソースを詳しくレビューしたりチェックしたりしない(はず)なので、たぶんすり抜ける。


そのアプリは特定の日時、例えば、2008年12月25日になった瞬間に特定のportを開けるようにする。そのアプリがクリスマス用のゲームだと、12月25日になると立ち上げてもらえる可能性が高いのでなお良いだろう。


こうすれば、12月25日には10万人ぐらいそのアプリを起動しているかも知れない。10万人分の個人データのうち、メモ帳アプリに自分のオンライン銀行のID,PASSを入れている人がその1/100である1000人ぐらいいるだろう。


それらの情報をもとに事前に用意しておいた銀行口座に振り込み処理をする。どうせ数件目でバレるので、人海戦術で同時多発的に行なう必要がある。また、お金を引き出すために銀行のATMに行くとそこに監視カメラがあるのでお金を引き出す役の人は、捕まってもいい人を10人ぐらい用意しておかなければならない。


とまぁ、こんな大がかりにやられたら、ひょっとしたら成功してしまうのではないかと思うけど、これだけ大所帯で犯罪をすると必ずどこかから足がつくんじゃないと思うのだが…。


JBとは関係のない話になってしまったが、JBして入れるアプリが危険だと言うなら、以上のようにAppleStoreのアプリも同様に危険だ。どちらが危険度が高いのか?どちらがよりあり得るのか?それは私にはわからない。


こういったリスクが怖いなら、iPhoneやパソコンには盗まれて困るものは一切入れないことだ。
本当の防衛手段はそれしかない。


■ 結局のところ…


JailBreakの安全性」などというラジカルなタイトルにしたが、私としてはJB自体はお勧めはしない。正しい理解をした上で自己責任で行なっていただきたい。


正しい理解をしていない人に対して「JBは絶対やめとけ!」と言うのは適切だろうし、正しい理解をしている人/正しく理解する能力のある人に「JBすると未来が開けるぜ!」と言うのも悪くはないと思う。