OrionProtocol зазнав атаки повторного входу, втрати 2,9 мільйона доларів

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

Аналіз інциденту з повторним входом OrionProtocol

2 лютого 2023 року в обід, контракти OrionProtocol на Ethereum та Binance Smart Chain зазнали реентеративної атаки через наявність вразливостей, внаслідок чого було втрачено близько 2,9 мільйона доларів, зокрема 2,844,766 USDT на Ethereum-ланцюзі та 191,606 BUSD на BSC-ланцюзі.

! [Аналіз атаки повторного входу OrionProtocol з PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201

Аналіз процесу атаки

Атакуюча сторона спочатку створила спеціальний контракт Token і провела ряд підготовчих робіт. Потім атакуюча сторона скористалася функцією swap певного DEX для отримання позики та викликала метод swapThroughOrionPool протоколу Orion для обміну токенів. Шлях обміну містить адресу контракту Token, створеного атакуючою стороною, що закладає основу для подальшої атаки через зворотний виклик.

! [Аналіз атаки повторного входу OriionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(

Під час обміну контракт токена зловмисника викликав зворотний виклик через функцію Transfer, повторно викликаючи функцію depositAsset OrionProtocol, що призвело до постійного накопичення суми депозиту. Врешті-решт, зловмисник завершив отримання прибутку через операцію виведення.

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-7e21c34158a85d4c387fcdbec136d31b.webp(

Рух коштів

Початкові кошти зловмисника походять з гарячого гаманця певної торгової платформи. З 1 651 ETH прибутку, 657,5 ETH все ще залишаються на гаманці зловмисника, решта була переведена через службу змішування.

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-24819b5154419e86ea523a25a9101f67.webp(

Аналіз вразливостей

Ядро вразливості полягає в реалізації функцій doSwapThroughOrionPool та _doSwapTokens. Контракт оновлює змінну curBalance після операції переказу, що створює умови для атаки повторного входу. Зловмисник, додавши логіку зворотного виклику у функцію transfer власного токена, призводить до помилкового оновлення curBalance, що в кінцевому підсумку дозволяє зловмиснику вилучити додаткові кошти після погашення миттєвого кредиту.

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/social/moments-7c4bde9d6a35da4304844a3bb934fae(

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-7239f8886fe83c1da8b1b42545185811.webp(

Відтворення атаки

Дослідники надали частину POC коду, що імітує процес атаки. Результати тестування показали, що зловмисник успішно скористався вразливістю для отримання додаткових USDT.

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-e5042932f0e1b7fa96e3f6e749231957.webp(

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-4bd31735de09c63c490488e887118038.webp(

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-cd401091e63ab21864f39cd650014b97.webp(

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-e010d0f0c02fb8bbc648f755b0ac464c.webp(

! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(

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

  1. При проектуванні контракту слід враховувати непередбачувані ситуації, які можуть виникнути через різні токени та шляхи обміну.
  2. Дотримуйтесь кодової специфікації "спочатку перевірте, потім запишіть у змінну, а потім здійсніть зовнішні виклики" (модель Checks-Effects-Interactions).
  3. Посилити обмеження та перевірки зовнішніх викликів, особливо щодо операцій з переміщенням коштів.
  4. Регулярно проводити аудит безпеки, своєчасно виявляти та виправляти потенційні вразливості.
  5. Впровадження додаткових заходів безпеки, таких як мультипідпис, для запобігання єдиній точці збоїв.

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

TOKEN-6.76%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
SellLowExpertvip
· 1год тому
Знову повторне входження. Ця монета вже давно мала б звалитися.
Переглянути оригіналвідповісти на0
WalletWhisperervip
· 07-31 16:43
Ще один проект, який потрапив у скрутне становище
Переглянути оригіналвідповісти на0
SatoshiHeirvip
· 07-30 13:22
Потрібно зазначити, що ризик повторного входу смартконтрактів був вказаний на першій сторінці підручника Solidity, здається, ще одна команда проекту не зробила домашнього завдання...
Переглянути оригіналвідповісти на0
SnapshotDayLaborervip
· 07-30 13:22
обдурювати людей, як лохів吧割吧~
Переглянути оригіналвідповісти на0
ChainComedianvip
· 07-30 12:59
Знову 290w, Обман для дурнів, швидше біжіть
Переглянути оригіналвідповісти на0
ChainSauceMastervip
· 07-30 12:58
Добре, знову підкрався Кліпові купони
Переглянути оригіналвідповісти на0
  • Закріпити