Два приложения, работающие на одном устройстве, благодаря новообнаруженному «багу» могут общаться между собой через процессор. Уязвимость не слишком опасна, но исправить её можно, только переделав аппаратную часть процессора.
Двухбитный канал
Разработчик ПО для дистрибутива Asahi Linux Эктор Мартин (Hector Martin) обнаружил в новейших процессорах Apple M1 уязвимость, которую невозможно устранить. «Баг» CVE-2021-30747, уже получивший собственное наименование M1RACLES напрямую связан с архитектурными особенностями процессора, и чтобы исправить его, потребуется переработать схемотехнику процессора.
Apple M1 — это процессор на базе архитектуры ARM, система на кристалле, с 2020 г. используемая в компьютерах Mac, ноутбуках MacBook и профессиональных планшетах iPad Pro.
Уязвимость M1RACLES позволяет двум приложениям, работающим на одном и том же устройстве, обмениваться данными через скрытый канал на уровне процессора в обход памяти, сокетов, памяти и нормальных функций операционной системы.
Как написал Мартин, системный регистр ARM с кодом s3_5_c15_c10_1 содержит два бита — 0 и 1, которые могут считываться и записываться на уровне EL0 (Exception Level 0 уровень привилегий приложений) со всех ядер процессора одновременно.
«Тем самым создаётся двухбитный скрытый канал, который любой произвольный процесс может использовать для обмена данными с другим действующим процессом», — пояснил эксперт. Он также написал демонстрационное приложение.
Назначения регистра Мартин не знает, но уверен, что доступ из EL0 ему открыт непреднамеренно.
Эксплуатация маловероятна
К счастью, эксплуатация описанного Эктором Мартином «бага» — задача не из простых, и вероятность причинения реального вреда очень мала.
По мнению Мартина, обменом данных между приложениями скорее могут попытаться воспользоваться не самые добросовестные рекламодатели. И то у Apple будут все возможности для того, чтобы пресечь такую деятельность.
«Сама по себе уязвимость не опасна, хотя сценарии её эксплуатации злоумышленниками вполне можно представить, — особенно в комбинации с каким-то другими «багами», — отмечает Алексей Водясов, технический директор компании SEC Consult Services. — Однако архитектурные ошибки, подобные этой, всегда приковывают внимание именно потому, что их невозможно исправить, не переделывая аппаратную часть, а также потому, что заставляют задаться вопросом, нет ли в исследуемом оборудовании других таких недочётов, ещё не обнаруженных и по-настоящему опасных?»
Информации о том, планирует ли Apple предпринимать что-то в связи с M1RACLES, остаётся пока неизвестным.
В исследовании Эктора Мартина указывается, что уязвимость затрагивает и операционные системы устройств на базе M1. Помимо собственных операционок Apple, это Linux, который успешно портировали на M1 в начале этого года и который может начать получать официальную поддержку уже в июне этого года. Пока, впрочем, это в основном проблема пользователей устройств Apple.