Аналіз інциденту з повторним атакою на OrionProtocol
2 лютого 2023 року в Ethereum та Binance Smart Chain OrionProtocol зазнав повторної атаки через вразливість контракту, внаслідок чого було втрачено приблизно 2,9 мільйона доларів США. Зловмисники використали функцію зворотного виклику токену, створеного ними, повторно викликаючи функцію внесення під час транзакцій, що призвело до помилкового накопичення коштів перед їхнім виведенням.
Процес атаки
Зловмисник спочатку створив контракт кастомного токена та виконав необхідні операції з передачі та авторизації.
створений зловмисником токен
Під час процесу обміну, токен-контракт атакуючого використовує функцію transfer для виклику зворотного виклику, повторно викликаючи функцію ExchangeWithAtomic.depositAsset, що призводить до помилкового накопичення суми депозиту.
Врешті-решт, зловмисник виконує функцію withdraw для виведення надмірних коштів, завершуючи атаку.
! [Аналіз атаки повторного входу OrionProtocol з PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
Аналіз вразливостей
Уразливість переважно існує в контракті ExchangeWithAtomic у функціях doSwapThroughOrionPool та _doSwapTokens. Ключова проблема полягає в:
Контракт оновлює змінну curBalance лише після виконання переказу.
Не вдалося ефективно запобігти атакам повторного входу, що дозволяє виконувати функцію зворотного виклику під час процесу переказу.
Це призводить до того, що зловмисники можуть повторно викликати функцію depositAsset до оновлення curBalance, що викликає помилки в обліку коштів.
! [Аналіз атаки повторного входу 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(
! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
Вплив атаки
Втрати на ланцюзі Ethereum становлять 2,844,766 USDT
Втратили 191,606 BUSD на смарт-ланцюгу Binance
Загалом близько 2,9 мільйона доларів США
Напрямок фінансів
З 1,651 ETH, отриманих злочинцем, 657.5 залишаються на гаманці, решта була перенесена через певний сервіс змішування монет. Початкові кошти походять з гарячого гаманця певної торгової платформи.
Рекомендації з безпеки
Суворо дотримуйтесь моделі "Перевірки-Ефекти-Взаємодії" (Checks-Effects-Interactions) при написанні смарт-контрактів.
Реалізуйте повторний замок, щоб запобігти повторному виклику функції під час виконання.
Під час обміну токенів враховуйте різні можливі типи токенів і шляхи обміну, підготуйтеся до обробки виняткових ситуацій.
Регулярно проводити аудит безпеки смарт-контрактів, щоб своєчасно виявляти та усувати потенційні вразливості.
Ця подія ще раз нагадує командам проектів, що під час розробки смарт-контрактів, які пов'язані з фінансовими операціями, необхідно приділяти високу увагу безпеці, вживаючи всебічних заходів безпеки, щоб максимально знизити ризики контракту.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
20 лайків
Нагородити
20
8
Поділіться
Прокоментувати
0/400
AirdropHustler
· 07-18 17:53
Тсс, цей смартконтракт крихкий, як папір.
Переглянути оригіналвідповісти на0
MerkleDreamer
· 07-18 06:45
Знову вкрали? Не дивно.
Переглянути оригіналвідповісти на0
rekt_but_resilient
· 07-16 11:57
Знову знову знову отримано 290w
Переглянути оригіналвідповісти на0
LiquidationWatcher
· 07-15 21:48
Знову атака повторного входу, не навчились.
Переглянути оригіналвідповісти на0
ForkTongue
· 07-15 21:48
Надійні проекти всі зірвалися. Коли це закінчиться?
Переглянути оригіналвідповісти на0
OnchainFortuneTeller
· 07-15 21:44
Скільки років пройшло, а вразливість досі не виправлена?
OrionProtocol зазнав повторного атаки, збитки становлять 2,9 мільйона доларів, на ETH та BSC дві мережі постраждали.
Аналіз інциденту з повторним атакою на OrionProtocol
2 лютого 2023 року в Ethereum та Binance Smart Chain OrionProtocol зазнав повторної атаки через вразливість контракту, внаслідок чого було втрачено приблизно 2,9 мільйона доларів США. Зловмисники використали функцію зворотного виклику токену, створеного ними, повторно викликаючи функцію внесення під час транзакцій, що призвело до помилкового накопичення коштів перед їхнім виведенням.
Процес атаки
створений зловмисником токен
Під час процесу обміну, токен-контракт атакуючого використовує функцію transfer для виклику зворотного виклику, повторно викликаючи функцію ExchangeWithAtomic.depositAsset, що призводить до помилкового накопичення суми депозиту.
Врешті-решт, зловмисник виконує функцію withdraw для виведення надмірних коштів, завершуючи атаку.
! [Аналіз атаки повторного входу OrionProtocol з PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
Аналіз вразливостей
Уразливість переважно існує в контракті ExchangeWithAtomic у функціях doSwapThroughOrionPool та _doSwapTokens. Ключова проблема полягає в:
Це призводить до того, що зловмисники можуть повторно викликати функцію depositAsset до оновлення curBalance, що викликає помилки в обліку коштів.
! [Аналіз атаки повторного входу 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(
! [Аналіз атаки повторного входу OrionProtocol з PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
Вплив атаки
Напрямок фінансів
З 1,651 ETH, отриманих злочинцем, 657.5 залишаються на гаманці, решта була перенесена через певний сервіс змішування монет. Початкові кошти походять з гарячого гаманця певної торгової платформи.
Рекомендації з безпеки
Ця подія ще раз нагадує командам проектів, що під час розробки смарт-контрактів, які пов'язані з фінансовими операціями, необхідно приділяти високу увагу безпеці, вживаючи всебічних заходів безпеки, щоб максимально знизити ризики контракту.