Исследователи безопасности из компании NinjaLab разработали технику атаки по сторонним каналам, позволяющую клонировать ECDSA-ключи, хранимые в криптографических токенах YubiKey 5 и других устройствах, в которых используется криптографическая библиотека от компании Infineon. Атака получила кодовое имя EUCLEAK и помимо токенов с чипами Infineon SLE78, таких как YubiKey 5, может применяться ко многим другим системам с микроконтроллерами компании Infineon, включая чипы Infineon Optiga Trust M и Infineon Optiga TPM.
Возможность совершения атаки подтверждена на практике для ключей YubiKey 5Ci и TPM на чипах SLB96xx, а для других устройств носит теоретический характер. В ключах YubiKey 5 уязвимость устранена в версии прошивки 5.7 путём замены криптографической библиотеки (исправление применимо только к новым устройствам, так как в уже выпущенных устройствах YubiKey возможность обновления прошивки не предусмотрена). Для библиотеки Infineon разработаны блокирующие уязвимость исправления, но они ещё не задействованы так как не прошли сертификацию.
Кроме ключей YubiKey 5 проблема потенциально затрагивает TPM-чипы (Trusted Platform Module) ноутбуков Lenovo, Dell и HP, изолированные анклавы смартфонов Samsung и OnePlus, аппаратные криптокошельки, смарткарты, SIM-карты и EMV-чипы банковских карт, а также чипы электронных паспортов, применяемых в Китае, Индии, Бразилии, США и некоторых других азиатских и европейских странах.
Опасность клонирования ключей компенсируется условиями и сложностью проведения атаки – атакующий должен получить физический доступ к ключу и разобрать ключ, избавившись от пластикового корпуса и экранирующей оболочки. После подобной манипуляции восстановить корпус можно на 3D-принтере, но сделать незаметными манипуляции с ключом достаточно трудно. Сканирование ключа занимает несколько минут, но ещё около часа требуется на аккуратную разборку и создание нового корпуса. После сканирования устройство можно вернуть владельцу, но для воссоздания закрытого ECDSA-ключа на основе полученных данных необходимо ещё около 24 часов вычислений (отмечается, что процесс можно свести к часу, автоматизировав ручные операции и внеся оптимизации).
Кроме физического доступа к ключу для успешного проведения атаки на сервисы с многофакторной аутентификацией злоумышленнику дополнительно требуется каким-то образом узнать логин и пароль от сервиса, для дополнительной аутентификации к которому используется полученный аппаратный ключ, а в случае применения беспарольной аутентификации в режимах FIDO2 Passwordless или Passkey необходимо воспроизвести уникальный биометрический фактор (например, отпечаток пальца).
Метод атаки сводится к воссозданию хранимых в токене ключей ECDSA на основе данных, полученных через анализ электромагнитного сигнала, излучаемого токеном во время формирования цифровых подписей и коррелирующего с информацией об эфемерном ключе ECDSA, которой достаточно для восстановления секретного ключа с использованием методов машинного обучения. В случае с YubiKey для инициирования операций с цифровой подписью необходимо знать логин и пароль в одном из сервисов, в которых токен используется в качестве дополнительного звена аутентификации.
Проблема вызвана использованием в библиотеке Infineon небезопасного алгоритма вычисления обратного элемента по модулю, вычисления в котором занимают время, зависящее от значений входных данных (для разных векторов наблюдается разное время вычисления обратного элемента по модулю). Подобная особенность позволяет на основе анализа изменения сигнала выделить информацию об отдельных битах во время выполнения операций с вектором инициализации. В случае с ECDSA, определения даже нескольких битов с информацией о векторе инициализации (nonce) достаточно для совершения атаки по последовательному восстановлению всего закрытого ключа. Для успешного воссоздания ключа требуется перехват активности при генерации примерно 40 цифровых подписей.
Для анализа электромагнитного излучения во время генерации цифровых подписей требуется наличие профессионального оборудования, стоимостью более 10 тысяч долларов. Например, в процессе атаки исследователями использовался измерительный комплекс Langer ICR HH 500-6 ($2300), применяемый для испытаний микросхем на электромагнитную совместимость, усилитель Langer BT 706, микроманипулятор Thorlabs PT3/M ($1000) с разрешением 10 мкм, цифровой микроскоп Dino-Lite AM4113TL ($450) и четырёхканальный осциллограф PicoScope 6424E ($7500) с 8-битным разрешением АЦП.
Сценарий атаки на токены YubiKey 5 состоит из следующих шагов:
- Определение логина и пароля к учётной записи, защищённой токеном, например, через проведение фишинговой атаки.
- Незаметное получение физического доступа к токену.
- Анализ электромагнитного излучения от токена во время операций аутентификации с использованием ранее полученных логина и пароля.
- Возвращение токена жертве.
- Воссоздание привязанного к исследуемой учётной записи закрытого ключа ECDSA через анализ перехваченных сведений об электромагнитном излучении.
- Создание клона токена, предоставляющего возможность входа в учётную запись незаметно от жертвы без наличия исходного токена.