Анализ базовой логики фишинга с использованием подписей Web3
Многие пользователи сталкиваются с недоумением при взаимодействии с кошельком: "Я просто подписал, почему же мои средства исчезли?" Этот вид "фишинга через подпись" становится самым любимым методом мошенничества среди хакеров Web3. Хотя эксперты по безопасности и компании кошельков постоянно предупреждают пользователей о необходимости повышенной бдительности, ежедневно множество пользователей попадает в ловушку.
Одной из основных причин этой ситуации является то, что большинство пользователей не понимает основ механизмов взаимодействия с кошельками, и для людей без технических знаний порог входа довольно высок. Поэтому мы решили объяснить принципы подписной фишинговой атаки с помощью иллюстраций и постараться использовать доступный язык, чтобы обычные пользователи тоже могли понять.
Во-первых, нам нужно понять, что при использовании кошелька есть только две операции: "подпись" и "взаимодействие". Самое простое понимание заключается в том, что подпись происходит вне блокчейна (, вне цепочки ), и не требует оплаты Gas; тогда как взаимодействие происходит в блокчейне (, в цепочке ), и требует оплаты Gas.
Подпись обычно используется для аутентификации, например, при входе в кошелек. Когда вы хотите обменять токены на каком-либо DEX, вам сначала нужно подключить кошелек, и в этот момент требуется подпись, чтобы подтвердить: "Я владелец этого кошелька". Этот процесс не приводит к изменению каких-либо данных или состояния в блокчейне, поэтому не требует затрат.
А взаимодействие происходит тогда, когда вы действительно хотите обменять токены на DEX. Вам нужно сначала заплатить комиссию, чтобы сказать смарт-контракту DEX: "Я хочу обменять 100 USDT на один токен, я разрешаю тебе переместить мои 100 USDT". Этот шаг называется авторизацией (approve). Затем вам также нужно заплатить комиссию, чтобы сказать смарт-контракту: "Я сейчас хочу обменять 100 USDT на один токен, ты можешь выполнить операцию". Таким образом, вы завершаете сделку по обмену 100 USDT на один токен.
Поняв разницу между подписью и взаимодействием, давайте рассмотрим три распространенных метода фишинга: фишинг с авторизацией, фишинг с подписью Permit и фишинг с подписью Permit2.
Авторизация фишинга является одним из самых классических методов фишинга в Web3. Хакеры создают поддельный сайт, маскирующийся под проект NFT, на котором есть яркая кнопка "Получить аирдроп". Когда пользователь нажимает на нее, интерфейс, появляющийся в кошельке, на самом деле запрашивает у пользователя разрешение на перевод токенов на адрес хакера. Если пользователь подтверждает это действие, хакер успешно завершает мошенничество.
Однако у авторизованного фишинга есть один недостаток: из-за необходимости платить газовые сборы многие пользователи стали более осторожными при операциях с финансами, и даже небольшое внимание на незнакомых сайтах может выявить аномалии.
Следующим являются фишинговые атаки на подписи Permit и Permit2, которые являются серьезной проблемой безопасности активов Web3 в настоящее время. Это сложно предотвратить, потому что перед каждым использованием DApp требуется подписать вход в кошелек, и многие пользователи уже привыкли к мысли "это действие безопасно". Кроме того, отсутствие необходимости в оплате сборов, а также то, что большинство людей не понимает, что стоит за каждой подписью, делает этот вид фишинга особенно опасным.
Permit является расширенной функцией авторизации в стандарте ERC-20. Проще говоря, вы можете подписать разрешение другому лицу на перемещение ваших токенов. В отличие от авторизации (Approve), которая требует от вас уплаты комиссии, Permit эквивалентен подписанию вами "бумаги", позволяющей кому-то перемещать ваши токены. Затем этот человек берет эту "бумагу" и идет к смарт-контракту, оплачивает Gas и сообщает контракту: "он разрешил мне перемещать его токены". В этом процессе вы просто поставили подпись, но на самом деле разрешили другому лицу вызвать авторизацию и переместить ваши токены.
Permit2 не является функцией ERC-20, а представляет собой функцию, разработанную некоторыми DEX для удобства пользователей. Его цель заключается в том, чтобы позволить пользователям единожды авторизовать крупные суммы, после чего для каждой последующей транзакции потребуется только подпись, без необходимости повторной авторизации. Таким образом, пользователи платят за газ только один раз за каждую транзакцию, и эта плата покрывается контрактом Permit2, который в конечном итоге будет вычтена из обменяемых токенов.
Однако предпосылкой для фишинга Permit2 является то, что пользователь когда-либо пользовался этой DEX и предоставил неограниченный лимит смарт-контракту Permit2. Поскольку в настоящее время по умолчанию эта DEX выполняет неограниченное разрешение, количество пользователей, соответствующих этому условию, довольно велико.
В общем, суть авторизационного фишинга заключается в том, что вы платите комиссию и говорите смарт-контракту: "Я разрешаю тебе перевести мои токены хакеру". Суть подписного фишинга заключается в том, что вы подписали "документ", позволяющий другим перемещать ваши активы, и передали его хакеру, который затем платит комиссию и говорит смарт-контракту: "Я хочу перевести его токены на себя".
Так как же предотвратить эти фишинговые атаки?
Важно развивать осознанность в области безопасности. Каждый раз, когда вы выполняете операции с кошельком, внимательно проверяйте, что именно вы делаете.
Разделяйте крупные суммы средств и кошелек для повседневного использования, чтобы даже в случае фишинга минимизировать потери.
Научитесь распознавать форматы подписей Permit и Permit2. Если вы увидите подпись, содержащую следующую информацию, будьте осторожны:
Interactive:интерактивный сайт
Владелец:адрес уполномоченного
Spender: адрес уполномоченного лица
Значение:количество разрешений
Нонсе: случайное число
Срок действия:过期时间
Понимая эти основные логики и меры предосторожности, пользователи могут лучше защитить свои цифровые активы и избежать того, чтобы стать жертвой фишинга на подписи.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
22 Лайков
Награда
22
6
Поделиться
комментарий
0/400
PoetryOnChain
· 07-17 15:03
Снова неудачники попали на удочку.
Посмотреть ОригиналОтветить0
SchrodingerWallet
· 07-16 16:37
人均неудачники待宰...
Посмотреть ОригиналОтветить0
PensionDestroyer
· 07-14 18:57
Кто попался на удочку, поднимите лапу! Кто понимает?
Посмотреть ОригиналОтветить0
RugDocScientist
· 07-14 18:54
Подписывать в одиночестве
Посмотреть ОригиналОтветить0
GhostAddressMiner
· 07-14 18:48
Снова будет отслеживаться поток средств неудачников.
Посмотреть ОригиналОтветить0
GasGrillMaster
· 07-14 18:37
Подписал несколько контрактов, не могу даже заплакать.
Web3 подпись фишинг расшифровка: анализ принципов и руководство по предотвращению
Анализ базовой логики фишинга с использованием подписей Web3
Многие пользователи сталкиваются с недоумением при взаимодействии с кошельком: "Я просто подписал, почему же мои средства исчезли?" Этот вид "фишинга через подпись" становится самым любимым методом мошенничества среди хакеров Web3. Хотя эксперты по безопасности и компании кошельков постоянно предупреждают пользователей о необходимости повышенной бдительности, ежедневно множество пользователей попадает в ловушку.
Одной из основных причин этой ситуации является то, что большинство пользователей не понимает основ механизмов взаимодействия с кошельками, и для людей без технических знаний порог входа довольно высок. Поэтому мы решили объяснить принципы подписной фишинговой атаки с помощью иллюстраций и постараться использовать доступный язык, чтобы обычные пользователи тоже могли понять.
Во-первых, нам нужно понять, что при использовании кошелька есть только две операции: "подпись" и "взаимодействие". Самое простое понимание заключается в том, что подпись происходит вне блокчейна (, вне цепочки ), и не требует оплаты Gas; тогда как взаимодействие происходит в блокчейне (, в цепочке ), и требует оплаты Gas.
Подпись обычно используется для аутентификации, например, при входе в кошелек. Когда вы хотите обменять токены на каком-либо DEX, вам сначала нужно подключить кошелек, и в этот момент требуется подпись, чтобы подтвердить: "Я владелец этого кошелька". Этот процесс не приводит к изменению каких-либо данных или состояния в блокчейне, поэтому не требует затрат.
А взаимодействие происходит тогда, когда вы действительно хотите обменять токены на DEX. Вам нужно сначала заплатить комиссию, чтобы сказать смарт-контракту DEX: "Я хочу обменять 100 USDT на один токен, я разрешаю тебе переместить мои 100 USDT". Этот шаг называется авторизацией (approve). Затем вам также нужно заплатить комиссию, чтобы сказать смарт-контракту: "Я сейчас хочу обменять 100 USDT на один токен, ты можешь выполнить операцию". Таким образом, вы завершаете сделку по обмену 100 USDT на один токен.
Поняв разницу между подписью и взаимодействием, давайте рассмотрим три распространенных метода фишинга: фишинг с авторизацией, фишинг с подписью Permit и фишинг с подписью Permit2.
Авторизация фишинга является одним из самых классических методов фишинга в Web3. Хакеры создают поддельный сайт, маскирующийся под проект NFT, на котором есть яркая кнопка "Получить аирдроп". Когда пользователь нажимает на нее, интерфейс, появляющийся в кошельке, на самом деле запрашивает у пользователя разрешение на перевод токенов на адрес хакера. Если пользователь подтверждает это действие, хакер успешно завершает мошенничество.
Однако у авторизованного фишинга есть один недостаток: из-за необходимости платить газовые сборы многие пользователи стали более осторожными при операциях с финансами, и даже небольшое внимание на незнакомых сайтах может выявить аномалии.
Следующим являются фишинговые атаки на подписи Permit и Permit2, которые являются серьезной проблемой безопасности активов Web3 в настоящее время. Это сложно предотвратить, потому что перед каждым использованием DApp требуется подписать вход в кошелек, и многие пользователи уже привыкли к мысли "это действие безопасно". Кроме того, отсутствие необходимости в оплате сборов, а также то, что большинство людей не понимает, что стоит за каждой подписью, делает этот вид фишинга особенно опасным.
Permit является расширенной функцией авторизации в стандарте ERC-20. Проще говоря, вы можете подписать разрешение другому лицу на перемещение ваших токенов. В отличие от авторизации (Approve), которая требует от вас уплаты комиссии, Permit эквивалентен подписанию вами "бумаги", позволяющей кому-то перемещать ваши токены. Затем этот человек берет эту "бумагу" и идет к смарт-контракту, оплачивает Gas и сообщает контракту: "он разрешил мне перемещать его токены". В этом процессе вы просто поставили подпись, но на самом деле разрешили другому лицу вызвать авторизацию и переместить ваши токены.
Permit2 не является функцией ERC-20, а представляет собой функцию, разработанную некоторыми DEX для удобства пользователей. Его цель заключается в том, чтобы позволить пользователям единожды авторизовать крупные суммы, после чего для каждой последующей транзакции потребуется только подпись, без необходимости повторной авторизации. Таким образом, пользователи платят за газ только один раз за каждую транзакцию, и эта плата покрывается контрактом Permit2, который в конечном итоге будет вычтена из обменяемых токенов.
Однако предпосылкой для фишинга Permit2 является то, что пользователь когда-либо пользовался этой DEX и предоставил неограниченный лимит смарт-контракту Permit2. Поскольку в настоящее время по умолчанию эта DEX выполняет неограниченное разрешение, количество пользователей, соответствующих этому условию, довольно велико.
В общем, суть авторизационного фишинга заключается в том, что вы платите комиссию и говорите смарт-контракту: "Я разрешаю тебе перевести мои токены хакеру". Суть подписного фишинга заключается в том, что вы подписали "документ", позволяющий другим перемещать ваши активы, и передали его хакеру, который затем платит комиссию и говорит смарт-контракту: "Я хочу перевести его токены на себя".
Так как же предотвратить эти фишинговые атаки?
Важно развивать осознанность в области безопасности. Каждый раз, когда вы выполняете операции с кошельком, внимательно проверяйте, что именно вы делаете.
Разделяйте крупные суммы средств и кошелек для повседневного использования, чтобы даже в случае фишинга минимизировать потери.
Научитесь распознавать форматы подписей Permit и Permit2. Если вы увидите подпись, содержащую следующую информацию, будьте осторожны:
Понимая эти основные логики и меры предосторожности, пользователи могут лучше защитить свои цифровые активы и избежать того, чтобы стать жертвой фишинга на подписи.