Раскрытие мошенничества с подделкой подписей Uniswap Permit2
Хакеры являются пугающим явлением в экосистеме Web3. Для проектов открытый код вызывает беспокойство, так как каждая строка кода может содержать уязвимости. Для индивидуальных пользователей, если они не понимают значение действий, каждое взаимодействие или подпись в цепочке может привести к краже активов. Поэтому вопросы безопасности всегда были одной из проблем в криптомире. Из-за особенностей блокчейна, активы, как правило, невозможно вернуть, если они были украдены, поэтому знание основ безопасности особенно важно.
Недавно была обнаружена новая методика фишинга, при которой достаточно подписать, чтобы быть ограбленным; метод скрытный и трудно предотвратить. Адреса, которые использовали взаимодействие с некоторыми DEX, могут быть подвержены риску. В данной статье будет представлено научное объяснение этой методики фишинга с подписью, чтобы избежать дальнейших потерь активов.
Ход событий
Недавно у одного друга (, маленького А, ) были украдены активы из кошелька. В отличие от обычных способов кражи, маленький А не раскрыл свой приватный ключ и не взаимодействовал с фишинговыми сайтами.
Блокчейн-браузер показывает, что украденные у маленького А USDT были перемещены с помощью функции Transfer From. Это означает, что другой адрес выполнил операцию по перемещению токена, а не утечка закрытого ключа кошелька.
Детали сделки показывают:
Адрес, заканчивающийся на fd51, перевел активы малой A на адрес, заканчивающийся на a0c8
Эта операция взаимодействует с контрактом Permit2 некоторой DEX.
Ключевой вопрос: как адрес с окончанием fd51 может получить права на активы? Почему это связано с каким-то DEX?
Далее посмотрите историю взаимодействий адреса с окончанием fd51. Перед передачей активов малой A этот адрес выполнил операцию Permit, и обе операции взаимодействовали с контрактом Permit2 какого-то DEX.
Контракт Permit2 — это новый контракт, выпущенный определенной DEX в конце 2022 года. Он позволяет авторизовать токены для совместного использования и управления между различными приложениями, с целью создания более унифицированного, менее затратного и более безопасного пользовательского опыта. В будущем, с интеграцией большего количества проектов, Permit2 сможет обеспечить стандартизированное одобрение токенов между приложениями.
В традиционных методах взаимодействия пользователю необходимо отдельно авторизовывать каждое взаимодействие с Dapp. Permit2, выступая в качестве посредника, позволяет пользователю авторизовать только контракт Permit2, после чего все Dapp, интегрированные с Permit2, могут делиться лимитом авторизации. Это снижает затраты на взаимодействие пользователей и улучшает опыт.
Но Permit2 также является двусторонним мечом. Он превращает действия пользователей в подписи вне цепи, а действия в цепи выполняются промежуточным лицом. Это позволяет пользователю использовать другие токены для оплаты газа или возмещения затрат промежуточным лицом, даже если в кошельке пользователя нет ETH. Однако подписи вне цепи - это тот этап, который пользователи чаще всего игнорируют.
Чтобы активировать этот фишинг-метод, ключевое условие заключается в том, что кошелек должен быть авторизован для контракта Permit2. В настоящее время, чтобы выполнить Swap на Dapp, интегрирующем Permit2, необходимо авторизовать контракт Permit2. Более того, независимо от суммы Swap, контракт Permit2 по умолчанию предоставляет пользователю разрешение на весь баланс данного токена.
Это означает, что после 2023 года взаимодействие с каким-либо DEX и предоставление разрешения контракту Permit2 может подвергнуть вас риску фишинга. Хакеры используют функцию Permit, чтобы передать разрешенные токены Permit2 на другие адреса с помощью подписи пользователя.
Подробный анализ события
Функция Permit позволяет заранее подписывать "контракт", уполномочивая других использовать определенное количество токенов в будущем. Для проверки подлинности полномочий требуется предоставить подпись.
Рабочий процесс функции:
Проверьте, истекло ли текущее время действия подписи.
Проверка подлинности подписи
Обновить записи авторизации после прохождения
Основное внимание уделяется функциям verify и _updateApproval.
функция verify извлекает данные v, r, s из информации о подписи, восстанавливает адрес подписи и сравнивает его с переданным адресом. функция _updateApproval обновляет значение авторизации после успешной проверки.
Фактические детали сделки показывают:
owner это адрес кошелька Xiao A
Токен авторизации это USDT
Spender это адрес хакера с окончанием fd51
sigDeadline это срок действия подписи
signature это информация о подписи маленького А
Маленький А ранее использовал какой-то DEX и нажал на стандартный безлимитный авторизационный лимит.
Краткое описание событий: Маленький A ранее предоставил разрешение на неограниченный лимит USDT для Permit2, но затем случайно попал в ловушку подписей, разработанную хакерами. Хакеры использовали подпись для выполнения операций Permit и Transfer From в контракте Permit2 для перемещения активов. В настоящее время контракт Permit2 на этой DEX стал зоной активного фишинга.
Как предотвратить?
Понимание и распознавание содержания подписи: научитесь распознавать формат подписи Permit, который включает в себя ключевую информацию, такую как Owner, Spender, value, nonce и deadline.
Разделение активов и интерактивного кошелька: храните крупные активы в холодном кошельке, интерактивный кошелек должен содержать только небольшую сумму.
Ограничение лимита разрешения Permit2 или отмена разрешения: разрешите только сумму необходимой сделки или используйте безопасный плагин для отмены разрешения.
Узнать, поддерживает ли токен функцию permit: обращайте внимание на то, поддерживает ли токен эту функцию, будьте особенно осторожны при совершении соответствующих сделок.
Разработка и完善ение плана спасения активов: если после кражи остаются активы на других платформах, необходимо осторожно их выводить и переносить, можно рассмотреть возможность использования MEV для переноса или обратиться за помощью к профессиональной команде безопасности.
В будущем количество фишинга на основе Permit2 может увеличиться. Этот способ подписного фишинга скрыт и труден для предотвращения. С расширением области применения Permit2 также увеличится количество адресов, подверженных риску. Надеюсь, читатели распространят эту статью, чтобы избежать потерь у большего числа людей.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
16 Лайков
Награда
16
10
Репост
Поделиться
комментарий
0/400
MoonMathMagic
· 12ч назад
Эта подпись слишком страшная, игрокам DEX будет трудно.
Посмотреть ОригиналОтветить0
TestnetNomad
· 08-15 10:46
Играл на DEX, не обращая внимания, потерял несколько сотен долларов, это действительно несправедливо.
Посмотреть ОригиналОтветить0
NullWhisperer
· 08-15 00:09
технически говоря, permit2 это всего лишь еще одна вектор атаки, который ждет своего часа...
Посмотреть ОригиналОтветить0
ShibaMillionairen't
· 08-14 15:17
Подписка была украдена, да? Просто практикуйся больше.
Посмотреть ОригиналОтветить0
ImpermanentPhilosopher
· 08-14 04:10
Секундные подписчики неудачники тоже могут заниматься рыбалкой?
Посмотреть ОригиналОтветить0
DataOnlooker
· 08-14 04:08
Подписка была украдена? Это действительно опасно.
Посмотреть ОригиналОтветить0
LiquidationSurvivor
· 08-14 04:06
Снова новый промывание глаз... Похоже, что на Адрес риск стоит обратить больше внимания.
Посмотреть ОригиналОтветить0
TokenStorm
· 08-14 04:04
Все еще глупо подписываете? Судя по данным в блокчейне, эта ловушка permit2 может устранить 80% неудачников.
Посмотреть ОригиналОтветить0
GameFiCritic
· 08-14 03:55
Все элементы подписи были отданы мошенникам, а он еще говорит, что понимает, как действовать. Смешно.
Посмотреть ОригиналОтветить0
UnluckyValidator
· 08-14 03:48
Похоже, нужно быть осторожнее с DEX. Перед взаимодействием подумайте хорошенько.
Предупреждение о фишинге подписей контрактов Uniswap Permit2: меры предосторожности для предотвращения потери активов.
Раскрытие мошенничества с подделкой подписей Uniswap Permit2
Хакеры являются пугающим явлением в экосистеме Web3. Для проектов открытый код вызывает беспокойство, так как каждая строка кода может содержать уязвимости. Для индивидуальных пользователей, если они не понимают значение действий, каждое взаимодействие или подпись в цепочке может привести к краже активов. Поэтому вопросы безопасности всегда были одной из проблем в криптомире. Из-за особенностей блокчейна, активы, как правило, невозможно вернуть, если они были украдены, поэтому знание основ безопасности особенно важно.
Недавно была обнаружена новая методика фишинга, при которой достаточно подписать, чтобы быть ограбленным; метод скрытный и трудно предотвратить. Адреса, которые использовали взаимодействие с некоторыми DEX, могут быть подвержены риску. В данной статье будет представлено научное объяснение этой методики фишинга с подписью, чтобы избежать дальнейших потерь активов.
Ход событий
Недавно у одного друга (, маленького А, ) были украдены активы из кошелька. В отличие от обычных способов кражи, маленький А не раскрыл свой приватный ключ и не взаимодействовал с фишинговыми сайтами.
Блокчейн-браузер показывает, что украденные у маленького А USDT были перемещены с помощью функции Transfer From. Это означает, что другой адрес выполнил операцию по перемещению токена, а не утечка закрытого ключа кошелька.
Детали сделки показывают:
Ключевой вопрос: как адрес с окончанием fd51 может получить права на активы? Почему это связано с каким-то DEX?
Далее посмотрите историю взаимодействий адреса с окончанием fd51. Перед передачей активов малой A этот адрес выполнил операцию Permit, и обе операции взаимодействовали с контрактом Permit2 какого-то DEX.
Контракт Permit2 — это новый контракт, выпущенный определенной DEX в конце 2022 года. Он позволяет авторизовать токены для совместного использования и управления между различными приложениями, с целью создания более унифицированного, менее затратного и более безопасного пользовательского опыта. В будущем, с интеграцией большего количества проектов, Permit2 сможет обеспечить стандартизированное одобрение токенов между приложениями.
В традиционных методах взаимодействия пользователю необходимо отдельно авторизовывать каждое взаимодействие с Dapp. Permit2, выступая в качестве посредника, позволяет пользователю авторизовать только контракт Permit2, после чего все Dapp, интегрированные с Permit2, могут делиться лимитом авторизации. Это снижает затраты на взаимодействие пользователей и улучшает опыт.
Но Permit2 также является двусторонним мечом. Он превращает действия пользователей в подписи вне цепи, а действия в цепи выполняются промежуточным лицом. Это позволяет пользователю использовать другие токены для оплаты газа или возмещения затрат промежуточным лицом, даже если в кошельке пользователя нет ETH. Однако подписи вне цепи - это тот этап, который пользователи чаще всего игнорируют.
Чтобы активировать этот фишинг-метод, ключевое условие заключается в том, что кошелек должен быть авторизован для контракта Permit2. В настоящее время, чтобы выполнить Swap на Dapp, интегрирующем Permit2, необходимо авторизовать контракт Permit2. Более того, независимо от суммы Swap, контракт Permit2 по умолчанию предоставляет пользователю разрешение на весь баланс данного токена.
Это означает, что после 2023 года взаимодействие с каким-либо DEX и предоставление разрешения контракту Permit2 может подвергнуть вас риску фишинга. Хакеры используют функцию Permit, чтобы передать разрешенные токены Permit2 на другие адреса с помощью подписи пользователя.
Подробный анализ события
Функция Permit позволяет заранее подписывать "контракт", уполномочивая других использовать определенное количество токенов в будущем. Для проверки подлинности полномочий требуется предоставить подпись.
Рабочий процесс функции:
Основное внимание уделяется функциям verify и _updateApproval.
функция verify извлекает данные v, r, s из информации о подписи, восстанавливает адрес подписи и сравнивает его с переданным адресом. функция _updateApproval обновляет значение авторизации после успешной проверки.
Фактические детали сделки показывают:
Маленький А ранее использовал какой-то DEX и нажал на стандартный безлимитный авторизационный лимит.
Краткое описание событий: Маленький A ранее предоставил разрешение на неограниченный лимит USDT для Permit2, но затем случайно попал в ловушку подписей, разработанную хакерами. Хакеры использовали подпись для выполнения операций Permit и Transfer From в контракте Permit2 для перемещения активов. В настоящее время контракт Permit2 на этой DEX стал зоной активного фишинга.
Как предотвратить?
Разделение активов и интерактивного кошелька: храните крупные активы в холодном кошельке, интерактивный кошелек должен содержать только небольшую сумму.
Ограничение лимита разрешения Permit2 или отмена разрешения: разрешите только сумму необходимой сделки или используйте безопасный плагин для отмены разрешения.
Узнать, поддерживает ли токен функцию permit: обращайте внимание на то, поддерживает ли токен эту функцию, будьте особенно осторожны при совершении соответствующих сделок.
Разработка и完善ение плана спасения активов: если после кражи остаются активы на других платформах, необходимо осторожно их выводить и переносить, можно рассмотреть возможность использования MEV для переноса или обратиться за помощью к профессиональной команде безопасности.
В будущем количество фишинга на основе Permit2 может увеличиться. Этот способ подписного фишинга скрыт и труден для предотвращения. С расширением области применения Permit2 также увеличится количество адресов, подверженных риску. Надеюсь, читатели распространят эту статью, чтобы избежать потерь у большего числа людей.