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