2 điểm bởi GN⁺ 2024-10-08 | 1 bình luận | Chia sẻ qua WhatsApp

Ảo hóa iOS trên Apple Silicon

Phần 0: Vùng đất chưa biết?

  • Dự án vma2pwn: Dự án tạo chuỗi khởi động vma2 macOS có thể chỉnh sửa cho máy ảo khách macOS, đóng vai trò là bước chuẩn bị cho việc ảo hóa iOS.
  • Khả năng ảo hóa iOS: Khi quá trình chuyển đổi sang Apple Silicon và việc đưa vào Mac Catalyst khiến hai hệ điều hành iOS và macOS trở nên gần nhau hơn, câu hỏi liệu có thể ảo hóa iOS hay không đã được đặt ra.
  • Nghiên cứu hiện có: Sản phẩm đám mây iPhone ảo của Corellium, qemu-t8030 và blog của Zhuowei Zhang được nhắc đến như các nghiên cứu liên quan.

Phần I: Bắt đầu + khám phá mới

  • Tính năng của stack Virtualization của Apple: Phát hiện khả năng ký dữ liệu tùy ý cho máy ảo.
  • Giảm nhu cầu đối với vma2pwn: Có thể đặt thiết bị ảo vào chế độ "bảo mật" và "không sản xuất" thông qua lời gọi _setProductionModeEnabled(false).
  • Chiến lược chạy iOS: Tái sử dụng chuỗi khởi động macOS 12.0.1 và thay bằng ảnh hệ thống iOS 15.0.2 để giảm thiểu việc sửa đổi quá trình khởi tạo.

Phần II: Địa ngục vá lỗi

  • Bản vá kernel: Cần các bản vá để vượt qua kiểm tra chữ ký, và sửa đổi để bỏ qua kiểm tra PLATFORM_IOS nhằm chạy các tệp nhị phân iOS.
  • Vấn đề keybag hệ thống: Do keybag hệ thống không tương thích, PreBoard.app hiển thị thông báo "vuốt lên để nâng cấp".
  • Kích thước cấu trúc IOMFB không khớp: Đã giải quyết sự cố kernel panic do kích thước không khớp giữa framework hệ thống iOS và kernel macOS.
  • Bản vá hệ thống: Cần vá ramdisk khôi phục và các tệp hệ thống iOS; nếu chạy ở trạng thái chưa được ký, chúng sẽ bị chấm dứt.

Phần III: Tương lai

  • Giải quyết vấn đề keybag hệ thống: Cần thêm nhiều bản vá và hiểu biết sâu hơn về hệ thống iOS và kernel.
  • Chức năng cảm ứng: Chưa xác nhận được cảm ứng có hoạt động hay không, nhưng có thể gửi sự kiện chạm bằng API riêng tư của Virtualization.framework.

Tóm tắt của GN⁺

  • Bài viết này cung cấp một phân tích kỹ thuật chuyên sâu về cách ảo hóa iOS trên Apple Silicon.
  • Khi quá trình tích hợp giữa iOS và macOS tăng tốc, dự án này đóng vai trò quan trọng trong việc khám phá khả năng tương tác giữa hai hệ điều hành.
  • Dự án này đòi hỏi rất nhiều thời gian và công sức, đồng thời cần thêm nghiên cứu và phát triển.
  • Một dự án có chức năng tương tự là sản phẩm đám mây iPhone ảo của Corellium.

1 bình luận

 
GN⁺ 2024-10-08
Ý kiến trên Hacker News
  • Corellium đã thắng vụ kiện pháp lý, nhờ đó có thể cho thuê iOS Cloud VM cho mục đích nghiên cứu bảo mật

    • Nếu iOS có thể được ảo hóa trên MacBook Apple Silicon, nhu cầu đối với các dịch vụ ảo hóa iOS thương mại có thể sẽ giảm
    • Chi phí là 400 USD/tháng cho cá nhân và 60.000 USD/năm cho doanh nghiệp
  • Hy vọng thử thách tiếp theo sẽ là tìm ra cách cài macOS lên iPad

  • Có cảm giác Apple không biến Simulator thành Emulator vì họ không muốn mọi người đào sâu vào nền tảng của iOS

  • Theo hồ sơ GitHub của tác giả, đây là một công trình rất ấn tượng đối với một cử nhân khoa học máy tính mới ra trường

  • Người tạo ra qemu-t8030 đã từng chạy được springboard, nhưng không công khai mã nguồn. Sẽ rất tuyệt nếu tiến triển đó có thể được kết hợp với dự án hiện tại

  • Hơi khác chủ đề một chút, nhưng tôi tò mò không biết đã có ai ảo hóa ARM macOS trên x86-64 chưa

  • Apple đã cung cấp sẵn iOS Simulator trong Xcode. Tôi thắc mắc dự án này có ưu điểm gì so với những gì Apple cung cấp

  • Việc thảo luận về chủ đề này đang diễn ra trên máy chủ Discord nick's funny device emporium