Инженер взламывает кошелек Trezor и восстанавливает «потерянные» криптовалюты на $2 млн

Компьютерный инженер и хакер раскрыл, как ему удалось взломать аппаратный кошелек Trezor One, в котором хранилось более 2 миллионов долларов.

Джо Гранд, проживающий в Портленде и известный под хакерским псевдонимом «Kingpin», выложил на Youtube видео, в котором объяснил, как ему удалось осуществить гениальный взлом.

Решив обналичить первоначальные инвестиции в размере около $50 000 в Theta в 2018 году, Дэн Райх, предприниматель из Нью-Йорка, и его друг поняли, что потеряли PIN-код безопасности Trezor One, на котором хранились токены. После 12 безуспешных попыток угадать PIN-код безопасности они решили выйти из игры, пока кошелек автоматически не стерся после 16 неверных угадываний.

Но поскольку в этом году их инвестиции выросли до 2 миллионов долларов, они удвоили свои усилия, чтобы получить доступ к средствам. Без начальной фразы или PIN-кода кошелька единственным способом получить токены был хакерский взлом.

Они обратились к компании Grand, которая провела 12 недель проб и ошибок, но в итоге нашла способ восстановить утраченный PIN-код.

Ключ к этому взлому заключался в том, что во время обновления прошивки кошельки Trezor One временно перемещают PIN-код и ключ в оперативную память, а после установки прошивки возвращают их обратно во флэш-память. Гранд обнаружил, что в версии прошивки, установленной на кошельке Райха, эта информация не перемещалась, а копировалась в оперативную память, что означает, что в случае неудачи взлома и стирания оперативной памяти информация о PIN-коде и ключе будет по-прежнему храниться во флэш-памяти.

После использования атаки методом инъекции ошибки — техники, которая изменяет напряжение, подаваемое на чип, — Гранд смог превзойти защиту микроконтроллеров, препятствующую хакерам читать оперативную память, и получил PIN-код, необходимый для доступа к кошельку и средствам. Гранд объяснил:

«По сути, мы вызываем неправильное поведение на кремниевом чипе внутри устройства, чтобы победить защиту. И вот что в итоге произошло: я сидел здесь, смотрел на экран компьютера и видел, что мне удалось победить защиту, частная информация, семя восстановления и пин-код, за которым я охотился, появились на экране».

Согласно недавнему твиту от Trezor, эта уязвимость, позволяющая считывать данные из оперативной памяти кошелька, является старой и уже исправлена для более новых устройств. Но если не будут внесены изменения в микроконтроллер, атаки с инъекцией ошибки все еще могут представлять опасность.