Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

В середине марта исследователи из нескольких университетов в США опубликовали научную работу, в которой продемонстрировали аппаратную уязвимость в процессорах Apple серии M. Apple M — собственная разработка компании на базе архитектуры ARM, используемая в большинстве ноутбуков и настольных ПК, а также в некоторых планшетах iPad. Проблема может быть эксплуатирована для взлома алгоритмов шифрования. Атаку, построенную на базе этой уязвимости, назвали GoFetch.

Сочетание интересной темы с именем известного производителя привело к тому, что совершенно техническая работа была процитирована большим количеством специализированных и не очень изданий, зачастую с алармистскими заголовками типа «не доверяйте ноутбукам Apple свои приватные данные». На самом деле все не так плохо, но чтобы по-настоящему разобраться в сути новой проблемы, нам придется слегка углубиться в теорию работы процессоров, в частности поговорить про три концепции: предварительную выборку данных из оперативной памяти, программирование с постоянным временем и атаку по сторонним каналам. Как обычно, мы постараемся объяснить все максимально простыми словами.

Предварительная выборка данных

Центральный процессор компьютера или ноутбука выполняет программу, которая представлена в виде машинных кодов. Грубо говоря, это набор чисел, часть из которых представляет собой команды, а все остальное — данные для вычислений. На этом самом базовом уровне речь идет о самых простых командах: загрузить из памяти такие-то данные, произвести над ними какие-то вычисления, записать результат обратно в память.

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

Концепция предварительной загрузки данных заключается в следующем: если в коде программы будет обнаружена команда на загрузку определенных данных, почему бы во имя ускорения не загрузить их еще до того, как они понадобятся? Если данные в ходе дальнейших вычислений пригодятся — мы выполним программу чуть быстрее. Не пригодятся — не беда, сотрем их из кэш-памяти процессора и загрузим что-то еще.

Так работают самые базовые технологии предварительной выборки данных. В процессорах Apple используется довольно новый метод, известный как «контекстно зависимая предварительная выборка данных» или «data memory-dependent prefetcher» (DMP). Если коротко, DMP работает более агрессивно. Не всегда команды на загрузку данных из памяти доступны явным образом. Указатели на определенную область памяти могут быть результатом вычислений, которые еще нужно произвести. Либо они могут храниться в массиве информации, с которым программа будет работать позднее. DMP пытается угадать, что из данных программы является указателем на область памяти. Логика такая же: если что-то похоже на указатель, пытаемся загрузить информацию по соответствующему адресу. Процесс угадывания использует историю недавних операций, причем они могут относиться к совсем другой программе.

В 2022 году предыдущее исследование показало, что технология DMP достаточно часто путает указатели и какие-то другие данные, с которыми работает программа. Само по себе это проблемой не является: ну загрузили в кэш-память процессора что-то не то, ну бывает. Проблемы появляются, когда речь идет о работе алгоритмов шифрования. DMP может при некоторых условиях сломать концепцию программирования с постоянным временем. Давайте теперь поговорим про нее.

 

Посмотреть статью полностью

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • KL FC Bot
      Автор KL FC Bot
      Компьютеризация автомобиля давно дошла до такого уровня, что кибератаки на него весьма действенны — возможны угон, несанкционированное включение дополнительного оборудования, дистанционные торможение и руление, шпионаж. Но чтобы провести эти атаки, зачастую нужен кратковременный физический доступ к автомобилю или взлом его телематических систем, то есть связи с сервером производителя по сотовой сети. В недавно опубликованном исследовании PCA Cyber Security описан новый способ — для взлома достаточно подключиться к развлекательной системе автомобиля по Bluetooth. Четыре уязвимости, коллективно названные PerfektBlue, вряд ли приведут к массовым угонам или взломам, но знать о них и соблюдать внимательность все же стоит.
      Под капотом PerfektBlue
      Подключить смартфон к автомобилю по Bluetooth для разговоров по громкой связи или прослушивания музыки можно в любом авто, выпущенном за последние 10 лет. Для этого в развлекательной системе (infotainment system), которая является частью головной системы (head unit), имеется чип Bluetooth и набор специального ПО. Многие производители автомобилей используют один и тот же набор ПО под названием OpenSynergy BlueSDK. По словам разработчиков, BlueSDK используется в 350 млн автомобилей. По имеющейся информации, в их числе Ford, Mercedes-Benz, Skoda, Volkswagen.
      Исследователи PCA Cyber Security обнаружили четыре уязвимости в BlueSDK (CVE-2024-45431, CVE-2024-45432, CVE-2024-45433, CVE-2024-45434), которые атакующий может объединить, чтобы запустить на устройстве свой вредоносный код. Для этого ему нужно быть подключенным к автомобилю по Bluetooth, то есть пройти процедуру сопряжения (pairing). Если это условие выполнено, то дальше злоумышленник беспрепятственно посылает автомобилю вредоносные команды по протоколу управления аудиоплеером (AVCRP). Это вызывает в операционной системе головного устройства ошибку, и в итоге хакер получает на нем те же права, что и программный код автопроизводителя для работы с Bluetooth. С этими правами атакующий теоретически может отслеживать местоположение жертвы, записывать происходящее в машине с помощью встроенных микрофонов, а также красть сохраненные в головной системе данные, например записную книжку жертвы. В зависимости от архитектуры конкретного автомобиля, из головной системы через CAN-шину злоумышленнику могут быть доступны управляющие модули (ECU) для контроля более серьезных функций, таких как тормоза.
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      У информационной безопасности есть много уровней сложности. На слуху эффективные, но технически простые атаки с использованием фишинговых рассылок и социального инжиниринга. Мы часто пишем о сложных таргетированных атаках с использованием уязвимостей в корпоративном программном обеспечении и сервисах. Атаки, использующие фундаментальные особенности работы аппаратного обеспечения, можно считать одними из самых сложных. Цена такой атаки высока, но в некоторых случаях это не останавливает злоумышленников.
      Исследователи из двух американских университетов недавно опубликовали научную работу, в которой показан интересный пример атаки на «железо». Используя стандартную функцию операционной системы, позволяющую переключаться между разными задачами, авторы исследования смогли разработать атаку SleepWalk, позволяющую взломать новейший алгоритм шифрования данных.
      Необходимые вводные: атаки по сторонним каналам
      SleepWalk относится к классу атак по сторонним каналам. Под «сторонним каналом» обычно понимается любой способ похитить секретную информацию, используя непрямое наблюдение. Например, представим, что вы не можете наблюдать за человеком, который набирает на клавиатуре пароль, но можете подслушивать. Это реалистичная атака, в которой сторонним каналом выступает звук нажатия на клавиши, — он выдает, какие именно буквы и символы были набраны. Классическим сторонним каналом является наблюдение за изменением энергопотребления вычислительной системы.
      Почему энергопотребление меняется? Здесь все просто: разные вычислительные задачи требуют разных ресурсов. При сложных вычислениях нагрузка на процессор и оперативную память будет максимальной, а при наборе текста в текстовом редакторе компьютер большую часть времени будет находиться в режиме простоя. В некоторых случаях изменение энергопотребления выдает секретную информацию, чаще всего — приватные ключи, используемые для шифрования данных. Точно так же как сейф с кодовым замком может выдавать правильное положение ротора еле слышным щелчком.
      Почему такие атаки сложны? Прежде всего, любой компьютер одновременно выполняет множество задач. Все они как-то влияют на потребление электроэнергии. Выделить из этого шума какую-то полезную информацию крайне непросто. Даже при исследовании простейших вычислительных устройств, таких как ридеры смарт-карт, исследователи делают сотни тысяч измерений за короткий период времени, повторяют эти измерения десятки и сотни раз, применяют сложные методы обработки сигнала, чтобы в итоге подтвердить или опровергнуть возможность атаки по стороннему каналу. Так вот, SleepWalk в некотором смысле упрощает такую работу: исследователи смогли извлечь полезную информацию, измеряя характер энергопотребления только один раз, во время так называемого переключения контекста.
      График изменения напряжения во время переключения контекста центрального процессора. Источник
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      До недавнего времени злоумышленники в основном интересовались криптокошельками исключительно домашних пользователей. Однако, по всей видимости, бизнес все чаще стал использовать криптовалюту — теперь злоумышленники пытаются добраться и до кошельков организаций. За примерами далеко ходить не надо. Недавно исследованный коллегами зловред Efimer, рассылаемый организациям, умеет подменять адреса криптокошельков в буфере обмена. В России организации не имеют права рассчитываться криптовалютой, но, тем не менее, некоторые используют ее в качестве инвестиций. Поэтому функциональность, связанная с криптокошельками, появилась даже в зловредах, используемых в атаках исключительно на российские организации. Вредоносное ПО семейства Pure, например, не только подменяет адреса в буфере, но также охотится и за учетными данными программных криптокошельков. Поэтому мы не очень удивились, когда увидели и криптовалютный фишинг, направленный не только на домашних, но и на корпоративных пользователей. Чему мы удивились, так это легенде и, в целом, качеству этого фишинга.
      Фишинговая схема
      Сама по себе схема нацелена на пользователей аппаратных криптокошельков Ledger: Nano X и Nano S Plus. Злоумышленники рассылают фишинговое письмо, в котором многословно извиняются за допущенный промах — якобы из-за технического недочета сегменты приватного ключа от криптокошелька были переданы на сервер Ledger. И он в общем-то был очень хорошо защищен и зашифрован, но вот команда обнаружила очень сложную утечку, в ходе которой атакующие эксфильтрировали фрагменты ключей и при помощи крайне продвинутых методов расшифровали их и реконструировали часть ключей, что привело к краже криптоактивов. И чтобы через эту уязвимость не взломали еще и ваш криптокошелек, авторы письма рекомендуют немедленно обновить микропрошивку устройства.
      Фишинговое предупреждение о необходимости обновления микропрошивки
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      Технологию ключей доступа (КД, passkeys) рекламируют все ИТ-гиганты как эффективную и удобную замену паролям, которая может покончить с фишингом и утечками учетных данных. Суть в следующем — человек входит в систему при помощи криптографического ключа, сохраненного в специальном аппаратном модуле на его устройстве, а разблокирует эти данные при помощи биометрии или ПИН-кода. Мы подробно разобрали текущее положение дел с passkeys для домашних пользователей в двух статьях (терминология и базовые сценарии использования, сложные случаи), но у компаний к ИБ-технологиям совершенно другие требования и подходы. Насколько хороши ключи доступа и FIDO2 WebAuthn в корпоративной среде?
      Мотивы перехода на passkeys в компании
      Как и любая крупная миграция, переход на ключи доступа требует бизнес-обоснования. В теории passkeys решают сразу несколько злободневных проблем:
      Снижают риски компрометации компании с использованием кражи легитимных учетных записей (устойчивость к фишингу — главное заявленное преимущество КД). Повышают устойчивость к другим видам атак на identity, таким как перебор паролей — brute forcing, credential stuffing. Помогают соответствовать регуляторным требованиям. Во многих индустриях регуляторы обязуют применять для аутентификации сотрудников устойчивые методы, и passkeys обычно признаются таковыми. Снижают затраты. Если компания выбрала passkeys, хранящиеся в ноутбуках и смартфонах, то высокого уровня безопасности можно достичь без дополнительных затрат на USB-устройства, смарт-карты, их администрирование и логистику. Повышают продуктивность сотрудников. Хорошо налаженный процесс аутентификации повседневно экономит время каждому сотруднику и снижает процент неудачных входов в ИТ-системы. Также переход на КД обычно увязывают с отменой всем привычных и ненавистных регулярных смен пароля. Снижают нагрузку на хелпдеск за счет уменьшения числа заявок, связанных с забытыми паролями и заблокированными учетными записями.  
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      Исследователи Маттео Риццо и Энди Нгуен из компании Google опубликовали работу, в которой предложили усовершенствованную атаку Retbleed. Как мы объясняли в одном из предыдущих постов, атака Retbleed эксплуатирует уязвимости в процессорах AMD Zen и Zen 2, а также в процессорах Intel поколений Kaby Lake и Coffee Lake. Аппаратные уязвимости такого рода крайне сложно использовать на практике, из-за чего всевозможные варианты Spectre, а также производные атаки, типа Retbleed, остаются по большому счету теоретическими. Хотя методы борьбы с ними внедряют и создатели процессоров, и разработчики ПО. Суть работы исследователей Google заключается в повышении эффективности атаки Retbleed. Не меняя ничего кардинально в архитектуре атаки, они смоги использовать особенности процессоров AMD Zen 2, чтобы читать произвольные данные из оперативной памяти.
      Кратко о Retbleed
      Retbleed, как и Spectre, эксплуатирует особенности так называемой системы предсказания ветвлений центрального процессора. Предсказание ветвлений позволяет процессору выполнять инструкции заранее, не дожидаясь результатов предыдущих вычислений. Иногда предсказание оказывается неправильным, но в норме это должно приводить только к небольшому и незаметному для пользователя замедлению работы программы.
      Атака Spectre в 2018 году показала, что неправильные предсказания могут быть использованы для кражи секретов. Это возможно благодаря двум ключевым особенностям. Во-первых, систему предсказания ветвлений можно натренировать так, что произойдет обращение к области памяти с секретными данными, и они будут загружены в кэш-память процессора. Во-вторых, был найден способ вытащить эти секретные данные из кэш-памяти по стороннему каналу, измеряя время выполнения определенной инструкции.
       
      View the full article
×
×
  • Создать...