Методи фішингу підпису Permit2 для новачків. Потрібно бути обережним щодо безпеки активів.

robot
Генерація анотацій у процесі

Розкриття шахрайства з підписом Uniswap Permit2

Хакери є жахливим явищем в екосистемі Web3. Для проектів відкритий код викликає побоювання, оскільки вони бояться, що одна помилка в коді може залишити вразливість. Для особистих користувачів кожна взаємодія або підпис на ланцюгу може призвести до крадіжки активів. Тому питання безпеки завжди було однією з проблем у світі криптовалют. Через особливості блокчейну вкрадені активи майже неможливо повернути, тому знання безпеки є особливо важливими.

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

Хід події

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

Блокчейн-оглядач показує, що USDT у гаманці маленького A був перенесений через функцію Transfer From. Це означає, що інша адреса виконала операцію з переміщення токенів, а не витік приватного ключа гаманця.

Підписана угода була вкрадена? Розкриття шахрайства з підписами Uniswap Permit2

Деталі угоди розкривають ключові підказки:

  • Адреса передає активи маленького А на іншу адресу
  • Ця операція взаємодіє з контрактом Permit2 на певній торговій платформі

Проблема в тому, як ця адреса отримала права на активи? Чому це пов'язано з якоюсь торговою платформою?

Щоб викликати функцію Transfer From, викликач повинен мати право на кількість токенів (approve). Перед тим, як перевести активи малого A з цієї адреси, також було виконано операцію Permit, обидві операції взаємодіяли з контрактом Permit2 певної торгової платформи.

Підписався й був обкрадений? Розкриття шахрайства з підписами Uniswap Permit2

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

Запуск Permit2 може змінити правила екосистеми Dapp. У традиційному підході користувачі повинні кожного разу надавати дозвіл при взаємодії з Dapp, тоді як Permit2 може пропустити цей крок, ефективно знижуючи витрати на взаємодію користувачів. Permit2, будучи посередником між користувачем і Dapp, дозволяє користувачеві надати дозвіл лише контракту Permit2, всі Dapp, що інтегрують цей контракт, можуть ділитися обсягом дозволу.

Підпис просто вкрали? Розкриття фішингу підпису Uniswap Permit2

Однак це також двосічний меч. Permit2 перетворює дії користувачів на підписання поза ланцюгом, всі операції в ланцюзі виконуються проміжною стороною. Це означає, що навіть якщо в гаманці користувача немає ETH, він може використовувати інші токени для сплати комісії за газ або отримати відшкодування від проміжної сторони. Але підписання поза ланцюгом також є найпростішим етапом, який користувачі можуть ігнорувати, більшість людей не перевіряють уважно вміст підпису.

Щоб використовувати цю методику фішингу, ключовою умовою є те, що гаманці, які піддаються фішингу, повинні вже надати токен дозволу контракту Permit2. Наразі, щоб виконати обмін на Dapp або на будь-якій торговельній платформі, яка інтегрує Permit2, необхідно надати дозвіл контракту Permit2.

Ще страшніше те, що незалежно від суми Swap, контракт Permit2 за замовчуванням дозволяє користувачеві авторизувати весь баланс токена. Хоча гаманець пропонує ввести користувацьку суму, більшість людей, можливо, просто виберуть максимальне або значення за замовчуванням, а значення за замовчуванням для Permit2 є безмежним.

Підписався і був обкрадений? Розкриття замилювання очей підпису Uniswap Permit2

Це означає, що якщо ви мали взаємодію з якоюсь торговою платформою після 2023 року і надали дозвіл контракту Permit2, ви можете зіткнутися з ризиком цього замилювання очей.

Основна увага приділяється функції Permit, яка дозволяє користувачеві передавати обсяги токенів, надані контракту Permit2, іншим адресам. Якщо хакер отримає підпис користувача, він зможе отримати доступ до токенів у гаманці користувача та перемістити активи.

детальний аналіз події

Функція Permit дозволяє користувачам заздалегідь підписувати "контракти", що дозволяє іншим (spender) у майбутньому використовувати певну кількість токенів. Користувач повинен надати підпис, щоб підтвердити автентичність "контракту".

Процес роботи функції:

  1. Перевірте, чи не перевищує поточний час термін дії підпису.
  2. Перевірка автентичності підпису
  3. Якщо перевірка пройшла, оновіть запис, щоб дозволити іншим використовувати токени.

Підписався і був обкрадений? Розкриття шахрайства з підписами Uniswap Permit2

Основна увага приділяється функціям verify та _updateApproval.

функція verify отримує три дані v, r, s з інформації підпису, які використовуються для відновлення адреси підпису транзакції. Контракт порівнює відновлену адресу з переданою адресою власника токена, якщо вони співпадають, верифікація проходить.

Підпис був вкрадений? Розкриття шахрайства з підписами Uniswap Permit2

_updateApproval функція оновлює значення авторизації після перевірки підпису, що означає, що права були передані. У цей момент уповноважена сторона може викликати функцію transferfrom для переведення токенів на вказану адресу.

Підписка стала причиною крадіжки? Розкриття шахрайства з підписами Uniswap Permit2

Онлайн-реальні транзакції показують:

  • owner є адресою гаманця малого A
  • Деталі містять інформацію про адресу контракту авторизованого токена та суму тощо
  • Spender є адресою хакера
  • sigDeadline є часом дії підпису, signature є інформацією про підпис маленького А

Підписавшись, ви стали жертвою? Розкриття шахрайства з підписами Uniswap Permit2

Оглядаючи записи взаємодії маленького A, виявили, що під час використання певної торгової платформи було натиснуто на значення за замовчуванням, тобто практично безмежний ліміт.

Підписався і був обкрадений? Розкриття шахрайства з підписами Uniswap Permit2

Просте підведення підсумків: Малий А раніше надав Permit2 безмежний ліміт USDT, але потім випадково потрапив у підступну фішинг-атаку, спроектовану хакерами. Отримавши підпис, хакери виконали операції Permit і Transfer From в контракті Permit2, перемістивши активи Малого А. Наразі контракт Permit2, здається, став раєм для фішингу, цей спосіб фішингу почав активно використовуватися приблизно два місяці тому.

Як захиститися?

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

  1. Розуміти та розпізнавати вміст підпису: Формат підпису Permit зазвичай містить ключову інформацію, таку як Owner, Spender, value, nonce та deadline. Щоб скористатися перевагами Permit2, необхідно навчитися розпізнавати такі формати підписів. Використання безпечних плагінів є непоганим вибором.

Підписка вкрадена? Розкриття схем замилювання очей Uniswap Permit2 підпису

  1. Розділення активів гаманця та інтерактивного гаманця: Рекомендується зберігати велику кількість активів у холодному гаманці, а в інтерактивному гаманці на ланцюгу залишати лише невелику кількість коштів, що може значно зменшити втрати у разі фішингу.

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

Підписується і відразу краде? Відкриття риболовлі на підписи Uniswap Permit2

  1. Визначте природу токена, зверніть увагу на підтримку функції permit: У майбутньому може з'явитися більше токенів ERC20 з функцією permit. Слід звернути увагу на те, чи підтримують токени, які у вас є, цю функцію; якщо підтримують, то операції з торгівлі слід проводити з особливою обережністю, ретельно перевіряючи кожен невідомий підпис.

  2. Якщо після обману є токени, збережені на інших платформах, необхідно розробити вдосконалений план порятунку: Якщо ви виявили, що стали жертвою шахрайства, але у вас ще є токени, які зберігаються на інших платформах через стейкінг та інші способи, потрібно обережно їх виводити та переміщати. Хакери можуть у будь-який момент контролювати баланс адреси, і як тільки з'являться токени, вони можуть бути переміщені. Слід розробити чіткий процес порятунку, виведення та переміщення повинні виконуватись синхронно, можна використовувати MEV для переміщення або звернутись за допомогою до професійної команди з безпеки.

У майбутньому кількість фішингових атак на основі Permit2 може зрости, цей спосіб надзвичайно прихований і важкий для запобігання. З розширенням сфери застосування Permit2 також зросте кількість адрес, що піддаються ризику. Сподіваємося, читачі після прочитання цієї статті зможуть поширити її серед більшої кількості людей, щоб уникнути втрат.

Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
InfraVibesvip
· 10год тому
Погляньте, перш ніж підписати, зрозуміли?
Переглянути оригіналвідповісти на0
MetaverseMigrantvip
· 10год тому
Знову придумали нову фішку. Цей хакер справді талановитий.
Переглянути оригіналвідповісти на0
RektButAlivevip
· 10год тому
Щодня підписуюся на останні вразливості~
Переглянути оригіналвідповісти на0
StablecoinEnjoyervip
· 10год тому
Знову нова пастка, новичок, обережно підписуйте
Переглянути оригіналвідповісти на0
NftBankruptcyClubvip
· 10год тому
Скільки разів знову потрапили в пастку
Переглянути оригіналвідповісти на0
P2ENotWorkingvip
· 10год тому
Знову нові невдахи обдурювати людей, як лохів.
Переглянути оригіналвідповісти на0
ValidatorVikingvip
· 10год тому
чорт забирай, новачки ніколи не вчаться перевіряти підписи... назад до основ, блін
Переглянути оригіналвідповісти на0
  • Закріпити