Компьютерный инженер и хакер рассказал, как ему удалось взломать аппаратный кошелек Trezor One, содержащий средства на сумму более 2 миллионов долларов.
Джо Гранд, проживающий в Портленде, также известный под своим хакерским псевдонимом «Вор в законе», загрузил на Youtube видео, объясняющее, как ему удалось осуществить гениальный взлом.
Приняв решение обналичить первоначальные инвестиции в размере около 50 000 долларов США в Theta в 2018 году, Дэн Райх, предприниматель из Нью-Йорка, и его друг поняли, что они потеряли PIN-код безопасности для Trezor One, на котором хранились токены. После 12 безуспешных попыток угадать защитный PIN-код они решили выйти до того, как кошелек автоматически очистился после 16 неправильных попыток.
Но поскольку в этом году их инвестиции выросли до 2 миллионов долларов, они удвоили свои усилия по получению доступа к фондам. Без сид-фразы или PIN-кода их кошелька единственным способом получить токены был взлом.
Они связались с Грандом, который провел 12 недель проб и ошибок, но в конце концов нашел способ восстановить утерянный PIN-код.
Ключом к этому взлому было то, что во время обновления прошивки кошельки Trezor One временно перемещают PIN-код и ключ в ОЗУ, а затем возвращают их обратно во флэш-память после установки прошивки. Гранд обнаружил, что в версии прошивки, установленной на кошельке Райха, эта информация не перемещалась, а копировалась в оперативную память, а это означает, что в случае неудачного взлома и стирания оперативной памяти информация о PIN-коде и ключе все равно будет храниться во флэш-памяти.
После использования атаки с внедрением ошибок — метода, который изменяет напряжение, подаваемое на чип, — Гранд смог превзойти безопасность микроконтроллеров, предотвращающее считывание ОЗУ хакерами, и получил PIN-код, необходимый для доступа к кошельку и средствам.
«Мы в основном вызываем неправильное поведение кремниевого чипа внутри устройства, чтобы обойти безопасность. В конце концов, я сидел здесь и смотрел на экран компьютера, и увидел, что смог обойти защиту, личную информацию, начальное число для восстановления и пин-код, за которым я шел, отобразился на экране», - пояснил Гранд.
Согласно недавнему сообщению Trezor, эта уязвимость, позволяющая считывать данные из оперативной памяти кошелька, является более старой и уже исправлена для более новых устройств. Но до тех пор, пока не будет устранена возможность использовать механизм внедрения ошибок микроконтроллера, атаки по-прежнему могут представлять опасность.