MIT создали микроскоп для чипов: ОС Fractal нашла уязвимости в Apple M1

Исследователи MIT разработали Fractal, ядро операционной системы, которое дает чистый, почти беззвучный вид на внутренние процессы чипа. Обычно специалисты по безопасности изучают микроархитектуру на macOS или Linux, вручную патчат ядро и надеются, что изменения держатся. Этот метод нестабилен, сложно воспроизводим и на Apple-платформах уже устаревает. Fractal начинается с нуля: загружается напрямую на голое железо и подает примитивы, которые одна и та же программа может выполнять то с правами ядра, то с правами пользователя в одном и том же адресном пространстве. Результат: почти нулевой шум в измерениях.
На примере Apple M1 команда уже обнаружила неожиданное. Процессор корректно блокирует косвенное предсказание ветвлений между уровнями привилегий, но все еще подгружает адрес-мишень в кэш инструкций до того, как защита сработает. Это значит, код пользователя может все еще повлиять на то, что ядро потянет в свой кэш через побочный канал. Fractal также впервые доказал, что на Apple Silicon работает Phantom-спекуляция (ранее наблюдалась только на AMD и Intel), и переворотил старые выводы о привилегированной изоляции условного предсказания.
Ключевые факты
- Fractal это операционная система, написанная с нуля специально для изучения микроархитектуры; поддерживает x86_64, ARM64 и RISC-V
- Техника multi-privilege concurrency позволяет менять уровень привилегий во время выполнения на одних и тех же инструкциях и адресном пространстве
- На Apple M1 команда нашла несколько уязвимостей, в том числе первое свидетельство Phantom-спекуляции на Apple Silicon
- Fractal уже перед инженерами Apple на анализе; авторы планируют сделать инструмент общеинженерной базой для микроархитектурных исследований
- Проект включает более 31 тысячи строк кода и стандартные инструменты (vim, GCC, dash shell) для простоты переноса существующих экспериментов
Ред. Самый честный способ понять, как работает железо, это не трогать операционную систему, которая всё скрывает.
Почему это важно
Микроархитектурные уязвимости (Spectre, Meltdown, Phantom) это не дыры в коде, это врожденные черты чипов. Чтобы найти такие уязвимости надежно, исследователи должны видеть внутренности процессора во всех деталях, без шума от ОС, без случайных прерываний, без свапа потоков между ядрами. Fractal снимает все помехи и дает контролируемую изоляцию. Это изменит стандарт надежности исследований в области безопасности процессоров.
Ред. Все эти годы исследователи пиликали пилой, которая была сломана; Fractal это скальпель.
Кому это важно
В первую очередь это касается специалистов по безопасности, которые ищут боковые каналы утечки данных и спекулятивные атаки. Но это касается и разработчиков чипов: Apple, Intel, AMD теперь смогут быстрее валидировать свои защиты и тестировать новые микроархитектурные решения. Компании, которые беспокоятся о защите конфиденциальности через микроархитектурный контроль, получат инструмент для надежной проверки.
Ред. Apple уже посмотрели Fractal; похоже, результаты их заинтересовали.
Как это применить
Если вы разработчик чипа или исследователь микроархитектуры, Fractal готов к использованию с 31 тысячами строк кода, стандартными POSIX вызовами и портами известных инструментов. Скопируйте свой существующий код экспериментов и запустите его на чистом железе, без ОС. Если вы специалист по безопасности, можно искать новые побочные каналы и спекулятивные атаки, которые раньше скрывались под шумом. Авторы планируют сделать Fractal общей базой наподобие QEMU или FFmpeg, поэтому будут приветствовать вклады и расширения.
Ред. До сих пор каждая лаборатория переизобретала велосипед; теперь он один на всех.
Можно ли доверять
MIT CSAIL это один из крупнейших компьютерных лабораторий мира, а безопасность микроархитектуры это их профессиональная область. Работа была представлена на IEEE Symposium on Security and Privacy в Сан-Франциско, а также поддержана NSF, U.S. Air Force Office of Scientific Research и DARPA. Apple инженеры сами разобрали инструмент и похоже не возражали. Результаты прошли рецензирование и обсуждение в сообществе. Код открыт и воспроизводим.
Ред. Когда тебе помогают разбирать собственную архитектуру чужие люди, либо ты очень скромный, либо они правы.
Риски и подводные камни
Fractal требует прямого доступа к голому железу; использование требует глубокого понимания микроархитектуры и ассемблера. Если неправильно интерпретировать результаты, можно прийти к неверным выводам о защитах. Инструмент это электронный микроскоп, он видит все детали, но не объясняет их автоматически. Кроме того, уязвимости, найденные в M1, могут уже быть закрыты в новых поколениях чипов (хотя Fractal поможет найти новые). Наконец, сам факт, что Apple и Intel всё еще допускают такие дыры, говорит о том, что микроархитектурная безопасность это сложная и постоянная игра в кота и мышку.
Ред. Нашли Phantom в M1, но это не значит, что его нет в M4; просто раньше его не видели.