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, действующий до тех пор, пока жертва не отзовет учётные идентификационные данные. Поскольку подобная атака сложна в исполнении, исследователи считают массовое применение маловероятным.

Подпишитесь на новости

Spectre вернулась: новая атака вытаскивает хеш пароля root из памяти Linux

Процессор помнит старый код, хотя на его месте уже работает новый. На этой нестыковке исследователи VUSec и Scuola Superiore Sant’Anna построили Branch Target Reuse — новый вариант Spectre v2. Атака затрагивает JIT-компиляторы, которые создают машинный код во время работы программы.

Подробности опубликованы в исследовании BTR. Когда участок памяти освобождают и используют повторно, предсказатель переходов CPU может сохранить устаревшую запись.

Процессор спекулятивно выполняет инструкции по старому адресу, а следы в кеше позволяют извлекать секретные данные.

Исследователи подтвердили проблемное поведение на протестированных процессорах Intel, AMD и Arm. Они изучили JIT-движки Firefox, GraalVM и Linux, но практические результаты различаются.


Самый убедительный пример — два эксплойта против ядра Linux. На системе Intel с действовавшими защитами исследователи продемонстрировали извлечение хеша пароля root за минуты. Именно хеша: готовый пароль и автоматический вход администратора атака не выдаёт.

Для Firefox подготовлен PoC, однако до полноценного браузерного эксплойта ещё требуется работа. В GraalVM практическую эксплуатацию в экспериментах затрудняла очистка состояния предсказателя.

Атакующему нужно выполнять непривилегированный код в подходящей JIT-среде. Одна лишь модель процессора ещё не означает, что конкретную систему можно успешно атаковать.

Защита уже появилась в ядре Linux и GraalVM. Mozilla делает ставку на завершение внедрения изоляции сайтов.

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

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