Логіка виявлення шахрайства Web3

Середній4/29/2024, 2:01:48 AM
Фішинг авторизації - це засіб для злочинців, щоб вкрасти активи користувачів, використовуючи функціонал підпису. Серед загальних методів є фішинг підпису Permit та Permit2. Користувачам слід підвищити свідомість про безпеку, відокремити великі кошти від онлайн-гаманців та вивчити формати підписів, щоб запобігти фішингу. Permit2 - це функція, яку ввів Uniswap, яку легко використовувати фішинговими веб-сайтами.

Переслати Оригінальний заголовок ‘大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’

Удосконалене

«Чому я втратив гроші, просто підписуючись під своїм ім'ям??» «Фішинг підпису» наразі стає улюбленим методом фішингу для хакерів у Web3. Останнім часом багато експертів, таких як Cosine, та різні гаманці та компанії з безпеки постійно просувають та навчають про знання підпису фішингу. Проте все ж багато людей щодня потрапляють на фішинг.

Однією з причин, в яку вірить Spinach, є те, що більшість людей не розуміють базової логіки обміну гаманцями, і для тих, хто не має технічної грамотності, крива навчання занадто висока. Тому Spinach вирішила створити ілюстровану версію, щоб навчити людей базової логіки фішингу підписів і спробувати зрозуміти її навіть для не-технічно грамотних осіб.

Спочатку нам потрібно зрозуміти, що існують лише два типи операцій при використанні гаманця: "підписування" і "обмін". Найпростіше і найпряміше розуміння полягає в тому, що підписування відбувається поза ланцюжком блокчейну (поза ланцюжком) і не потребує витрати плати за газ; обмін відбувається на ланцюжку блокчейну (на ланцюжку) і потребує витрати плати за газ.

Звичайний сценарій для підпису полягає в перевірці вашої особи, наприклад, під час входу в гаманець. Наприклад, якщо ви хочете обміняти токени на Uniswap, спочатку вам потрібно підключити свій гаманець. На цьому етапі вам потрібно підписати повідомлення, щоб повідомити веб-сайту „Я є власником цього гаманця“, і після цього ви зможете використовувати Uniswap. Цей крок не викликає жодних змін даних або стану на блокчейні, тому не потребує витрат коштів.

Щодо обміну, коли ви дійсно хочете обміняти токени на Uniswap, вам потрібно витратити певну суму грошей, щоб повідомити розумний контракт Uniswap: "Я хочу обміняти 100 USDT на монету Spinach, і я дозволяю вам перемістити мої 100 USDT". Цей крок називається схваленням. Потім вам потрібно витратити іншу суму грошей, щоб повідомити розумний контракт Uniswap: "Я готовий обміняти 100 USDT на монету Spinach, ви можете продовжити операцію зараз". Після цього ви завершили операцію обміну 100 USDT на монету Spinach.

Після простого розуміння відмінності між підписами та обмінами давайте введемо принцип фішингу. Фішинг зазвичай включає три різні методи: Фішинг авторизації, Фішинг дозволу підпису та Фішинг дозволу2 підпису. Ці три методи є дуже поширеними при фішингу.

Давайте почнемо з Фішингу авторизації, який є однією з класичних технік фішингу в Web3. Як саме назва вказує, він використовує механізм авторизації (затвердження). Як бачимо на прикладі Uniswap, авторизація дозволяє смарт-контракту «затвердити вас для переміщення xxx кількості моїх токенів». Хакер може створити фальшивий веб-сайт для фішингу, прикритий під проєкт NFT з привабливим фронтендом. У середині веб-сайту є красива велика кнопка з написом «Отримайте свій Airdrop». При кліку гаманець вибивається вікном, яке просить вас затвердити ваші токени на адресу хакера. Якщо ви це підтвердите, вітаємо, хакер успішно виконав KPI.

Автентифікація Фішингу має проблему: оскільки вона потребує оплату газу, багато людей обережні, коли йдеться про витрату грошей. Після натискання на підозрілий веб-сайт, люди часто швидко помічають, що щось не так, що робить його відносно легким для запобігання.

Тепер перейдемо до сьогоднішньої уваги: фішінг з дозволом та підписом Permit2, які є гарячими точками в галузі безпеки активів Web3. Чому вони так важко захиститися? Це через те, що кожного разу, коли ви хочете використовувати Dapp, вам потрібно увійти у свій гаманець. Багато людей розвинули інерцію в своєму мисленні: "Ця операція безпечна." Плюс, це не вимагає витрат грошей, і більшість людей не розуміють наслідки кожного підпису.

Давайте спочатку розглянемо механізм отримання дозволу. Дозвіл – це функція продовження авторизації за стандартом ERC-20. Наприклад, USDT, який ми зазвичай використовуємо, є токеном ERC-20. Простіше кажучи, дозвіл дозволяє вам підписувати та схвалювати інших людей для переміщення ваших токенів. Ми знаємо, що авторизація (Approve) — це коли ви витрачаєте гроші на те, щоб сказати смарт-контракту: «Ви можете перемістити xxx кількість моїх токенів». Отже, Permit — це все одно, що підписати комусь «записку» із заявою: «Я дозволяю комусь переміщати х кількість моїх токенів». Потім ця людина пред'являє цю «записку» смарт-контракту і сплачує комісію за газ, повідомляючи смарт-контракту: «Він дозволяє мені перемістити х кількість його токенів». Тоді ваші токени можуть бути передані кимось іншим. У цьому процесі ви просто підписуєте ім'я, але за ним це означає, що ви дозволяєте іншим викликати авторизацію (Approve) і передавати ваші токени. Хакер може створити фішинговий веб-сайт, замінивши кнопку входу в гаманець на кнопку «Дозволити фішинг», що полегшить вивуджування ваших активів.

Так що таке Permit2? Permit2 фактично не є функцією ERC-20, але функцією, запущеною Uniswap для зручності користувачів. У попередньому прикладі говорилося, що якщо ви хочете обміняти USDT на монети шпинату на Uniswap, вам потрібно авторизувати (Approve) один раз, а потім здійснити обмін. , що потребує двох газових внесків, тому Uniswap придумав спосіб: «Ви авторизуєте всю квоту мені одразу, і ви підписуєте своє ім'я кожного разу, коли ви викупуєте, і я цим займусь за вас». Ця функція допомагає користувачам Uniswap. Вам потрібно платити за Gas лише один раз при його використанні, і цей крок - підпис, тому газовий внесок фактично не сплачується вами, а оплачується контрактом Permit2, але він буде списаний з токену, який ви остаточно викупуєте.

Однак умовою для відловлення фішингу Permit2 є те, що ви повинні були раніше використовувати Uniswap та авторизувати необмежену дозвіл на розумний контракт Permit2. Оскільки типова операція Uniswap наразі полягає в тому, щоб надавати необмежений дозвіл, кількість користувачів, які задовольняють цю умову, досить велика. Так само, якщо хакер підводить вас до підписання Permit2, він може переказати ваші токени (обмежено тими, на які ви раніше дали дозвіл).

У підсумку, суть фішингу авторизації полягає в тому, що ви витрачаєте гроші, щоб сказати розумному контракту: «Я схвалюю тебе, щоб перенести мої Токени хакерові». Суть фішингу підпису полягає в тому, що ви підписуєте «нотатку», яка дозволяє іншим переносити ваші активи хакерові, і хакер витрачає гроші, щоб сказати розумному контракту: «Я хочу перенести його Токени до мене». Permit та Permit2 наразі є гарячими точками фішингу підписів. Permit є функцією розширення авторизації ERC-20, тоді як Permit2 є новою функцією, яку представив Uniswap.

Отже, як ви можете запобігти цими атаками фішингу, якщо ви розумієте принципи?

  1. Розвивайте обізнаність з безпеки:Це важливо завжди перевіряти, яку операцію ви виконуєте кожен раз, коли взаємодієте зі своїм гаманцем.

  2. Відокремлюйте великі кошти та гаманці для онлайн-операцій:** Відокремлюючи великі кошти від гаманців, що використовуються для онлайн-операцій, ви можете мінімізувати збитки, якщо потрапите жертвою фішингу.

  3. Навчіться визначати формати підписів дозволу та дозволу2:** Будьте обережні, коли стикаєтеся з наступними форматами підписів:

Інтерактивний: URL обміну

Власник: Адреса авторизатора

Видатки: Адреса уповноваженої сторони

Значення: Авторизована кількість

Нонс: Випадкове число

Термін: Час закінчення

Відмова від відповідальності:

  1. Ця стаття переписана з [ Gate Gate Talk Web3]. Пересилайте оригінальний заголовок‘大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别”’. Усі авторські права належать оригінальному автору [菠菜菠菜谈Web]. Якщо є заперечення щодо цього перевидання, будь ласка, зв'яжіться з Gate Learnкоманди, і вони оперативно з ним впораються.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, належать виключно автору і не становлять жодної інвестиційної поради.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено, копіювання, поширення або плагіат статей, перекладених на інші мови, заборонені.

Partilhar

Conteúdos

Логіка виявлення шахрайства Web3

Середній4/29/2024, 2:01:48 AM
Фішинг авторизації - це засіб для злочинців, щоб вкрасти активи користувачів, використовуючи функціонал підпису. Серед загальних методів є фішинг підпису Permit та Permit2. Користувачам слід підвищити свідомість про безпеку, відокремити великі кошти від онлайн-гаманців та вивчити формати підписів, щоб запобігти фішингу. Permit2 - це функція, яку ввів Uniswap, яку легко використовувати фішинговими веб-сайтами.

Переслати Оригінальний заголовок ‘大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’

Удосконалене

«Чому я втратив гроші, просто підписуючись під своїм ім'ям??» «Фішинг підпису» наразі стає улюбленим методом фішингу для хакерів у Web3. Останнім часом багато експертів, таких як Cosine, та різні гаманці та компанії з безпеки постійно просувають та навчають про знання підпису фішингу. Проте все ж багато людей щодня потрапляють на фішинг.

Однією з причин, в яку вірить Spinach, є те, що більшість людей не розуміють базової логіки обміну гаманцями, і для тих, хто не має технічної грамотності, крива навчання занадто висока. Тому Spinach вирішила створити ілюстровану версію, щоб навчити людей базової логіки фішингу підписів і спробувати зрозуміти її навіть для не-технічно грамотних осіб.

Спочатку нам потрібно зрозуміти, що існують лише два типи операцій при використанні гаманця: "підписування" і "обмін". Найпростіше і найпряміше розуміння полягає в тому, що підписування відбувається поза ланцюжком блокчейну (поза ланцюжком) і не потребує витрати плати за газ; обмін відбувається на ланцюжку блокчейну (на ланцюжку) і потребує витрати плати за газ.

Звичайний сценарій для підпису полягає в перевірці вашої особи, наприклад, під час входу в гаманець. Наприклад, якщо ви хочете обміняти токени на Uniswap, спочатку вам потрібно підключити свій гаманець. На цьому етапі вам потрібно підписати повідомлення, щоб повідомити веб-сайту „Я є власником цього гаманця“, і після цього ви зможете використовувати Uniswap. Цей крок не викликає жодних змін даних або стану на блокчейні, тому не потребує витрат коштів.

Щодо обміну, коли ви дійсно хочете обміняти токени на Uniswap, вам потрібно витратити певну суму грошей, щоб повідомити розумний контракт Uniswap: "Я хочу обміняти 100 USDT на монету Spinach, і я дозволяю вам перемістити мої 100 USDT". Цей крок називається схваленням. Потім вам потрібно витратити іншу суму грошей, щоб повідомити розумний контракт Uniswap: "Я готовий обміняти 100 USDT на монету Spinach, ви можете продовжити операцію зараз". Після цього ви завершили операцію обміну 100 USDT на монету Spinach.

Після простого розуміння відмінності між підписами та обмінами давайте введемо принцип фішингу. Фішинг зазвичай включає три різні методи: Фішинг авторизації, Фішинг дозволу підпису та Фішинг дозволу2 підпису. Ці три методи є дуже поширеними при фішингу.

Давайте почнемо з Фішингу авторизації, який є однією з класичних технік фішингу в Web3. Як саме назва вказує, він використовує механізм авторизації (затвердження). Як бачимо на прикладі Uniswap, авторизація дозволяє смарт-контракту «затвердити вас для переміщення xxx кількості моїх токенів». Хакер може створити фальшивий веб-сайт для фішингу, прикритий під проєкт NFT з привабливим фронтендом. У середині веб-сайту є красива велика кнопка з написом «Отримайте свій Airdrop». При кліку гаманець вибивається вікном, яке просить вас затвердити ваші токени на адресу хакера. Якщо ви це підтвердите, вітаємо, хакер успішно виконав KPI.

Автентифікація Фішингу має проблему: оскільки вона потребує оплату газу, багато людей обережні, коли йдеться про витрату грошей. Після натискання на підозрілий веб-сайт, люди часто швидко помічають, що щось не так, що робить його відносно легким для запобігання.

Тепер перейдемо до сьогоднішньої уваги: фішінг з дозволом та підписом Permit2, які є гарячими точками в галузі безпеки активів Web3. Чому вони так важко захиститися? Це через те, що кожного разу, коли ви хочете використовувати Dapp, вам потрібно увійти у свій гаманець. Багато людей розвинули інерцію в своєму мисленні: "Ця операція безпечна." Плюс, це не вимагає витрат грошей, і більшість людей не розуміють наслідки кожного підпису.

Давайте спочатку розглянемо механізм отримання дозволу. Дозвіл – це функція продовження авторизації за стандартом ERC-20. Наприклад, USDT, який ми зазвичай використовуємо, є токеном ERC-20. Простіше кажучи, дозвіл дозволяє вам підписувати та схвалювати інших людей для переміщення ваших токенів. Ми знаємо, що авторизація (Approve) — це коли ви витрачаєте гроші на те, щоб сказати смарт-контракту: «Ви можете перемістити xxx кількість моїх токенів». Отже, Permit — це все одно, що підписати комусь «записку» із заявою: «Я дозволяю комусь переміщати х кількість моїх токенів». Потім ця людина пред'являє цю «записку» смарт-контракту і сплачує комісію за газ, повідомляючи смарт-контракту: «Він дозволяє мені перемістити х кількість його токенів». Тоді ваші токени можуть бути передані кимось іншим. У цьому процесі ви просто підписуєте ім'я, але за ним це означає, що ви дозволяєте іншим викликати авторизацію (Approve) і передавати ваші токени. Хакер може створити фішинговий веб-сайт, замінивши кнопку входу в гаманець на кнопку «Дозволити фішинг», що полегшить вивуджування ваших активів.

Так що таке Permit2? Permit2 фактично не є функцією ERC-20, але функцією, запущеною Uniswap для зручності користувачів. У попередньому прикладі говорилося, що якщо ви хочете обміняти USDT на монети шпинату на Uniswap, вам потрібно авторизувати (Approve) один раз, а потім здійснити обмін. , що потребує двох газових внесків, тому Uniswap придумав спосіб: «Ви авторизуєте всю квоту мені одразу, і ви підписуєте своє ім'я кожного разу, коли ви викупуєте, і я цим займусь за вас». Ця функція допомагає користувачам Uniswap. Вам потрібно платити за Gas лише один раз при його використанні, і цей крок - підпис, тому газовий внесок фактично не сплачується вами, а оплачується контрактом Permit2, але він буде списаний з токену, який ви остаточно викупуєте.

Однак умовою для відловлення фішингу Permit2 є те, що ви повинні були раніше використовувати Uniswap та авторизувати необмежену дозвіл на розумний контракт Permit2. Оскільки типова операція Uniswap наразі полягає в тому, щоб надавати необмежений дозвіл, кількість користувачів, які задовольняють цю умову, досить велика. Так само, якщо хакер підводить вас до підписання Permit2, він може переказати ваші токени (обмежено тими, на які ви раніше дали дозвіл).

У підсумку, суть фішингу авторизації полягає в тому, що ви витрачаєте гроші, щоб сказати розумному контракту: «Я схвалюю тебе, щоб перенести мої Токени хакерові». Суть фішингу підпису полягає в тому, що ви підписуєте «нотатку», яка дозволяє іншим переносити ваші активи хакерові, і хакер витрачає гроші, щоб сказати розумному контракту: «Я хочу перенести його Токени до мене». Permit та Permit2 наразі є гарячими точками фішингу підписів. Permit є функцією розширення авторизації ERC-20, тоді як Permit2 є новою функцією, яку представив Uniswap.

Отже, як ви можете запобігти цими атаками фішингу, якщо ви розумієте принципи?

  1. Розвивайте обізнаність з безпеки:Це важливо завжди перевіряти, яку операцію ви виконуєте кожен раз, коли взаємодієте зі своїм гаманцем.

  2. Відокремлюйте великі кошти та гаманці для онлайн-операцій:** Відокремлюючи великі кошти від гаманців, що використовуються для онлайн-операцій, ви можете мінімізувати збитки, якщо потрапите жертвою фішингу.

  3. Навчіться визначати формати підписів дозволу та дозволу2:** Будьте обережні, коли стикаєтеся з наступними форматами підписів:

Інтерактивний: URL обміну

Власник: Адреса авторизатора

Видатки: Адреса уповноваженої сторони

Значення: Авторизована кількість

Нонс: Випадкове число

Термін: Час закінчення

Відмова від відповідальності:

  1. Ця стаття переписана з [ Gate Gate Talk Web3]. Пересилайте оригінальний заголовок‘大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别”’. Усі авторські права належать оригінальному автору [菠菜菠菜谈Web]. Якщо є заперечення щодо цього перевидання, будь ласка, зв'яжіться з Gate Learnкоманди, і вони оперативно з ним впораються.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, належать виключно автору і не становлять жодної інвестиційної поради.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено, копіювання, поширення або плагіат статей, перекладених на інші мови, заборонені.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!