Security Week 2224: аппаратная уязвимость в Apple M1

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

На прошлой неделе исследователи из США обнародовали (сайт проекта, научная работа) детали аппаратной уязвимости в микропроцессорах на базе архитектуры ARM. Используя методы, впервые показанные для атаки SPECTRE в 2018 году, исследователи смогли обойти важный механизм защиты, известный как Pointer Authentication. Атака, получившая название PACMAN, была смоделирована на устройстве с процессором Apple M1.

Система проверки указателей была впервые представлена в архитектуре ARMv8.3 в 2017 году. Она серьезно затрудняет эксплуатацию уязвимостей, приводящих к повреждению содержимого памяти. Для указателей генерируется так называемый Pointer Authentication Code, криптографический хэш, который делает практически невозможной их модификацию: если код аутентификации неверный, выполнение программы прекращается. Соответственно, становится значительно сложнее эксплуатировать ошибку в коде и инициировать выполнение произвольного кода по указанному атакующим адресу. Исследователи из института MIT нашли способ подбора «правильного» кода аутентификации, пользуясь возможностями спекулятивного выполнения инструкций.

В нормальных условиях подобрать правильный PAC теоретически можно, но на практике каждая попытка перехода с неверным кодом будет приводить к падению программы с ошибкой. При перезапуске программы (что само по себе затрудняет потенциальную атаку) меняются и коды Pointer Authentication. Как выяснилось, можно создать такие условия, в которых операция перехода с аутентификацией выполняется спекулятивно. Ошибки от неправильного кода PAC при этом не происходит, а многократное спекулятивное выполнение операции позволяет подобрать код аутентификации. Анализ работы процессора по сторонним каналам позволяет определить, с каким кодом операции перехода будет дан «зеленый свет».

Принцип работы PACMAN очень похож на таковой у атаки SPECTRE: там также создаются условия для спекулятивного выполнения кода, но по сторонним каналам «вытаскивается» секретная информация. Здесь же просто обходится механизм безопасности, который в теории позволяет воспользоваться уязвимостью в ПО и, например, выполнить произвольный код в системе с привилегиями ядра. Показанная исследователями модель атаки достаточно базовая: авторы работы загружают так называемый Kernel Extension, содержащий все необходимое для проведения атаки, то есть уже пользуются максимальными привилегиями в системе. В реальности уязвимость, создающую подходящие условия, пришлось бы искать в ядре операционной системы (в данном случае Mac OS). Найти такую ошибку, впрочем, вполне возможно.

Компания Apple утверждает, что непосредственного риска для пользователей нет. Скорее всего, это действительно так: как и в случае атак семейства SPECTRE, слишком много условий должно совпасть, чтобы атаку можно было эксплуатировать. Есть небольшая вероятность, что в будущем будет найдена именно такая уязвимость в коде, которая позволит, например, получить системные права после загрузки вредоносной страницы в браузере. Но и такая серьезная проблема будет решена обычными методами — исправлением багов в браузере и в ядре ОС. Если отвлечься от этих практических трудностей, атака PACMAN выглядит красиво и слегка устрашающе: это же получается механизм обхода ключевой системы защиты, притом работающий на аппаратном уровне — его не получится «пропатчить» в существующих системах, в отличие от уязвимостей в ПО. Помимо Apple M1, механизм Pointer Authentication внедрен или планируется к внедрению и в других чипах на архитектуре ARM.

Что еще произошло:

Исследователи обнаружили (подробная статья на ArsTechnica, обсуждение на Хабре) грандиозную ошибку в логике открытия автомобилей Tesla при помощи карточки с NFC-меткой. В прошлом году использование NFC для разблокировки автомобиля было упрощено: в течение 130 секунд после открытия автомобиля можно было начать движение без дополнительной авторизации (до этого метку надо было положить на считыватель внутри авто). Как выяснилось, в течение этих же 130 секунд можно добавить новый ключ. Для проведения атаки автор работы написал приложение, которое прописывает в автомобиле новую NFC-метку. Находясь в зоне действия Bluetooth-приемника автомобиля, можно прописать в системе новый ключ, пока владелец открывает автомобиль собственной карточкой с NFC, а позднее — угнать машину.

Новое исследование показывает, как радиосигналы, передаваемые Bluetooth-модулями, встроенными в телефоны и другую технику, могут быть использованы для создания уникального паттерна, однозначно идентифицирующего конкретное устройство. Такой аналог «отпечатков пальцев» может в дальнейшем использоваться для отслеживания перемещений владельца.

Источник: https://habr.com/ru/company/kaspersky/blog/671124/


Интересные статьи

Интересные статьи

Говоря о разработке сайтов с использованием CMS 1C Bitrix вопрос покрытия тестами поднимается редко. Главная причина в том, что большинство проектов обходится штатным функционалом, который предоставля...
На прошлой неделе исследователи из Тель-Авивского университета опубликовали научную работу, в которой сообщили об обнаружении серьезных недостатков в системе шифрования данных смартфонов Samsung. Уязв...
Здравствуй, Хабровчанин! Эта публикация - продолжение статьи "Экстренная психологическая помощь | Prototyping Weekend". Статья повествует о создании прототипа Онлайн слу...
Эта статья для тех, кто собирается открыть интернет-магазин, но еще рассматривает варианты и думает по какому пути пойти, заказать разработку магазина в студии, у фрилансера или выбрать облачный серви...
Предисловие Всем привет. Мне 20 лет. Еще недавно я учился в лицее и готовился поступать в медицинский ВУЗ, а сейчас я — фулстэк разработчик в одной американской компании. На самом деле я очень р...