По словам следователей, для этой атаки злоумышленники объединили уязвимости и различные легитимные возможности блокчейн-технологий, в итоге осуществив сложную reentrancy-атаку (атака повторного входа или рекурсивный вызов). Такие атаки позволяют хакерам выводить средства в цикле, пока их исходная транзакция не будет одобрена или отклонена.
Сообщается, что Uniswap и Lendf.me имели много общего. В частности, обе платформы использовали:
протокол Lendf.me— протокол децентрализованного финансирования (decentralized finance, DeFi), разработанный dForce Foundation для поддержки кредитных операций на платформе Ethereum;
imBTC— токен The Tokenized Bitcoin, который работает на платформе Ethereum и привязан к Bitcoin и его стоимости в соотношении 1:1;
ERC-777— одна из базовых технологий блокчейна Ethereum, предназначенная для поддержки смарт-контрактов (и Lendf.me, и imBTC работают как смарт-контракты на платформе Ethereum).
«Как известно, стандарт ERC-777 не имеет уязвимостей, однако комбинация использования ERC777 и контрактов Uniswap/Lendf.Me делает возможными reentrancy-атаки», — пишут эксперты разработчики Tokenlon, компании, стоящей за разработкой imBTC.
В компании считают, что хакеры использовали публично доступный эксплоит, опубликованный на GitHub в июле 2019 года компанией OpenZeppelin, которая проводит аудит безопасности для криптовалютных платформ - https://github.com/ConsenSys/Uniswap-audit-report-2018-12#31-liquidity-pool-can-be-stolen-in-some-tokens-eg-erc-777-29.
По предварительным оценкам, на данный момент Uniswap лишилась от 300 000 до 1 100 000 долларов США, тогда как у Lendf.me было похищено более 24 500 000 долларов США, то есть практически все активы платформы. Хакеры использовали атаку повторного входа, чтобы перевести средства с каждой платформы на свой кошелек, а затем сразу же вывели украденное на другие счета.
Оба сайта временно не работают для предотвращения дальнейших атак. Разработчики Tokenlon тоже приостановили действие imBTC и блокируют любые новые транзакции, чтобы не позволить хакерам развить активность и атаковать другие платформы.
Источник - xakep.ru