SharkTeam: Анализ атаки KyberSwap

23 ноября 2023 года KyberSwap был взломан в нескольких сетях, таких как Ethereum и Arbitrum, из-за манипуляций с тиками и двойного учета ликвидности, и злоумышленники получили прибыль в размере около 48 миллионов долларов.

SharkTeam:KyberSwap攻击事件原理分析

SharkTeam впервые провела технический анализ этого инцидента и обобщила меры безопасности, надеясь, что последующие проекты смогут воспринять это как предупреждение и совместно построить линию защиты для блокчейн-индустрии.

I. Анализ транзакций атак

Эта атака более сложная, а реализация атаки более гениальная, поэтому мы выбираем одну из транзакций атаки для детального анализа и объяснения.

Атака Трейдинг:

0x09a3a12d58b0bb80e33e3fb8e282728551dc430c65d1e520fe0009ec519d75e8

Адрес злоумышленника:

0x50275E0B7261559cE1644014d4b78D4AA63BE836

Контракт с нападающим:

0xaF2Acf3D4ab78e4c702256D214a3189A874CDC13

В этой транзакции злоумышленник выполнил ряд операций с 3 различными пулами ликвидности для слива пулов. Мы выбрали пул для анализа потока атак, которые существовали независимо друг от друга.

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

  1. Сначала злоумышленник заимствовал 10 000 wstETH через флэш-кредит, затем добавил около 2 998 wstETH в пул и обменял около 2 842 WETH.

SharkTeam:KyberSwap攻击事件原理分析

  1. В это время соответствующий тиковый статус в пуле составляет -110, 910, а цена wstETH меняется с 1.05 ETH на 0.000015257. В это время ликвидность пула равна 0, что открывает путь для создания ложной ликвидности;

SharkTeam:KyberSwap攻击事件原理分析

  1. Злоумышленник добавляет 3.4 wstETH ликвидности и удаляет 0.56 wstETH в диапазоне [0.000014659 , 0.000015260].

SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:KyberSwap攻击事件原理分析

  1. Далее злоумышленник совершает два свопа: WETH->wstETH, wstETH-> WETH. После первого свопа цена опустилась до 0,000014657, что немного ниже 0,000014659. После второго свопа поднимаем цену до 0,000016368;

SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:KyberSwap攻击事件原理分析

  1. В начале в пуле было около 3 wstETH ликвидности (mint 3.4 wstETH - burn 0.56 wstETH), а сейчас в пуле около (1,056 + 3,911), что явно больше;

  2. После атаки возвращается флэш-займ, а средства переводятся с контракта атаки

SharkTeam:KyberSwap攻击事件原理分析

2. Анализ причины уязвимости

Основная причина этой атаки: в функции computeSwapStep происходит потеря точности при вычислении тиков. Поскольку тиком можно манипулировать, он успешно обходит функцию _updateLiquidityAndCrossTick, позволяя многократно увеличивать ликвидность.

  1. В первом свопе злоумышленник использует функцию calcReachAmount для вычисления количества wstETH, и в итоге вычисляет 1, 056.056735638220800000;

SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:KyberSwap攻击事件原理分析

  1. После вызова функций estimateIncrementalLiquidity и calcFinalPrice передается число 1, 056.056735638220799999. После округления в большую и меньшую сторону тик равен -111311, а нижний тик -111310. Таким образом, используя nextTick = currentTick+ 1 и используя “!=” для оценки двух параметров sqrtP, функция _updateLiquidityAndCrossTick успешно обходится, и обновление ликвидности избегается.

SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:KyberSwap攻击事件原理分析 SharkTeam:KyberSwap攻击事件原理分析

  1. На втором свопе был коллирован _updateLiquidityAndCrossTick, что повысило ликвидность. Из-за потери точности в расчете количества при первом свопе ликвидность не обновляется и удаляется, в результате чего возникает двойная ситуация, когда ликвидность рассчитывается во второй раз.

SharkTeam:KyberSwap攻击事件原理分析

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

В ответ на эту атаку разработчики должны принять следующие меры безопасности в своей повседневной разработке:

  1. Обращайте внимание на правильный расчет инвариантов и математическую логику в бизнесе, чтобы избежать потери точности.

  2. Перед выпуском проекта необходимо сотрудничать со сторонней профессиональной аудиторской командой для проведения аудита контракта.

О нас

Видение SharkTeam заключается в том, чтобы обезопасить мир Web3. Команда состоит из опытных специалистов по безопасности и старших исследователей со всего мира, которые хорошо разбираются в базовой теории блокчейна и смарт-контрактов. Он предоставляет услуги, включая ончейн-анализ больших данных, ончейн-предупреждение о рисках, аудит смарт-контрактов, восстановление криптоактивов и т. д., и создал ChainAegis, ончейн-платформу для анализа больших данных и раннего предупреждения рисков, которая поддерживает неограниченные уровни углубленного анализа графов и может эффективно бороться с риском Advanced Persistent Threat (APT) в мире Web3. Она установила долгосрочные отношения сотрудничества с ключевыми игроками в различных областях экосистемы Web3, такими как Polkadot, Moonbeam, polygon, Sui, OKX, imToken, ChainIDE и т. д.

Официальный сайт:

Щебетать:

Разногласие:

Телеграмма:

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить