Бесплатно Экспресс-аудит сайта:

14.11.2020

Уязвимости в смарт-контрактах Ethereum могут привести к потере миллионов долларов

Специалисты портала CyberNews.com проанализировали смарт-контракты Ethereum (по сути код, помогающий online-сервисам отправлять и получать платежи) и обнаружили, что почти 3,8 тыс. смарт-контрактов подвержены серьезным уязвимостям, позволяющим хакерам быстро украсть $1 млн.

В ходе исследования специалисты просканировали блоки в блокчейне Ethereum за 6 месяцев и выявили в 3779 из них 13 уязвимостей различных типов, в том числе четыре уязвимости высокой опасности. Общая стоимость уязвимых смарт-контрактов составила 2088 ETH (около $964,2 тыс.).

Одна из четырех высокоопасных уязвимостей – уязвимость целочисленного переполнения (integer underflow). С ее помощью злоумышленник без средств на счету может отправить один токен и получить в ответ миллиарды токенов. Вторая уязвимость целочисленного переполнения заключается в том, что когда баланс достигает максимального значения и атакующий получает один токен, все начинается заново.

Третья уязвимость – незащищенное снятие «эфиров». Из-за ненадлежащего механизма контроля доступа, кто угодно может снять средства с контракта.

Четвертая уязвимость – незащищенное самоуничтожение, позволяющее постороннему атакующему «убить» контракт и отправить средства на любой адрес. Если не вдаваться в технические подробности, вышеописанные уязвимости позволяют манипулировать кодом и похитить максимально возможные суммы за короткий период времени.

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

К счастью для пользователей, можно легко проверить, используют ли платформы, с которыми они работают, уязвимые смарт-контракты. Для того чтобы узнать, были ли смарт-контракты проверены и подтверждены, нужно воспользоваться Etherscan или другим подобным проводником. Если смарт-контракты не были проверены и подтверждены, от использования такой платформы лучше отказаться.