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

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

Затем эксперты рассказали, что в кошельках Trezor можно заменить микроконтроллер. «После этого на устройства Trezor можно установить свой скомпрометированный загрузчик», — объясняет Датко. Во время презентации эксперты пропустили этот этап, но объяснили участникам, что в лаборатории им удалось подключиться к аппаратному отладчику и получить свободный доступ к чипу, что позволило перепрошить компоненты с помощью вредоносного кода.
Кошелёк Ledger, в свою очередь, был оснащён простейшим аппаратным имплантом, который позволяет подтверждать транзакции без участия пользователя. Эксперты потратили на это всего 3,16 доллара: они установили на устройство RF-переключатель, которым можно управлять удалённо с помощью радиочастот (на расстоянии не менее 11 метров с передатчиком мощностью 50 Вт).

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

На Ledger Blue било възможно да се извърши атака по страничен канал (странична атака). При изследване на хардуера на устройството Thomas Roth установил, че портфейлът разполага с дълъг проводник, който се държи като антена. Сигналът се усилва, ако устройството е свързано с USB кабел. С помощта на SDR оборудване експертите прихванали и анализирали тези радиовълни. Roth разработил фреймуърк, който автоматично записвал сигнал при въвеждане на PIN код и използвал модел с изкуствен интелект, за да преобразува тези данни в информация, четима от човек. В резултат на това експертите успели да постигнат 90% точност на тези “прогнози”.

Друг проблем беше разкрит в портфейла Trezor One, който работи с микроконтролера STM32F205, управляващ по същество работата на всички компоненти. Фактът е, че през 2017 г. в този модел микроконтролерите откриха уязвимост, свързана с въвеждането на грешки (fault injection). Миналата година експертите не знаеха дали този проблем засяга и хардуерните портфейли, но експерти от CCC заявиха, че след изследване на процедурите за изтегляне и актуализация са установили, че частен ключ или базов ключ може да бъде извлечен от RAM паметта. Подобна атака би дала на нападателя достъп до криптовалутата и би му позволила да прехвърли средствата към друг портфейл.

Производителите вече реагираха на представянето на експертния доклад. Така разработчиците на Ledger заявиха, че всички демонстрирани атаки са трудни за осъществяване, изискват физически достъп до устройството и че обикновените потребители нямат причина за притеснение, тъй като подобен компромис е труден за практическо реализиране.
Разработчиците на Trezor от своя страна заявиха, че вече подготвят корекции, въпреки че също подчертаха, че атаките са осъществими само при физически достъп до устройството.