Исследователи криптобезопасности из Neodyme поделились дизайном атаки, которая может быть прибыльной за счёт токенов, интегрированных в экосистему Solana (SOL).
Как выяснилось, специалисты заметили ошибку в контракте о предоставлении токенов в библиотеке программ Solana. Сообщается, что она повлияла на многие протоколы defi на основе Solana.
Недавно мы обнаружили критическую ошибку в контракте о предоставлении токенов библиотеки программ-программ (SPL). В этом сообщении блога подробно рассказывается о нашем исследовании от открытия до эксплуатации и исправления.
We recently discovered a critical bug in the token-lending contract of the solana-program-library (SPL). This blog post details our journey from discovery, through exploitation and coordinated disclosure, and finally the fix.
— Neodyme (@Neodyme) December 3, 2021
Агрегированная общая заблокированная стоимость (TVL), подверженная риску, составила более $2,6 млрд. Схема гипотетической атаки была довольно простой: при внесении n дробных токенов пользователь может вывести n + 1 дробных токенов.
Применительно к собственному токену Solana SOL это экономически неэффективно, поскольку 1 Lamport (наименьшая часть SOL, такая как сатоши для биткоина, Wei для эфира и Drop для xrp) стоит всего $0,000000220.
Однако в случае с эфиром и биткоином этот сценарий может быть очень прибыльным. С некоторыми техническими доработками атака может выполняться примерно 300 раз в секунду. В результате потери могут быть колоссальными:
Мы можем включить эту транзакцию примерно 300 раз в секунду, воруя $7500 в секунду или около $27 млн в час (то есть один Lamborghini Huracan каждую минуту).
В автоматическом режиме эта атака становится прибыльной даже с использованием токенов FTT и RAY.
2-4 декабря представители Neodyme связались с рядом протоколов децентрализованного финансирования (DeFis) на Solana, в том числе Larix, Solend, Tulip, Accumen, Soda и т.д.
Все команды исправили ошибки в своей архитектуре. В итоге инженер-программист Джордан Одет-Секстон написал на GitHub, что проблема исправлена и в основной кодовой базе Solana.