Apple Silicon'da iOS sanallaştırma
Part 0: Bilinmeyen bir alan?
- vma2pwn projesi: macOS misafir sanal makinesi için değiştirilebilir bir vma2 macOS önyükleme zinciri oluşturan bir proje; iOS sanallaştırması için bir ön çalışma niteliğinde.
- iOS sanallaştırma olasılığı: Apple Silicon'a geçiş ve Mac Catalyst'in sunulmasıyla iOS ile macOS işletim sistemleri birbirine daha da yaklaştıkça, iOS'un sanallaştırılıp sanallaştırılamayacağı sorusu ortaya çıkıyor.
- Mevcut araştırmalar: Corellium'un sanal iPhone bulut ürünü, qemu-t8030 ve Zhuowei Zhang'ın blogu ilgili çalışmalar arasında anılıyor.
Part I: Başlangıç + yeni keşifler
- Apple'ın Virtualization yığını özellikleri: Sanal makineler için rastgele verileri imzalama özelliği keşfedildi.
- vma2pwn ihtiyacının azalması:
_setProductionModeEnabled(false) çağrısı üzerinden sanal cihaz "güvenli" ve "üretim dışı" moda alınabiliyor.
- iOS çalıştırma stratejisi: macOS 12.0.1 önyükleme zinciri yeniden kullanılıp iOS 15.0.2 sistem imajıyla değiştirilerek başlatma sürecindeki değişiklikler en aza indiriliyor.
Part II: Yama cehennemi
- Çekirdek yamaları: İmza kontrollerini atlatmak için yamalar gerekiyor; ayrıca iOS ikili dosyalarını çalıştırmak için
PLATFORM_IOS kontrolünü atlayacak şekilde düzenleme yapılıyor.
- Sistem keybag sorunu: Sistem keybag uyumsuzluğu nedeniyle PreBoard.app üzerinde "yükseltmek için yukarı kaydır" mesajı gösteriliyor.
- IOMFB yapı boyutu uyuşmazlığı: iOS sistem framework'leri ile macOS çekirdeği arasındaki boyut uyuşmazlığından kaynaklanan kernel panic sorunu çözülüyor.
- Sistem yamaları: Geri yükleme ramdisk'i ve iOS sistem dosyaları için yamalar gerekiyor; imzasız durumda çalıştırıldıklarında kapanıyorlar.
Part III: Gelecek
- Sistem keybag sorununu çözme: Daha fazla yama ve iOS sistemi ile çekirdeğine dair daha derin bir anlayış gerekiyor.
- Dokunmatik işlevi: Dokunmanın çalışıp çalışmadığı doğrulanmış değil;
Virtualization.framework'ün özel API'leri kullanılarak dokunma olayları gönderilebilir.
GN⁺ özeti
- Bu yazı, Apple Silicon'da iOS'u sanallaştırma yöntemine dair derinlikli bir teknik inceleme sunuyor.
- iOS ile macOS'un entegrasyonu hızlandıkça, bu proje iki işletim sistemi arasındaki birlikte çalışabilirliği araştırmada önemli bir rol oynuyor.
- Bu proje çok zaman ve emek gerektiriyor; ayrıca ek araştırma ve geliştirme gerekiyor.
- Benzer işlevlere sahip projeler arasında Corellium'un sanal iPhone bulut ürünü de bulunuyor.
1 yorum
Hacker News görüşleri
Corellium, açılan davayı kazanarak güvenlik araştırması amacıyla iOS Cloud VM kiralayabilir hale geldi
Bir sonraki görevin iPad'e MacOS kurmanın yolunu bulmak olması umuluyor
Apple'ın Simulator'ı Emulator'a dönüştürmemesinin nedeninin, insanların iOS'un temellerini derinlemesine incelemesini istememesi olduğu hissi var
Yazarın GitHub profiline bakılırsa, yeni mezun bir bilgisayar bilimi öğrencisi olarak oldukça etkileyici işler yapmış
qemu-t8030u yapan kişispringboardu çalıştırmayı başardı ama kodu paylaşmadı. Bu ilerleme mevcut projeyle birleştirilebilirse harika olurKonu biraz farklı ama ARM macOS'u x86-64 üzerinde sanallaştıran biri olup olmadığı merak ediliyor
Apple zaten XCode içinde bir iOS simülatörü sunuyor. Bu projenin Apple'ın sunduğuna göre ne avantaj sağladığı merak ediliyor
Bu konuya dair tartışma nick's funny device emporium Discord sunucusunda sürüyor