Исследователи показали, как клонировать ключи Google Titan через уязвимость чипа NXP

image

Исследователи безопасности из NinjaLab рассказали об уязвимости (CVE-2021–3011) в чипах для аппаратных ключей безопасности Google Titan и YubiKey. Ее эксплуатация позволяет хакерам восстановить первичный ключ шифрования для создания криптографических токенов и обхода операций двухфакторной аутентификации.

В случае с ключами безопасности Google Titan или Yubico злоумышленникам для осуществления атаки нужно вскрыть корпус устройства. Он сделан из пластика и состоит из двух частей, которые соединяются клеем.

Исследователи использовали термофен, чтобы размягчить пластик и легко разделить две части корпуса ключа скальпелем.

image

Затем они изучили около 6 тысяч операций на микроконтроллере NXP A7005a, который используется в Google Titan, чтобы восстановить первичный ключ шифрования ECDSA для подписи каждого созданного на устройстве криптографического токена. Исследователи использовали уязвимость побочного канала в чипе, когда он генерировал цифровые подписи.

Данный процесс взлома достаточно дорогостоящий, так как используется специальное оборудование стоимостью до $12 тысяч. Кроме того, он занимает значительное время и требует знаний в области криптографии. Так, извлечение и последующее запечатывание чипа занимает около четырех часов. Еще шесть часов уходит на извлечение данных.

image

ИБ-исследователи отмечают, что операции такого рода могут себе позволить только крупные правительственные организации и корпорации.

Тем не менее, как выяснили в NinjaLab, уязвимость затрагивает все версии 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).

В заявлении NXP говорится, что производитель осведомлен об этом отчете и с октября поддерживает связь с большинством потенциально затронутых клиентов. Там также отметили, что пользователям доступны более новые продукты с дополнительными средствами защиты.

Защищенные ключи Google были представлены в 2018 году. Их разработали совместно со специалистами FIDO, организации, которая продвигает беспарольные системы аутентификации. При авторизации на ресурсе владелец Titan Security Key должен подтвердить свое действие — нажать кнопку на ключе или прикоснуться к нему.

В 2019 году разработчики Google уже обнаруживали серьезные проблемы безопасности в Titan Security Key. Уязвимость позволяла взломщикам перехватить управление устройством и получить доступ к аккаунту жертвы. Ее обнаружили в iOS-версии, которая использует Bluetooth. Как выяснилось, если злоумышленник находился в радиусе 10 метров от пользователя, то он мог перехватить ключ в момент сопряжения и соединить с ним свое устройство.

© Habrahabr.ru