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