Уязвимость в устройствах позволяет восстановить первичный ключ шифрования и обойти двухфакторную аутентификацию.
Французские исследователи безопасности из NinjaLab обнаружили опасную уязвимость (CVE-2021-3011) в микросхемах, используемых в аппаратных ключах безопасности Google Titan и YubiKey.
Эксплуатация уязвимости позволяет злоумышленникам восстановить первичный ключ шифрования (алгоритм ECDSA), используемый аппаратным ключом безопасности для создания криптографических токенов и обхода операций двухфакторной аутентификации.
По словам экспертов, атаку по сторонним каналам нельзя осуществить удаленно, через Интернет или по локальной сети. Для использования ключа безопасности Google Titan или Yubico злоумышленнику сначала необходимо открыть корпус устройства, а сделать это, не повреждая пластик, достаточно сложно.
«Пластиковый корпус состоит из двух частей, которые прочно склеены между собой, и их непросто разделить ножом, резаком или скальпелем. Мы использовали термофен, чтобы размягчить белый пластик и иметь возможность легко разделить две части корпуса с помощью скальпеля. Процедура достаточно простая и, при аккуратном выполнении, позволяет сохранить печатную плату в безопасности», — отметили исследователи.
Исследователи заявили, что, изучив около 6 тыс. операций, выполняемых на микроконтроллере NXP A7005a, чипе, используемом в ключах безопасности Google Titan, они смогли восстановить первичный ключ шифрования ECDSA для подписи каждого криптографического токена, когда-либо созданного на устройстве.
Специалисты также отметили, что процесс взлома обычно занимает несколько часов, требует дорогостоящего оборудования и специального программного обеспечения.
Уязвимость затрагивает все версии Google Titan, Yubico Yubikey Neo, Feitian FIDO NFC USB-A/K9, Feitian MultiPass FIDO/K13, Feitian ePass FIDO USB-C/K21, Feitian FIDO NFC USB-C/K40, а также устройства на базе чипов NXP JavaCard (J3A081, J2A081, J3A041, J3D145_M59, J2D145_M59, J3D120_M60, J3D082_M60, J2D120_M60, J2D082_M60, J3D081_M59, J2D081_M59, J3D081_M61, J2D081_M61, J3D081_M59_DF, J3D081_M61_DF, J3E081_M64, J3E081_M66, J2E081_M64, J3E041_M66, J3E016_M66, J3E016_M64, J3E041_M64, J3E145_M64, J3E120_M65, J3E082_M65, J2E145_M64, J2E120_M65, J2E082_M65, J3E081_M64_DF, J3E081_M66_DF, J3E041_M66_DF, J3E016_M66_DF, J3E041_M64_DF и J3E016_M64_DF).
Источник: securitylab