Потенциальные уязвимости
По мере того, как я начну изучать относительные уязвимости каждой системы, я изложу некоторые основные предположения о том, что возможно. Первое предположение состоит в том, что к любому компьютеру, к которому подключен аппаратный кошелек, может быть нанесен или был взломан один или несколько способов. Я не буду подробно останавливаться на том, какой механизм или вредоносная программа используется для взлома устройства, а просто предположу, что это возможно.
Во-вторых, я также рассмотрю способы компрометации средств в предположении, что злоумышленник может завладеть устройством до или после его инициализации пользователем. Я полагаю, что приведенные выше предположения являются хорошей отправной точкой, потому что назначение аппаратных кошельков, по крайней мере, на мой взгляд, состоит в том, чтобы помочь смягчить уязвимости безопасности, если предположить, что эти предположения верны.
Атака «Человек посередине» за 800 долларов
Теперь, хотя бухгалтерская книга Nano S имеет экран на устройстве, она все еще уязвима для атак MIM. Причина этого заключается в том, что он отображает только 8 цифр адреса получателя. Это 8-значное подтверждение транзакции может быть побеждено за сравнительно небольшие экономические затраты. Также обратите внимание, что отображение 8 цифр адреса получателя верно не только для Ethereum, но также для Bitcoin и Litecoin с MCU.
Исправление: В последней версии встроенного ПО 1.3.1 показаны полные адреса биткойнов, поэтому это не относится к устройствам с текущей прошивкой и текущим приложением Ledger Bitcoin Wallet, выполняющим транзакции биткойнов. Однако в прошивках 1.3.1 и Ledger Ethereum Wallet 1.0.19 по-прежнему отображаются только частичные (8-значные) адреса Ethereum, и эта уязвимость сохраняется.
Текущая стоимость создания 8-позиционного адреса с учетом регистра с использованием генератора тщеславных адресов vante_me составляет приблизительно 800 долларов США. Теперь vante.me предназначен для создания адресов, которые вначале имеют читабельный для человека текст, чтобы сделать адрес более узнаваемым, но вычислительные затраты для разделения строки на 4 детерминированных символа в начале и 4 детерминированных символа в конце одинаковы.
Поэтому, если вы подключите Ledger Nano S к скомпрометированному компьютеру и будете использовать его для регулярного перемещения больших сумм денег между одним или несколькими аккаунтами, вы уязвимы для этой атаки. Например, предположим, что у вас есть валютный счет, на который вы регулярно переводите деньги. Если ваша машина взломана, злоумышленник узнает, на какие адреса вы обычно отправляете средства, а также суммы.
Затем злоумышленник может потратить вычислительные ресурсы, необходимые для создания адресов, которые, по-видимому, идентичны (8 совпавших символов, 800 долларов США за адрес) или почти очевидно идентичны (7 символов вместо 8, 30 долларов США за адрес), а затем ждут, пока вы создадите следующий большой сделки. В этот момент вместо того, чтобы просить подключенную книгу подписать транзакцию с использованием вашей учетной записи, они могут заменить ее своей учетной записью.
Интересно, что Trezor не страдает от этой атаки, поскольку он отображает полный адрес получателя на экране устройства перед подписанием транзакции. Это также объясняет интересный момент: перед отправкой большой транзакции необходимо проверить не менее 10 цифр (атака ~ 3,1 млн долларов) адреса (предпочтительно всего адреса). Кроме того, я бы упомянул здесь, что если вы практикуете использование одноразовых адресов при отправке денег из вашей книги, это MIM может быть предотвращено.
Вышеупомянутое утверждение сделано в предположении, что у злоумышленника не будет достаточно времени для генерации поддельного адреса между изучением адреса получения и пользователя, отправляющего средства.