diosra2’s blog

iOSの脱獄、ダウングレード

iOSの32-bitデバイスのダウングレード手順について考えてみる。

iOSの32-bitデバイスといえば、A4デバイス以前ではBootRom/iBoot Exploitを使った手法、A5/A6デバイスではAPTicketのバグやkloaderを使った手法により実現しています。

この中でも特にCFW(カスタム・ファームウェア)を作成して復元する手法について、考えてみます。

 

Odysseus

A5/A6デバイスでは、BootRom Exploitや、公開されたiBoot Exploitは存在しなかったため、iOS 7の時代まではCFWで復元する方法は存在しませんでした。

しかし、kloaderが登場したことによってダウングレードに関する手法が完成しました。

 

条件

例えば、A4デバイスの復元で使用されるLimera1n Exploitはデバイスをパソコン側にUSB接続しDFU Modeにすることで発動できるBootRom Exploitなので、SHSHさえあればいつでも復元をすることができました。

対して、A5/A6ではkloaderを使用します。これは前提条件として脱獄が必要なので、「いつ、どんな時でも復元できる」というわけにはいきません。(ただし、現在では32-bitデバイスではどのデバイスも最新バージョンで脱獄できます。)

 

手法

Odysseusでは、A4デバイス(sn0wbreezeなど)の時のような今までの復元方式と似ています。

第一段階ではkloaderでPnwediBSSを起動、これにより、iDeviceは未署名のブートローダーを読み込めるようになります。

次に、PwnediBSS -> PwnediBECを送信。iBECが起動(Recovery Mode)した後は、AppleLogo, DeviceTree, KernelCacheを送信し、RestoreRamdiskを起動させます。

この際、kloaderではDecrypt(復号化)されたイメージでないと読み込めないという特徴があります。そのため、この過程ではすべてが復号化された未署名のイメージが利用されています。

 

RestoreRamdiskが起動した後は、iOS復元が開始されます。しかし、RestoreRamdiskにはCFWの復元を阻むASR(Apple System Restore)と呼ばれる機構が存在します。

ASRは復元するファームウェア(Root FileSystemなど)をチェックし、改変された内容が存在した場合はエラーを返して復元を停止します。そのため、CFWで復元するためにはASRをパッチする必要があります。

しかしASRをパッチすると、今度はiOSのバイナリ署名チェックに引っかかり、こちらもエラーを吐いて復元は停止します。なので、カーネルパッチをして署名認証を無効化する必要があります。OdysseusではiBECにDynamic Kenrel Patchが適用されているため、RestoreRamdiskは脱獄された状態で起動し、パッチされたASRによって何事もなかったかのようにCFWで復元されます。

この方法では、パッチ内容がiOSバージョンごとに異なるため、バージョンごとにバンドルが必要になります。

 

futurerestore

futurerestoreでは、上記の方法とは違い、パッチを最小限にとどめています。

 

条件

条件はOdysseusの時と変わりません。

 

手法

RestoreRamdiskが起動するところまではOdysseusの手法とほぼ同じですが、パッチはiH8sn0w氏のiBoot32Patcherに基づいています。

Odysseusとの大きな違いは、futurerestoreでは復元するiOSのファームウェアには一切触っていないというところです。要するに、RestoreRamdiskの起動後は通常の復元時と同じ動作をするということになります。

kloaderではイメージを復号化しなければならないと書きましたが、それはRestoreRamdiskが起動するところまでの話なので、iOSの本体であるRoot FileSystemは暗号化されていても、RestoreRamdisk側が勝手に復号化して復元してくれるということになります。この場合はファームウェア改変がないため、ASRも通常通りに認証が通るのでASRパッチやカーネルパッチも不要です。

この方法では、一部のイメージを復号化し、iBoot32Patcherを利用してiBSS/iBECをパッチするのでiOSバージョンごとのバンドルは不要です。強いて言えば、ファームウェアのIV/Keyが必要です。(これはOdysseusもですが...。) 

Copyright (C) 2017-2018 Diosra2. All Rights Reserved.