Как увлеченный пользователь, я наткнулся на некоторые тревожные новости о чипах, разработанных Apple, в моих Mac, iPhone и iPad. Похоже, что эти чипы имеют две недавно обнаруженные уязвимости, которые потенциально раскрывают конфиденциальные данные, такие как данные кредитных карт, местоположения и другие конфиденциальные сведения из браузеров, таких как Chrome и Safari, при доступе к сайтам, включая iCloud Calendar, Google Maps и Proton Mail.
Проще говоря, более поздние версии чипсетов Apple серий A и M имеют слабые стороны, которые делают их уязвимыми для атак по сторонним каналам. Это тип взлома, при котором секреты могут быть выведены путем наблюдения за косвенными характеристиками, такими как синхронизация, шум или энергопотребление, а не путем прямого доступа к данным. Причина этих сторонних каналов заключается в использовании чипами спекулятивного выполнения, метода оптимизации, который ускоряет производительность, угадывая будущие действия ЦП на основе прогнозируемого потока управления, а не следуя точной последовательности инструкций в программе.
Новое направление
Как наблюдатель, я заметил, что переход на кремний Apple направил спекулятивное исполнение на неизведанные территории. В отличие от традиционных ЦП, которые просто предвосхищают поток управления, эта новая архитектура также прогнозирует поток данных, например, определяет, какой адрес памяти должен быть загружен и какое значение будет извлечено из памяти.
Самая сильная форма атак по сторонним каналам называется FLOP. Она использует тип спекулятивного выполнения, присутствующий в предсказателе значений нагрузки чипов (LVP), который угадывает содержимое памяти, когда оно недоступно немедленно. Манипулируя LVP для доставки значений из неверных данных, злоумышленник может получить доступ к обычно ограниченной информации памяти. Этот метод можно использовать для получения истории местоположений цели на Google Maps, содержимого электронной почты из Proton Mail и событий календаря iCloud.
Проще говоря, SLAP (Software-based Load Address Prediction) использует систему, которая предсказывает, где в памяти можно получить доступ к данным инструкций (Load Address Predictor или LAP). В отличие от Load Value Predictor (LVP), который угадывает содержимое памяти, LAP предсказывает места в памяти, где можно найти инструкции. Обманывая LAP, заставляя его предсказывать неверные адреса памяти, SLAP отправляет данные из предсказанного адреса более старой инструкции загрузки в более молодые произвольные инструкции.
На практике, когда у пользователя открыта одна вкладка на целевом веб-сайте, например Gmail, и другая вкладка на сайте злоумышленника, последний может перехватить конфиденциальные строки кода JavaScript из первой, что потенциально позволяет ему читать содержимое электронной почты.
Исследователи объясняют на информативном веб-сайте, подробно описывающем различные атаки и предоставляющем соответствующие научные статьи, что существуют меры безопасности, позволяющие держать открытые веб-страницы отдельно, не давая им злонамеренно получать доступ к контенту других. Однако SLAP и FLOP обходят эти меры безопасности, позволяя страницам злоумышленников красть конфиденциальные данные, такие как учетные данные для входа, историю местоположений и даже информацию о кредитных картах с целевых веб-страниц.
Два основных преимущества делают FLOP лучше SLAP. Во-первых, FLOP имеет возможность доступа к любому адресу памяти в процессе браузера, в то время как SLAP ограничивается чтением строк из смежных веб-страниц, которые принадлежат другому сайту. Во-вторых, FLOP работает как против Safari, так и против Chrome, тогда как SLAP работает только против Safari. Примечательно, что некоторые устройства Apple подвержены одной или обеим этим атакам.
1. С 2022 года по настоящее время включены ноутбуки MacBook Air и MacBook Pro.
2. Что касается настольных компьютеров Mac, то в эту категорию попадают те, которые были выпущены с 2023 года, в том числе модели Mac Mini, iMac, Mac Studio и Mac Pro.
3. Что касается планшетов iPad Pro, Air и Mini, то применимы модели, выпущенные с сентября 2021 года по настоящее время, такие как 6-е и 7-е поколение Pro, 6-е поколение Air и 6-е поколение Mini.
4. Наконец, iPhone, выпущенные с сентября 2021 года по настоящее время, которые охватывают все модели 13, 14, 15, 16 вместе с 3-м поколением SE, также попадают в этот диапазон.
Атака LVP с помощью FLOP
При разборе механизма прогнозирования значения нагрузки (LVP), изначально реализованного в моделях M3 и A17, я обнаружил, что он функционирует неожиданным образом. Удивительно, но когда эта система сталкивается с идентичным значением данных, последовательно извлекаемым из памяти из-за повторяющейся инструкции загрузки, она пытается предсказать результат для последующего выполнения этой инструкции — даже если память, к которой в данный момент обращается загрузка, содержит совершенно другое значение! Это открытие подразумевает, что мы можем манипулировать ЦП, чтобы он выполнял вычисления на основе ошибочных значений данных, используя LVP.
Если низкоуровневый верификатор (LVP) совершает ошибку, он позволяет центральному процессору (CPU) выполнять вычисления на основе неверных данных во время спекулятивного выполнения. Это может привести к игнорированию важных проверок в логике программы для безопасности данных, создавая уязвимости, которые потенциально могут раскрыть конфиденциальные данные, хранящиеся в памяти. Чтобы проиллюстрировать риски, связанные с LVP, мы разрабатываем атаки с использованием этой уязвимости на веб-браузеры Safari и Chrome. Эти атаки включают чтение произвольной памяти, что позволяет нам извлекать историю браузера, события календаря и информацию о кредитной карте.
Для проведения атаки FLOP жертве необходимо, чтобы ее учетная запись была открыта на таких сайтах, как Gmail или iCloud, в одной вкладке браузера, а сайт злоумышленника был открыт в другой вкладке в течение как минимум пяти-десяти минут. При использовании Safari FLOP передает браузеру «обучающие данные» в виде JavaScript, помогая ему понять необходимые вычисления. Зная эти вычисления, злоумышленник может затем манипулировать структурами данных, что позволит ему получить доступ к выбранным 64-битным адресам памяти.
Когда пользователь перемещает указатель мыши по веб-странице злоумышленника, FLOP автоматически открывает связанную целевую страницу в той же области, которую занимает сайт злоумышленника. Чтобы получить ценные секреты с целевого сайта, FLOP использует определенные поведения в браузерном движке Apple WebKit, который увеличивает кучу в определенных местах и выравнивает адреса памяти структур данных по кратности 16 байтам. Эта предсказуемость уменьшает случайность (энтропию), что упрощает для FLOP подбор методом грубой силы 16-битных поисковых пространств.
Когда пользователь использует Google Chrome, FLOP идентифицирует и манипулирует внутренними структурами данных браузера, отвечающими за выполнение функций WebAssembly. Перед выполнением эти структуры проверяют сигнатуру каждой функции, чтобы убедиться, что она соответствует. FLOP использует функцию, называемую Linker-defined Value Pointer (LVP), необычным образом, позволяя злоумышленнику вызывать функции с неправильными аргументами, такими как указатели памяти вместо целых чисел. Эта манипуляция создает метод для доступа к определенным ячейкам памяти.
Для поддержания целостности отдельных сайтов Chrome гарантирует, что две или более веб-страниц могут совместно использовать память только в том случае, если их основной домен (часть после .com, .org и т. д.) идентичен, например, оба являются square.com. Это правило не позволяет одному процессу Chrome отображать URL-адреса вроде attacker.square.com и target.square.com или attacker.org и target.org. Кроме того, Chrome ограничивает совместное использование памяти примерно 15 000 доменов, указанных публично как суффиксы, для дополнительной безопасности.
Чтобы обойти эти правила, FLOP должен соответствовать трем условиям:
- Он не может быть нацелен ни на один домен, указанный в списке, так что attacker.site.tld может делить адресное пространство с target.site.tld
- Веб-страница должна позволять пользователям размещать собственные JavaScript и WebAssembly на attacker.site.tld,
- target.site.tld должен отображать секреты
Как энтузиаст технологий, я рад поделиться мыслями о потенциальной угрозе безопасности, которая может поставить под угрозу информацию о кредитных картах, хранящуюся на созданных пользователями витринах Square, таких как storename.square.site. Вот как это работает: злоумышленники размещают вредоносный код на своей собственной учетной записи, attacker.square.site. Когда оба сайта активны, attacker.square.site внедряет в систему вредоносный JavaScript и WebAssembly. По сути, они тайком внедряют опасный код, чтобы украсть конфиденциальные данные. Исследователи подробно описали этот процесс.
Эта техника позволяет отображать витрину магазина злоумышленника рядом с другими магазинами в Chrome, используя window.open для вызова их URL-адресов, как показано в предыдущем исследовании. Одним из примеров такого домена является страница учетной записи клиента, на которой отображаются сохраненные данные кредитной карты и адрес пользователя, если он вошел в целевую витрину. Следовательно, мы собираем данные с этой страницы.
SLAPping LAP глупый
Программа-злоумышленник под названием SLAP использует функцию, известную как LAP (Live Accurate Prediction) в новых процессорах Apple, для выполнения атаки по краже данных, аналогичной этой. Обманывая LAP и заставляя его предсказывать неправильное расположение памяти, SLAP может выполнять атаки по выбору злоумышленника на данные, хранящиеся в разных сеансах Safari. Исследователи показывают, как неавторизованный удаленный злоумышленник может восстановить конфиденциальную информацию из учетных записей Gmail, Amazon и Reddit после того, как цель вошла в систему.
Исследователи обнаружили, что система Load Access Protection (LAP) может распределять данные по адресам, которые ранее не использовались, временно передавая значения последующим инструкциям в необычно широком диапазоне. Однако эта функция, которая повышает производительность, также раскрывает новые уязвимости, которыми злонамеренный пользователь может воспользоваться в реальности. К этим слабостям относятся неограниченные чтения за пределами предполагаемых границ, нарушение спекулятивного потока управления, раскрытие позиции Address Space Layout Randomization (ASLR) и потенциальная угроза безопасности Safari.
На симпозиуме по безопасности USENIX 2025 года планируется опубликовать научную статью о FLOP. Между тем, в том же году результаты исследования SLAP будут представлены на симпозиуме IEEE по безопасности и конфиденциальности. Оба исследования были проведены одной и той же группой исследователей.
1. Джейсон Ким учится в Технологическом институте Джорджии.
2. Джален Чуанг — студент Технологического института Джорджии.
3. Дэниел Генкин учится в Технологическом институте Джорджии.
4. Ювал Яром учится в Рурском университете в Бохуме.
Исследователи опубликовали набор решений, которые, по их мнению, могут справиться с уязвимостями, позволяющими проводить атаки FLOP и SLAP. Они упомянули, что представители Apple доверили им свое намерение выпустить исправления для этих проблем.
В электронном письме представитель Apple предпочел не раскрывать, есть ли у них какие-либо планы по этому вопросу. Представитель выразил благодарность исследователям за сотрудничество, поскольку доказательство концепции помогает расширить их знания о таких угрозах. По их оценке, в настоящее время они не рассматривают эту проблему как неминуемую опасность для своих пользователей.
Смотрите также
- 7 лучших чехлов для Apple iPhone 16 Pro Max 2024 года
- Обзор саундбара LG S95TR: наконец-то хорошо
- Huawei Watch GT 5 против GT 4: стоит ли обновлять свое носимое устройство?
- Обзор PrivadoVPN: новый бюджетный VPN, которым можно пользоваться бесплатно
- Наконец-то я нашел утилиту для игрового ноутбука, которую действительно стоит использовать
- 20 лучших циферблатов Samsung Galaxy Watch, которые вам стоит использовать
- Honor Magic 7 Pro против OnePlus 13: битва андроидов
- Xiaomi 14T против Xiaomi 13T: сравнение Android среднего класса
- Обзор Razer Basilisk V3 Pro 35K – то же самое, но лучше
- Обзор Beyerdynamic DT 770 Pro X Limited Edition – 100 лет звука
2025-01-29 00:25