Пожалуйста, обратите внимание, что пользователь заблокирован
Not your Type! Detecting Storage Collision Vulnerabilities in Ethereum Smart Contracts
Описание
В последние годы блокчейн Ethereum пережил значительный рост и распространение. Одним из ключевых факторов его успеха является возможность запуска неизменяемых программ, известных как смарт-контракты. Смарт-контракты позволяют автоматически манипулировать цифровыми активами и играют центральную роль в новой экосистеме децентрализованных финансов (DeFi). С ростом DeFi взаимодействие между смарт-контрактами становится все более сложным, что позволяет использовать передовые финансовые протоколы и приложения. Однако ошибки во взаимодействии смарт-контрактов также являются частой причиной критических уязвимостей, которые приводят к значительным финансовым потерям.
В этой статье мы изучаем и обнаруживаем тип межконтрактной уязвимости, известный как коллизия хранилища. Смарт-контракт использует хранилище для постоянного хранения своих данных в блокчейне. Обычно каждый контракт имеет свое отдельное хранилище. Однако также возможно, что два смарт-контракта совместно используют свое хранилище (с помощью вызова делегата). К сожалению, когда эти два контракта по-разному понимают типы/семантику своего общего хранилища, может возникнуть уязвимость коллизии хранилища. Это может привести к неожиданному поведению, например отказу в обслуживании (заморозке средств), повышению привилегий и краже финансовых активов.
Чтобы обнаружить и исследовать влияние уязвимостей, связанных с коллизией хранилищ, мы предлагаем CRUSH, новую систему анализа, которая обнаруживает эти недостатки и синтезирует эксплойты для проверки концепции. Мы используем CRUSH для проведения крупномасштабного анализа 14 237 696 смарт-контрактов, развернутых в блокчейне Ethereum с момента его создания. CRUSH идентифицирует 14 891 потенциально уязвимый контракт и автоматически синтезирует сквозной эксплойт для 956 из них. Наша система обнаруживает новый, ранее не сообщавшийся потенциальный финансовый ущерб на сумму более 6 миллионов долларов США, вызванный уязвимостями, связанными с коллизией систем хранения данных.
Подробне в документе