- Регистрация
- 28 Ноя 2020
- Сообщения
- 199
- Реакции
- 35
Ключи YubiKeys - золотой стандарт безопасности, но их можно клонировать
Исследователи безопасности обнаружили криптографическую ошибка, которая делает YubiKey 5 уязвимым для атак.
YubiKey 5, наиболее широко используемый аппаратный токен для двухфакторной аутентификации на основе стандарта FIDO, содержит криптографическую ошибку, которая делает устройство размером с палец уязвимым для клонирования, когда злоумышленник получает к нему временный физический доступ, сообщили исследователи Ars Technica.
Криптографическая ошибка, известная как побочный канал ("side channel"), содержится в небольшом микроконтроллере, используемом в большом количестве других устройств аутентификации, включая смарт-карты, используемые в банковской сфере, электронные паспорта и доступ в безопасные зоны. Хотя исследователи подтвердили, что все модели YubiKey серии 5 могут быть клонированы, они не проверяли другие устройства, использующие этот микроконтроллер, такие как SLE78 производства Infineon и последующие микроконтроллеры, известные как Infineon Optiga Trust M и Infineon Optiga TPM. Исследователи подозревают, что любое устройство, использующее любой из этих трех микроконтроллеров и криптографическую библиотеку Infineon, содержит ту же самую уязвимость.
Patching Not Possible
Производитель ключей YubiKey компания Yubico выпустила предупреждение в связи с подробным отчетом о раскрытии информации от NinjaLab, компании, которая провела реверс-инжиниринг ключей серии YubiKey 5 и разработала атаку на клонирование. Уязвимыми являются все ключи YubiKeys с прошивкой до версии 5.7, которая была выпущена в мае и заменяет криптобиблиотеку Infineon на собственную. Обновить прошивку ключей YubiKey невозможно. Таким образом, все пострадавшие YubiKey остаются уязвимыми навсегда.
«Злоумышленник может использовать эту проблему в рамках сложной и целенаправленной атаки для восстановления затронутых закрытых ключей ("private keys")», - подтверждается в сообщении. «Злоумышленнику потребуется физическое владение YubiKey, ключом безопасности или YubiHSM, знание учетных записей, которые он хочет атаковать, и специальное оборудование для проведения необходимой атаки. В зависимости от случая использования злоумышленнику могут потребоваться дополнительные сведения, включая имя пользователя, PIN-код, пароль учетной записи или ключ аутентификации».
Побочные каналы - это результат подсказок, оставленных в физических проявлениях, таких как электромагнитные излучения, кэши данных или время, необходимое для выполнения задачи, в результате которой происходит утечка криптографических секретов. В данном случае побочным каналом является время, затрачиваемое на математическое вычисление, известное как модульная инверсия. В криптобиблиотеке Infineon не была реализована распространенная защита от побочных каналов, известная как постоянное время, при выполнении операций модульной инверсии, связанных с Elliptic Curve Digital Signature Algorithm. Постоянная времени обеспечивает равномерное, а не переменное в зависимости от конкретных ключей выполнение криптографических операций, чувствительных ко времени.
Если конкретней, побочный канал находится в реализации Infineon расширенного евклидова алгоритма ("Extended Euclidean Algorithm"), метода, позволяющего, в частности, вычислять модульную обратную величину. Используя осциллограф для измерения электромагнитного излучения во время аутентификации токена, исследователи могут обнаружить крошечные различия во времени выполнения, которые раскрывают эфемерный ключ ECDSA токена, также известный как nonce. Дальнейший анализ позволяет исследователям извлечь секретный ключ ECDSA, который лежит в основе всей безопасности токена.
Как сообщают NinjaLab, для атаки требуется оборудование стоимостью около $11,000 и сложное понимание электрической и криптографической техники. Сложность атаки означает, что она, скорее всего, может быть осуществлена только национальными государствами или другими организациями, обладающими сопоставимыми ресурсами, и то только в строго целевых сценариях. Вероятность того, что такая атака будет широко использоваться в природе, крайне мала. По словам основателя компании NinjaLab, функции двухфакторной аутентификации и одноразовых паролей не затронуты, поскольку они не используют уязвимую часть library.ur.
В целом, ход атаки клонирования выглядит следующим образом:
1. Атакующий крадет логин и пароль учетной записи приложения жертвы, защищенной FIDO (например, с помощью фишинговой атаки).
2. Атакующий получает физический доступ к устройству жертвы в течение ограниченного периода времени так, чтобы жертва этого не заметила.
3. Благодаря украденным логину и паролю жертвы (для данной учетной записи приложения) атакующий отправляет запрос аутентификации на устройство столько раз, сколько необходимо, выполняя при этом измерения по побочным каналам.
4. Атакующий незаметно возвращает FIDO-устройство жертве.
5. Атакующий выполняет атаку по побочным каналам на измерения и добивается успеха в извлечении закрытого ключа ECDSA, связанного с учетной записью приложения жертвы.
6. Атакующий может войти в учетную запись приложения жертвы без устройства FIDO и незаметно для жертвы. Другими словами, противник создал клон устройства FIDO для учетной записи приложения жертвы. Этот клон будет предоставлять доступ к учетной записи приложения до тех пор, пока легитимный пользователь не отзовет свои учетные данные для аутентификации.
В данном списке, однако, отсутствует ключевой шаг - разборка YubiKey и обнажение логической платы, находящейся внутри. Вероятно, для этого нужно использовать пистолет с горячим воздухом и скальпель, чтобы снять пластиковый корпус ключа и обнажить часть логической платы, которая служит защитным элементом, хранящим криптографические секреты. После этого злоумышленник подключает чип к программному и аппаратному обеспечению, которое проводит измерения, пока ключ используется для аутентификации существующего аккаунта. По окончании измерений злоумышленник запечатывает чип в новый корпус и возвращает его жертве.
В YubiKeys правда предусмотрены дополнительные средства аутентификации пользователя, включая требование ввода PIN-кода или сканирования отпечатков пальцев или лица. Чтобы атака клонирования сработала против YubiKeys с использованием этих дополнительных мер, злоумышленнику необходимо также обладать фактором проверки пользователя.
Ключевой вопрос, который на данный момент остается без ответа, - какие еще устройства безопасности опираются на три уязвимых защищенных модуля Infineon и используют криптобиблиотеку Infineon?
Исследователи безопасности обнаружили криптографическую ошибка, которая делает YubiKey 5 уязвимым для атак.
YubiKey 5, наиболее широко используемый аппаратный токен для двухфакторной аутентификации на основе стандарта FIDO, содержит криптографическую ошибку, которая делает устройство размером с палец уязвимым для клонирования, когда злоумышленник получает к нему временный физический доступ, сообщили исследователи Ars Technica.
Криптографическая ошибка, известная как побочный канал ("side channel"), содержится в небольшом микроконтроллере, используемом в большом количестве других устройств аутентификации, включая смарт-карты, используемые в банковской сфере, электронные паспорта и доступ в безопасные зоны. Хотя исследователи подтвердили, что все модели YubiKey серии 5 могут быть клонированы, они не проверяли другие устройства, использующие этот микроконтроллер, такие как SLE78 производства Infineon и последующие микроконтроллеры, известные как Infineon Optiga Trust M и Infineon Optiga TPM. Исследователи подозревают, что любое устройство, использующее любой из этих трех микроконтроллеров и криптографическую библиотеку Infineon, содержит ту же самую уязвимость.
Patching Not Possible
Производитель ключей YubiKey компания Yubico выпустила предупреждение в связи с подробным отчетом о раскрытии информации от NinjaLab, компании, которая провела реверс-инжиниринг ключей серии YubiKey 5 и разработала атаку на клонирование. Уязвимыми являются все ключи YubiKeys с прошивкой до версии 5.7, которая была выпущена в мае и заменяет криптобиблиотеку Infineon на собственную. Обновить прошивку ключей YubiKey невозможно. Таким образом, все пострадавшие YubiKey остаются уязвимыми навсегда.
«Злоумышленник может использовать эту проблему в рамках сложной и целенаправленной атаки для восстановления затронутых закрытых ключей ("private keys")», - подтверждается в сообщении. «Злоумышленнику потребуется физическое владение YubiKey, ключом безопасности или YubiHSM, знание учетных записей, которые он хочет атаковать, и специальное оборудование для проведения необходимой атаки. В зависимости от случая использования злоумышленнику могут потребоваться дополнительные сведения, включая имя пользователя, PIN-код, пароль учетной записи или ключ аутентификации».
Побочные каналы - это результат подсказок, оставленных в физических проявлениях, таких как электромагнитные излучения, кэши данных или время, необходимое для выполнения задачи, в результате которой происходит утечка криптографических секретов. В данном случае побочным каналом является время, затрачиваемое на математическое вычисление, известное как модульная инверсия. В криптобиблиотеке Infineon не была реализована распространенная защита от побочных каналов, известная как постоянное время, при выполнении операций модульной инверсии, связанных с Elliptic Curve Digital Signature Algorithm. Постоянная времени обеспечивает равномерное, а не переменное в зависимости от конкретных ключей выполнение криптографических операций, чувствительных ко времени.
Если конкретней, побочный канал находится в реализации Infineon расширенного евклидова алгоритма ("Extended Euclidean Algorithm"), метода, позволяющего, в частности, вычислять модульную обратную величину. Используя осциллограф для измерения электромагнитного излучения во время аутентификации токена, исследователи могут обнаружить крошечные различия во времени выполнения, которые раскрывают эфемерный ключ ECDSA токена, также известный как nonce. Дальнейший анализ позволяет исследователям извлечь секретный ключ ECDSA, который лежит в основе всей безопасности токена.
Как сообщают NinjaLab, для атаки требуется оборудование стоимостью около $11,000 и сложное понимание электрической и криптографической техники. Сложность атаки означает, что она, скорее всего, может быть осуществлена только национальными государствами или другими организациями, обладающими сопоставимыми ресурсами, и то только в строго целевых сценариях. Вероятность того, что такая атака будет широко использоваться в природе, крайне мала. По словам основателя компании NinjaLab, функции двухфакторной аутентификации и одноразовых паролей не затронуты, поскольку они не используют уязвимую часть library.ur.
В целом, ход атаки клонирования выглядит следующим образом:
1. Атакующий крадет логин и пароль учетной записи приложения жертвы, защищенной FIDO (например, с помощью фишинговой атаки).
2. Атакующий получает физический доступ к устройству жертвы в течение ограниченного периода времени так, чтобы жертва этого не заметила.
3. Благодаря украденным логину и паролю жертвы (для данной учетной записи приложения) атакующий отправляет запрос аутентификации на устройство столько раз, сколько необходимо, выполняя при этом измерения по побочным каналам.
4. Атакующий незаметно возвращает FIDO-устройство жертве.
5. Атакующий выполняет атаку по побочным каналам на измерения и добивается успеха в извлечении закрытого ключа ECDSA, связанного с учетной записью приложения жертвы.
6. Атакующий может войти в учетную запись приложения жертвы без устройства FIDO и незаметно для жертвы. Другими словами, противник создал клон устройства FIDO для учетной записи приложения жертвы. Этот клон будет предоставлять доступ к учетной записи приложения до тех пор, пока легитимный пользователь не отзовет свои учетные данные для аутентификации.
В данном списке, однако, отсутствует ключевой шаг - разборка YubiKey и обнажение логической платы, находящейся внутри. Вероятно, для этого нужно использовать пистолет с горячим воздухом и скальпель, чтобы снять пластиковый корпус ключа и обнажить часть логической платы, которая служит защитным элементом, хранящим криптографические секреты. После этого злоумышленник подключает чип к программному и аппаратному обеспечению, которое проводит измерения, пока ключ используется для аутентификации существующего аккаунта. По окончании измерений злоумышленник запечатывает чип в новый корпус и возвращает его жертве.
В YubiKeys правда предусмотрены дополнительные средства аутентификации пользователя, включая требование ввода PIN-кода или сканирования отпечатков пальцев или лица. Чтобы атака клонирования сработала против YubiKeys с использованием этих дополнительных мер, злоумышленнику необходимо также обладать фактором проверки пользователя.
Ключевой вопрос, который на данный момент остается без ответа, - какие еще устройства безопасности опираются на три уязвимых защищенных модуля Infineon и используют криптобиблиотеку Infineon?