Пропала крипта без кражи сид-фразы: что такое approval-фишинг
Если вы обнаружили, что деньги пропали, а сид-фразу никому не показывали — не спешите думать, что это баг или ошибка. Есть способ вывести деньги, для которого вор не должен знать вашу сид-фразу вообще. Ему нужна всего одна ваша подпись.
Записанная на бумаге сид-фраза — единственный секрет, который решает судьбу всех средств
Что случилось 9 июля Пользователь Ethereum подписал транзакцию на сайте, который выглядел как обычный сервис. Через несколько секунд с его кошелька ушло 999 999 USDT — почти миллион долларов. Сид-фразу он никому не вводил, приватный ключ не показывал. Всё, что он сделал — нажал «Подтвердить» во всплывающем окне кошелька.
Обнаружившие кражу аналитики Scam Sniffer отметили деталь: когда вор увидел, что на кошельке чуть меньше денег, чем ожидалось, скрипт атаки автоматически пересчитал сумму и забрал ровно тот остаток, что был доступен. Это не ручная работа мошенника — это заранее написанная программа, которая ждёт вашей подписи и действует мгновенно.
Как это работает Когда вы пользуетесь любым сервисом в криптовалюте — биржей, обменником, приложением — кошелёк на каком-то этапе просит вас подтвердить «разрешение» (approval). По сути это документ вида «этот сервис может распоряжаться моими токенами без дополнительных вопросов». Это законная и обычная часть работы большинства криптоприложений — без неё сервисы не смогли бы работать с вашими токенами.
Проблема в том, что подтверждение выглядит для человека как рутинный клик, один из десятков за день. Вор просто подделывает сайт так, чтобы вы подписали такое разрешение для него, а не для настоящего сервиса. Ключ и сид-фраза при этом вообще не нужны — вор получает не доступ к кошельку, а ваше собственное разрешение забрать из него деньги.
С точки зрения сети это выглядит так же законно, как обычная транзакция. Вы её подписали своим ключом — значит, вы разрешили.
Почему это страшнее обычного фишинга Кража сид-фразы происходит один раз и понятна сразу: получили фразу — украли всё. Approval-фишинг работает иначе и опаснее по одной причине: разрешение может лежать «спящим» неделями или месяцами.
Вы подписываете его сегодня на сайте, который в тот момент безопасен. Через два месяца тот же сайт взламывают или его владелец сам оказывается мошенником. Ваше старое разрешение по-прежнему активно — и деньги уходят без каких-либо новых действий с вашей стороны. Человек может искренне не понимать, за что его наказали: он же ничего не подписывал сегодня.
Как проверить свой кошелёк прямо сейчас Это займёт около пяти минут и не требует специальных знаний.
Откройте Etherscan, в разделе «Token Approvals» введите адрес своего кошелька — сервис покажет список всех разрешений, которые вы когда-либо выдавали. Альтернатива с более понятным интерфейсом — сайт revoke.cash, работает так же для Ethereum и большинства других сетей.
Просмотрите список. Если видите сервис, которым не пользуетесь месяцами, или не узнаёте вовсе — нажмите «Revoke» рядом с ним. Это отдельная транзакция, за неё нужно заплатить небольшую комиссию сети, но она отзывает разрешение навсегда, пока вы не выдадите новое.
Отдельно обратите внимание на разрешения без ограничения суммы — то есть на «неограниченный» доступ вместо доступа к конкретной сумме. Именно они самые опасные: вор может забрать не то, что было на кошельке в момент подписи, а всё, что появится там в будущем.
Как не подписывать лишнее в будущем Проверяйте адрес сайта перед подключением кошелька — не по памяти, а буквально посимвольно, особенно если пришли по ссылке из письма или сообщения. Подделки часто отличаются одной переставленной буквой в домене.
Когда всплывает окно с запросом на подпись, не нажимайте «Подтвердить» на автомате. Кошелёк обычно показывает, что именно вы разрешаете и в каком объёме — потратьте три секунды, чтобы это прочитать, а не просто закрыть окно кликом.
Заведите привычку раз в несколько месяцев проверять список активных разрешений тем же способом, что описан выше, и отзывать всё, чем давно не пользуетесь. Это не паранойя — это то же самое, что периодически проверять список приложений с доступом к вашей почте.
При чём здесь хранение денег Отзыв разрешений закрывает конкретную уязвимость, но не решает более общий вопрос: что произойдёт, если вы всё же ошибётесь и подпишете что-то не то. Если ключ, подписывающий операции, один — любая ошибка с подписью означает потерю всего. Если для крупного перевода нужно подтверждение вторым, отдельным ключом — одна неверная подпись на фишинговом сайте не откроет вору доступ ко всей сумме сразу.