Риски красивых vanity-адресов и адресов-двойников
Риски vanity-адресов: как создаются именные криптоадреса и адреса-двойники, как ими злоупотребляют мошенники, чем опасны слабые генераторы и как защититься.
Vanity-адреса — адреса кошельков с выбранным шаблоном, например именем или повторяющимися символами, — несут два основных риска: если приватный ключ был сгенерирован слабым или ненадёжным инструментом, кто-то другой может воссоздать его и украсть средства, а мошенники используют те же методы для создания адресов-двойников, которые обманом заставляют вас отправлять им криптовалюту. Оба риска сводятся к тому, как генерируются адреса и как вы их проверяете.
Большинство людей лишь бегло смотрят на первые и последние несколько символов адреса. Злоумышленники это знают и строят на этом свои схемы. Понимание механики помогает избежать обоих видов потерь.
Как создаются vanity-адреса
Криптоадрес выводится из публичного ключа, который, в свою очередь, получается из приватного ключа. Выбрать адрес напрямую нельзя; можно только случайно генерировать ключи и проверять, совпадает ли полученный адрес с вашим шаблоном.
- 1Сгенерировать случайный приватный ключ.
- 2Вывести публичный ключ и адрес.
- 3Проверить, начинается или заканчивается ли адрес выбранными символами.
- 4Если нет — повторить, часто миллиарды раз.
Каждый дополнительный символ, который должен совпасть, многократно увеличивает объём работы, поэтому короткие шаблоны находятся быстро, а длинные требуют огромных вычислительных мощностей. Безопасность итогового адреса полностью зависит от шага 1: приватный ключ должен быть получен на основе надёжной случайности. Подробнее мы рассказываем об этом в статье Как распознать поддельное криптоприложение в магазине приложений.
Риск 1: слабые vanity-генераторы
Если генератор ради скорости экономит на случайности, «случайные» ключи могут происходить из гораздо меньшего набора вариантов. Злоумышленник, понимающий этот приём, может перебрать этот меньший набор и восстановить приватные ключи.
Это не теория. В 2022 году была публично раскрыта уязвимость в Profanity — популярном инструменте для создания vanity-адресов Ethereum, — показавшая, что его ключи можно подобрать перебором. Позже средства были выведены с созданных с его помощью адресов, включая широко освещавшуюся кражу у трейдинговой компании Wintermute, которую связали с vanity-адресом. Вывод: vanity-адрес безопасен ровно настолько, насколько безопасен сгенерировавший его код.
Другие риски, связанные с генераторами:
- Онлайн-генераторы, создающие ключ на сервере, где оператор может сохранить копию.
- Сервисы с «разделённым ключом», реализованные неправильно, когда провайдер может восстановить ваш ключ.
- Заброшенные инструменты с известными ошибками, которые никто не исправил.
Риск 2: адреса-двойники и отравление адреса
Мошенники используют генерацию в стиле vanity с другой целью: чтобы копировать видимые части ваших адресов.
Вот как работает атака с отравлением адреса:
- 1Злоумышленник отслеживает в блокчейне активные кошельки и адреса, на которые они часто отправляют средства.
- 2Он генерирует адрес-двойник, первые и последние несколько символов которого совпадают с одним из этих адресов.
- 3Он отправляет вам с адреса-двойника нулевую или крошечную транзакцию либо фальшивый перевод токенов, чтобы адрес появился в вашей истории транзакций.
- 4Позже вы копируете адрес из истории для платежа и по ошибке выбираете двойника.
- 5Ваши средства уходят злоумышленнику, а переводы в блокчейне нельзя отменить.
Наше подробное руководство об атаках с отравлением адреса описывает разновидности этой схемы.
Собирательный пример (гипотетический)
Это вымышленный пример. Представьте, что «Лео» регулярно отправляет стейблкоины на свой адрес для депозита на бирже, который начинается с «0x7a3f» и заканчивается на «c91e». Однажды в истории его кошелька появляется перевод нуля токенов с адреса, который тоже начинается с «0x7a3f» и заканчивается на «c91e», но в середине содержит другие символы. Неделю спустя Лео открывает историю, копирует самый свежий подходящий на вид адрес, проверяет первые и последние четыре символа и отправляет крупную сумму. Она уходит мошеннику.
Чек-лист тревожных признаков
- Нулевые переводы или переводы пыли (dust) с неизвестных адресов в вашей истории.
- Неизвестные токены, «отправленные» с адреса, похожего на тот, которым вы пользуетесь.
- Адрес, который совпадает по краям, но отличается в середине.
- Сайт или человек, предлагающий сгенерировать именной адрес «за вас».
- Vanity-инструмент с закрытым кодом, без поддержки или с агрессивной рекламой.
- Давление с требованием отправить быстро, без времени на тестовую транзакцию.
Как защититься
| Ситуация | Безопасная практика |
|---|---|
| Отправка постоянному получателю | Один раз сохраните адрес в адресной книге кошелька после проверки и отправляйте оттуда |
| Копирование адреса | Копируйте из проверенного запроса получателя или из адресной книги, никогда — из истории транзакций |
| Проверка адреса | Сравнивайте адрес целиком или хотя бы много символов в начале, середине и конце |
| Крупные переводы | Сначала отправьте небольшую тестовую сумму и убедитесь, что она получена |
| Использование аппаратного кошелька | Перед подтверждением проверьте полный адрес на экране устройства |
| Желание иметь vanity-адрес | Используйте хорошо проверенное ПО с открытым кодом на собственном офлайн-устройстве или откажитесь от этой идеи |
В нашем руководстве о том, как проверить адрес кошелька перед отправкой, описан пошаговый порядок действий. Некоторые кошельки также скрывают или помечают нулевые переводы; включите эти фильтры, если они доступны.
Что делать, если это уже произошло
- Если вы отправили средства на адрес-двойник: как правило, отменить это нельзя. Запишите хеш транзакции, сообщите об адресе провайдеру кошелька и причастной бирже и подайте жалобу через нашу страницу для сообщений о мошенничестве. Если средства попадут на биржу, она, возможно, сможет принять меры.
- Если ваш vanity-адрес создан слабым инструментом: немедленно переведите средства в новый кошелёк, созданный стандартным, хорошо проверенным ПО, а затем отзовите разрешения на токены со старого адреса.
- Если вы подозреваете, что ваши ключи скомпрометированы: следуйте инструкции о том, что делать немедленно, если ваш кошелёк взломан.
Остерегайтесь всех, кто выходит на связь и обещает вернуть средства за вознаграждение: это распространённое повторное мошенничество.
Итог
Vanity-адрес — это лишь украшение, но риски за ним реальны: слабые генераторы могут раскрыть ваш приватный ключ, а те же приёмы подбора шаблонов позволяют мошенникам создавать адреса, похожие на ваши. Генерируйте ключи только надёжным ПО, копируйте адреса из проверенных источников, проверяйте всю строку и используйте тестовые транзакции для крупных сумм.
Частые вопросы
Что такое vanity-адрес в криптовалютах?
Vanity-адрес — это адрес кошелька, содержащий выбранный шаблон, например слово или серию повторяющихся символов, обычно в начале или в конце. Его создают, генерируя огромное количество пар ключей, пока одна из них не даст адрес, совпадающий с шаблоном. Он работает как любой другой адрес, но то, как он был сгенерирован, очень важно для безопасности.
Безопасно ли пользоваться vanity-адресами?
Это может быть безопасно, если приватный ключ сгенерирован с надёжной случайностью на вашем собственном устройстве с помощью хорошо проверенного ПО. Опасность возникает, если вы используете онлайн-генератор, третью сторону, которая может сохранить копию ключа, или инструмент со слабым генератором случайных чисел. Средства на таких адресах могут украсть в любой момент.
Как работают мошенничества с адресами-двойниками?
Мошенники генерируют адреса, у которых первые и последние несколько символов совпадают с адресом, которым вы пользуетесь, а затем отправляют вам крошечную или нулевую транзакцию, чтобы их адрес-двойник появился в вашей истории. Если позже вы скопируете адрес из истории, а не из надёжного источника, вы можете отправить средства мошеннику.
Как не отправить криптовалюту на адрес-двойник?
Копируйте адреса из надёжного источника, например из сохранённой адресной книги или проверенного запроса получателя, а не из истории транзакций. Сравнивайте адрес целиком, а не только начало и конец, и при крупных переводах сначала отправляйте небольшую тестовую сумму. Аппаратные кошельки позволяют подтвердить полный адрес на отдельном экране.
