06.12.2024

Найдены критические уязвимости 34 200 смарт-контрактов в блокчейне Ethereum

В ноябре прошлого года проблема в коде ethereum-кошелька Parity привела к тому, что более $100 млн. в принадлежащем различным пользователям в эфире оказались «замороженными», когда разработчик под ником «devopps199» обнаружил уязвимость в смарт-конракте, на котором работал второй по популярности эфириум-клиент, и по случайности ее активировал.

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

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

Однако это не самое интересное. Исследователи заявляют, что обнаружили еще 34 200 уязвимых смарт-контрактов в сети эфириума. Команда подтвердила, что всего на всего 10% из них приходится порядка $6 млн. средств в эфире, которые потенциально могли бы достаться злоумышленникам.

Авторы исследования на прошлой неделе опубликовали подробный отчет, который сейчас изучают специалисты.

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

Проанализировав около миллиона действующих смарт-контрактов, исследователи обнаружили 34 200 содержащих критическую уязвимость (включая и многострадальный Parity). Проведя опыт на примерно 3000 контрактов из выборки, они смогли задействовать уязвимости почти на 90% из них.

Исследователи также пытались отследить авторов проблемных контрактов, но не смогли. К тому же, не факт, что разработчики бы стали прислушиваться — авторы Parity, как позже выяснилось, знали о проблеме, но не стали исправлять ее вовремя.

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

Добавить комментарий