Раскрытие мошенничества с подписями Uniswap Permit2: будьте осторожны, подписывая, чтобы не быть ограбленным
Хакеры являются пугающим существом в экосистеме Web3. Для разработчиков проектов открытый исходный код делает уязвимости неизбежными; для отдельных пользователей каждый раз взаимодействие с цепочкой может повлечь за собой риск кражи активов. Таким образом, проблемы безопасности всегда были больной темой в криптомире, а особенности блокчейна делают возвращение украденных активов затруднительным, поэтому знание безопасности особенно важно.
В последнее время появилась новая форма фишинга, которая может привести к краже активов всего лишь с помощью подписи. Этот метод скрытный и трудно предотвратимый. Адреса, которые когда-либо взаимодействовали с какой-либо торговой платформой, могут подвергаться риску. В этой статье мы проанализируем этот метод подписного фишинга, чтобы помочь читателям избежать дополнительных потерь активов.
Ход событий
Один друг (, кошелек активов 小A ) был украден, но приватный ключ не был раскрыт и не было взаимодействия с подозрительным контрактом. Расследование показало, что USDT 小A был переведен с помощью функции Transfer From, что означает, что активы были переведены третьей стороной, а не из-за утечки приватного ключа.
Дальнейший запрос деталей сделки показывает:
Один адрес переводит активы маленького А на другой адрес
Эта операция взаимодействует с контрактом Permit2 на одной из торговых платформ.
Ключевой вопрос: как этот адрес получил доступ к активам маленького А? Почему он связан с этой торговой платформой?
Исследование показывает, что перед передачей активов маленького A этот адрес также выполнил операцию Permit, и оба действия взаимодействовали с контрактом Permit2 этой торговой платформы.
Контракт Permit2 был запущен на этой торговой платформе в конце 2022 года, с целью реализации совместного использования и управления авторизацией токенов между различными приложениями, предоставляя более унифицированный, эффективный и безопасный пользовательский опыт. В будущем, с интеграцией большего числа проектов, Permit2 обещает стандартизировать одобрение токенов между приложениями, снижая затраты на транзакции и повышая безопасность.
Запуск Permit2 может изменить правила экосистемы Dapp. В традиционной модели пользователи должны отдельно авторизовывать каждое взаимодействие с Dapp, в то время как Permit2 выступает в роли посредника, и пользователю нужно предоставить разрешение только один раз, после чего все Dapp, интегрированные с Permit2, могут делить лимит авторизации. Это улучшает пользовательский опыт, но также может привести к рискам, так как проблема заключается в способе взаимодействия с Permit2.
Permit2 преобразует действия пользователя в подписи вне цепи, а операции в цепи выполняются промежуточной стороной. Это позволяет пользователям оплачивать газ без ETH или через промежуточную сторону, но подпись вне цепи также является наиболее легко игнорируемым этапом для пользователей.
Вернувшись к примеру с малым A, кража активов связана с взаимодействием с контрактом Permit2. Ключевым условием является то, что кошелек, который был подвержен фишингу, должен был авторизовать контракт Permit2. Стоит отметить, что в настоящее время для выполнения Swap на Dapp, интегрирующем Permit2, или на этой торговой платформе требуется авторизация контракта Permit2.
Более того, беспокойство вызывает то, что независимо от суммы Swap, контракт Permit2 на этой торговой платформе по умолчанию требует разрешения на всю сумму средств. Хотя кошелек предлагает ввести произвольную сумму, большинство пользователей могут просто выбрать максимальное или значение по умолчанию, а значение по умолчанию для Permit2 — это неограниченный лимит.
Это означает, что все, кто взаимодействовал с этой торговой платформой и разрешил контракту Permit2 после 2023 года, могут столкнуться с риском этого промывание глаз.
Ядро промывания глаз заключается в функции Permit, которая позволяет передавать лимиты токенов, разрешенных контракту Permit2, другим адресам через подпись. После получения подписи хакеры могут управлять токенами в кошельке пользователя и переводить активы.
Подробный анализ события
Функция Permit аналогична онлайн-подписанию контракта, позволяя заранее уполномочить другого (spender) на использование определенного количества токенов в будущем. Функция проверяет срок действия подписи, подтверждает подлинность подписи, а затем обновляет записи об авторизации.
Функция verify извлекает данные v, r, s из информации о подписи, чтобы восстановить адрес подписи и сравнить его с адресом владельца токена. Если проверка прошла успешно, продолжается вызов функции _updateApproval.
_updateApproval функция обновляет значение разрешения после проверки подписи, реализуя передачу прав. В этот момент уполномоченная сторона может вызвать функцию transferfrom для перевода токенов на указанный адрес.
Анализ реальных транзакций в блокчейне виден:
owner это адрес кошелька маленького A
Details показывает адрес смарт-контракта токена (USDT) и информацию о сумме и т.д.
Spender это адрес хакера
sigDeadline это срок действия подписи
signature это информация о подписи маленького А
Анализируя историю взаимодействия с малым А, выяснили, что он ранее, используя эту торговую платформу, по умолчанию авторизовал практически неограниченный лимит.
Короче говоря, маленький A ранее предоставил неограниченный лимит USDT контракту Permit2, а затем попал в ловушку фишинга, разработанную хакерами, с подписанием Permit2. Получив подпись, хакеры выполнили операции Permit и Transfer From в контракте Permit2, переведя активы маленького A. В настоящее время контракт Permit2 на этой торговой платформе, похоже, стал рассадником фишинга, и этот метод фишинга активизировался около двух месяцев назад.
Как предотвратить?
Учитывая, что контракт Permit2 может стать более распространенным в будущем, все больше проектов могут интегрировать этот контракт для авторизации совместного использования, эффективные меры предосторожности включают:
Понять и распознать содержание подписи:
Подпись разрешения обычно содержит такие ключевые данные, как Владелец, Распорядитель, значение, номер и срок. Использование безопасного плагина помогает распознать этот формат подписи.
Разделение хранения активов и кошелька для взаимодействия:
Рекомендуется хранить большую часть активов в холодном кошельке, а в интерактивном кошельке оставлять только небольшую сумму средств, чтобы уменьшить потенциальные потери.
Ограничение суммы разрешения или отмена разрешения:
При выполнении свопа на данной торговой платформе необходимо авторизовать только необходимую сумму для взаимодействия. Хотя повторная авторизация для каждого взаимодействия увеличивает затраты, это позволяет избежать рисков фишинга, связанных с подписью Permit2. Пользователи, которым была предоставлена авторизация, могут отменить её с помощью безопасного плагина.
Определите, поддерживает ли токен функцию permit:
Обратите внимание, поддерживает ли токен самообладания эту функцию; если поддерживает, необходимо быть особенно осторожным и тщательно проверять каждую неизвестную подпись.
Разработка完善ного плана спасения активов:
Если вы обнаружили, что стали жертвой мошенничества, но у вас все еще есть токены на других платформах, необходимо осторожно их выводить и перемещать. Рассмотрите возможность использования MEV-переводов или обратитесь за помощью к профессиональной команде по безопасности, чтобы избежать повторного перехвата хакерами.
В будущем рыбалка на основе Permit2 может стать более распространенной, этот способ подписной рыбалки крайне скрытен и труден для защиты. С увеличением диапазона применения Permit2 также увеличится количество адресов, подверженных риску. Надеюсь, читатели смогут широко распространить эту информацию, чтобы избежать дальнейших потерь.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
8 Лайков
Награда
8
3
Поделиться
комментарий
0/400
AirdropHunter420
· 2ч назад
Подписавшись, деньги исчезли. Ужасно.
Посмотреть ОригиналОтветить0
MetaverseLandlord
· 08-04 15:24
Снова пришли? Кто сможет выдержать этот налог на интеллект?
Новая схема мошенничества с подделкой подписей Permit2: пользователи платформы должны быть осторожны
Раскрытие мошенничества с подписями Uniswap Permit2: будьте осторожны, подписывая, чтобы не быть ограбленным
Хакеры являются пугающим существом в экосистеме Web3. Для разработчиков проектов открытый исходный код делает уязвимости неизбежными; для отдельных пользователей каждый раз взаимодействие с цепочкой может повлечь за собой риск кражи активов. Таким образом, проблемы безопасности всегда были больной темой в криптомире, а особенности блокчейна делают возвращение украденных активов затруднительным, поэтому знание безопасности особенно важно.
В последнее время появилась новая форма фишинга, которая может привести к краже активов всего лишь с помощью подписи. Этот метод скрытный и трудно предотвратимый. Адреса, которые когда-либо взаимодействовали с какой-либо торговой платформой, могут подвергаться риску. В этой статье мы проанализируем этот метод подписного фишинга, чтобы помочь читателям избежать дополнительных потерь активов.
Ход событий
Один друг (, кошелек активов 小A ) был украден, но приватный ключ не был раскрыт и не было взаимодействия с подозрительным контрактом. Расследование показало, что USDT 小A был переведен с помощью функции Transfer From, что означает, что активы были переведены третьей стороной, а не из-за утечки приватного ключа.
Дальнейший запрос деталей сделки показывает:
Ключевой вопрос: как этот адрес получил доступ к активам маленького А? Почему он связан с этой торговой платформой?
Исследование показывает, что перед передачей активов маленького A этот адрес также выполнил операцию Permit, и оба действия взаимодействовали с контрактом Permit2 этой торговой платформы.
Контракт Permit2 был запущен на этой торговой платформе в конце 2022 года, с целью реализации совместного использования и управления авторизацией токенов между различными приложениями, предоставляя более унифицированный, эффективный и безопасный пользовательский опыт. В будущем, с интеграцией большего числа проектов, Permit2 обещает стандартизировать одобрение токенов между приложениями, снижая затраты на транзакции и повышая безопасность.
Запуск Permit2 может изменить правила экосистемы Dapp. В традиционной модели пользователи должны отдельно авторизовывать каждое взаимодействие с Dapp, в то время как Permit2 выступает в роли посредника, и пользователю нужно предоставить разрешение только один раз, после чего все Dapp, интегрированные с Permit2, могут делить лимит авторизации. Это улучшает пользовательский опыт, но также может привести к рискам, так как проблема заключается в способе взаимодействия с Permit2.
Permit2 преобразует действия пользователя в подписи вне цепи, а операции в цепи выполняются промежуточной стороной. Это позволяет пользователям оплачивать газ без ETH или через промежуточную сторону, но подпись вне цепи также является наиболее легко игнорируемым этапом для пользователей.
Вернувшись к примеру с малым A, кража активов связана с взаимодействием с контрактом Permit2. Ключевым условием является то, что кошелек, который был подвержен фишингу, должен был авторизовать контракт Permit2. Стоит отметить, что в настоящее время для выполнения Swap на Dapp, интегрирующем Permit2, или на этой торговой платформе требуется авторизация контракта Permit2.
Более того, беспокойство вызывает то, что независимо от суммы Swap, контракт Permit2 на этой торговой платформе по умолчанию требует разрешения на всю сумму средств. Хотя кошелек предлагает ввести произвольную сумму, большинство пользователей могут просто выбрать максимальное или значение по умолчанию, а значение по умолчанию для Permit2 — это неограниченный лимит.
Это означает, что все, кто взаимодействовал с этой торговой платформой и разрешил контракту Permit2 после 2023 года, могут столкнуться с риском этого промывание глаз.
Ядро промывания глаз заключается в функции Permit, которая позволяет передавать лимиты токенов, разрешенных контракту Permit2, другим адресам через подпись. После получения подписи хакеры могут управлять токенами в кошельке пользователя и переводить активы.
Подробный анализ события
Функция Permit аналогична онлайн-подписанию контракта, позволяя заранее уполномочить другого (spender) на использование определенного количества токенов в будущем. Функция проверяет срок действия подписи, подтверждает подлинность подписи, а затем обновляет записи об авторизации.
Функция verify извлекает данные v, r, s из информации о подписи, чтобы восстановить адрес подписи и сравнить его с адресом владельца токена. Если проверка прошла успешно, продолжается вызов функции _updateApproval.
_updateApproval функция обновляет значение разрешения после проверки подписи, реализуя передачу прав. В этот момент уполномоченная сторона может вызвать функцию transferfrom для перевода токенов на указанный адрес.
Анализ реальных транзакций в блокчейне виден:
Анализируя историю взаимодействия с малым А, выяснили, что он ранее, используя эту торговую платформу, по умолчанию авторизовал практически неограниченный лимит.
Короче говоря, маленький A ранее предоставил неограниченный лимит USDT контракту Permit2, а затем попал в ловушку фишинга, разработанную хакерами, с подписанием Permit2. Получив подпись, хакеры выполнили операции Permit и Transfer From в контракте Permit2, переведя активы маленького A. В настоящее время контракт Permit2 на этой торговой платформе, похоже, стал рассадником фишинга, и этот метод фишинга активизировался около двух месяцев назад.
Как предотвратить?
Учитывая, что контракт Permit2 может стать более распространенным в будущем, все больше проектов могут интегрировать этот контракт для авторизации совместного использования, эффективные меры предосторожности включают:
Разделение хранения активов и кошелька для взаимодействия: Рекомендуется хранить большую часть активов в холодном кошельке, а в интерактивном кошельке оставлять только небольшую сумму средств, чтобы уменьшить потенциальные потери.
Ограничение суммы разрешения или отмена разрешения: При выполнении свопа на данной торговой платформе необходимо авторизовать только необходимую сумму для взаимодействия. Хотя повторная авторизация для каждого взаимодействия увеличивает затраты, это позволяет избежать рисков фишинга, связанных с подписью Permit2. Пользователи, которым была предоставлена авторизация, могут отменить её с помощью безопасного плагина.
Определите, поддерживает ли токен функцию permit: Обратите внимание, поддерживает ли токен самообладания эту функцию; если поддерживает, необходимо быть особенно осторожным и тщательно проверять каждую неизвестную подпись.
Разработка完善ного плана спасения активов: Если вы обнаружили, что стали жертвой мошенничества, но у вас все еще есть токены на других платформах, необходимо осторожно их выводить и перемещать. Рассмотрите возможность использования MEV-переводов или обратитесь за помощью к профессиональной команде по безопасности, чтобы избежать повторного перехвата хакерами.
В будущем рыбалка на основе Permit2 может стать более распространенной, этот способ подписной рыбалки крайне скрытен и труден для защиты. С увеличением диапазона применения Permit2 также увеличится количество адресов, подверженных риску. Надеюсь, читатели смогут широко распространить эту информацию, чтобы избежать дальнейших потерь.