Аналіз інциденту з атаками повторного входу протоколу Orion
2 лютого 2023 року в другій половині дня OrionProtocol на Ethereum та Binance Smart Chain зазнав атаки повторного входу через вразливість у контракті, внаслідок чого було втрачено приблизно 2,9 мільйона доларів. Зловмисники використали функцію зворотного виклику контракту власного токена, успішно обійшовши механізми безпеки біржі.
Процес атаки
Зловмисник спочатку створив спеціальний контракт токена.
Позичити кошти через децентралізовану біржу та викликати функцію обміну токенів OrionProtocol.
Під час обміну контракт токенів зловмисника викликав зворотний виклик, повторно викликав функцію депозиту, що призвело до помилки системи, яка неправильно накопичила суму депозиту.
! [Аналіз атаки повторного входу OrionProtocol з PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
Аналіз вразливостей
Основна проблема полягає в функції doSwapThroughOrionPool протоколу Orion. Ця функція оновлює баланс після здійснення переказу токенів, але не враховує можливий ризик повторного входу. Зловмисник, створюючи підроблені токени з функцією зворотного виклику, може неодноразово викликати функцію depositAsset під час процесу переказу, що призводить до помилок у обчисленні балансу.
! [Аналіз атаки повторного входу OriionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(
! [Аналіз атаки повторного входу 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(
! [Аналіз атаки повторного входу 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(
Рух коштів
З 1651 ETH, отриманих від атаки, 657,5 залишаються в гаманці атаки, інші були переміщені через послуги змішування. Початкові кошти походять з гарячого гаманця однієї великої торгової платформи.
! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
Рекомендації з безпеки
Дотримуйтесь моделі "Перевірки-Ефекти-Взаємодії" (Checks-Effects-Interactions) при написанні смарт-контрактів.
Щодо функцій обміну токенів, необхідно всебічно враховувати потенційні ризики безпеки, пов'язані з різними типами токенів та шляхами обміну.
Впровадження більш суворого механізму оновлення балансу для запобігання атакам повторного входу.
Регулярно проводити аудити безпеки сторонніми організаціями, щоб своєчасно виявляти та усувати потенційні вразливості.
Ця подія ще раз нагадує нам, що безпека смарт-контрактів є надзвичайно важливою в складній екосистемі DeFi. Проектам потрібно постійно вдосконалювати заходи безпеки, щоб протистояти все більш складним методам атаки.
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.
OrionProtocol зазнав атаки повторного входу, втрати 2,9 мільйона доларів. Безпека смартконтрактів знову б’є на сполох.
Аналіз інциденту з атаками повторного входу протоколу Orion
2 лютого 2023 року в другій половині дня OrionProtocol на Ethereum та Binance Smart Chain зазнав атаки повторного входу через вразливість у контракті, внаслідок чого було втрачено приблизно 2,9 мільйона доларів. Зловмисники використали функцію зворотного виклику контракту власного токена, успішно обійшовши механізми безпеки біржі.
Процес атаки
Зловмисник спочатку створив спеціальний контракт токена.
Позичити кошти через децентралізовану біржу та викликати функцію обміну токенів OrionProtocol.
Під час обміну контракт токенів зловмисника викликав зворотний виклик, повторно викликав функцію депозиту, що призвело до помилки системи, яка неправильно накопичила суму депозиту.
Нарешті, зловмисник вилучає надмірні кошти, завершуючи атаку.
! [Аналіз атаки повторного входу OrionProtocol з PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
Аналіз вразливостей
Основна проблема полягає в функції doSwapThroughOrionPool протоколу Orion. Ця функція оновлює баланс після здійснення переказу токенів, але не враховує можливий ризик повторного входу. Зловмисник, створюючи підроблені токени з функцією зворотного виклику, може неодноразово викликати функцію depositAsset під час процесу переказу, що призводить до помилок у обчисленні балансу.
! [Аналіз атаки повторного входу OriionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(
! [Аналіз атаки повторного входу 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(
! [Аналіз атаки повторного входу 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(
Рух коштів
З 1651 ETH, отриманих від атаки, 657,5 залишаються в гаманці атаки, інші були переміщені через послуги змішування. Початкові кошти походять з гарячого гаманця однієї великої торгової платформи.
! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
Рекомендації з безпеки
Дотримуйтесь моделі "Перевірки-Ефекти-Взаємодії" (Checks-Effects-Interactions) при написанні смарт-контрактів.
Щодо функцій обміну токенів, необхідно всебічно враховувати потенційні ризики безпеки, пов'язані з різними типами токенів та шляхами обміну.
Впровадження більш суворого механізму оновлення балансу для запобігання атакам повторного входу.
Регулярно проводити аудити безпеки сторонніми організаціями, щоб своєчасно виявляти та усувати потенційні вразливості.
Ця подія ще раз нагадує нам, що безпека смарт-контрактів є надзвичайно важливою в складній екосистемі DeFi. Проектам потрібно постійно вдосконалювати заходи безпеки, щоб протистояти все більш складним методам атаки.