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

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

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

2 лютого 2023 року OrionProtocol зазнав повторного нападу через вразливість контракту на Ethereum та Binance Smart Chain, внаслідок чого загальні збитки склали приблизно 2,9 мільйона доларів США. Зловмисники використали власний токен-контракт для виконання зворотного виклику, успішно обійшовши механізми безпеки контракту.

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

Зловмисник спочатку створив користувацький токен-контракт і провів низку підготовчих робіт. Потім зловмисник взяв позичку через метод swap певної DEX і викликав метод swapThroughOrionPool OrionProtocol для обміну токенів. Шлях обміну містив адресу токен-контракту, створеного зловмисником.

У процесі обміну зловмисник використовує метод transfer самоствореного токена для виклику зворотного виклику, повторно викликаючи метод depositAsset OrionProtocol. Це призводить до повторного обчислення суми депозиту, що дозволяє зловмиснику вивести кошти, що перевищують фактичну суму, що була внесена.

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

Напрямок руху капіталу

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

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

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

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

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

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

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

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

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

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

! [Аналіз атаки повторного входу 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(

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

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

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

TOKEN4.48%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 3
  • Репост
  • Поділіться
Прокоментувати
0/400
ZeroRushCaptainvip
· 13год тому
Ще одна картка для зняття грошей навчила мене відступати з поля бою
Переглянути оригіналвідповісти на0
AirdropChaservip
· 13год тому
Ще один?
Переглянути оригіналвідповісти на0
ForkLibertarianvip
· 14год тому
Якщо тебе обшарпують, то так і треба, хто ж тебе так зарозуміло виводить.
Переглянути оригіналвідповісти на0
  • Закріпити