Специалисты NinjaLab представили side-channel атаку EUCLEAK, направленную на криптографическую библиотеку защищенных микроконтроллеров Infineon. Атака требует физического доступа и позволяет извлекать ключи с устройств, использующих решения Infineon.
Проблема затрагивает множество продуктов, в которых применяются решения Infineon, включая TPM, электронные паспорта, карты доступа Feitian, криптокошельки, «умные» автомобили и аппаратные ключи YubiKey, которые исследователям удалось клонировать.
Хотя специалисты уже убедились в том, что все модели серии YubiKey 5 можно клонировать, они не проверяли другие устройства, использующие уязвимый микроконтроллер (например, SLE78 производства Infineon, а также последующие микроконтроллеры, известные как Infineon Optiga Trust M и Infineon Optiga TPM).
В отчете специалистов NinjaLab подчеркивается, что все продукты, использующие криптографическую библиотеку ECDSA от Infineon, работающую на защищенном микроконтроллере Infineon, скорее всего, подвержены новой атаке. По данным экспертов, уязвимость в защищенных чипах Infineon существует более 14 лет, и за это время чипы, а также уязвимые части криптографической библиотеки компании прошли около 80 сертификационных оценок, но уязвимость никто не заметил.
В данном случае side-channel атака связана со временем, которое затрачивается на математическое вычисление (modular inversion).
Как объясняют эксперты, в криптобиблиотеке Infineon не была реализована распространенная защита side-channel атак — константное время (constant time) при выполнении операций modular inversion, связанных ECDSA (Elliptic Curve Digital Signature Algorithm). Так, константное время гарантирует, что выполнение криптографических операций, чувствительных ко времени, будет равномерным, а не варьирующимся в зависимости от конкретных ключей.
Если говорить точнее, атака связана с имплементацией Infineon расширенного алгоритма Евклида (Extended Euclidean algorithm), который, в числе прочего, используется для вычисления modular inversion.
«Infineon производит “защищенные микроконтроллеры”, которые вы можете найти во множестве устройств. Некоторые из них (и это касается серии YubiKey 5) работают под управлением криптографической библиотеки Infineon (которую Infineon разрабатывает для своих клиентов, не желающих разрабатывать собственную).
Эта криптобиблиотека очень секретна (даже ее API засекречен, и нужно подписать NDA с Infineon, чтобы просто узнать API). Никто, кроме Infineon, не знает подробностей об этой криптобиблиотеке», — рассказывают исследователи.
В итоге специалисты NinjaLab провели реверс-инжиниринг криптографической библиотеки Infineon, которую производитель старается хранить в строжайшем секрете. Подробное описание этой библиотеки, вероятно, представляет большой интерес для криптографов и исследователей, которые смогут изучить, как библиотека применяется в различных устройствах.
В своем отчете специалисты демонстрируют, что при помощи осциллографа и другого оборудования им удалось измерить электромагнитное излучение во время аутентификации токена, и это позволило обнаружить мельчайшие различия во времени выполнения, которые в итоге раскрывают эфемерный ключ ECDSA токена (nonce). А дальнейший анализ позволяет извлечь секретный ключ ECDSA, который лежит в основе безопасности токена в целом.
«Эксплуатация уязвимости показана на примере реалистичных экспериментов, и мы демонстрируем, что злоумышленнику достаточно иметь доступ к устройству в течение всего нескольких минут. Автономная фаза заняла у нас около 24 часов, но при более тщательной инженерной проработке атаки она может занимать менее часа», — пишут эксперты NinjaLab.
Стоит отметить, что для реализации такой атаки потребуется оборудование стоимостью около 11 000 долларов США, а также глубокие познания в области электротехники и криптографии. Из-за сложности реализовать такую атаку, скорее всего, смогут разве что правительственные хакеры и другие организации, обладающие сопоставимыми ресурсами, причем только в редких и узконаправленных сценариях.
В своем отчете исследователи описывают следующие шаги, необходимые для проведения атаки EUCLEAK на практике:
- злоумышленник похищает логин и пароль от учетной записи приложения жертвы, защищенной FIDO (например, с помощью фишинговой атаки);
- атакующий получает физический доступ к устройству жертвы на ограниченный промежуток времени, причем жертва не должна этого заметить;
- используя украденные логин и пароль, злоумышленник отправляет аутентификационные запросы на устройство столько раз, сколько потребуется, одновременно с этим выполняя необходимые для атаки измерения;
- атакующий незаметно возвращает FIDO-устройство на место;
- благодаря side-channel атаке и измерениям, злоумышленник извлекает закрытый ключ ECDSA, связанный с учетной записью в приложении;
- хакер получает возможность войти в учетную запись жертвы незаметно и без самого устройства, то есть создает клон FIDO-устройства для учетной записи своей цели. Такой клон поможет сохранять доступ к учетной записи до тех пор, пока настоящий пользователь не отзовет свои учетные данные.
Стоит отметить, что в описанном сценарии пропущен один важный шаг — вскрытие устройства YubiKey. Для этого атакующему, скорее всего, потребуется термофен и скальпель, чтобы снять пластиковый корпус ключа и добраться до платы. После нужно будет подключить чип к оборудованию и софту, которые будут производить измерения, пока ключ YubiKey используется для аутентификации. По окончании измерений злоумышленнику также придется собрать устройство обратно, не оставив следов.
По сути, такая атака компрометирует главную особенность FIDO-совместимых ключей, которая заключается в том, что хранящийся на них секретный криптографический материал не может быть прочитан или скопирован никаким образом. Это крайне важно, поскольку FIDO-ключи применяются во многих средах, где безопасность критически важна, например, в армии и корпоративных сетях.
Компания Yubico, производящая ключи YubiKey, уже выпустила собственный бюллетень безопасности. По словам производителя, уязвимыми являются все ключи YubiKey с прошивкой до версии 5.7, которая была выпущена в мае 2024 года и заменила криптобиблиотеку Infineon на собственное решение Yubico.
Однако обновить прошивку в ключах YubiKey невозможно. То есть все затронутые проблемой EUCLEAK устройства останутся уязвимыми навсегда.
«Злоумышленник может использовать эту проблему в рамках сложной таргетированной атаки, чтобы восстановить уязвимые приватные ключи, — подтверждает производитель. — Злоумышленнику потребуется иметь в физическом распоряжении YubiKey, Security Key или YubiHSM, знать учетные записи, которые он хочет атаковать, а также иметь специальное оборудование проведения атаки. В зависимости от варианта эксплуатации, злоумышленнику могут потребоваться дополнительные сведения, включая имя пользователя, PIN-код, пароль от учетной записи или ключ аутентификации».
В настоящее время неизвестно, какие еще защищенные устройства построены на базе проблемных модулей Infineon и используют криптобиблиотеку компании. Пока представители Infineon не давали никаких официальных комментариев.