Кибербезопасность

Уязвимости, обнаруженные в аппаратных кошельках Trezor и Ledger

Во время конференции Chaos Communication Congress представил доклад о проблемах, связанных с аппаратными кошельками Trezor и Ledger. Авторами исследования являются Дмитрий Недоспасов, Томас Рот и Джош Датко. Они одновременно выявили несколько угроз безопасности кошельков: атаки через сторонний канал, атаки на цепочку поставок, уязвимости на уровне микропрограммы и чипа.

Многие производители таких устройств наклеивают на свои продукты и упаковку защитные наклейки, подтверждающие, что упаковка и само устройство не вскрывались. Эксперты начали свой доклад с простой демонстрации: с помощью обычного фена наклейки на коробке Trezor One и на USB-порту кошелька были удалены без следов. Главное — следить за температурой и не перегревать наклейки и гаджеты.

Устройства Ledger поставляются без защитной наклейки, так как они надёжно гарантируют проверку целостности при каждом включении, а чип Secure Element препятствует любым попыткам физического вмешательства. Поэтому, избавившись от наклеек на Trezor, эксперты обратились к Ledger, «вскрыли» кошельки и получили доступ к их аппаратным компонентам.

Затем эксперты рассказали, что в кошельках Trezor можно заменить микроконтроллер. «После этого на устройства Trezor можно установить свой скомпрометированный загрузчик», — объясняет Датко. Во время презентации эксперты пропустили этот этап, но объяснили участникам, что в лаборатории им удалось подключиться к аппаратному отладчику и получить свободный доступ к чипу, что позволило перепрошить компоненты с помощью вредоносного кода.

Кошелёк Ledger, в свою очередь, был оснащён простейшим аппаратным имплантом, который позволяет подтверждать транзакции без участия пользователя. На это экспертам потребовалось всего 3,16 доллара: они установили на устройство ВЧ-переключатель, которым можно управлять удалённо с помощью радиочастот (на расстоянии не менее 11 метров при передатчике мощностью 50 Вт).

Что касается программной части кошельков, исследователям удалось разобрать механизм обновления микропрограммы Ledger Nano S и найти ошибку, позволяющую записать на устройство пользовательскую микропрограмму. Производитель предусмотрел защиту от таких атак: подлинность образа микропрограммы проверяется с помощью криптографической функции. Однако после завершения проверки в память записывается константа 0xF00BABE, и сама проверка выполняется только один раз, а не при каждом запуске устройства. В результате исследователи пришли к выводу, что для обхода механизма защиты достаточно поместить адрес памяти 0xF00BABE в определённое место. Сделав это, они запустили игру «Snake» на скомпрометированном устройстве, используя две доступные кнопки для управления движением на крошечном экране кошелька.

На Ledger Blue можно было провести атаку по побочному каналу (side-channel attack). Изучая аппаратное обеспечение устройства, Томас Рот обнаружил, что в кошельке имеется длинный проводник, который вёл себя как антенна. Сигнал усиливается, если устройство подключено к USB-кабелю. С помощью оборудования SDR эксперты перехватили и проанализировали эти радиоволны. Рот разработал фреймворк, который автоматически записывал сигнал при вводе PIN-кода и использовал модель искусственного интеллекта для преобразования этих данных в информацию, понятную человеку. В результате эксперты добились точности 90% в этих «прогнозах».

Ещё одна проблема была выявлена в кошельке Trezor One, который работает на микроконтроллере STM32F205, отвечающем, по сути, за работу всех компонентов. Дело в том, что в 2017 году в этой модели микроконтроллеры выявили уязвимость к внесению сбоев (fault injection). В прошлом году эксперты не знали, распространяется ли эта проблема на аппаратные кошельки, однако специалисты CCC сообщили, что после изучения процедур загрузки и обновления они обнаружили возможность извлечения закрытого ключа или базового ключа из ОЗУ. Такая атака даст злоумышленнику доступ к криптовалюте и позволит перевести средства на другой кошелёк.

Производители уже ответили на презентацию экспертного отчёта. Так, разработчики Ledger заявили, что все продемонстрированные атаки сложно осуществить, они требуют физического доступа к устройству, а у обычных пользователей нет причин для беспокойства, поскольку такой компромисс трудно реализовать на практике.

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

Ваше мнение