Back to Blog

Как не стать жертвой фишинга в Web3

MetaSleuth
April 26, 2024
4 min read

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

Типы фишинговых атак

Мы выделяем четыре типа распространенных фишинговых атак.

  • Прямой перевод токенов: Злоумышленник заманивает пользователей напрямую перевести нативные токены (Ether) или токены ERC20/ERC711 на подконтрольные ему счета.

  • Фишинг через апрув (Approval phishing): Апрув — это механизм, который делегирует право распоряжения токенами пользователя другому лицу (расходующей стороне) путем подписания транзакции одобрения. Злоумышленник может склонить пользователя подписать транзакцию, разрешающую перевод его токенов злоумышленнику, после чего он сможет забрать токены жертвы.

  • Отравление адреса (Address Poisoning): Сюда относятся атаки с использованием поддельных токенов, "нулевые" трансферы и атаки с переводом мелких сумм (dust-transfer).

  • NFT Zerobuy фишинг: Злоумышленник склоняет пользователей подписать транзакцию на продажу их NFT по низкой цене или даже бесплатно.

  • Другое.

Прямой перевод токенов

Первый тип называется прямым переводом токенов. Злоумышленники просят пользователей подписать транзакцию для перевода эфира непосредственно на контролируемый злоумышленником счет. Более продвинутые методы используют вредоносный смарт-контракт с функцией под названием SecurityUpdate или ClaimRewards, чтобы заставить пользователя подписать транзакцию.

На рисунке выше (справа) показан пример фишинговой транзакции с функцией SecurityUpdate в смарт-контракте. Если пользователь подпишет эту транзакцию, его эфир будет переведен на этот смарт-контракт, а затем злоумышленнику.

Фишинг через апрув

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

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

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

Мы также отмечаем новый тип фишинговой атаки с использованием легитимных контрактов, который мы назвали ROP в Web3-фишинге. Подробнее см. в нашем блоге.

Отравление адреса

В этом видео мы покажем, как происходит отравление адреса, включая атаки с поддельными токенами, "нулевые" трансферы и атаки с переводом мелких сумм, а также как заметить подозрительные транзакции в Etherscan.

Нулевой трансфер: Злоумышленник создает запись о переводе популярных токенов (например, USDC) на нулевую сумму от имени жертвы на фишинговый адрес. Этот фишинговый адрес похож на адрес из истории транзакций жертвы. Когда жертва копирует адрес для следующего перевода, она может случайно скопировать фишинговый адрес из истории. Читайте подробнее в нашем Twitter, а также в расследованиях Coinbase 1 2 3 и других материалах.

NFT Zerobuy фишинг

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

Это дает мошеннику возможность обманом заставить пользователей подписать транзакцию на продажу их NFT по очень низкой цене (или даже бесплатно). Затем злоумышленник может взять эту транзакцию, закрыть сделку на маркетплейсе и получить NFT жертвы практически даром.

Этот вид фишинга распространен, поскольку пользователю трудно понять суть подписываемого ордера.

На рисунке выше показан интерфейс MetaMask при подписании ордера на OpenSea. К сожалению, такую информацию пользователям крайне сложно интерпретировать.

Как защитить себя

  • Во-первых, подписывайте только ту транзакцию, которую понимаете! Если у вас есть какие-либо вопросы относительно транзакции, пожалуйста, не подписывайте её.
  • Во-вторых, используйте несколько кошельков для проведения транзакций. Используйте один адрес для повседневных операций, на котором находится небольшое количество токенов. Основную часть средств храните на отдельном кошельке, который не подписывает никаких транзакций, кроме переводов на первый кошелек.
  • В-третьих, проверяйте свои апрувы и удаляйте ненужные. Для этого вы можете использовать инструмент «Approval Diagnosis» от MetaSuites.
Sign up for the latest updates

Go Deeper with MetaSleuth Investigation

Extend your crypto compliance capabilities with Blocksec's MetaSleuth Investigation, the first platform for tracing funds, mapping transaction networks and revealing hidden on-chain relationships.

Move from detection to resolution faster with clear visual insights and evidence-ready workflows across the digital assets ecosystem.

MetaSleuth Investigation