Подмена адреса в истории кошелька: как пользователь потерял $2 млн

Введение
Address poisoning (буквально «отравление адреса») — это техника мошенничества, при которой злоумышленник заставляет поддельный адрес появиться в истории транзакций жертвы. Цель — чтобы при следующем переводе пользователь по ошибке скопировал не настоящий адрес, а похожий, принадлежащий мошеннику.
USDC — это стейблкоин, криптовалюта, привязанная к доллару США. Один USDC всегда стоит примерно один доллар.
Ход инцидента
1. Пользователь совершил настоящий перевод — отправил 2 000 000 USDC на корректный адрес получателя 0xf0e67a1896e814e30c011e36174de28caa9ab1af.
2, Сразу после этого автоматический бот мошенника отправил на поддельный адрес 0xf0e6a49668de1195b931a3717c9cc36fc19721af крошечную сумму — 0,0002 USDC. Такие транзакции называют «пыльными», потому что сумма пренебрежимо мала.
3. В истории операций кошелька жертвы появился новый адрес, визуально почти идентичный настоящему. Первые и последние символы совпадали, а различие было в середине — там, где пользователь редко смотрит внимательно.
4. При следующем переводе пользователь открыл историю, скопировал адрес оттуда, но взял поддельный адрес злоумышленника вместо настоящего.
5. На этот адрес были отправлены 2 000 000 USDC. Транзакция прошла необратимо — в блокчейне нет кнопки «отменить».
Почему это стало возможным
Мошенник воспользовался привычкой многих пользователей копировать адреса из истории операций вместо того, чтобы использовать адресную книгу или проверять каждый символ. Блокчейн Ethereum позволяет любому отправить любую сумму на любой адрес без разрешения. Поэтому «пыльная» транзакция прошла мгновенно и почти бесплатно для мошенника — комиссия за перевод 0,0002 USDC минимальна, а похищенная сумма при успешной атаке исчисляется миллионами.
Детали расследования: движение средств
После получения средств на поддельный адрес 0xf0e6a49668de1195b931a3717c9cc36fc19721af все 2 млн USDC были переведены на адрес 0x692729bcd0887b8d02b8ff3169220ba0f4e17251.
Далее вся сумма была обменяна через CowProtocol — это децентрализованный сервис обмена криптовалют, который ищет лучшую цену через несколько площадок — на DAI (ещё один стейблкоин, привязанный к доллару).
После обмена все DAI были отправлены на адрес 0xe2eBfD6f329A6330aB7EEE68ce1328C21d31816a, где и остаются на балансе без движения на момент расследования.
Как работает схема address poisoning
Схема строится на визуальной похожести адресов и человеческом факторе.
Криптовалютный адрес — это длинная строка из букв и цифр. Например, в Ethereum адрес состоит из 42 символов и начинается с «0x». Человек не запоминает такую строку целиком. Обычно он сверяет только первые и последние несколько символов.
Мошенник генерирует адрес, у которого первые и последние символы совпадают с адресом настоящего получателя. Это делается с помощью специальных программ — генераторов «vanity-адресов». Процесс занимает от нескольких минут до часов в зависимости от того, сколько символов нужно подобрать.
Когда адрес готов, бот отправляет на него крошечную сумму. Эта транзакция появляется в истории кошелька жертвы, потому что блокчейн публичен — любой может увидеть все операции по адресу. Многие кошельки автоматически добавляют в историю все адреса, с которыми были взаимодействия.
При следующем переводе пользователь открывает историю, видит знакомые начальные и конечные символы, копирует адрес — и отправляет деньги мошеннику.
Как защититься
- Проверяйте весь адрес, а не только начало и конец. Сверяйте как минимум первые и последние 10–12 символов. Лучше — весь адрес целиком.
- Используйте адресную книгу кошелька. Сохраняйте адреса получателей в контактах под понятными именами и выбирайте оттуда, а не из истории.
- Не копируйте адреса из истории операций. История показывает все входящие и исходящие транзакции, в том числе от незнакомцев. Любой адрес там может оказаться поддельным.
- Отправляйте тестовую сумму. Перед крупным переводом отправьте небольшую сумму, дождитесь подтверждения от получателя, и только потом переводите основную сумму.
- Используйте кошельки с защитой от подмены. Некоторые современные кошельки подсвечивают адреса, которые появились в истории через пыльные транзакции, или предупреждают о визуальной похожести.
Заключение
Инцидент с потерей 2 млн USDC показал, что в криптовалюте угроза может исходить не только от взломов смарт-контрактов, но и от простых привычек пользователя. Схема address poisoning не требует взлома, специальных навыков или дорогостоящих инструментов — достаточно сгенерировать похожий адрес и отправить крошечную сумму.


