Кошельки и ключи

Отравление адреса: как работает атака и как от неё защититься

Основы Также известно как отравление адреса address poisoning атака пылью похожий адрес мошенничество

Коротко

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

Как работает атака

Как это работает

Четыре шага, и деньги уходят на третьем.

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

Затем он отправляет с этого похожего адреса на ваш кошелёк крошечный перевод, иногда на долю цента. Транзакция оказывается в вашей истории и показывает адрес, напоминающий обычное место назначения.

Позже вы отправляете платёж, заглядываете в историю, копируете то, что выглядит правильно, и средства уходят атакующему. Перевод подтверждается как обычно, и механизма его отменить не существует.

Почему совпадают концы, а середина нет

Кошельки сокращают адреса при отображении, показывая что-то вида 0x71C7…F3a2. Это сокращение и есть уязвимость.

Атакующий, подобравший первые четыре и последние четыре знака, получает строку, визуально идентичную везде, где она сокращена, и совершенно другую в полном виде. Проверка сокращённой формы поэтому не подтверждает ничего, и это разворачивает обычный совет о сверке начала и конца.

Разновидность с пылью

Смежный приём с другой целью.

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

Защита состоит в том, чтобы не тратить пыль, которую вы не ждали. Большинство кошельков позволяет помечать такие поступления как неиспользуемые.

Как защититься

Четыре привычки по убыванию пользы.

Никогда не копируйте адрес из истории операций

Копируйте из источника: из счёта, из сообщения, с экрана вывода на бирже. Одна эта привычка снимает атаку целиком.

Ведите адресную книгу

Сохраняйте повторяющиеся адреса под именами и выбирайте их по имени вместо строки.

Сверяйте середину, одних концов недостаточно

Если проверяете сравнением знаков, сравните и участок из середины.

Отправьте сначала пробную сумму

Для чего-то крупного небольшой перевод подтверждает адресата, прежде чем уйдёт остальное. Более широкий набор проверок разобран в записи про пополнение кошелька.

При чём тут мерчант

Две стороны, и различаются они существенно.

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

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

Частые вопросы

Нет. Оно опирается на то, что вы сами добровольно отправите средства на неверный адрес.

Само получение не делает ничего. Риск в её трате и в копировании адреса отправителя.

Нет. Цепочка неизменяема. Часть кошельков позволяет их скрыть.

Совпала только сокращённая форма. Полные строки различаются целиком.

Нет. Подтверждённый перевод на неверный адрес окончателен.

По появлению в истории входящего перевода на ничтожную сумму с адреса, похожего на знакомый. Это и есть маркер.

В сетях семейства Ethereum, где адреса длинные и всегда отображаются сокращённо. В биткоине приём тоже работает, а в сетях с короткими адресами он менее эффективен.

Помогает, если читать адрес на его экране. Устройство показывает полную строку, и подмену там видно, а подтверждение не глядя защиту снимает.

Немного. Подобрать четыре знака в начале и четыре в конце это вычислительно дешёвая задача, и поэтому таких адресов создают тысячами.

Статья была полезной?

Смотрите также