モバイル

ストレージが故障したiPhone 7を使ってNFS経由でUbuntuの起動に成功したとの報告


海外掲示板のRedditに「NANDストレージが故障したiPhone 7を使ってUbuntuの起動に成功した」との報告が上がりました。debootstrapで他のPC上に構築したルートファイルシステムをNFSで共有し、iPhone 7側でマウントするという手法がとられています。

SUCCESS: iPhone 7 with dead NAND netbooting unmodified Ubuntu 20.04 arm64 over usb gadget ethernet : linux
https://www.reddit.com/r/linux/comments/kux9xx/success_iphone_7_with_dead_nand_netbooting/

実際にiPhone 7上でUbuntuをブートさせているムービーは以下。

iPhone 7 booting Ubuntu 20.04 - YouTube


今回のハックは、iOS向け脱獄ツール「checkra1n」と、iPhone上でAndroidを実行できる「Sandcastle」に加え、報告者であるnewhacker1746氏の開発したネットワーク関連のツール群によって構成されています。checkra1nとSandcastleはいずれもiPhoneに見つかった修正不可能なブートROMの脆弱性「Checkm8」を利用しており、Checkm8によってNANDが故障したiPhone 7の用途が広がる形となりました。

iPhone 8やiPhone Xを脱獄させる新たな手法が発見される、パッチによる修正は不可能 - GIGAZINE


手法としては、まずRaspberry Pi 4などのarm64アーキテクチャを利用できる環境でdebootstrapによりルートファイルシステムを構築し、NFSでLAN内に公開しておきます。debootstrapはホスト上に新たなルートファイルシステムを構築できるソフトウェアで、ルートディレクトリを変更できるchrootコマンドと合わせて利用することにより、ホストと隔離した環境を構築することができます。

iPhoneに展開するLinuxカーネルは、Sandcastleの開発元であるCorelliumがA9X/A10で動作するように改造した「linux-sandcastle」を使用。カーネルのビルド時にNFS上のルートファイルシステムをマウントするよう、NFS共有元であるホストのIPアドレスなどを設定しておくと説明されています。

iPhoneとホストPCとのネットワーク接続をnewhacker1746氏のツール群で確立できたら、checkra1nを使ってiPhone上にpongoOSを起動。ビルドしたカスタムカーネルとデバイスツリーをSandcastleのツールでiPhone上にロードすることでUbuntuを起動できる、というのが一連のハックの流れ。カーネルはRAM上に展開され、ルートファイルシステムはNFSでマウントしているため、iPhone 7のNANDが故障していてもUbuntuをブートすることができるようになっています。

なお、今回のハックではX11およびWaylandが動作するようで、実際にUbunbuのGUIを起動しているムービーも公開されています。

iPhone 7 booting Ubuntu 20.04 (to GUI) - YouTube

この記事のタイトルとURLをコピーする

・関連記事
iPhone 8やiPhone Xを脱獄させる新たな手法が発見される、パッチによる修正は不可能 - GIGAZINE

脱獄不要でiPhoneに非公式アプリをインストールできる「AltStore」レビュー - GIGAZINE

iPhoneを脱獄してAndroid OSをインストールできるツールがリリース - GIGAZINE

AppleのMacシリーズがUSBだけでハッキングされる、セキュリティチップ「T2」の脆弱性を利用 - GIGAZINE

AppleのMac向けセキュリティチップ「T2」に脱獄ツールが対応、Touch Barへの侵入などが可能に - GIGAZINE

in モバイル,   ソフトウェア,   ハードウェア,   動画, Posted by log1n_yi

You can read the machine translated English article here.