vphone-cli オープンソース プロジェクトを使用すると、完全な iOS 27 システムを Apple Silicon 上の仮想マシンとして実行できます。このプロジェクトは、従来のエミュレーションではなく Apple 独自の Virtualization.framework に基づいて構築されており、セキュリティ研究、リバース エンジニアリング、iOS の自動テストに新たな可能性をもたらします。

vphone-cli は、エミュレーションを使用せずに仮想 iPhone を実行する wh1te4ever の以前の作業を基にして、プロセス全体を自動化します。これには、ファームウェアのダウンロードとブート チェーンへのパッチ適用から、DFU 復元の実行と最初のブートの完了までが含まれます。結果として得られる仮想 iPhone では、GUI への VNC アクセスだけでなく、root 権限による SSH アクセスも提供されます。

Apple は、開発者やセキュリティ研究者向けに iOS 仮想マシンを正式に提供したことはありません。しかし、仮想研究環境を通じてプラットフォーム上のセキュリティ研究を促進するために彼がプライベート クラウド コンピューティング (PCC) 用に開発したテクノロジには、「iPhone 研究環境仮想マシン」が含まれていました。 vphone-cli プロジェクトは基本的にこれらのコンポーネントをまとめて、それらを動作する iPhone 仮想マシンに変えるプロセスを簡素化します。

Xcode には、macOS ハードウェアでの実行に適合した iOS ユーザー空間コンポーネントのサブセットを実行する iPhone シミュレーターがすでに含まれています。ただし、シミュレータには、カメラ アクセス、Bluetooth、メタル、App Store アプリのインストール、iCloud などの機能のサポートが制限されているなど、いくつかの制限があります。また、物理的な iPhone とは異なる SDK ターゲットを使用するため、動作に微妙な違いが生じる可能性があり、シミュレータでのテストが実際のハードウェアでのアプリの動作を必ずしも完全に反映するとは限りません。

Hacker News でこのプロジェクトについて議論しているユーザー kridsdale1 は、iOS シミュレーターと vphone-cli の違いについて有益な要約を提供しています。

iOS シミュレーターは、これまでもこれからも、macOS 上で完全にネイティブに実行される単なる iOS フレームワークです。代替ウィンドウ マネージャーと考えるのが最善ですが、アプリはネイティブの Mac プロセスです。これらは、他のすべてのプロセスとともに、top、ps、lldb を使用してターミナルから表示およびデバッグできます。これらは、Simulator Mac アプリケーション コンテナを通じてのみ GUI を提供します。

同じスレッドで、ユーザー landr0id は、vphone-cli が「カーネルのデバッグが可能で、シミュレータではデバイス検査ができないため、セキュリティ研究に役立つ」と指摘しました。ユーザーの好意も同様に、シミュレーターでのテストと実際のハードウェアでのテストの違いを強調し、「違いは実際にやってみるまでは問題ではないが、実際に何が起こっているのかを知るのはイライラする」と適切に要約しています。

LinkedIn で、シニア iOS エンジニアの Daniyar Kurmanbayev 氏は、「実際の iOS ファームウェアを起動し、SSH で環境を再生できれば、低レベルのセキュリティとデバッグがより実用的になる可能性がある」と述べています。同様の指摘で、カリーム・ヘシャム氏も次のように付け加えた。

完全な iOS ブートに Virtualization.framework を使用することは、モバイル セキュリティ研究のアクセシビリティに大きな変化をもたらします。これはハードウェアでロックされた環境とスケーラブルな自動化の間のギャップを埋めるものですが、同時に「壁に囲まれた庭園」のどの程度が技術的な障壁ではなく政治によって維持されているかについて興味深い疑問も生じます。

最後になりますが、Apple はこの方法での iOS ファームウェアの使用を正式にサポートしていないため、PCC 仮想研究環境の将来のバージョンに iOS 仮想マシンの実行に必要なコンポーネントが引き続き含まれるかどうかは不明です。





Source link