Uniswap Permit2 подписанная фишинговая схема: руководство по выявлению рисков и предотвращению

robot
Генерация тезисов в процессе

Раскрытие: Фишинг-атака с подписями Uniswap Permit2

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

Недавно стала активной новая форма фишинга, при которой достаточно подписать, чтобы быть ограбленным; метод крайне скрытный и трудный для предотвращения. Адреса, которые когда-либо взаимодействовали с Uniswap, могут столкнуться с риском. В этой статье будет рассказано о методе фишинга с использованием подписи, чтобы избежать дальнейших убытков активов.

Ход событий

Недавно один мой друг, (, условно называемый Маленький А, стал жертвой кражи активов из своего кошелька. В отличие от распространенных способов кражи, Маленький А не раскрыл свой приватный ключ и не взаимодействовал с контрактами на фишинговых сайтах.

Блокчейн-эксплорер показывает, что USDT в кошельке маленького A был переведен с помощью функции Transfer From. Это означает, что другой адрес осуществил перевод токенов, а не произошла утечка приватного ключа кошелька.

Детали сделки показывают:

  • Адрес с окончанием fd51 перевел активы маленького А на адрес с окончанием a0c8
  • Эта операция взаимодействует с контрактом Permit2 от Uniswap.

Ключевой вопрос: как адрес с окончанием fd51 получил доступ к этому активу? Почему это связано с Uniswap?

Дальнейшее расследование показало, что перед переводом активов маленького A адрес с окончанием fd51 также выполнил операцию Permit, и обе эти операции взаимодействовали с контрактом Permit2 Uniswap.

![Подпись может быть украдена? Разоблачение мошенничества с подписками Uniswap Permit2])https://img-cdn.gateio.im/webp-social/moments-0cc586809f131d9dfab81df33fd1835e.webp(

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

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

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

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

Чтобы активировать фишинг подписи Permit2, ключевым условием является то, что кошелек, который подвергается фишингу, должен был уже авторизовать токены на контракт Permit2 Uniswap. В настоящее время для выполнения свопа в Dapp, интегрирующем Permit2 или на Uniswap, необходимо авторизовать контракт Permit2.

Более того, независимо от суммы Swap, контракт Uniswap Permit2 по умолчанию позволяет пользователю авторизовать весь баланс токена. Хотя MetaMask позволяет настраивать ввод суммы, большинство людей, вероятно, выберут максимальное или значение по умолчанию, а значение по умолчанию для Permit2 — это неограниченный лимит.

![Подпись украдут? Раскрываем мошенничество с фишингом подписи Uniswap Permit2])https://img-cdn.gateio.im/webp-social/moments-bb348691082594ecc577f91d7f9dc800.webp(

Это означает, что если вы взаимодействовали с Uniswap после 2023 года и предоставили лимит контракту Permit2, вы можете столкнуться с риском этого промывания глаз.

Ключевым моментом является функция Permit, которая позволяет хакерам использовать вашу подпись для передачи лимита токенов, который вы разрешили контракту Permit2, на другие адреса. Получив вашу подпись, хакеры могут получить доступ к токенам в вашем кошельке и перевести активы.

Подробный анализ события

Рабочий процесс функции permit:

  1. Проверьте, не истекло ли текущее время до )sigDeadline(
  2. Проверка подлинности подписи
  3. Если через проверку, обновление записей разрешено другим пользоваться твоими токенами

Основное внимание уделяется функциям verify и _updateApproval.

Функция verify извлекает три данных v, r, s из информации подписи, которые используются для восстановления адреса подписи транзакции. Контракт сравнивает восстановленный адрес с переданным адресом владельца токена; если они совпадают, проверка проходит, и вызывается функция _updateApproval; если они различаются, транзакция откатывается.

Функция _updateApproval обновляет значение разрешения после проверки подписи, что означает, что ваши права были переданы. В этот момент уполномоченная сторона может вызвать функцию transferfrom для перевода токенов на указанный адрес.

Онлайн настоящие сделки показывают:

  • owner это адрес кошелька маленького A ) с последними цифрами 308a(
  • В разделе Details можно увидеть адрес контракта токена )USDT( и информацию о сумме и др.
  • Spender является адресом хакера с окончанием fd51
  • sigDeadline это время действия подписи, signature это информация о подписи маленького А

![Подпись и кража? Раскрытие мошенничества с подделкой подписи Uniswap Permit2])https://img-cdn.gateio.im/webp-social/moments-30520c8399a6ee69aa22424476c5870c.webp(

Обратный взгляд на историю взаимодействий маленького А показывает, что при использовании Uniswap он нажал на стандартный лимит авторизации, то есть практически неограниченный лимит.

Простой анализ: малый A ранее предоставил неограниченный лимит USDT для Permit2, используя Uniswap. Позже, при работе с кошельком, он случайно попал в ловушку фишинга, разработанную хакерами, связанного с подписанием Permit2. После получения подписи малый A, хакеры выполнили операции Permit и Transfer From в контракте Permit2, переведя активы малый A. В настоящее время контракт Permit2 на Uniswap, похоже, стал рассадником фишинга, и такая атака через подпись активна уже около двух месяцев.

Как предотвратить?

Учитывая, что контракт Uniswap Permit2 может стать более распространенным в будущем, и больше проектов могут интегрировать его для авторизации и совместного использования, эффективные меры предосторожности включают:

  1. Понимание и распознавание содержания подписи: Формат подписи Permit обычно включает ключевую информацию, такую как Owner, Spender, value, nonce и deadline. Если вы хотите воспользоваться удобством и низкой стоимостью, которые предоставляет Permit2, вам необходимо научиться распознавать этот формат подписи. Использование безопасного плагина - неплохой выбор.

![Подпись украдена? Раскрытие phishing-методов подписей Uniswap Permit2])https://img-cdn.gateio.im/webp-social/moments-730db044a34a8dc242f04cf8ae4d394c.webp(

  1. Разделение использования кошелька активов и интерактивного кошелька: Если у вас есть большое количество активов, рекомендуется хранить основные активы в холодном кошельке, а в кошельке для взаимодействия с сетью оставлять лишь небольшую сумму, что может значительно снизить потери в случае столкновения с промывание глаз.

  2. Ограничение суммы, разрешенной для контракта Permit2, или отмена разрешения: При обмене на Uniswap разрешите только ту сумму, которая необходима для взаимодействия. Хотя повторное разрешение на каждое взаимодействие увеличивает затраты, это позволяет избежать фишинга с использованием подписи Permit2. Если сумма уже разрешена, можно использовать безопасное расширение для отмены разрешения.

  3. Определите характеристики токена, узнайте, поддерживает ли он функцию permit: В будущем может появиться больше ERC20 токенов с функцией permit. Необходимо следить за тем, поддерживает ли токен, который вы держите, эту функцию; если поддерживает, будьте особенно осторожны при сделках или операциях, строго проверяйте каждую неизвестную подпись на соответствие функции permit.

  4. Если после промывания глаз у вас остались токены на других платформах, необходимо разработать полный план спасения: Обнаружив мошенничество, если у вас еще есть токены на других платформах через стейкинг и другие способы, необходимо извлечь и переместить их, учитывая, что хакеры могут в любой момент контролировать баланс вашего адреса. Разработайте полноценный процесс спасения токенов, чтобы убедиться, что извлечение и перемещение выполняются одновременно, чтобы предотвратить вставку торгов хакерами. Рассмотрите возможность использования MEV-передачи или обращения за помощью к профессиональным компаниям по безопасности, таким как команда Beosin.

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

UNI2.39%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Репост
  • Поделиться
комментарий
0/400
NotFinancialAdviservip
· 08-10 23:39
Снова я, великий uni, несу ответственность за риски.
Посмотреть ОригиналОтветить0
BlockTalkvip
· 08-10 15:17
Опять в ловушке или украден?
Посмотреть ОригиналОтветить0
AirdropChaservip
· 08-10 15:16
Есть ли способ вернуть? Как же плохо.
Посмотреть ОригиналОтветить0
ZenChainWalkervip
· 08-10 15:06
А, снова новые схемы мошенничества. Рано умереть — рано стать соучастником.
Посмотреть ОригиналОтветить0
AirdropHunterZhangvip
· 08-10 15:05
Эх, так долго получал бесплатно, теперь, конечно, нужно расплачиваться, слишком много поменял uniV3.
Посмотреть ОригиналОтветить0
LiquidationAlertvip
· 08-10 14:50
Посмотрев на так много уязвимостей протоколов, я действительно боюсь подписывать.
Посмотреть ОригиналОтветить0
  • Закрепить