Загальні методи рибальства та рекомендації з безпеки веб-3

Початківець5/29/2024, 7:37:00 AM
Атаки на фішинг Web3 - це поширена загроза для користувачів криптовалют. їх мета полягає в крадіжці їх криптовалютних активів, змушуючи користувачів авторизувати, підписувати або неналежно експлуатувати. У цій статті SharkTeam систематично аналізує сім поширених технік фішингу Web3, включаючи фішинг Permit з підписом поза ланцюжком, фішинг Permit2 з підписом поза ланцюжком, фішинг eth_sign з підписом на ланцюжку, фішинг personal_sign/signTypedData з підписом на ланцюжку, фішинг авторизації та фішинг забруднення адрес. А також методи фішингу, які використовують CREATE2 для обхіду виявлення безпеки. Стаття також вводить чорний ланцюжок індустрії Drainer as a Service (DaaS) та надає п'ять рекомендацій з безпеки, щоб допомогти користувачам визначати фішингові шахраїв та захищати безпеку своїх зашифрованих активів.

1. Аналіз поширених технік лову риби

1. Дозвіл на рибальство для підпису поза ланцюгом

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

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

Об'єкт підпису: DAI/USDC/WETH та інші токени ERC20 (ось DAI)

holder:// підпис адреса

spender:// адреса шахрая

nonce:0

закінчення:1988064000 // Час закінчення

дозволено:правда

Якщо підписано, атакувальник отримає підпис (період значень r, s, v), який використовується для крадіжки DAI/USDC/WETH та інших токенів ERC20 (тут DAI) від жертви. Коли атакувальник взаємодіє з функцією дозволу, потрібно використовувати).

(2) Зловмисник викликає функцію дозволу для завершення авторизації.


https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662

(3) Зловмисник викликає функцію transferFrom для передачі активів жертви та завершення атаки.

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

https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938

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

2. Дозвіл на підманювання підпису поза ланцюгом

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

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

Хоча Permit2 покращує користувацький досвід, його наступають фішингові атаки, спрямовані на підписи Permit2. Схоже на фішинг з Permit off-chain підписом, Permit2 також є фішингом з off-chain підписом. Ця атака головним чином поділяється на чотири кроки:

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


https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f

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

(3) Атакувальник викликає функцію дозволу контракту Permit2, щоб завершити авторизацію.

https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658

(4) Атакувальник викликає функцію transferFrom контракту Permit2, щоб передати активи жертви та завершити атаку.

https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486

Додаткова примітка: Зазвичай існує кілька адрес, на які атакувальники отримують активи. Зазвичай одним з отримувачів з найбільшою сумою є атакувальник, який реалізує виманювання даних, а інші - це чорні адреси, які надають послуги виманювання даних як сервіс (постачальники DaaS-послуг з виманювання даних). адреси, такі як PinkDrainer, InfernoDrainer, AngelDrainer, тощо).

3. eth_sign on-chain blind sign риболовство

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

MetaMask надасть попередження про ризик під час підписання eth_sign. Веб-гаманці, такі як imToken та OneKey, вимкнули цю функцію або надали попередження про ризик. Рекомендується, щоб усі виробники гаманців вимкнули цей метод, щоб запобігти атакам на користувачів через відсутність усвідомлення про безпеку або необхідну технічну акумуляцію.

4. персональна підпис/підписані дані на ланцюжку фішингу підпису

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

Крім того, якщо personal_sign та signTypedData використовуються як «сліпі підписи», як у вищезазначеному, користувач не може бачити чіткий текст, що ускладнює використання ними фішинговими бандами, що також збільшить ризик фішингу.

5. Авторизований рибальство

Шляхом штучної веб-сайту або вішання коня на офіційному веб-сайті проекту, зловмисники змушують користувачів підтверджувати операції, такі як setApprovalForAll, Approve, Increase Approval, та Increase Allowance, отримують дозвіл на операції з активами користувача та вчиняють крадіжку.

(1)setApprovalForAll

Беручи приклад зловмисного використання коней PREMINT, файл js(https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) на веб-сайт проекту був впроваджений зловісний код. Зловісний файл js (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) буде створено динамічно. Атака ініціюється цим зловмисним скриптом.

Тому що користувач не вчасно виявив ризик, він підтвердив операцію setApprovalForAll та ненавмисно витікла авторизація операції для активу, в результаті чого актив було вкрадено.

(2)Схвалити

Схоже до setApprovalForAll, користувач підтвердив операцію Approve, витікаючи авторизацію операції для активу, внаслідок чого актив був вкрадений.

Схвалити помилковий доступ:

https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa

Атакувальник передає активи через transferFrom:

https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8

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

(3) Збільшити затвердження

Збільшення Недопущення Несанкціонованого Допуску:

https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223

Атакувальник передає активи через transferFrom:

https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69

(4) Збільшити допомогу

Збільшення Дозволу Недопущення:

https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53

Атакувальник передає активи через transferFrom:

https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f

6. Адресне забруднення шахрайство

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

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

3 травня 2024 року 1155WBTC на суму понад 70 мільйонів доларів США було вилучено через метод рибальства за адресою забруднення.

Правильна адреса: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91

Зловісна адреса: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91

Звичайна транзакція:

https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac

Забруднення адрес:

https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73

Направлення транзакції не вірне:

https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570

7. Більш витончений шахрайство, використовуючи CREATE2 для обходу виявлення безпеки

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

Create2 - це опкод, який був введений під час оновлення Ethereum 'Constantinople' і дозволяє користувачам створювати смарт-контракти на Ethereum. Оригінальний опкод Create генерує нову адресу на основі адреси та nonce створювача. Create2 дозволяє користувачам обчислити адресу перед розгортанням контракту. Create2 - дуже потужний інструмент для розробників Ethereum, що дозволяє розширену та гнучку взаємодію з контрактами, підготовку адреси контракту на основі параметрів, позаканальні транзакції та гнучке розгортання та адаптацію конкретних розподілених застосувань.

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

Особливості цього нападу:

(1) Дозволяє передбачуване створення адрес контрактів, що дозволяє зловмисникам обдурити користувачів, надаючи дозволи перед розгортанням контракту.

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

Ось приклад рибалки за допомогою CREATE2:

https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14

У цій транзакції жертва переказала sfrxETH на адресу зловмисника (0x4D9f77), яка є новою контрактною адресою без жодних записів транзакцій.

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

https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52

Розглядаючи виконання цієї транзакції, ви можете побачити, що 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 був створений після виклику CREATE2.

Крім того, аналізуючи відповідні адреси PinkDrainer, можна виявити, що ця адреса щодня створює нові контрактні адреси для виманювання через CREATE2.

https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx

2. Риболовля як сервіс

Атаки фішингу стають все більш розповсюдженими, і через величезний незаконний прибуток почалася чорна ланцюжок промисловості на основі Drainer as a Service (DaaS). До найбільш активних відносяться Inferno/MS/Angel/Monkey/Venom/Pink/ Pussy/Medusa тощо, фішингові атакувальники придбають ці послуги DaaS, швидко і з низьким порогом, створюють тисячі сайтів фішингу, шахрайські облікові записи тощо, подібно до біди, що вторгається в цю галузь, загрожуючи безпеці активів користувачів.

Візьмемо на приклад Inferno Drainer, відому фішингову банду, яка вбудовує зловмисні скрипти на різних веб-сайтах. Наприклад, вони поширюють seaport.js, coinbase.js та wallet-connect.js, щоб приховатися під популярні функції протоколу Web3 (Seaport, WalletConnect і Coinbase) та спонукати користувачів інтегрувати або клікати. Після отримання підтвердження користувача вони автоматично перекладуть активи користувача на адресу атакувальника. Було виявлено понад 14 000 веб-сайтів, які містять зловмисні скрипти Seaport, понад 5 500 веб-сайтів, які містять зловмисні скрипти WalletConnect, понад 550 веб-сайтів, які містять зловмисні скрипти Coinbase, понад 16 000 зловмисних доменів, пов'язаних з Inferno Drainer, і більше 100 криптовалютних брендів постраждали. Нижче наведено фішинговий веб-сайт, пов'язаний з Inferno Drainer.

Секція заголовка веб-сайту містить два шкідливі скрипти, seaport.js і wallet-connect.js. Ще одна типова ознака фішингових веб-сайтів Inferno Drainer полягає в тому, що користувачі не можуть відкрити код веб-сайту, натиснувши праву кнопку миші, що робить ці фішингові веб-сайти більш прихованими.

У рамках фреймворку Phishing-as-a-Service, зазвичай 20% вкрадених активів автоматично переказуються на адресу організатора Inferno Drainer, а решта 80% залишаються у власності викрадача даних. Крім того, Inferno Drainer регулярно надає безкоштовні послуги з створення та розміщення фішингових веб-сайтів. Іноді фішингові послуги також потребують внесення плати в розмірі 30% від обманутих коштів. Ці фішингові веб-сайти призначені для тих, хто може привернути жертв до візиту, але не має можливості створити та розробити їх фішингові атакувальники, які мають технічні можливості для розміщення веб-сайту чи просто не хочуть виконувати це завдання самостійно.

Отже, як працює ця афера DaaS? Ось крок за кроком опис схеми криптозлочинної схеми Inferno Drainer:

(1) Inferno Drainer просуває свою послугу через канал Telegram під назвою Inferno Multichain Drainer, і іноді атакувальники також отримують доступ до послуги через веб-сайт Inferno Drainer.

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

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

(4) Дрейнер перевіряє найцінніші та легко перекладені активи потерпілого та ініціює зловмисні операції.

(5) Потерпілий підтвердив транзакцію.

(6) Активи переведені злочинцям. З украдених активів 20% було переведено розробникам Inferno Drainer, а 80% - рибальським атакам.

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

Кожен клієнт сервісу DaaS може налаштувати власні функції Drainer:

3. Рекомендації з безпеки

(1) По-перше, користувачі не повинні клікати на невідомі посилання, які маскуються як хороші новини, такі як винагороди, airdrops, тощо;

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

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

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

(5) Крім того, користувачам потрібно розуміти загальні методи атаки фішингом, згадані в цій статті, і вчитися активно визначати ознаки фішингу. Володійте загальними підписами, функціями авторизації та їх ризиками, володійте інтерактивною (URL взаємодії), Власником (адреса авторизатора), Витратником (адреса авторизованої сторони), Значенням (авторизована кількість), Нонсом (випадковий номер), Кінцевим терміном (час закінчення), переказ/переказ з (передача) та іншими вмістами полів.

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

  1. Ця стаття була роздрукована з [GateForesightnews]. Усі авторські права належать оригінальному авторові [SharkTeam]. Якщо є зауваження до цього перевидання, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно з цим впораються.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими автора й не становлять жодної інвестиційної поради.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонено.

Загальні методи рибальства та рекомендації з безпеки веб-3

Початківець5/29/2024, 7:37:00 AM
Атаки на фішинг Web3 - це поширена загроза для користувачів криптовалют. їх мета полягає в крадіжці їх криптовалютних активів, змушуючи користувачів авторизувати, підписувати або неналежно експлуатувати. У цій статті SharkTeam систематично аналізує сім поширених технік фішингу Web3, включаючи фішинг Permit з підписом поза ланцюжком, фішинг Permit2 з підписом поза ланцюжком, фішинг eth_sign з підписом на ланцюжку, фішинг personal_sign/signTypedData з підписом на ланцюжку, фішинг авторизації та фішинг забруднення адрес. А також методи фішингу, які використовують CREATE2 для обхіду виявлення безпеки. Стаття також вводить чорний ланцюжок індустрії Drainer as a Service (DaaS) та надає п'ять рекомендацій з безпеки, щоб допомогти користувачам визначати фішингові шахраїв та захищати безпеку своїх зашифрованих активів.

1. Аналіз поширених технік лову риби

1. Дозвіл на рибальство для підпису поза ланцюгом

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

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

Об'єкт підпису: DAI/USDC/WETH та інші токени ERC20 (ось DAI)

holder:// підпис адреса

spender:// адреса шахрая

nonce:0

закінчення:1988064000 // Час закінчення

дозволено:правда

Якщо підписано, атакувальник отримає підпис (період значень r, s, v), який використовується для крадіжки DAI/USDC/WETH та інших токенів ERC20 (тут DAI) від жертви. Коли атакувальник взаємодіє з функцією дозволу, потрібно використовувати).

(2) Зловмисник викликає функцію дозволу для завершення авторизації.


https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662

(3) Зловмисник викликає функцію transferFrom для передачі активів жертви та завершення атаки.

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

https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938

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

2. Дозвіл на підманювання підпису поза ланцюгом

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

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

Хоча Permit2 покращує користувацький досвід, його наступають фішингові атаки, спрямовані на підписи Permit2. Схоже на фішинг з Permit off-chain підписом, Permit2 також є фішингом з off-chain підписом. Ця атака головним чином поділяється на чотири кроки:

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


https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f

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

(3) Атакувальник викликає функцію дозволу контракту Permit2, щоб завершити авторизацію.

https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658

(4) Атакувальник викликає функцію transferFrom контракту Permit2, щоб передати активи жертви та завершити атаку.

https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486

Додаткова примітка: Зазвичай існує кілька адрес, на які атакувальники отримують активи. Зазвичай одним з отримувачів з найбільшою сумою є атакувальник, який реалізує виманювання даних, а інші - це чорні адреси, які надають послуги виманювання даних як сервіс (постачальники DaaS-послуг з виманювання даних). адреси, такі як PinkDrainer, InfernoDrainer, AngelDrainer, тощо).

3. eth_sign on-chain blind sign риболовство

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

MetaMask надасть попередження про ризик під час підписання eth_sign. Веб-гаманці, такі як imToken та OneKey, вимкнули цю функцію або надали попередження про ризик. Рекомендується, щоб усі виробники гаманців вимкнули цей метод, щоб запобігти атакам на користувачів через відсутність усвідомлення про безпеку або необхідну технічну акумуляцію.

4. персональна підпис/підписані дані на ланцюжку фішингу підпису

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

Крім того, якщо personal_sign та signTypedData використовуються як «сліпі підписи», як у вищезазначеному, користувач не може бачити чіткий текст, що ускладнює використання ними фішинговими бандами, що також збільшить ризик фішингу.

5. Авторизований рибальство

Шляхом штучної веб-сайту або вішання коня на офіційному веб-сайті проекту, зловмисники змушують користувачів підтверджувати операції, такі як setApprovalForAll, Approve, Increase Approval, та Increase Allowance, отримують дозвіл на операції з активами користувача та вчиняють крадіжку.

(1)setApprovalForAll

Беручи приклад зловмисного використання коней PREMINT, файл js(https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) на веб-сайт проекту був впроваджений зловісний код. Зловісний файл js (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) буде створено динамічно. Атака ініціюється цим зловмисним скриптом.

Тому що користувач не вчасно виявив ризик, він підтвердив операцію setApprovalForAll та ненавмисно витікла авторизація операції для активу, в результаті чого актив було вкрадено.

(2)Схвалити

Схоже до setApprovalForAll, користувач підтвердив операцію Approve, витікаючи авторизацію операції для активу, внаслідок чого актив був вкрадений.

Схвалити помилковий доступ:

https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa

Атакувальник передає активи через transferFrom:

https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8

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

(3) Збільшити затвердження

Збільшення Недопущення Несанкціонованого Допуску:

https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223

Атакувальник передає активи через transferFrom:

https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69

(4) Збільшити допомогу

Збільшення Дозволу Недопущення:

https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53

Атакувальник передає активи через transferFrom:

https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f

6. Адресне забруднення шахрайство

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

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

3 травня 2024 року 1155WBTC на суму понад 70 мільйонів доларів США було вилучено через метод рибальства за адресою забруднення.

Правильна адреса: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91

Зловісна адреса: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91

Звичайна транзакція:

https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac

Забруднення адрес:

https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73

Направлення транзакції не вірне:

https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570

7. Більш витончений шахрайство, використовуючи CREATE2 для обходу виявлення безпеки

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

Create2 - це опкод, який був введений під час оновлення Ethereum 'Constantinople' і дозволяє користувачам створювати смарт-контракти на Ethereum. Оригінальний опкод Create генерує нову адресу на основі адреси та nonce створювача. Create2 дозволяє користувачам обчислити адресу перед розгортанням контракту. Create2 - дуже потужний інструмент для розробників Ethereum, що дозволяє розширену та гнучку взаємодію з контрактами, підготовку адреси контракту на основі параметрів, позаканальні транзакції та гнучке розгортання та адаптацію конкретних розподілених застосувань.

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

Особливості цього нападу:

(1) Дозволяє передбачуване створення адрес контрактів, що дозволяє зловмисникам обдурити користувачів, надаючи дозволи перед розгортанням контракту.

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

Ось приклад рибалки за допомогою CREATE2:

https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14

У цій транзакції жертва переказала sfrxETH на адресу зловмисника (0x4D9f77), яка є новою контрактною адресою без жодних записів транзакцій.

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

https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52

Розглядаючи виконання цієї транзакції, ви можете побачити, що 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 був створений після виклику CREATE2.

Крім того, аналізуючи відповідні адреси PinkDrainer, можна виявити, що ця адреса щодня створює нові контрактні адреси для виманювання через CREATE2.

https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx

2. Риболовля як сервіс

Атаки фішингу стають все більш розповсюдженими, і через величезний незаконний прибуток почалася чорна ланцюжок промисловості на основі Drainer as a Service (DaaS). До найбільш активних відносяться Inferno/MS/Angel/Monkey/Venom/Pink/ Pussy/Medusa тощо, фішингові атакувальники придбають ці послуги DaaS, швидко і з низьким порогом, створюють тисячі сайтів фішингу, шахрайські облікові записи тощо, подібно до біди, що вторгається в цю галузь, загрожуючи безпеці активів користувачів.

Візьмемо на приклад Inferno Drainer, відому фішингову банду, яка вбудовує зловмисні скрипти на різних веб-сайтах. Наприклад, вони поширюють seaport.js, coinbase.js та wallet-connect.js, щоб приховатися під популярні функції протоколу Web3 (Seaport, WalletConnect і Coinbase) та спонукати користувачів інтегрувати або клікати. Після отримання підтвердження користувача вони автоматично перекладуть активи користувача на адресу атакувальника. Було виявлено понад 14 000 веб-сайтів, які містять зловмисні скрипти Seaport, понад 5 500 веб-сайтів, які містять зловмисні скрипти WalletConnect, понад 550 веб-сайтів, які містять зловмисні скрипти Coinbase, понад 16 000 зловмисних доменів, пов'язаних з Inferno Drainer, і більше 100 криптовалютних брендів постраждали. Нижче наведено фішинговий веб-сайт, пов'язаний з Inferno Drainer.

Секція заголовка веб-сайту містить два шкідливі скрипти, seaport.js і wallet-connect.js. Ще одна типова ознака фішингових веб-сайтів Inferno Drainer полягає в тому, що користувачі не можуть відкрити код веб-сайту, натиснувши праву кнопку миші, що робить ці фішингові веб-сайти більш прихованими.

У рамках фреймворку Phishing-as-a-Service, зазвичай 20% вкрадених активів автоматично переказуються на адресу організатора Inferno Drainer, а решта 80% залишаються у власності викрадача даних. Крім того, Inferno Drainer регулярно надає безкоштовні послуги з створення та розміщення фішингових веб-сайтів. Іноді фішингові послуги також потребують внесення плати в розмірі 30% від обманутих коштів. Ці фішингові веб-сайти призначені для тих, хто може привернути жертв до візиту, але не має можливості створити та розробити їх фішингові атакувальники, які мають технічні можливості для розміщення веб-сайту чи просто не хочуть виконувати це завдання самостійно.

Отже, як працює ця афера DaaS? Ось крок за кроком опис схеми криптозлочинної схеми Inferno Drainer:

(1) Inferno Drainer просуває свою послугу через канал Telegram під назвою Inferno Multichain Drainer, і іноді атакувальники також отримують доступ до послуги через веб-сайт Inferno Drainer.

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

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

(4) Дрейнер перевіряє найцінніші та легко перекладені активи потерпілого та ініціює зловмисні операції.

(5) Потерпілий підтвердив транзакцію.

(6) Активи переведені злочинцям. З украдених активів 20% було переведено розробникам Inferno Drainer, а 80% - рибальським атакам.

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

Кожен клієнт сервісу DaaS може налаштувати власні функції Drainer:

3. Рекомендації з безпеки

(1) По-перше, користувачі не повинні клікати на невідомі посилання, які маскуються як хороші новини, такі як винагороди, airdrops, тощо;

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

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

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

(5) Крім того, користувачам потрібно розуміти загальні методи атаки фішингом, згадані в цій статті, і вчитися активно визначати ознаки фішингу. Володійте загальними підписами, функціями авторизації та їх ризиками, володійте інтерактивною (URL взаємодії), Власником (адреса авторизатора), Витратником (адреса авторизованої сторони), Значенням (авторизована кількість), Нонсом (випадковий номер), Кінцевим терміном (час закінчення), переказ/переказ з (передача) та іншими вмістами полів.

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

  1. Ця стаття була роздрукована з [GateForesightnews]. Усі авторські права належать оригінальному авторові [SharkTeam]. Якщо є зауваження до цього перевидання, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно з цим впораються.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими автора й не становлять жодної інвестиційної поради.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонено.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!