Вернуться в блог
Безопасность

Отравление адресов: скам, построенный на копировании и вставке

Два адреса кошельков с одинаково выделенными концами, но разными серединами: один помечен как настоящий, другой — как отравленный.

В мае 2024 года одна из самых дорогих ошибок копирования и вставки в истории криптовалют отправила незнакомцу около $68 млн в Wrapped Bitcoin. Никто не украл seed-фразу и не эксплуатировал смарт-контракт. Жертва скопировала адрес из собственной истории транзакций — адрес, который туда подбросил злоумышленник, специально сделав его неотличимым от того, которому жертва уже доверяла. Это и есть скам с отравлением адресов — одна из самых дешёвых и легко масштабируемых атак, работающих сегодня.

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

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

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

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

Как поддельная запись попадает в вашу историю

Двойник бесполезен, пока не появится там, откуда вы можете его скопировать. Преобладают три способа доставки:

  • Пылевые переводы. Злоумышленник отправляет с адреса-двойника на ваш крошечную сумму — несколько центов или меньше. Теперь ваш кошелёк показывает входящую транзакцию с адреса, который выглядит в точности как ваш обычный контрагент.
  • Переводы токенов с нулевой суммой. В сетях EVM и TRON контракты токенов обрабатывают перевод нулевого количества токенов от кого угодно. Перевод с нулевой суммой не требует одобрения со стороны кошелька, от имени которого он якобы отправлен, потому что перемещение нуля токенов никогда не превышает никакой лимит. Злоумышленник инициирует такой перевод, чтобы в вашей собственной истории появился исходящий перевод 0 USDT с вашего адреса на двойник — транзакция, которую вы никогда не совершали, которая ничего вам не стоила и выглядит в точности как ваш последний настоящий платёж.
  • Поддельные раздачи токенов (airdrop). С адреса-двойника приходят ничего не стоящие токены со знакомыми тикерами, засеивая и вашу историю, и ваши уведомления.

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

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

Вставка на $68 миллионов

Случай мая 2024 года, который прославил скам с отравлением адресов, прошёл ровно по этому сценарию. Кошелёк-кит сделал небольшой перевод на новый адрес. За считанные минуты злоумышленник сгенерировал двойник, совпадающий по первым и последним символам этого адреса назначения, и подбросил поддельную запись в историю кошелька. При следующей транзакции жертва скопировала отравленную запись и отправила на неё около $68 млн в WBTC. Вся атака обошлась мошеннику немногим дороже комиссий за транзакции.

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

Почему ваши глаза подводят — и привычка делает только хуже

Адрес EVM состоит из 42 символов; адрес TRON — из 34. Интерфейсы сокращают их до горстки символов с каждого конца, и годы работы с этими интерфейсами приучают вас воспринимать концы как весь адрес. Злоумышленники знают точные шаблоны сокращения у популярных кошельков и обозревателей и подбирают именно эти символы. Когда оба видимых конца совпадают, середина — единственная отличающаяся часть — это как раз то, что не показывает ни один интерфейс и не проверяет ни одна привычка.

Это тот же класс сбоя, что приводил к куда более крупным потерям на институциональном уровне. В феврале 2025 года инцидент с Bybit показал, что даже подписанты мультиподписи крупной биржи одобрили то, что показывал скомпрометированный интерфейс, а не то, что на самом деле подписывалось, — мы разобрали этот провал в нашем анализе взлома Bybit. Скам с отравлением адресов — это розничная версия той же истины:

Отравление адресов никогда не касается ваших ключей. Оно редактирует среду, в которой действуют ваши ключи, — и позволяет вам подписать совершенно корректную транзакцию не туда, куда нужно.

Именно поэтому сам блокчейн не сможет вас спасти. Транзакция, которую вы подписываете, — ровно та, о которой вы попросили; повреждено было ваше намерение, выше по потоку. После подтверждения она окончательна.

Защиты, которые действительно работают

Поскольку скам эксплуатирует рабочий процесс, а не криптографию, эффективные защиты — это изменения рабочего процесса, упорядоченные здесь от самых структурных к самым ручным:

Три защиты от отравления адресов: сверка адреса целиком, белый список адресов и небольшой тестовый перевод перед основным платежом
Структурные защиты сильнее бдительности: сверяйте целиком, ведите белый список, сначала тестируйте.
  • Никогда не копируйте адреса из истории транзакций. Относитесь к истории как к отображению, а не как к источнику. Единственные безопасные источники — это контакт, который вы сохранили в проверенный момент, QR-код, отсканированный напрямую у получателя, или адрес, переданный по живому отдельному каналу.
  • Используйте белые списки там, где это оправдано ставками. Белый список адресов ограничивает исходящие переводы заранее одобренным списком адресов назначения, что делает отравленную запись бесполезной, даже если кто-то её вставит. Модель безопасности Ownbit поддерживает белые списки адресов в Корпоративном MultiSig — наряду с дневными лимитами и порогами подписантов, — так что вставка одного человека не сможет отправить средства казначейства на непроверенный адрес.
  • Сверьте полный адрес один раз, а затем доверяйте только сохранённому контакту. Контрольные суммы ловят опечатки, а не двойники — отравленный адрес является совершенно корректным адресом. Сверьте каждый символ с тем, что прислал вам получатель, или прочитайте середину строки вслух по звонку. Сделайте это один раз, сохраните контакт и больше никогда не копируйте адрес откуда-либо ещё.
  • Сначала отправьте тестовую сумму — и подтвердите получение по отдельному каналу. Небольшой перевод стоит одной комиссии и убирает хвостовой риск с крупного. Но пусть получатель подтвердит поступление через отдельный канал; если вы подтвердите его сами, взглянув на историю, вы снова откроете ту же ловушку.
  • Добавьте в цепочку второй экран или второго человека. Сценарий холодного кошелька Ownbit переносит неподписанную транзакцию по QR-коду на офлайн-телефон, где полный адрес назначения проверяется на устройстве, которого не может коснуться онлайн-среда. В мультиподписи со-подписант на другом устройстве, перепроверяющий адрес назначения, превращает ошибку вставки одного человека в отклонённое предложение вместо потери — при условии, что подписанты действительно проверяют, а именно эта дисциплина, как показал случай Bybit, способна деградировать.

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

Ритуал на 30 секунд для любого крупного перевода

  1. Получите адрес назначения от получателя по живому каналу — чат, звонок или QR-код — и никогда из своей истории.
  2. Немедленно сохраните его как именованный контакт; эта сохранённая запись теперь ваш единственный источник.
  3. При сверке читайте середину адреса, а не только концы. Злоумышленники подбирают концы; середина их выдаёт.
  4. Отправьте небольшую тестовую сумму и попросите получателя подтвердить получение по тому же живому каналу.
  5. Отправьте остаток на сохранённый контакт — а для средств масштаба казначейства требуйте белый список плюс порог мультиподписи, чтобы ни одна вставка не могла стать фатальной.

Ритуал стоит полминуты и одной дополнительной сетевой комиссии. Жертва мая 2024 года заплатила бы эту цену тысячекратно.

Часто задаваемые вопросы

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

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

Может ли перевод с нулевой суммой сам по себе украсть мою криптовалюту?

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

Как узнать, отравлена ли история моего кошелька?

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

Предотвращает ли холодный кошелёк или аппаратный кошелёк отравление адресов?

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

Если вы предпочитаете встроить эти ограждения в кошелёк, а не в свою память, модель безопасности Ownbit сочетает самостоятельное хранение с белыми списками адресов и лимитами трат в Корпоративном MultiSig, а сценарий холодного кошелька на основе QR выносит сверку полного адреса на офлайн-экран ещё до того, как появится хоть одна подпись. Каждый новый пользователь получает 7-дневный пробный период, и ваши ключи в любом случае остаются вашими.