OrionProtocol подвергся атаке повторного входа, убыток составил 2,9 миллиона долларов, затронуты ETH и BSC.

robot
Генерация тезисов в процессе

Анализ инцидента с атакой повторного входа на OrionProtocol

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

Процесс атаки

  1. Злоумышленник сначала создал кастомный токен-контракт и выполнил необходимые операции по передаче и авторизации.

токен, созданный нападающим

  1. В процессе обмена токен-контракт атакующего использует функцию transfer для вызова обратного вызова, повторно вызывая функцию ExchangeWithAtomic.depositAsset, что приводит к неправильному накоплению суммы депозита.

  2. В конце концов, злоумышленник извлекает избыточные средства через функцию withdraw, завершая атаку.

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

Анализ уязвимостей

Уязвимость в основном заключается в функциях doSwapThroughOrionPool и _doSwapTokens контракта ExchangeWithAtomic. Ключевая проблема заключается в следующем:

  1. Переменная curBalance обновляется только после выполнения контракта по переводу.
  2. Не удалось эффективно предотвратить атаку повторного входа, что позволяет выполнять обратные функции во время перевода.

Это позволяет злоумышленникам многократно вызывать функцию depositAsset до обновления curBalance, что приводит к ошибкам в расчете средств.

! [Анализ атак на повторный вход OrionProtocol с 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/webp-social/moments-7c4bde9d6a35da4304844a3bbb934fae.webp(

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

Влияние атаки

  • Потеряно 2,844,766 USDT на блокчейне Ethereum
  • Binance Smart Chain потерял 191 606 BUSD
  • Всего около 2,9 миллиона долларов США

Направление движения средств

Из 1 651 ETH, полученных злоумышленниками, 657,5 остались на кошельке, а остальные были переведены через службу смешивания. Первоначальные средства поступили с горячего кошелька одной из торговых платформ.

Рекомендации по безопасности

  1. Строго следуйте модели "Проверки-Эффекты-Взаимодействия" (Checks-Effects-Interactions) при написании смарт-контрактов.
  2. Реализовать повторный замок, чтобы предотвратить повторный вызов функции в процессе выполнения.
  3. При проведении обмена токенов учитывайте различные возможные типы токенов и пути обмена, а также подготовьтесь к обработке исключительных ситуаций.
  4. Периодически проводить аудит безопасности смарт-контрактов, чтобы своевременно выявлять и исправлять потенциальные уязвимости.

Этот инцидент вновь напоминает командам проектов, что при разработке смарт-контрактов, связанных с финансовыми операциями, необходимо уделять особое внимание безопасности, принимать комплексные защитные меры и минимизировать риски контракта.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 8
  • Поделиться
комментарий
0/400
AirdropHustlervip
· 07-18 17:53
Ца Ца, этот смарт-контракт хрупок, как бумага.
Посмотреть ОригиналОтветить0
MerkleDreamervip
· 07-18 06:45
Снова украли? Не удивительно.
Посмотреть ОригиналОтветить0
rekt_but_resilientvip
· 07-16 11:57
Снова снова снова сняли 290w
Посмотреть ОригиналОтветить0
LiquidationWatchervip
· 07-15 21:48
Снова атака повторного входа, не учишься, да?
Посмотреть ОригиналОтветить0
ForkTonguevip
· 07-15 21:48
Надежные проекты все взорвались. Когда это закончится?
Посмотреть ОригиналОтветить0
OnchainFortuneTellervip
· 07-15 21:44
Столько лет прошло, а уязвимость так и не исправлена?
Посмотреть ОригиналОтветить0
AirdropChaservip
· 07-15 21:38
Снова ловушка для неудачников.
Посмотреть ОригиналОтветить0
MentalWealthHarvestervip
· 07-15 21:22
Эх, опять что-то случилось??
Посмотреть ОригиналОтветить0
  • Закрепить