Секретный канал Apple M1 в основном безвреден, но, безусловно, интересен

Логотип шрифта Apple M1.

Разработчик обнаружил, что в новом процессоре Apple M1 есть недостаток, который создает скрытый канал, который два или более уже установленных вредоносных приложения могут использовать для передачи информации друг другу.

Скрытое соединение может происходить без использования памяти компьютера, разъемов, файлов или любой другой функции операционной системы или разработчика. Гектор Мартин Он сказал. Канал может связывать операции, выполняемые разными пользователями с разными уровнями привилегий. Эти характеристики позволяют приложениям обмениваться данными незаметно — или, по крайней мере, без специального оборудования.

Технически это уязвимость системы безопасности, но …

Мартин сказал, что уязвимость в основном безвредна, поскольку ее нельзя использовать для заражения Mac и нельзя использовать эксплойтами или вредоносными программами для кражи или подделки данных, хранящихся на устройстве. Вместо этого уязвимость может быть использована только двумя или более вредоносными приложениями, которые уже были установлены на Mac средствами, не имеющими ничего общего с уязвимостью M1.

Однако ошибка, которую называет Мартин M1racles, соответствует техническому определению уязвимости. Таким образом, он получил собственное обозначение уязвимости: CVE-2021-30747.

«Это нарушает парадигму безопасности ОС», — пояснил Мартин в A. Последнее сообщение в среду. «Вы не должны иметь возможность тайно отправлять данные от одного процесса к другому. Даже если это безвредно в данном случае, вы не должны иметь возможность записывать системные журналы RAM из пользовательского пространства».

С этой оценкой согласились и другие исследователи, имеющие опыт в области безопасности ЦП и кремниевых кристаллов.

«Обнаруженная ошибка не может использоваться для вывода информации о каком-либо приложении в системе», — сказал Майкл Шварц, один из исследователей, который помог выявить более серьезную ошибку. Лавина и Спектра Уязвимости в процессорах Intel, AMD и ARM. «Его можно использовать только как канал связи между двумя (вредоносными) приложениями-замешателями».

Далее он объяснил:

Уязвимость похожа на анонимный «почтовый ящик», она позволяет двум приложениям отправлять сообщения друг другу. Это в некоторой степени невидимо для других приложений, и нет эффективного способа предотвратить это. Однако, поскольку никакое другое приложение не использует этот почтовый ящик, утечка других данных или метаданных приложения отсутствует. Таким образом, существует ограничение, что его можно использовать только в качестве канала связи между двумя приложениями macOS. Однако на самом деле существует множество способов связи между приложениями (файлы, каналы, сокеты и т. Д.), Так что другой канал не влияет отрицательно на безопасность. Однако это ошибка, которую можно неправильно использовать в качестве непреднамеренного канала связи, поэтому я думаю, что будет справедливо называть ее уязвимостью безопасности.

Мартин сказал, что секретный канал может иметь большее влияние на iPhone, поскольку его можно использовать для обхода встроенной песочницы в приложениях iOS. В обычных условиях вредоносное приложение-клавиатура не имеет возможности передавать нажатия клавиш, потому что эти приложения не могут получить доступ к Интернету. Скрытый канал может обойти эту защиту, передав нажатия клавиш другому вредоносному приложению, которое, в свою очередь, отправит его через Интернет.

Даже в этом случае шансы на то, что два приложения пройдут процесс проверки Apple и затем установят их на целевом устройстве, недостижимы.

Почему можно получить доступ к записи с помощью EL0?

Недостаток проистекает из системного реестра для каждой группы процессоров ARM, к которым может получить доступ EL0, Этот режим зарезервирован для пользовательских приложений и поэтому имеет ограниченные системные привилегии. Регистр содержит два бита, которые можно читать или записывать. Это создает скрытый канал, по которому запись может быть доступна одновременно всем ядрам в группе.

Мартин писал:

Пара злонамеренных взаимодействующих процессов может создать мощный канал за пределами этого двухбитового состояния, используя часы и протокол данных (например, одна сторона записывает 1x для отправки данных, а другая сторона записывает 00 для запроса следующего бита). Это позволяет процессам обмениваться случайным объемом данных, связанным только с перегрузкой ЦП. API привязки основных ЦП можно использовать для обеспечения того, чтобы оба процесса были запланированы для одной и той же основной группы ЦП. Доступен PoC, который демонстрирует этот подход для достижения надежной и высокоскоростной передачи данных. Здесь. Этот подход без особой оптимизации позволяет достичь скорости передачи более 1 МБ / с (меньше при избыточности данных).

Мартин предоставил пояснительное видео Здесь.

M1RACLES: ПЛОХОЕ ЯБЛОКО !! На плохом яблоке (лазейка M1).

Непонятно, почему была создана запись, но Мартин подозревает, что его прибытие в EL0 было ошибкой, а не преднамеренным. Нет возможности исправить или исправить дефекты в существующих микросхемах. У пользователей, столкнувшихся с этой уязвимостью, нет другого выхода, кроме запуска всей ОС как правильно настроенной виртуальной машины. Поскольку виртуальная машина отключит гостевой доступ к этой записи, секретный канал будет убит. К сожалению, у этого варианта есть серьезное снижение производительности.

Мартин обнаружил ошибку при использовании инструмента под названием m1n1 В качестве главного директора Asahi Linux, Это проект, направленный на перенос Linux на Mac на базе M1. Первоначально считалось, что такое поведение является проприетарной функцией, и поэтому он открыто обсуждал это на форумах разработчиков. Позже выяснилось, что это была ошибка, о которой не знали даже разработчики Apple.

Опять же, подавляющее большинство пользователей Mac — возможно, более 99 процентов — не имеют причин для беспокойства. Люди, у которых на устройстве уже установлено два или более вредоносных приложения, имеют гораздо большие проблемы. Уязвимость более выражена, чтобы показать, что недостаток в микросхеме, технически известный как Errata, присутствует почти во всех процессорах, даже в новых, которые имеют то преимущество, что учатся на предыдущих ошибках, сделанных в других архитектурах.

Apple не ответила на запрос о комментарии, поэтому пока не ясно, планирует ли компания исправить или смягчить сбои в будущих поколениях ЦП. Для тех, кто интересуется техническими подробностями, Мартин Место расположения Обеспечивает глубокое погружение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *