Фонд Bofur Capital вывел 2 млн USDC из кредитного протокола Compound — и через считаные минуты отправил всю сумму мошеннику. Адрес получателя выглядел знакомым: первые и последние символы совпадали с адресом контрагента, с которым фонд регулярно работал. Этот адрес-двойник попал в историю операций кошелька за сутки до происшествия — 20 августа в 20:20:59 UTC, вместе с пылевым переводом на 0,0002 USDC.

Коротко

  • Потеря — около 2 млн USDC, средства выведены сразу после снятия из Compound.
  • Ловушку поставили за сутки: пылевой перевод на 0,0002 USDC 20 августа в 20:20:59 UTC.
  • Адрес злоумышленника подобран так, чтобы начало и конец совпадали с адресом реального контрагента.
  • Оператор, судя по всему, скопировал адрес из истории транзакций.
  • Украденное уже обменяно: 2 млн переведены в DAI, чтобы оборвать прямой след.

Как работает отравление адреса

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

Дальше расчёт на привычку. Полный адрес Ethereum человек не читает: глаз проверяет несколько символов в начале и в конце, а середину пропускает. Когда приходит время отправить крупную сумму знакомому контрагенту, оператор открывает историю, видит похожий адрес и копирует его. Механику мы разбирали и в словаре — отравление адреса и пылевая атака.

Этап Что произошло
20 августа, 20:20:59 UTC Пылевой перевод 0,0002 USDC с адреса-двойника
21–22 августа Вывод 2 млн USDC из Compound
Через минуты Отправка всей суммы на адрес-двойник
После Обмен похищенного на 2 млн DAI

Почему сработало именно здесь

Совпало два обстоятельства. Первое — крупная разовая операция: вывод из Compound — событие нечастое, и следом обычно идёт перевод контрагенту, то есть момент предсказуем. Второе — сутки паузы между ловушкой и переводом. К моменту отправки пылевой перевод перестал выглядеть свежим и подозрительным: он просто лежал в истории наравне с обычными операциями.

Что здесь стоит понимать отдельно

Собственное наблюдение: любопытно, что жертвой стал не розничный пользователь, а фонд — то есть структура, у которой по определению есть процедуры. И именно это делает случай показательным. Отравление адреса не эксплуатирует незнание: оператор Bofur наверняка знал о приёме. Оно эксплуатирует интерфейс — историю транзакций, которая по умолчанию показывает любой входящий перевод как равноправную запись, не отличая перевод на две десятитысячных доллара от рабочего платежа. Кошелёк, который просто прятал бы пылевые входящие или помечал адреса, впервые появившиеся меньше недели назад, обнулил бы весь класс атак — но такое поведение по умолчанию не стало стандартом ни у одного крупного интерфейса. Пока это так, дисциплина остаётся единственной защитой, а дисциплина устаёт. Общий контекст года это подтверждает: три четверти краж в крипте приходятся на ключи и человеческий фактор, а не на уязвимости кода.

Чего в сообщениях нет

Не сказано, каким кошельком или интерфейсом пользовался оператор. Не названа конечная точка вывода после обмена в DAI и не сообщается о попытках вернуть средства или связаться с атакующим. Комментария самого фонда в отчётах нет, как и данных о том, застрахована ли потеря.

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

Что такое отравление адреса?

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

Зачем нужен пылевой перевод?

Чтобы поддельный адрес появился в истории операций. Сам перевод ничего не стоит и ничего не крадёт — он служит приманкой.

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

Сверять адрес целиком, а не первые и последние символы, использовать адресную книгу с проверенными записями и не копировать реквизиты из истории транзакций.

Сколько потеряла Bofur Capital?

Около 2 млн USDC. Средства были выведены из Compound незадолго до перевода.

Можно ли вернуть деньги?

Данных о возврате нет. Похищенное обменяли на DAI, что усложняет отслеживание.

Источники