14-летняя уязвимость позволяла создать клон YubiKey через тайминг-атаку

14-летняя уязвимость позволяла создать клон YubiKey через тайминг-атаку

14-летняя уязвимость позволяла создать клон YubiKey через тайминг-атаку

Французские исследователи доказали, что аппаратные ключи безопасности YubiKey можно получить через атаку по стороннему каналу. Метод EUCLEAK требует физического доступа к устройству, спецоборудования стоимостью $11 тыс. и хороших технических навыков.

Используемую уязвимость (привязана к микроконтроллеру Infineon SLE78) компания Yubico уже устранила с выпуском прошивок 5.7.0 (для YubiKey и Security Key) и 2.4.0 (для YubiHSM).

Криптобиблиотеку Infineon попросту заменили собственной разработкой, однако проблема затронула также продукты других вендоров на МК Infineon (кроме SLE78, уязвимы также Optiga Trust M и Optiga TPM).

Как выяснили в NinjaLab (PDF), данная ошибка в реализации ECDSA (алгоритм цифровой подписи на основе эллиптических кривых), а точнее, расширенного алгоритма Евклида (используется при вычислении обратного по модулю), присутствует в чипах Infineon с 2010 года. Для операций модульной инверсии не предусмотрено константное время, то есть отсутствует типовая защита от атак по стороннему каналу.

Еле заметная разница во времени выполнения открывает возможность для получения эфемерного ключа ECDSA (нонс-значения) путем замеров электромагнитного излучения с помощью осциллографа. Последующий анализ позволил исследователям воссоздать секретный ключ ECDSA и тем самым нарушить безопасность YubiKey-токена.

При наличии определенных навыков атака EUCLEAK, протестированная на YubiKey 5Ci, занимает меньше часа и проводится следующим образом:

  1. Кража логина и пароля на доступ к целевому аккаунту жертвы (защищенному по FIDO приложению, можно через фишинг).
  2. Получение физического доступа к YubiKey без ведома владельца (на пару минут).
  3. Отправка на устройство запросов на аутентификацию с использованием украденных учеток, параллельные измерения (для этого придется вскрыть YubiKey-девайс и подключить к плате соответствующее оборудование, а потом замести следы, заменив поврежденный корпус).
  4. Незаметный возврат токена жертве.
  5. Анализ результатов измерений, извлечение приватного ключа ECDSA, связанного с целевой учетной записью.

Вход в аккаунт жертвы уже не потребует аппаратного ключа, то есть EUCLEAK, по словам авторов, позволяет создать клон YubiKey, действующий до тех пор, пока жертва не отзовет учётные идентификационные данные. Поскольку подобная атака сложна в исполнении, исследователи считают массовое применение маловероятным.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

Домас показал, что изменение одного регистра может перенастроить это преобразование уже после срабатывания вышестоящих средств защиты. В результате появляется альтернативный адрес, ведущий к тем же ячейкам DRAM. Охраняемый вход остаётся заперт, но контроллер внезапно рисует вторую дверь прямо в стене.

 

Чтобы система не рухнула, PoC отключает прерывания, подготавливает кеш и таблицы трансляции, ненадолго меняет схему адресации, читает или записывает нужные данные, а затем возвращает исходные настройки.

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

RSS: Новости на портале Anti-Malware.ru