Аирдропы: заявка на получение и есть атака

·6 мин. чтения·Автор: SSP Editorial Team
Обложка SSP Academy: поддельные аирдропы и вывод средств через подпись

Аирдропы: заявка на получение и есть атака

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

Почти всё в этой фразе задумано, чтобы подвести вас к одному действию: подключить кошелёк и подписать. Токен — приманка. Заявка на получение — атака.

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

Почему бесплатные токены — идеальная приманка

Любой может создать токен и отправить его на любой адрес. Отправителю это стоит небольшой комиссии, вам — ничего, и отказаться вы не можете. Эта асимметрия — весь фундамент мошенничества.

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

Некоторые из этих токенов носят URL вместо названия или символа. Некоторые показывают огромные балансы, часто с абсурдно длинной эмиссией, чтобы впечатлять с первого взгляда. Отдельные устроены так, что сама попытка продать или перевести их напрямую запускает вредоносное взаимодействие.

Это близкий родственник отравления адресов и dusting-атак: незапрошенная ценность, попадающая в кошелёк как средство доставки чего-то другого.

Держать токен — не опасно

Вот успокаивающая часть, и здесь стоит быть точным.

Токен, лежащий на вашем адресе, ничего не может у вас отнять. Он не сдвинет другие ваши активы, не подпишет за вас и не доберётся до кошелька. Получение не потребовало от вас ничего, и если ничего с ним не делать, вы в той же безопасности, что и прежде.

Опасность начинается в момент взаимодействия. Каждая кража этого рода требует вашей подписи — и всё ремесло злоумышленника в том, чтобы эта подпись казалась рутиной.

Поэтому первое правило простое: неожиданный токен — это информация, а не приглашение. Его можно игнорировать сколь угодно долго.

Что на самом деле просит подписать страница получения

Страница попросит «получить», «проверить право на участие» или «подключиться, чтобы увидеть вашу долю». На деле она обычно запрашивает одно из трёх.

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

Подпись вне цепочки. Это более опасный современный вариант. Стандарты вроде разрешений EIP-2612 и Permit2 позволяют разрешить трату токенов подписанным сообщением вместо транзакции. Ни газа, ни рассылки, ничего в истории — а злоумышленник может отправить её позже и перевести ваши токены. Люди, научившиеся осторожности с транзакциями, часто куда беспечнее с «просто подписью», потому что она будто ничего не стоит.

Транзакцию, которая делает больше, чем говорит. Вызов «получения», заодно переводящий активы наружу, упакованный в одно подтверждение.

У всех трёх одна черта: страница описывает выгоду для вас, а реальная нагрузка описывает разрешение для них. Этот разрыв и есть то, что означает слепая подпись, а заявки на аирдропы — её самая распространённая форма в жизни.

Что SSP показывает при подписи типизированных данных

Внецепочечные разрешения приходят как запросы типизированных данных EIP-712, поэтому стоит конкретно сказать, как SSP с ними обходится, — в том числе где он недотягивает.

Когда dApp запрашивает подпись типизированных данных, SSP показывает название и URL запрашивающего сайта, адрес, который подпишет, сеть и предупреждение о смене цепочки, если запрос нацелен не на вашу цепочку. Затем он показывает полную структурированную нагрузку EIP-712 — каждое поле, ничего не скрыто.

Подпись требует одобрения в SSP Wallet и затем подтверждения в SSP Key. Два устройства, два осознанных шага. Это действительно защищает от того, чтобы одно скомпрометированное устройство в одиночку произвело подпись.

Теперь честное ограничение. Для типизированных данных SSP показывает сырой структурированный JSON, а не сводку простым языком. Наш расшифровщик транзакций переводит обычные вызовы ERC-20 в читаемые фразы — включая пометку неограниченных разрешений, — но разрешения в типизированных данных сегодня так не расшифровываются. Вы получаете полную правду, но её надо прочесть: ищите поле spender, value или amount и deadline. Если «получение» просит подписать нечто со spender и большой суммой — это не получение. Это разрешение.

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

Как отличить настоящий аирдроп от поддельного

Настоящие аирдропы объявляют, а не доставляют. Честные проекты объявляют право на участие через свои устоявшиеся каналы задолго до любого получения. Токен, который просто появляется и рекламирует собственный сайт получения, почти всегда и есть мошенничество.

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

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

Спешка выдаёт. «Получите за 2 часа» существует, чтобы вы не думали.

Проверяйте, что подписывается, а не что пишет страница. Страницу пишет тот, кому нужна ваша подпись. Нагрузка — единственная честная часть.

Если вы уже что-то подписали

Действуйте быстро: выводящие средства часто выметают активы за минуты.

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

Переведите то, что ещё открыто. Всё, до чего злоумышленник ещё может дотянуться, должно оказаться там, куда он не дотянется.

Больше не взаимодействуйте. Сайты «восстановления» и услужливые незнакомцы, предлагающие отменить кражу, — вторая волна той же операции.

Общий урок ценнее любого списка. В криптовалютах почти никогда не теряют деньги, что-то получив. Их теряют, что-то подписав. Бесплатные токены — просто самый действенный из найденных способов заставить вас подписать.

Поделиться статьёй

Похожие статьи

Квадратная обложка руководства SSP по одобрениям токенов ERC-20 и неограниченным allowance

Одобрения токенов: разрешения, которые вы продолжаете раздавать

Как работает approve() в ERC-20, почему неограниченные allowance рискованны и что каждое взаимодействие с dApp тихо выдаёт из вашего SSP-кошелька.

8 min
Квадратная обложка SSP Academy: слепая подпись и нечитаемые одобрения транзакций

Слепая подпись: что вы на самом деле одобряете, когда экран не говорит ничего полезного

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

6 min
Квадратная обложка SSP Academy: отравление адресов и похожие криптоадреса

Отравление адресов: атака, которой нужно лишь чтобы вы скопировали не то

Ни вредоносного кода, ни фишингового сайта, ни украденной подписи. Атакующий просто кладёт похожий адрес в вашу историю транзакций и ждёт, пока вы его скопируете. Почему совет «всегда перепроверяйте адрес» не работает и что защищает на самом деле.

7 min