Безопасность кошелька: seed, approve и фишинг
Что на самом деле хранит seed-фраза, чем опасны неограниченные approve и подписи Permit, как работают дрейнеры, отравление адресов и слепая подпись.
Вы сами себе банк — и сами себе служба безопасности
Некастодиальный кошелёк даёт полный контроль над средствами: никто не заморозит счёт и не откажет в переводе. Обратная сторона — никто и не вернёт деньги после ошибки. В блокчейне нет chargeback, нет горячей линии и нет «подозрительной операции, подтвердите по СМС». Подписанная транзакция — окончательная.
Большинство потерь у обычных пользователей связано не со взломом криптографии, а с тем, что человека убедили самостоятельно подписать что-то вредное или раскрыть секрет. Ниже — как устроены ключи и какие атаки встречаются чаще всего.
Seed-фраза — это и есть кошелёк
Когда вы создаёте кошелёк, он генерирует случайное число и показывает его в виде 12 или 24 слов из стандартного словаря (стандарт BIP-39). Из этой фразы детерминированно выводятся все закрытые ключи и все адреса кошелька во всех поддерживаемых сетях (BIP-32/44). Приложение, телефон, аппаратное устройство — лишь интерфейс к этому числу.
- Кто знает фразу — владеет всеми средствами. Сменить её «как пароль» нельзя: можно только создать новый кошелёк и перевести туда всё.
- Фраза не должна существовать в цифровом виде: ни скриншотов, ни заметок в облаке, ни файлов на рабочем столе, ни фото «на всякий случай». Вредоносные программы целенаправленно ищут такие файлы и изображения.
- Храните фразу на бумаге или металлической пластине, в месте, защищённом от огня и воды. Для крупных сумм имеет смысл несколько копий в разных местах.
- Ни один легитимный сервис никогда не попросит ввести seed-фразу: ни поддержка биржи, ни «синхронизация кошелька», ни аирдроп. Запрос фразы — это всегда кража.
Горячие и холодные кошельки
Горячий кошелёк — браузерное расширение или мобильное приложение — хранит ключи на устройстве, подключённом к интернету. Это удобно для ежедневных операций, но любой вредонос на этом устройстве потенциально может добраться до ключей.
Аппаратный кошелёк хранит ключ в отдельном чипе и никогда его не выдаёт. Компьютер отправляет устройству транзакцию, устройство показывает её на своём экране и подписывает только после физического нажатия кнопки. Даже полностью заражённый компьютер не может украсть ключ — но может подсунуть на подпись не ту транзакцию. Поэтому главное правило: проверяйте адрес и сумму на экране устройства, а не на экране компьютера.
Разумная схема для большинства: небольшая сумма на горячем кошельке для операций, основные средства — на аппаратном, который подключается редко.
Approve: разрешение, о котором забывают
Чтобы децентрализованная биржа или кредитный протокол могли списать ваши токены стандарта ERC-20, вы сначала подписываете транзакцию approve — разрешение контракту тратить токены с вашего адреса. Многие интерфейсы по умолчанию просят неограниченное разрешение, чтобы не запрашивать его каждый раз.
Проблема в том, что это разрешение живёт вечно, пока вы его не отзовёте. Если контракт, которому вы когда-то дали доступ, будет взломан или окажется вредоносным, он сможет списать токены в любой момент, без новых подписей с вашей стороны. Что делать:
- Выдавайте разрешение на конкретную сумму, если кошелёк позволяет её изменить.
- Периодически проверяйте и отзывайте старые разрешения — например, через revoke.cash или раздел Token Approvals в Etherscan.
- Для экспериментов с новыми протоколами используйте отдельный адрес с небольшой суммой.
Подписи, которые не выглядят как транзакции
Современные «дрейнеры» — наборы вредоносных скриптов, которые продаются как сервис, — часто вообще не просят отправить транзакцию. Вместо этого они просят подписать сообщение: такая подпись бесплатна, выглядит безобидно и не отображается в истории транзакций. Но сообщения стандартов вроде Permit или Permit2 — это то же самое разрешение на списание токенов, только оформленное вне блокчейна. Получив подпись, злоумышленник сам отправляет её в сеть и выводит средства.
Если кошелёк показывает длинную структуру данных с полями spender, value, deadline — это не «вход на сайт», а выдача прав. Подписывайте такое только на сайтах, в адресе которых вы полностью уверены.
Другие частые схемы
- Отравление адреса. Злоумышленник присылает вам копеечный перевод с адреса, у которого первые и последние символы совпадают с адресом, куда вы часто переводите. Расчёт на то, что в следующий раз вы скопируете адрес из истории. Всегда сверяйте адрес целиком, а постоянных получателей сохраняйте в адресной книге кошелька.
- Подмена буфера обмена. Вредонос отслеживает скопированные криптоадреса и заменяет их своими. Проверяйте вставленный адрес после вставки, а не до.
- Фальшивая поддержка. В Telegram, Discord и X к вам «пишет поддержка» после того, как вы задали вопрос в общем чате. Настоящая поддержка первой не пишет.
- Поддельные сайты и реклама. Ссылки в поисковой рекламе на «Uniswap» или «MetaMask» регулярно ведут на фишинговые копии. Сохраняйте официальные адреса в закладках.
- Поддельные приложения. Скачивайте кошельки только по ссылке с официального сайта проекта. В магазинах приложений периодически появляются клоны.
Для крупных сумм: мультиподпись
Мультисиг-кошелёк — это смарт-контракт (например, Safe), который выполняет транзакцию только при наличии M подписей из N ключей: скажем, 2 из 3. Ключи хранятся на разных устройствах и у разных людей или в разных местах. Потеря одного ключа не означает потери средств, а кража одного ключа не даёт доступа к ним. Цена — сложность использования и более высокие комиссии.
Короткий чек-лист
- Seed-фраза — только офлайн, никогда никому, никогда в цифровом виде.
- Основные средства — на аппаратном кошельке; сверяйте детали на его экране.
- Отдельный «горячий» адрес для новых протоколов и аирдропов.
- Ограниченные approve и регулярный их отзыв.
- Внимательно читайте, что подписываете, особенно «сообщения».
- Сверяйте адрес получателя полностью; для крупных сумм — сначала тестовый перевод.
- Официальные сайты — только из закладок.
Материал носит образовательный характер и не является инвестиционной рекомендацией. Операции с криптовалютами связаны с высоким риском потери средств.