• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья LI.FI : уязвимость кроссчейн-моста? Нет, это из-за непроверенного внешнего вызова!

вавилонец

CPU register
Пользователь
Регистрация
17.06.2021
Сообщения
1 116
Реакции
1 265
Оригинальная статья
Переведено специяльно для xss.pro
Камнями кидать в Jolah Milovski

Согласно отчету проект Даниэля фон Фанге LI.FI подвергся атаке 20 марта 2022 года. Поскольку подробный технический анализ этой уязвимости отсутствует, далее мы анализируем атаку. Мы обнаружили, что основной причиной этой атаки является непроверенный внешний вызов .

Транзакция атаки​

Мы начали с транзакции атаки, чтобы проиллюстрировать процесс атаки. На следующем снимке экрана показан результат работы нашей системы визуализации транзакций .
1659079525050.png


Как показано на рисунке выше, весь процесс атаки довольно прост, в нем не используются вредоносные смарт-контракты и не задействован флэш-кредит. Единственный шаг, который выполнил злоумышленник, — это вызов swapAndStartBridgeTokensViaCBridge(0x01c0a31a)
CBridgeFacet контракт , который передает различные токены (например, USDC, MATIC, RPL, GNO, USDT, MVI, AUDIO, AAVE, JRT и DAI) к EOA , контролируемому злоумышленником.

Анализ кода​

Углубимся в код логику контракта.

1659079798666.png


1659079827243.png


Согласно приведенному выше коду, swapAndStartBridgeTokensViaCBridge является входом межцепочечной передачи в исходной цепочке.

1659079876498.png


Проект LIFI утверждает, что он может найти "лучший маршрут" для пользователей, названный Smart Routing, который происходит вне цепочки. В частности, внешний сайт рассчитывает оптимальный маршрут и кодирует параметры (включая своп-контракт и путь маршрутизации) в параметры функции swapAndStartBridgeTokensViaCBridge.
Очевидно, что проект LIFI не учитывает, что функция может быть вызвана любыми аккаунтами на блокчейне, поскольку функция не выполняет никаких проверок параметров, таких как белый список и проскальзывание свопа. Наиболее серьезной частью является то, что контракт CBridgeFacet требует от пользователей одобрения токенов, что подвергает риску деньги пользователей.

По итогу

Злоумышленник крадет деньги пользователей LIFI, которые одобрили свои токены для контракта CBridgeFacet, вызывая функцию swapAnStartBridgeTokensViaCBridge, которая затем вызывает функции transferFrom различных токенов. Статистика потерь приведена в таблице ниже. Общие потери составляют около $596K, что практически совпадает со статистикой проекта LIFI.

1659080034673.png


ВЫвод​

Этот LIFI является агрегатором кроссчейн-моста, а контракт жертвы является входом в межсетевой перевод. Уязвимость не связана со сложной логикой межсетевого взаимодействия, которая была показана в предыдущих инцидентах безопасности в межцепочном мосту. Вместо этого основной причиной этой атаки является непроверенный внешний вызов, который является одной из 10 самых распространенных проблем в надежности.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх