Apple Silicon仮想マシンの2台制限を突破する手法が公開

原題: Apple Silicon and Virtual Machines: Beating the 2 VM Limit (2023)

セキュリティ研究者がApple Silicon Macの仮想マシン2台制限がmacOSカーネル内のhv_apple_isa_vm_quota変数で実装されていることを発見。開発用カーネルを使用することで制限を回避可能と報告。Appleの仮想化フレームワークではなくXNUカーネルレベルで制御されている。

OpenCore Legacy Patcherの開発者として知られるMykola氏が、Apple Silicon MacにおけるmacOS仮想マシンの2台制限を調査し、その回避方法を公開した。Apple Silicon搭載Macでは、Virtualization.frameworkを使用してmacOS仮想マシンを同時に稼働できるのは最大2台までとなっており、これを超えると「VZError.Code.virtualMachineLimitExceeded」エラーが発生する。

この制限はmacOSソフトウェア使用許諾契約の2.B.iii項に基づくもので、ソフトウェア開発、テスト、macOSサーバー使用、個人的非商用利用の目的で最大2つの追加コピーまで仮想環境で実行可能としている。

Mykola氏の調査により、この制限は当初想定されていたユーザースペースの/System/Library/Frameworks/Virtualization.frameworkではなく、macOSカーネル(XNU)のクローズドソース部分に実装されていることが判明した。具体的にはhv_apple_isa_vm_quota変数を使用してVM数を管理しており、仮想マシンの開始・停止時にこの変数を増減させている。

開発者は開発用カーネルコレクションを構築・設定することで制限を回避できると説明している。ただし、この手法はAppleの使用許諾契約に違反する可能性があるため、研究・教育目的での利用に留めるべきとしている。

なぜ重要か

Apple Silicon仮想化技術の内部実装が明らかになり、開発者コミュニティの技術理解が深まる

出典

khronokernel.com — 元記事を読む →

※ 本記事は海外メディアの公開情報を元に編集部が日本語で要約したものです。投資判断の推奨ではありません。