В серии фильмов о друзьях Оушена изощренные добрые мошенники всегда находили способ украсть ценности или деньги у преступников. А что если в съемках нового фильма будут задействованы криптовалюты? Главной сюжетной линией будет кража биткоинов у какого-нибудь злобного негативного персонажа. Разумеется, все свои деньги он получит незаконно и решит вывести в BTC. Робин Гудам необходимо будет украсть монеты тайно — так же, как свои махинации проворачивал миллионер, ворующий деньги, допустим, из благотворительных фондов. Он держит все свои средства на одном кошельке Ledger Nano S. Почему именно этот аппарат? Считается, что холодный кошелек Ledger — один из самых надежных аппаратных кошельков для хранения криптовалют. Несмотря на это, в феврале компания подтвердила возможность осуществления MiTM-атаки, а через месяц были выявлены другие подходы для кражи криптовалют. Так какие уязвимости Ledger — возможности для друзей Оушена?
Атака в цепочке поставок
Холодный кошелек для криптовалют состоит из двух блоков микроконтроллеров. Один из них хранит конфиденциальные данные и секретный ключ, другой выполняет функции прокси-сервера. Второй блок не имеет возможности для проверки криптографической аттестации, в отличие от первого. Это означает, что пользователи не могут знать точно, какая прошивка установлена на аппарате: заводская или измененная. Данный метод подойдет мошенникам при следующих обстоятельствах:
- если они точно знают, какое устройство будет доставлено жертве;
- если они могут скомпрометировать все устройства, которые могут быть доставлены жертве;
- если миллионер не знает, как проверить подлинность защищенного блока холодного кошелька.
Для проверки Ledger Nano S необходимо:
- Проверить начинку аппарата, в которой не должно быть никаких дополнительных элементов.
- При первой загрузке не должно быть сообщения о том, что защищенный элемент изменен.
- Проверить сертификат защищенного элемента. Для этого необходимо прописать код:
pip install --no-cache-dir ledgerblue
python -m ledgerblue.checkGenuine --targetId 0x31100003
Если программа выдаст «Product is NOT genuine» или «Product is genuine but has a UI application loaded», программное обеспечение изменено и не является надежным.
Решение проблемы уязвимости незащищенного блока осуществлено в прошивке 1.4.1 — не зря Ledger признавался многими изданиями как лучший холодный кошелек для криптовалют. Обновления выходят постоянно, а откаты на более старые версии невозможны в целях безопасности.
Возможность распознавания PIN-кода
Этот метод идеально подходит для нашей версии голливудского фильма — в нем есть слежка. Давайте представим, что злой миллионер только получил свое устройство, о чем узнали герои-мошенники. Они непрерывно следят за ним и добиваются промежуточного успеха, добывая пин-код.
Как они это сделали? Находчивые мошенники следили в свои подзорные трубы или скрытые видеокамеры и сумели разглядеть момент, когда миллионер устанавливал пин-код. Они не знали вводимых цифр, но четко видели последовательность нажатия кнопок. Ledger Nano S устроен так, что одновременное нажатие двух кнопок означает подтверждение цифры, в то время как одноразовое нажатие левой кнопки значит уменьшение цифры на единицу, а нажатие правой кнопки — увеличение на единицу. Ранее каждая цифра пин-кода в Nano Ledger всегда по умолчанию равнялась пятерке. Если пользователь не менял ничего — его пин-код состоял бы из четырех, пяти, шести, семи или восьми пятерок. Таким образом, мошенники точно знали: если пользователь нажал два раза левую кнопку, а затем одновременно зажал правую и левую, значит, первая цифра пин-кода равна трем. И таким образом необходимо разгадать своеобразную азбуку Морзе из 4–8 цифр. Задачу облегчает обязательное подтверждение PIN — теперь находчивые мошенники точно знают секретное число.
Но как украсть биткоины, если нерешенными остаются следующие вопросы:
- Отсутствие физического доступа к кошельку.
- Обновление Ledger 1.4.2, в котором первая цифра устанавливается случайным образом.
Теперь невозможно разгадать эту азбуку, так как исходных данных нет. То же самое касается проверочной сид-фразы из 24 слов.
Атака посредника (MiTM)
Холодный кошелек практически все время отключен от компьютера и сети Интернет, то есть у друзей Оушена остается всего один вариант кражи биткоина — физическое похищение аппарата, ключа и пин-кода. Но существует еще одна лазейка — при отправлении криптовалюты генерируется адрес получателя, который может быть подменен с помощью вредоносного программного обеспечения. Если MiTM-атака осуществлена успешно, владелец даже не сразу поймет, что его монеты отправлены на адрес мошенников. Кража с холодного биткоин-кошелька по этому методу очень похожа на внедрение скрытого майнера. Главная проблема заключается в том, что нашим мошенникам придется ждать, когда миллионер соизволит перевести свою криптовалюту на другой адрес. Скорее всего, это будет необходимо для обналичивания монет.
Повезет, если он отправит все одной транзакцией, иначе подвох будет раскрыт и похитить остальные монеты уже не получится.
Существуют и другие проблемы:
- биткоиновый миллионер точно проверит адрес получателя, если вдруг будет переводить все свои BTC. Для проверки достаточно нажать на клавишу монитора непосредственно перед транзакцией;
- прошивка Ledger 1.4.2 предусматривает улучшенную проверку приложений, которые взаимодействуют с кошельком.
Как видим, при должном отношении к использованию холодного кошелька потерять биткоины довольно сложно. Среди рассмотренных вариантов наиболее вероятным можно назвать атаку в цепочке поставок. В действительности далеко не все владельцы проверяют подлинность своих покупок. К тому же случаи приобретения поддельных кошельков с eBay имели место быть.
На самом деле, 14 друзей Оушена нашли бы метод для взлома криптовалютного кошелька, даже если бы он находился на дне океана, а пин-код и сид-фраза были бы зашифрованы всеми известными алгоритмами. К сожалению, трилогия не предполагает четвертого фильма.