Криптохакеры за последние шесть месяцев вывели примерно $36,7 млн из четырех протоколов DeFi — и каждый из эксплуатируемых контрактов имел исходный код, который никогда не был публично верифицирован в обозревателях блокчейна. Крупнейший инцидент — взлом на $26 млн базирующегося на Ethereum протокола Truebit в январе — был осуществлён через целочисленное переполнение в коде, написанном на версии Solidity 2018 года. Теперь Chainalysis предупреждает, что этот вектор атаки становится всё опаснее, поскольку дешёвые инструменты ИИ облегчают злоумышленникам анализ непроверенного байт-кода.
Эксплойт Truebit на $26 млн
Контракт Truebit находился в сети Ethereum с 2021 года — непроверенный и неаудированный. Атакующие взломали его, обнаружив уязвимость целочисленного переполнения в кривой связывания (bonding curve). Код был написан на Solidity v0.5.3, в которой отсутствуют автоматические защиты от переполнения. Эта версия устарела много лет назад, но контракт так и не обновили и не провели его аудит. Программы баг-баунти часто исключают непроверенные контракты, поэтому эта уязвимость оставалась незатронутой годами.
Старый код Solidity без проверки
Все четыре взломанных контракта — Truebit, Trusted Volumes, Aperture Finance и Ekubo — объединяло одно: никто никогда не верифицировал их исходный код на Etherscan или подобных инструментах. Без верификации фактическая логика, выполняемая в блокчейне, остаётся непрозрачной. Атакующим не нужен исходный код; они могут загрузить развёрнутый байт-код и декомпилировать его с помощью таких инструментов, как Dedaub, Heimdall или Panoramix. Затем они применяют системы ИИ для поиска реентерабельности, арифметических ошибок и уязвимостей управления доступом. Именно это произошло во всех четырёх инцидентах, которые также включали ошибки проверки входных данных и сбои проверки подлинности.
Атакующие переходят на ИИ и анализ байт-кода
Сумма в $36,7 млн невелика по сравнению с общим объёмом краж в DeFi — Chainalysis оценивает общие потери за тот же период более чем в $1 млрд. Но метод вызывает беспокойство у фирмы. Инструменты автоматизированного анализа становятся всё дешевле и доступнее для злоумышленников. Chainalysis предупреждает, что риск, связанный с непроверенными контрактами, может возрасти, поскольку всё больше хакеров переходят от аудита исходного кода к сканированию байт-кода с помощью ИИ.
Chainalysis: верификация должна стать стандартом
Фирма рекомендует сделать верификацию исходного кода обязательным требованием для любого контракта, который хранит средства пользователей. Аудиты и программы баг-баунти также должны охватывать контракты реализации, стоящие за прокси-структурами, а не только сам прокси. Без этого такие контракты, как у Truebit, могут оставаться незащищёнными годами. Вопрос, который теперь стоит перед индустрией: сколько ещё непроверенных контрактов хранят деньги пользователей и ждут, пока их декомпилируют?




