Чи безпечний ваш гаманець? Як хакери використовують Permit, Uniswap Permit2 та підписи для рибальства.

ПочатківецьSep 24, 2024
Ця стаття досліджує ризики безпеки, пов'язані з використанням криптовалютних гаманців, зокрема зосереджується на фішингових атаках, які використовують Permit, Uniswap Permit2 та інші методи підпису дозволів.
Чи безпечний ваш гаманець? Як хакери використовують Permit, Uniswap Permit2 та підписи для рибальства.

Я пам'ятаю, що хтось у групі колись поділився мудрим висловом: «Якщо ви не знаєте, хто генерує прибуток, то ви самі його генеруєте». Це дуже співзвучно зі мною. Та ж сама принцип стосується безпеки використання криптовалютних гаманців. Якщо ви не впевнені, що означає певна дія, то кожна взаємодія або підпис, який ви робите на ланцюжку, може загрожувати втратою активів вашого гаманця.

Нещодавно Scam Sniffer опублікував звіт про фішинг у середині 2024 року: лише за першу половину цього року 260 000 жертв зазнали фішингу в ланцюжках EVM (ланцюжках на основі Ethereum), що призвело до збитків на загальну суму 314 мільйонів доларів. Для порівняння, це вже перевищило 295 мільйонів доларів, втрачених через фішингові атаки за весь 2023 рік, і знадобилося лише шість місяців, щоб досягти цієї цифри, як показано на діаграмі нижче.

Звіт вказує, що більшість викрадень токенів ERC20 відбуваються через підписування шахрайських підписів, таких як Permit (автономні підписи авторизації), Increase Allowance (розширення лімітів авторизації) та Uniswap Permit2. Фішингові атаки явно залишаються значними вразливостями у безпеці на ланцюжку.

Кілька днів тому друг зіткнувся з проблемою. Два місяці тому, 14 червня, вони зробили три перекази зі свого гаманця Coinbase на Binance (перекази ланцюга Ethereum). Перший переказ відбувся успішно, але інші два ніколи не прийшли, і зараз вже два місяці. Що могло піти не так?

Я перевірив записи транзакцій на Etherscan та знайшов тільки один переказ, без слідів двох інших, як показано на зображенні нижче.

Придивившись ближче до всіх транзакцій on-chain з 14 червня, я знайшов три спроби переказу, але останні дві були позначені як неуспішні транзакції, як показано на зображенні нижче.

Потім я натиснув на одну з неуспішних транзакцій (позначену як «Помилка»), щоб подивитися, що пішло не так. Повідомлення про помилку говорило, «Сталася помилка під час виконання контракту». Згідно з офіційною документацією Etherscan, такий тип помилки не повинен призводити до втрати активів з гаманця. Токени ніколи не залишають гаманець відправника в таких випадках, хоча комісії за газ все ще знімаються. Це проілюстровано на малюнку нижче.

Щоб вирішити цей вид проблеми, ось що потрібно підтвердити:

-Перевірте, чи фактично кошти були переказані або втрачені з гаманця у той день (тобто, якщо невдала транзакція не призвела до повернення коштів на гаманець).

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

З урахуванням цього, моє звичайне рекомендація полягає в тому, що добре тримати детальний журнал транзакцій, наприклад, використовуючи Excel для відстеження щоденних транзакцій (купівля/продаж) та потоку готівки (доходи/витрати). Таким чином, якщо виникають будь-які проблеми, ви можете порівняти журнал з записами транзакцій on-chain для хрестоверифікації. Я фактично веду такий журнал сам, записуючи кожну транзакцію детально. Я також додаю нотатки про свої досвіди або думки щодо певних транзакцій.

На цей момент проблема, здається, в основному зрозуміла. Однак, під час перегляду історії транзакцій on-chain я виявив ще серйознішу проблему з гаманцем цього друга — його атакували хакери!

Що сталося? Давайте ретельніше розглянемо (як показано на зображенні нижче):

Давайте спочатку подивимося на червону рамку на зображенні (легітимна транзакція):

Власник гаманця щойно завершив своп на $10 000 і перевів USDT на гаманець, починаючи з 0x8F і закінчуючи f103.

Тепер перевірте зелений блок (фішингову транзакцію):

Негайно після цього хакер створив кілька фальшивих транзакцій. Цікаво, адреса гаманця хакера також починається з 0x8F і закінчується f103.

Давайте уважно порівняємо адреси гаманця:

Реальна адреса власника гаманця:

0x8F773C2E1bF81cbA8ee71CBb8d33249Be6e5f103

Адреси гаманців хакера:

0x8F7cCF79d497feDa14eD09F55d2c511001E5f103

0x8F776d5623F778Ea061efcA240912f9643fdf103

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

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

Швидкий порада: Чому ви не можете побачити недійсні транзакції або перекази нульової вартості на Etherscan? Як можна переключити браузер Ethereum на спрощений китайський?

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

Безпека гаманця - це щось, що безумовно потребує уваги, особливо для гаманців, що містять значні активи (понад $1 мільйон). Це гарна ідея розподілити ваші кошти між різними гаманцями залежно від їх призначення для підвищення безпеки. Ось як я особисто організовую свої гаманці на рівні:

Рівень 1: Холодний гаманець, встановлений на телефоні Apple, виключно для довгострокового зберігання. Він зберігається офлайн і ніколи не використовується для будь-яких операцій або переказів. Я планую утримувати ці активи щонайменше 10 років, не торкаючись їх. Якщо ви хочете використовувати холодний гаманець для операцій, ви можете розглянути придбання відомих апаратних гаманців через довірчі канали (наприклад, Trezor, Ledger, тощо).

Рівень 2: Гарячий гаманець для великих сум. Я використовую Trust Wallet і не надаю жодних дозволів для додатків. Цей гаманець використовується лише для переказів між моїми власними гаманцями та виведення коштів або переказів на Binance.

Рівень 3: Десятки малих гаманців, деякі для тестування (наприклад, взаємодія з новими проектами для випробування їх функцій або іноді зароблення монети), тоді як інші використовувалися для купівлі альткойнів або мем-токенів (хоча останнім часом я цим займаюся менше). Кожен гаманець містить лише невеликі суми, від кількох сотень до кількох тисяч доларів. З цими гаманцями я більш спокійний щодо авторизацій і підписів, і навіть якщо один з них буде взламаний, це не велика проблема. Управління всіма цими гаманцями може здаватися незручним, але це варто для додаткової безпеки.

Коротко кажучи, кожен має свої вподобання щодо того, як вони керують своїми гаманцями, залежно від своєї ситуації. Досвідчені користувачі криптовалюти часто віддають перевагу зберіганню своїх активів на ланцюгу, але для більшості новачків, насправді безпечніше зберігати активи (до $100,000) на основних платформах, таких як Binance або OKX.

Тепер пройдемо кілька поширених тактик фішингу:

1.Дозвольте атаку на рибалку

Для початку, давайте пояснимо деякі основні поняття: коли ви переказуєте токени на Ethereum, ви зазвичай взаємодієте з розумним контрактом токена за допомогою функції Transfer або функції Transfer From. Функція Transfer використовується, коли власник безпосередньо авторизує переказ токенів на іншу адресу, тоді як Transfer From дозволяє третій стороні перемістити токени з однієї адреси на іншу.

Ось як працює атака з використанням дозволу для рибалки:

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

Потім зловмисник використовує функцію Permit, щоб отримати авторизацію.

Наостанок, зловмисник викликає функцію Transfer From, щоб перемістити активи жертви, завершуючи рибальський атаку.

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

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


(Кредит за зображення: bocaibocai@wzxznl)

2. Атака фішингу Uniswap Permit2

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

Нещодавно я прочитав кілька статей bocaibocai (X@wzxznl) для більш глибокого вивчення механіки атак фішингу Permit2. Ось короткий огляд:

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

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

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

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

Це, по суті, означає, що якщо ви взаємодіяли з Uniswap і надали дозвіл контракту Permit2, ви піддаєтеся ризику зловмисного витягування даних.

Наприклад, скажімо, Сяо Лі використовував Uniswap і авторизував необмежену кількість USDT на контракт Permit2. Пізніше, здійснюючи рутинні транзакції з гаманцем, Сяо Лі несвідомо потрапив у фішингову пастку, пов'язану з Permit2. Після того, як хакер отримав підпис Сяо Лі, він міг використовувати його для виконання двох ключових операцій за контрактом Permit2 — дозволу та передачі звідки, щоб викрасти активи Сяо Лі.

Ось як працює цей фішинговий атака:

Перед спробою вилучення даних користувач вже використовував Uniswap та надав права на токени контракту Uniswap Permit2 (з необмеженим дозволом за замовчуванням).

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

Використовуючи це, зловмисник викликає функцію Permit в контракті Permit2, завершуючи авторизацію.

Нарешті, зловмисник викликає функцію Transfer From всередині контракту Permit2, щоб передати активи жертви, завершуючи фішингову атаку.

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

Як ви можете захистити себе від атак фішингу Permit та Permit2?

Один варіант - використовувати додатки безпеки браузера, такі як Scamsniffer (я використовую це в своєму Google Chrome), щоб блокувати шахрайські посилання. Крім того, ви можете регулярно перевіряти та скасовувати будь-які непотрібні або підозрілі дозволи або підписи за допомогою інструментів, таких як Revoke Cash. Дивіться зображення нижче для прикладу.

Ви також можете використовувати спеціалізований інструмент управління авторизацією від Scamsniffer, спеціально розроблений для Uniswap Permit2, щоб регулярно переглядати свої авторизації. Якщо щось виглядає незвичайним, важливо негайно скасувати дозволи. Дивіться зображення нижче.

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

(Зображення кредиту: bocaibocai@wzxznl)

Швидка порада: Як визначити, чи підпис гаманця призначений для Permit чи Permit2?

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

Власник (адреса, які дають дозвіл); Витрачач (адреса, що отримує дозвіл); Оцінка (дозволена сума); Нонс (унікальне випадкове число); Термін (дата закінчення).

3. Заявіть про фішингову атаку

Цей тип фішингу є дуже поширеним. Наприклад, якщо ви часто переглядаєте X (раніше Twitter), ви, ймовірно, зустрінете повідомлення, що пропонують «безкоштовні айрдропи». Часом ви навіть можете знайти випадкові NFT, які таємничим чином потрапили на ваш гаманець (вони можуть містити посилання на веб-сайт).

Якщо ви натиснете на фішинговий веб-сайт і продовжите зПретендуватиу разі дії хакера активи у вашому гаманці можуть бути негайно викрадені.

Як ви можете захистити себе?

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

4. Подібний фішинг передачі адреси

3 травня цього року криптокит став жертвою фішингової атаки з використанням аналогічної адреси, втративши 1 155 WBTC (на той час це коштувало приблизно 70 мільйонів доларів).

Компанія SlowMist раніше докладно проаналізувала цей випадок, тому я не буду повторювати конкрети тут. Якщо вас цікавить, ви можете переглянути справу тут:

https://mp.weixin.qq.com/s/mQch5pEg1fmJsMbiOClwOg

Цей тип рибальства досить простий:

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

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

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

Тому що багато користувачів мають звичку копіювати деталі транзакцій з історії свого гаманця, вони можуть побачити шахрайську транзакцію, яка тісно слідує за їхньою власною, і не усвідомлюють, що скопіювали неправильну адресу. Без ретельної перевірки вони можуть помилково відправити 1,155 WBTC на адресу шахрайства.

Як це можна запобігти?

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

5. Фішинг з авторизованим підписом

Раніше згадані методи Permit, Uniswap Permit2 та Claim усі входять в рамки рибальства за авторизацією. Фактично, є багато способів, якими хакери можуть зловживати авторизацією гаманця, наприклад, за допомогою Approve (надання дозволу на використання платформи, наприклад, Uniswap, ваших USDT) та Increase Allowance (підвищення ліміту витрат).

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

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

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

  1. Ця стаття передрукована з [话李话外] із заголовком "你的钱包还安全吗?黑客是如何利用Permit、Uniswap Permit2、授权签名进行钓鱼的(Чи безпечний ваш гаманець? Як хакери використовують Permit, Uniswap Permit2 та підписи для фішингу.)", Усі авторські права належать оригінальному автору [话李话外]. Якщо є заперечення проти цього передруку, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно з цим впораються.

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

  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено Gate.io, копіювання, розповсюдження або плагіат перекладених статей заборонено.

Чи безпечний ваш гаманець? Як хакери використовують Permit, Uniswap Permit2 та підписи для рибальства.

ПочатківецьSep 24, 2024
Ця стаття досліджує ризики безпеки, пов'язані з використанням криптовалютних гаманців, зокрема зосереджується на фішингових атаках, які використовують Permit, Uniswap Permit2 та інші методи підпису дозволів.
Чи безпечний ваш гаманець? Як хакери використовують Permit, Uniswap Permit2 та підписи для рибальства.

Я пам'ятаю, що хтось у групі колись поділився мудрим висловом: «Якщо ви не знаєте, хто генерує прибуток, то ви самі його генеруєте». Це дуже співзвучно зі мною. Та ж сама принцип стосується безпеки використання криптовалютних гаманців. Якщо ви не впевнені, що означає певна дія, то кожна взаємодія або підпис, який ви робите на ланцюжку, може загрожувати втратою активів вашого гаманця.

Нещодавно Scam Sniffer опублікував звіт про фішинг у середині 2024 року: лише за першу половину цього року 260 000 жертв зазнали фішингу в ланцюжках EVM (ланцюжках на основі Ethereum), що призвело до збитків на загальну суму 314 мільйонів доларів. Для порівняння, це вже перевищило 295 мільйонів доларів, втрачених через фішингові атаки за весь 2023 рік, і знадобилося лише шість місяців, щоб досягти цієї цифри, як показано на діаграмі нижче.

Звіт вказує, що більшість викрадень токенів ERC20 відбуваються через підписування шахрайських підписів, таких як Permit (автономні підписи авторизації), Increase Allowance (розширення лімітів авторизації) та Uniswap Permit2. Фішингові атаки явно залишаються значними вразливостями у безпеці на ланцюжку.

Кілька днів тому друг зіткнувся з проблемою. Два місяці тому, 14 червня, вони зробили три перекази зі свого гаманця Coinbase на Binance (перекази ланцюга Ethereum). Перший переказ відбувся успішно, але інші два ніколи не прийшли, і зараз вже два місяці. Що могло піти не так?

Я перевірив записи транзакцій на Etherscan та знайшов тільки один переказ, без слідів двох інших, як показано на зображенні нижче.

Придивившись ближче до всіх транзакцій on-chain з 14 червня, я знайшов три спроби переказу, але останні дві були позначені як неуспішні транзакції, як показано на зображенні нижче.

Потім я натиснув на одну з неуспішних транзакцій (позначену як «Помилка»), щоб подивитися, що пішло не так. Повідомлення про помилку говорило, «Сталася помилка під час виконання контракту». Згідно з офіційною документацією Etherscan, такий тип помилки не повинен призводити до втрати активів з гаманця. Токени ніколи не залишають гаманець відправника в таких випадках, хоча комісії за газ все ще знімаються. Це проілюстровано на малюнку нижче.

Щоб вирішити цей вид проблеми, ось що потрібно підтвердити:

-Перевірте, чи фактично кошти були переказані або втрачені з гаманця у той день (тобто, якщо невдала транзакція не призвела до повернення коштів на гаманець).

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

З урахуванням цього, моє звичайне рекомендація полягає в тому, що добре тримати детальний журнал транзакцій, наприклад, використовуючи Excel для відстеження щоденних транзакцій (купівля/продаж) та потоку готівки (доходи/витрати). Таким чином, якщо виникають будь-які проблеми, ви можете порівняти журнал з записами транзакцій on-chain для хрестоверифікації. Я фактично веду такий журнал сам, записуючи кожну транзакцію детально. Я також додаю нотатки про свої досвіди або думки щодо певних транзакцій.

На цей момент проблема, здається, в основному зрозуміла. Однак, під час перегляду історії транзакцій on-chain я виявив ще серйознішу проблему з гаманцем цього друга — його атакували хакери!

Що сталося? Давайте ретельніше розглянемо (як показано на зображенні нижче):

Давайте спочатку подивимося на червону рамку на зображенні (легітимна транзакція):

Власник гаманця щойно завершив своп на $10 000 і перевів USDT на гаманець, починаючи з 0x8F і закінчуючи f103.

Тепер перевірте зелений блок (фішингову транзакцію):

Негайно після цього хакер створив кілька фальшивих транзакцій. Цікаво, адреса гаманця хакера також починається з 0x8F і закінчується f103.

Давайте уважно порівняємо адреси гаманця:

Реальна адреса власника гаманця:

0x8F773C2E1bF81cbA8ee71CBb8d33249Be6e5f103

Адреси гаманців хакера:

0x8F7cCF79d497feDa14eD09F55d2c511001E5f103

0x8F776d5623F778Ea061efcA240912f9643fdf103

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

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

Швидкий порада: Чому ви не можете побачити недійсні транзакції або перекази нульової вартості на Etherscan? Як можна переключити браузер Ethereum на спрощений китайський?

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

Безпека гаманця - це щось, що безумовно потребує уваги, особливо для гаманців, що містять значні активи (понад $1 мільйон). Це гарна ідея розподілити ваші кошти між різними гаманцями залежно від їх призначення для підвищення безпеки. Ось як я особисто організовую свої гаманці на рівні:

Рівень 1: Холодний гаманець, встановлений на телефоні Apple, виключно для довгострокового зберігання. Він зберігається офлайн і ніколи не використовується для будь-яких операцій або переказів. Я планую утримувати ці активи щонайменше 10 років, не торкаючись їх. Якщо ви хочете використовувати холодний гаманець для операцій, ви можете розглянути придбання відомих апаратних гаманців через довірчі канали (наприклад, Trezor, Ledger, тощо).

Рівень 2: Гарячий гаманець для великих сум. Я використовую Trust Wallet і не надаю жодних дозволів для додатків. Цей гаманець використовується лише для переказів між моїми власними гаманцями та виведення коштів або переказів на Binance.

Рівень 3: Десятки малих гаманців, деякі для тестування (наприклад, взаємодія з новими проектами для випробування їх функцій або іноді зароблення монети), тоді як інші використовувалися для купівлі альткойнів або мем-токенів (хоча останнім часом я цим займаюся менше). Кожен гаманець містить лише невеликі суми, від кількох сотень до кількох тисяч доларів. З цими гаманцями я більш спокійний щодо авторизацій і підписів, і навіть якщо один з них буде взламаний, це не велика проблема. Управління всіма цими гаманцями може здаватися незручним, але це варто для додаткової безпеки.

Коротко кажучи, кожен має свої вподобання щодо того, як вони керують своїми гаманцями, залежно від своєї ситуації. Досвідчені користувачі криптовалюти часто віддають перевагу зберіганню своїх активів на ланцюгу, але для більшості новачків, насправді безпечніше зберігати активи (до $100,000) на основних платформах, таких як Binance або OKX.

Тепер пройдемо кілька поширених тактик фішингу:

1.Дозвольте атаку на рибалку

Для початку, давайте пояснимо деякі основні поняття: коли ви переказуєте токени на Ethereum, ви зазвичай взаємодієте з розумним контрактом токена за допомогою функції Transfer або функції Transfer From. Функція Transfer використовується, коли власник безпосередньо авторизує переказ токенів на іншу адресу, тоді як Transfer From дозволяє третій стороні перемістити токени з однієї адреси на іншу.

Ось як працює атака з використанням дозволу для рибалки:

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

Потім зловмисник використовує функцію Permit, щоб отримати авторизацію.

Наостанок, зловмисник викликає функцію Transfer From, щоб перемістити активи жертви, завершуючи рибальський атаку.

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

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


(Кредит за зображення: bocaibocai@wzxznl)

2. Атака фішингу Uniswap Permit2

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

Нещодавно я прочитав кілька статей bocaibocai (X@wzxznl) для більш глибокого вивчення механіки атак фішингу Permit2. Ось короткий огляд:

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

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

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

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

Це, по суті, означає, що якщо ви взаємодіяли з Uniswap і надали дозвіл контракту Permit2, ви піддаєтеся ризику зловмисного витягування даних.

Наприклад, скажімо, Сяо Лі використовував Uniswap і авторизував необмежену кількість USDT на контракт Permit2. Пізніше, здійснюючи рутинні транзакції з гаманцем, Сяо Лі несвідомо потрапив у фішингову пастку, пов'язану з Permit2. Після того, як хакер отримав підпис Сяо Лі, він міг використовувати його для виконання двох ключових операцій за контрактом Permit2 — дозволу та передачі звідки, щоб викрасти активи Сяо Лі.

Ось як працює цей фішинговий атака:

Перед спробою вилучення даних користувач вже використовував Uniswap та надав права на токени контракту Uniswap Permit2 (з необмеженим дозволом за замовчуванням).

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

Використовуючи це, зловмисник викликає функцію Permit в контракті Permit2, завершуючи авторизацію.

Нарешті, зловмисник викликає функцію Transfer From всередині контракту Permit2, щоб передати активи жертви, завершуючи фішингову атаку.

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

Як ви можете захистити себе від атак фішингу Permit та Permit2?

Один варіант - використовувати додатки безпеки браузера, такі як Scamsniffer (я використовую це в своєму Google Chrome), щоб блокувати шахрайські посилання. Крім того, ви можете регулярно перевіряти та скасовувати будь-які непотрібні або підозрілі дозволи або підписи за допомогою інструментів, таких як Revoke Cash. Дивіться зображення нижче для прикладу.

Ви також можете використовувати спеціалізований інструмент управління авторизацією від Scamsniffer, спеціально розроблений для Uniswap Permit2, щоб регулярно переглядати свої авторизації. Якщо щось виглядає незвичайним, важливо негайно скасувати дозволи. Дивіться зображення нижче.

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

(Зображення кредиту: bocaibocai@wzxznl)

Швидка порада: Як визначити, чи підпис гаманця призначений для Permit чи Permit2?

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

Власник (адреса, які дають дозвіл); Витрачач (адреса, що отримує дозвіл); Оцінка (дозволена сума); Нонс (унікальне випадкове число); Термін (дата закінчення).

3. Заявіть про фішингову атаку

Цей тип фішингу є дуже поширеним. Наприклад, якщо ви часто переглядаєте X (раніше Twitter), ви, ймовірно, зустрінете повідомлення, що пропонують «безкоштовні айрдропи». Часом ви навіть можете знайти випадкові NFT, які таємничим чином потрапили на ваш гаманець (вони можуть містити посилання на веб-сайт).

Якщо ви натиснете на фішинговий веб-сайт і продовжите зПретендуватиу разі дії хакера активи у вашому гаманці можуть бути негайно викрадені.

Як ви можете захистити себе?

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

4. Подібний фішинг передачі адреси

3 травня цього року криптокит став жертвою фішингової атаки з використанням аналогічної адреси, втративши 1 155 WBTC (на той час це коштувало приблизно 70 мільйонів доларів).

Компанія SlowMist раніше докладно проаналізувала цей випадок, тому я не буду повторювати конкрети тут. Якщо вас цікавить, ви можете переглянути справу тут:

https://mp.weixin.qq.com/s/mQch5pEg1fmJsMbiOClwOg

Цей тип рибальства досить простий:

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

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

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

Тому що багато користувачів мають звичку копіювати деталі транзакцій з історії свого гаманця, вони можуть побачити шахрайську транзакцію, яка тісно слідує за їхньою власною, і не усвідомлюють, що скопіювали неправильну адресу. Без ретельної перевірки вони можуть помилково відправити 1,155 WBTC на адресу шахрайства.

Як це можна запобігти?

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

5. Фішинг з авторизованим підписом

Раніше згадані методи Permit, Uniswap Permit2 та Claim усі входять в рамки рибальства за авторизацією. Фактично, є багато способів, якими хакери можуть зловживати авторизацією гаманця, наприклад, за допомогою Approve (надання дозволу на використання платформи, наприклад, Uniswap, ваших USDT) та Increase Allowance (підвищення ліміту витрат).

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

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

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

  1. Ця стаття передрукована з [话李话外] із заголовком "你的钱包还安全吗?黑客是如何利用Permit、Uniswap Permit2、授权签名进行钓鱼的(Чи безпечний ваш гаманець? Як хакери використовують Permit, Uniswap Permit2 та підписи для фішингу.)", Усі авторські права належать оригінальному автору [话李话外]. Якщо є заперечення проти цього передруку, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно з цим впораються.

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

  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено Gate.io, копіювання, розповсюдження або плагіат перекладених статей заборонено.

Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!