Анатомия нового формата виртуальных дисков Apple ASIF
На WWDC 2025 компания Apple представила новый формат виртуальных дисков ASIF (Apple Sparse Image Format), интегрированный в фреймворк Virtualization macOS Tahoe. Это разреженный формат, позволяющий хранить большие виртуальные диски эффективнее, занимая меньше физического места, аналогично существующим форматам VMDK, VHDX и QCOW2.
Инженер Шампер провёл полный reverse-engineering формата, детально описав этот процесс на примере собственного опыта. Основная структура включает заголовок с сигнатурой, версией и размерами; каталог выделения (allocation directory) с версионированием для атомарных обновлений; таблицы данных с записями, указывающими на фрагменты в файле; и метаданные в формате plist.
Каждая запись данных занимает 64 бита: 55 бит для номера фрагмента (chunk number) и 9 бит для флагов (инициализировано, не инициализировано, размапировано, содержит битовую карту). Размер фрагмента обычно составляет 1 МБ, максимальный размер виртуального диска близок к 4 ПБ. Метаблок расположен в зарезервированной области в конце образа.
Для анализа автор использовал классический подход: исследование hexdump файла, поиск магических байтов, анализ кода системного фреймворка через IDA, изучение отладочных сообщений в бинарнике diskimagescontroller. Полученная структура оказалась элегантной и логичной, легче рассуждаемой, чем в других разреженных форматах, хотя и с меньшим функционалом.
Ключевые факты
- ASIF, новый формат виртуальных дисков Apple, представленный на WWDC 2025 для macOS Tahoe, входит в фреймворк Virtualization
- Архитектура включает версионированный каталог выделения, таблицы данных с 64-битными записями, метаблок в plist; максимальный размер диска ~4 ПБ
- Структура элегантнее, чем у VMDK/VHDX/QCOW2: атомарные обновления через версионирование, простое управление фрагментами, ясная иерархия данных
- Reverse-engineering проводился через анализ hexdump, поиск строк в системном бинарнике diskimagescontroller, анализ деcompiled кода функций парсинга заголовка
Почему это важно
Новый формат отражает эволюцию системного ПО Apple, virtualization становится всё критичнее для macOS (особенно с переходом на Apple Silicon). ASIF демонстрирует, как Apple подходит к проектированию системных форматов: выбирает надёжные решения из существующего экосистема (VMDK, QCOW2), но упрощает архитектуру для своих сценариев. Это важно для разработчиков, которые работают с виртуальными машинами на Mac, и для инженеров, интересующихся reverse-engineering и дизайном бинарных форматов.
Кому это важно
Разработчикам, использующим Virtualization framework на macOS; системным инженерам и DevOps, работающим с виртуальными машинами; специалистам по reverse-engineering и анализу бинарных форматов; компаниям, разрабатывающим инструменты виртуализации (VMware, Parallels, QEMU); исследователям, изучающим дизайн системного ПО.
Как это применить
Разработчики на macOS могут использовать ASIF для создания компактных образов ВМ через Virtualization framework (команда diskutil image create --format ASIF). Инженеры могут применить архитектуру ASIF как образец для проектирования собственных разреженных форматов: версионирование каталога для атомарности, группировка записей с битовыми картами, отделение метаданных. Reverse-engineer-специалисты могут использовать описанный метод (hexdump → strings → IDA анализ) как шаблон для анализа неизвестных бинарных форматов.
Можно ли доверять
Анализ полностью основан на official Apple documentation (Virtualization framework) и reverse-engineering системного бинарника diskimagescontroller, который поставляется с macOS. Автор провёл тщательный анализ исходного кода функций парсинга через IDA и верифицировал выводы тестированием на реальных ASIF файлах. Описание архитектуры совпадает с поведением образов, созданных Apple tools. Какие-либо неясности автор чётко обозначил как предположения.
Риски и подводные камни
ASIF, новый формат (выпущен в конце 2025), поэтому экосистема инструментов ещё не сформирована. Совместимость с существующими инструментами виртуализации (VirtualBox, QEMU, Parallels) не гарантирована, ASIF привязан к Apple Virtualization framework. Максимальный размер диска (4 ПБ) теоретический; на практике ограничивают доступная память и производительность. Инструменты для конвертации из VMDK/QCOW2 в ASIF могут отсутствовать, требуя промежуточных шагов. Обратная совместимость с более старыми версиями macOS не поддерживается, требуя Tahoe или позже.
«Если вы когда-либо смотрели, как работают другие форматы разреженных дисков (VMDK, VHDX, QCOW2), вы обнаружите, что ASIF, весьма элегантный и простой формат. Конечно, у него нет всех тех же функций, но хотя бы базовые вещи довольно легко осмыслить.»
— Schamper (блог schamper.dev)