Представьте, что на небольшом чипе размером с почтовую марку хранится два миллиона долларов, а пароль к нему забыт. Аппаратные кошельки, как Trezor, защищают приватные ключи в криптовалюте, но потеря пароля означает потерю доступа к средствам.

Джо Гранд, инженер и хакер оборудования, получил заказ на взлом Trezor с парой миллионов долларов. Работа заняла три месяца интенсивных экспериментов с инъекцией сбоев (fault injection), чтобы обойти защиту чипа STM32 и получить доступ к оперативной памяти устройства, где временно хранились PIN и парольная фраза.

Атака заключалась в многократном цикле включения и отключения питания с точным вызовом глитча, что позволяло войти в отладочный режим и считать секретные данные. Заказчики боялись ошибиться, ведь слишком много неверных попыток ввода PIN приведёт к удалению содеримого кошелька.

Хотя в новых версиях прошивки Trezor устранил копирование ключей в оперативную память, фундаментальная уязвимость микроконтроллера остатся. Компания рассматривает замену чипа, но производители требуют подписания NDA, чего Trezor избегает из-за открытого программного обеспечения.

Джо Гранд — известный инженер-электротехник и бывший член хакерского коллектива L0pht, который обучает организации методам взлома оборудования для повышения безопасности.