追記: 新ブートROM 3GSでtethered JBを可能にする、最新版 RC3がリリース。
詳細はこちらのエントリへ
iClarifiedなどの記事Apple Blocks Jailbreak in New iPhone 3GS Units!に書かれているが、ついにAppleがiPhone 3GS、iPod Touchのjailbreak対策に、力を入れ始めた。
記事によれば、アメリカで出荷中のiPhone 3GSで、新しいブートROM (ブートローダ: iBoot-359.3.2*)を搭載しているものが発見された。この新しいブートROMには、iPhone 3GS/iPod Touch 2nd gen以降で使われ続けてきた、ブートROM上の脆弱性、24kpwnへの対策が行われている。
*iBoot-xxx.x.xは、ブートROMチップ (マスクROM-書き換えは不可能) に格納されているブートローダ・コードのバージョン名。
ノーマルブートは、
ブートROM->ローレベル・ブート->iBoot->カーネル->OS
の順で起動する。(出典: The iPhone Wiki)
この24kpwnは、Redsn0w、Purplera1n、Blackra1n、Pwnageと、iPT 2G/iPhone 3GSのjailbreakツールすべてで利用されている。
つまり、iBoot-359.3.2 (現行:iBoot-359.3) =24kpwnなし=現行ツールでjailbreak不可!
正確には、jailbreak不可ではなく、untethered jailbreak不可になる。
24kpwnは、ブートROM上のexploitで、カスタム・ブートローダ (ブートローダを改造したファームウェア=CFWまたはblackra1nなどで改造されたファームウェア) をiPhone上のflashメモリへの書き込みをするために、利用されている。24kpwnが使えなくなれば、iPhoneのブートの度に、母艦につなぎ、blackra1nなどでカスタム・ブートローダーをメモリ上にアップロードする事になる (紐付きjailbreak=tethered jailbreak)
Blackra1nでiPT 3rdをJBしたときと、同じ状態で3GSを利用しなくてはならなくなる、ということだ。
電池が切れたりして、リブートするたびに母艦につなぐ。そんな電話いやじゃw
ブートROMチップは、書き込みができないマスクROM。つまり、すでに出荷された製品に対して、ブートROM上の24kpwnの穴をふさぐことはできない。
ただし、新品・修理交換の3GSで、新ブートROMに当たったら、24kpwnがなく、マスクROM上のコードは書き換えられないので、強制入獄となってしまうわけだ。
Appleが対策に乗り出した、と書いたが、別の見方をすると、iPT 2Gが出て以来、Appleは24kwpnを放置してきた。
随分時間も経過しているので、iPhoneハッカーチームが、何か新しいexploitを確保していることを期待。
ちなみに、ブートROM内のi-Boot コードバージョンの確認はiPhone 単体ではできないと思われる。
DFUモードでiPhoneをつないで、System ProfilerかUSBViewで読み出す必要がある。
今日現在では、3.1.2で出荷されている固体は新ブートROMだという情報があるが、定かではない。
追記 10/20: 国内でも新ブートROM搭載3GSが出荷されつつあるようだ。本エントリのコメント欄の、Hisaki Obana氏購入のiPhone 3GSは、USBViewで見ると、iBoot-359.3.2と表示されている。フルダンプは、Obana氏のblogへ。
0x0004: “CPID:8920 CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:00000283DA02834C SRTG:[iBoot-359.3.2]“
0x0009: “CPID:8920 CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:00000283DA02834C SRTG:[iBoot-359.3.2]”
なお、Chronicdevが開発中の、sn0wbreezeは新ブートROM搭載3GSについて、tetherまたはsemi-tetherの方式でjailbreakをサポートする方向らしい。
※iPT3でも、untethered jailbreakができるロットとできないロットがあるらしい。モデル名MBで始まるiPT3はおk、MB、8GBは×。(ソース: The iPhone Wiki)
追記: iPhone Wiki にある情報
NOTE: iPod Touch 3g with Model’s starting with MB will jailbreak fully. iPod Touch 3g’s with Models starting with MC only get a tethered jailbreak using blackra1n due to a fix of 24kpwn that Apple managed to put in the iPod Touch 3g bootrom.
だが、どうも記述間違いの可能性がありそう。Twitterで @ech0chrome 氏に教えてもらったのだが、
ipt: 2g MB528(8GB)/MB531(16GB)/MB533(32GB) untethered.
3g MC008(32GB)/MC011(64GB) tethered.
MC086(8GB) cannot jailbroken at all
という状況のよう。iPod Touch 3rdに関しては、Bootromは24kpwnが潰された、iBoot-359.5をROMに持つモデルだけ、ということかも。
@Woggieeeeをフォロー