Хакери є страхітливим існуванням в екосистемі Web3. Для проектів відкритий код означає, що глобальні хакери можуть на вас націлитися, помилка в одному рядку коду може залишити дірку, наслідки інцидентів безпеки серйозні. Для особистих користувачів, якщо вони не розуміють значення своїх дій, кожна взаємодія в ланцюгу або підпис може призвести до крадіжки активів. Тому питання безпеки завжди було одним з найбільш складних у світі криптовалют. Через характеристики блокчейну, як тільки активи вкрадені, їх майже неможливо повернути, тому в світі криптовалют особливо важливо мати знання про безпеку.
Нещодавно виявлено нову методику фішингу, яка стала активною протягом останніх двох місяців. Досить підписати, щоб бути обкраденим, метод надзвичайно прихований та важкий для запобігання, і адреси, які взаємодіяли з Uniswap, також можуть бути під ризиком. У цій статті ми розглянемо цю методику підписного фішингу, щоб максимально уникнути подальших втрат активів.
Хід подій
Нещодавно один мій друг ( маленький A ) втратив активи у своєму гаманці. На відміну від звичних способів крадіжки, маленький A не розкрив приватний ключ і не взаємодіяв з фішинговими сайтами. Розслідування показало, що USDT, вкрадений з гаманця маленького A, був переміщений за допомогою функції Transfer From, що означає, що інша адреса виконала операцію і вивела токени, а не було витоку приватного ключа гаманця.
Через перевірку деталей угоди виявили ключові підказки:
Адреса перемістить активи маленького А на іншу адресу
Ця операція взаємодіє з контрактом Permit2 від Uniswap
Проблема в тому, як ця адреса отримала права на активи? Чому це пов'язано з Uniswap?
Вимога для виклику функції Transfer From полягає в тому, що викликаюча сторона повинна мати право на обсяг токенів (approve). Відповідь полягає в тому, що перед виконанням Transfer From ця адреса також виконала операцію Permit, обидві операції взаємодіють з контрактом Permit2 Uniswap.
Контракт Uniswap Permit2 є новим контрактом, який Uniswap запровадив наприкінці 2022 року, дозволяючи токенам надавати дозволи для спільного використання та управління в різних додатках, з метою створення більш уніфікованого, економічного та безпечного користувацького досвіду. Завдяки інтеграції Permit2 в більшість проектів, він може реалізувати стандартизоване схвалення токенів у всіх додатках, покращуючи користувацький досвід за рахунок зниження витрат на транзакції та підвищуючи безпеку смарт-контрактів.
Запуск Permit2 може змінити правила гри в усьому Dapp-екосистемі. У традиційному підході кожен раз, коли взаємодієш з Dapp для передачі активів, потрібно окремо надавати дозвіл. А Permit2 може обійти цей крок, ефективно знижуючи витрати на взаємодію користувачів і забезпечуючи кращий користувацький досвід.
Permit2 виступає посередником між користувачем та Dapp, користувачеві потрібно лише надати права на токен контракту Permit2, всі Dapp, що інтегрують Permit2, можуть ділитися цим обсягом дозволів. Це насправді вигідна ситуація для обох сторін, але вона також може бути двосічним мечем, проблема полягає у способі взаємодії з Permit2.
У традиційних способах взаємодії авторизація та переміщення коштів є он-лайн взаємодією для користувачів. Permit2 перетворює дії користувачів на підписування поза ланцюгом, всі операції на ланцюгу виконуються проміжними особами (, такими як контракт Permit2 та проектні команди, які інтегрують Permit2, ). Це приносить вигоду в тому, що навіть якщо гаманець користувача не має ETH, він може використовувати інші токени для оплати комісії за газ або отримати компенсацію від проміжних осіб.
Проте, підписання поза ланцюгом є етапом, на якому користувачі найчастіше зменшують свою обережність. Багато людей, використовуючи гаманець для входу в Dapp, не перевіряють уважно зміст підпису і не розуміють його значення, що є найбільш небезпечним моментом.
Щоб використовувати цю методику підпису Permit2 для риболовлі, ключовою умовою є те, що рибальський гаманець має бути авторизований на передачу токенів до контракту Permit2 Uniswap. Наразі для виконання обміну на Dapp, що інтегрований з Permit2, або на Uniswap, необхідно надати дозвіл контракту Permit2.
Більш страшним є те, що незалежно від суми Swap, контракт Uniswap Permit2 за замовчуванням дозволяє користувачам авторизувати весь баланс цього токена. Хоча MetaMask дозволяє налаштувати вхідну суму, більшість людей, ймовірно, виберуть максимальне або значення за замовчуванням, а значення за замовчуванням Permit2 - це безкінечний ліміт.
Це означає, що якщо ви взаємодіяли з Uniswap після 2023 року та надали дозвіл на використання коштів контракту Permit2, ви можете бути піддані ризику цього замилювання очей.
Основна увага приділяється функції Permit, яка дозволяє вашому гаманцю передавати ліміт токенів, наданих контракту Permit2, іншим адресам. Як тільки зловмисник отримає ваш підпис, він зможе отримати доступ до токенів у вашому гаманці та перевести ваші активи.
Як запобігти?
Враховуючи, що контракт Uniswap Permit2 може стати більш популярним у майбутньому, більше проектів може інтегрувати контракт Permit2 для спільного авторизації, ефективні засоби запобігання включають:
Розуміння та розпізнавання змісту підпису:
Формат підпису Permit зазвичай містить такі ключові поля, як Owner, Spender, value, nonce та deadline. Якщо ви хочете скористатися перевагами та низькими витратами, які надає Permit2, ви повинні навчитися розпізнавати цей формат підпису. Використання безпечного плагіна - це хороший вибір.
Розділення зберігання активів і інтерактивного гаманця:
Рекомендується зберігати великі активи в холодному гаманці, а гаманці для взаємодії в мережі повинні містити лише невелику кількість коштів, що може суттєво зменшити втрати у випадку фішингового замилювання очей.
Обмеження дозволеної суми або скасування дозволу:
Під час обміну на Uniswap авторизуйте лише необхідну для взаємодії суму. Хоча повторна авторизація кожного разу збільшить деякі витрати, це може запобігти фішингу підписів Permit2. Якщо вже було авторизовано ліміт, ви можете використовувати безпечний плагін для скасування авторизації.
Визначення природи токена, з'ясування, чи підтримує він функцію permit:
З ростом кількості токенів ERC20, які можуть використовувати цей розширений протокол для реалізації функції permit, потрібно звертати увагу на те, чи підтримують токени, які ви тримаєте, цю функцію. Якщо підтримують, будьте особливо обережні під час торгівлі або виконання операцій з цим токеном, ретельно перевіряйте кожен невідомий підпис на наявність функції permit.
Розробка вдосконаленого плану порятунку активів:
Якщо ви виявили, що стали жертвою замилювання очей, але у вас ще є токени, які існують на інших платформах через стейкінг та інші способи, коли вам потрібно їх вивести та перемістити на безпечну адресу, важливо пам'ятати, що хакери можуть постійно стежити за залишком вашої адреси. Оскільки хакери мають ваш підпис, якщо на вкраденій адресі з'являться токени, їх можуть миттєво перемістити. Необхідно розробити ретельний план порятунку токенів, щоб забезпечити синхронне виконання процесу виведення та переміщення, не даючи хакерам можливості вставити угоду. Можна розглянути можливість використання MEV-переміщення або звернутися за допомогою до професійних безпекових компаній.
У майбутньому риболовля на основі Permit2 може стати дедалі більш поширеною, цей метод підписного риболовства надзвичайно прихований і важкий для запобігання. З розширенням сфери застосування Permit2, кількість адрес, що піддаються ризику, також зросте. Сподіваюся, читачі зможуть поширити цю інформацію серед більшої кількості людей, щоб уникнути більших втрат.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
10 лайків
Нагородити
10
5
Репост
Поділіться
Прокоментувати
0/400
WalletDoomsDay
· 08-04 15:25
Щодня граємо з підписом, вранці та ввечері граємо без монета.
Переглянути оригіналвідповісти на0
LiquidationAlert
· 08-02 23:37
Хакер може за мною стежити? Переполоханий до смерті.
Переглянути оригіналвідповісти на0
DataBartender
· 08-02 16:28
Крадіжка підпису - це просто безглуздо! Відправляй!
Переглянути оригіналвідповісти на0
CryingOldWallet
· 08-02 16:01
Хто ще наважиться використовувати uni?
Переглянути оригіналвідповісти на0
AirdropBlackHole
· 08-02 16:00
Знову будемо говорити про безпеку гаманець, чи не так?
Новий підхід до фішингу з використанням підписів Uniswap Permit2: механізми, ризики та запобігання
Розкриття шахрайства з підписами Uniswap Permit2
Хакери є страхітливим існуванням в екосистемі Web3. Для проектів відкритий код означає, що глобальні хакери можуть на вас націлитися, помилка в одному рядку коду може залишити дірку, наслідки інцидентів безпеки серйозні. Для особистих користувачів, якщо вони не розуміють значення своїх дій, кожна взаємодія в ланцюгу або підпис може призвести до крадіжки активів. Тому питання безпеки завжди було одним з найбільш складних у світі криптовалют. Через характеристики блокчейну, як тільки активи вкрадені, їх майже неможливо повернути, тому в світі криптовалют особливо важливо мати знання про безпеку.
Нещодавно виявлено нову методику фішингу, яка стала активною протягом останніх двох місяців. Досить підписати, щоб бути обкраденим, метод надзвичайно прихований та важкий для запобігання, і адреси, які взаємодіяли з Uniswap, також можуть бути під ризиком. У цій статті ми розглянемо цю методику підписного фішингу, щоб максимально уникнути подальших втрат активів.
Хід подій
Нещодавно один мій друг ( маленький A ) втратив активи у своєму гаманці. На відміну від звичних способів крадіжки, маленький A не розкрив приватний ключ і не взаємодіяв з фішинговими сайтами. Розслідування показало, що USDT, вкрадений з гаманця маленького A, був переміщений за допомогою функції Transfer From, що означає, що інша адреса виконала операцію і вивела токени, а не було витоку приватного ключа гаманця.
Через перевірку деталей угоди виявили ключові підказки:
Проблема в тому, як ця адреса отримала права на активи? Чому це пов'язано з Uniswap?
Вимога для виклику функції Transfer From полягає в тому, що викликаюча сторона повинна мати право на обсяг токенів (approve). Відповідь полягає в тому, що перед виконанням Transfer From ця адреса також виконала операцію Permit, обидві операції взаємодіють з контрактом Permit2 Uniswap.
Контракт Uniswap Permit2 є новим контрактом, який Uniswap запровадив наприкінці 2022 року, дозволяючи токенам надавати дозволи для спільного використання та управління в різних додатках, з метою створення більш уніфікованого, економічного та безпечного користувацького досвіду. Завдяки інтеграції Permit2 в більшість проектів, він може реалізувати стандартизоване схвалення токенів у всіх додатках, покращуючи користувацький досвід за рахунок зниження витрат на транзакції та підвищуючи безпеку смарт-контрактів.
Запуск Permit2 може змінити правила гри в усьому Dapp-екосистемі. У традиційному підході кожен раз, коли взаємодієш з Dapp для передачі активів, потрібно окремо надавати дозвіл. А Permit2 може обійти цей крок, ефективно знижуючи витрати на взаємодію користувачів і забезпечуючи кращий користувацький досвід.
Permit2 виступає посередником між користувачем та Dapp, користувачеві потрібно лише надати права на токен контракту Permit2, всі Dapp, що інтегрують Permit2, можуть ділитися цим обсягом дозволів. Це насправді вигідна ситуація для обох сторін, але вона також може бути двосічним мечем, проблема полягає у способі взаємодії з Permit2.
У традиційних способах взаємодії авторизація та переміщення коштів є он-лайн взаємодією для користувачів. Permit2 перетворює дії користувачів на підписування поза ланцюгом, всі операції на ланцюгу виконуються проміжними особами (, такими як контракт Permit2 та проектні команди, які інтегрують Permit2, ). Це приносить вигоду в тому, що навіть якщо гаманець користувача не має ETH, він може використовувати інші токени для оплати комісії за газ або отримати компенсацію від проміжних осіб.
Проте, підписання поза ланцюгом є етапом, на якому користувачі найчастіше зменшують свою обережність. Багато людей, використовуючи гаманець для входу в Dapp, не перевіряють уважно зміст підпису і не розуміють його значення, що є найбільш небезпечним моментом.
Щоб використовувати цю методику підпису Permit2 для риболовлі, ключовою умовою є те, що рибальський гаманець має бути авторизований на передачу токенів до контракту Permit2 Uniswap. Наразі для виконання обміну на Dapp, що інтегрований з Permit2, або на Uniswap, необхідно надати дозвіл контракту Permit2.
Більш страшним є те, що незалежно від суми Swap, контракт Uniswap Permit2 за замовчуванням дозволяє користувачам авторизувати весь баланс цього токена. Хоча MetaMask дозволяє налаштувати вхідну суму, більшість людей, ймовірно, виберуть максимальне або значення за замовчуванням, а значення за замовчуванням Permit2 - це безкінечний ліміт.
Це означає, що якщо ви взаємодіяли з Uniswap після 2023 року та надали дозвіл на використання коштів контракту Permit2, ви можете бути піддані ризику цього замилювання очей.
Основна увага приділяється функції Permit, яка дозволяє вашому гаманцю передавати ліміт токенів, наданих контракту Permit2, іншим адресам. Як тільки зловмисник отримає ваш підпис, він зможе отримати доступ до токенів у вашому гаманці та перевести ваші активи.
Як запобігти?
Враховуючи, що контракт Uniswap Permit2 може стати більш популярним у майбутньому, більше проектів може інтегрувати контракт Permit2 для спільного авторизації, ефективні засоби запобігання включають:
Розділення зберігання активів і інтерактивного гаманця: Рекомендується зберігати великі активи в холодному гаманці, а гаманці для взаємодії в мережі повинні містити лише невелику кількість коштів, що може суттєво зменшити втрати у випадку фішингового замилювання очей.
Обмеження дозволеної суми або скасування дозволу: Під час обміну на Uniswap авторизуйте лише необхідну для взаємодії суму. Хоча повторна авторизація кожного разу збільшить деякі витрати, це може запобігти фішингу підписів Permit2. Якщо вже було авторизовано ліміт, ви можете використовувати безпечний плагін для скасування авторизації.
Визначення природи токена, з'ясування, чи підтримує він функцію permit: З ростом кількості токенів ERC20, які можуть використовувати цей розширений протокол для реалізації функції permit, потрібно звертати увагу на те, чи підтримують токени, які ви тримаєте, цю функцію. Якщо підтримують, будьте особливо обережні під час торгівлі або виконання операцій з цим токеном, ретельно перевіряйте кожен невідомий підпис на наявність функції permit.
Розробка вдосконаленого плану порятунку активів: Якщо ви виявили, що стали жертвою замилювання очей, але у вас ще є токени, які існують на інших платформах через стейкінг та інші способи, коли вам потрібно їх вивести та перемістити на безпечну адресу, важливо пам'ятати, що хакери можуть постійно стежити за залишком вашої адреси. Оскільки хакери мають ваш підпис, якщо на вкраденій адресі з'являться токени, їх можуть миттєво перемістити. Необхідно розробити ретельний план порятунку токенів, щоб забезпечити синхронне виконання процесу виведення та переміщення, не даючи хакерам можливості вставити угоду. Можна розглянути можливість використання MEV-переміщення або звернутися за допомогою до професійних безпекових компаній.
У майбутньому риболовля на основі Permit2 може стати дедалі більш поширеною, цей метод підписного риболовства надзвичайно прихований і важкий для запобігання. З розширенням сфери застосування Permit2, кількість адрес, що піддаються ризику, також зросте. Сподіваюся, читачі зможуть поширити цю інформацію серед більшої кількості людей, щоб уникнути більших втрат.