
Новый инструмент раскрывает более 11,2 млрд. Долл. США риска в умных контрактах Ethereum
15 июля 2025 г.Авторы:
(1) Tianle Sun, Университет науки и техники Хуажонга;
(2) Ningyu HE, Peking University;
(3) Цзян Сяо, Университет науки и техники Хуажонга;
(4) Yinliang Yue, лаборатория Zhongguancun;
(5) Сяпу Луо, Гонконгский политехнический университет;
(6) Хаою Ван, Университет науки и техники Хуажонга.
Таблица ссылок
Аннотация и 1. Введение
Фон
2.1 Ethereum Primer
2.2 Проверка адреса белого списка
2.3 Анализ Taint по интеллектуальным контрактам и 2,4 модели угрозы
Мотивирующий пример и проблемы
3.1 Мотивирующий пример
3.2 Проблемы
3.3 Ограничения существующих инструментов
Дизайн Avverifier и 4.1 Обзор
4.2 обозначения
4.3 Компонент № 1: График кода
4.4 Компонент № 2: симулятор EVM
4.5 Компонент № 3: детектор уязвимости
Оценка
5.1 Экспериментальная настройка и исследовательские вопросы
5.2 RQ1: эффективность и эффективность
5.3 RQ2: характеристики уязвимых контрактов реального мира
5.4 RQ3: обнаружение в реальном времени
Дискуссия
6.1 Угрозы для достоверности и 6.2 ограничения
6.3 Этическое рассмотрение
Связанная работа
Заключение, доступность и ссылки
Абстрактный
В Ethereum практика проверки обоснованности принятых адресов является обычной практикой, которая является важным шагом для обеспечения безопасного выполнения интеллектуальных контрактов. Уязвимости в процессе проверки адреса могут привести к большим вопросам безопасности, и наше сообщество сообщило о неофициальных данных. Однако этот тип уязвимости не был хорошо изучен. Чтобы заполнить пустоту, в этой статье мы стремимся охарактеризовать и обнаружить этот вид появляющейся уязвимости. Мы разрабатываем и реализуем Avverifier, легкий анализатор Taint, основанный на статическом моделировании EVM OpCode. Его трехфазный детектор может постепенно исключать ложные позитивы и ложные негативы на основе внутренних характеристик. После устоявшегося и беспристрастного эталона Avverifier может повысить эффективность в 2 до 5 раз, чем SOTA, сохраняя при этом точность 94,3% и 100% отзыв. После крупной оценки более 5 миллионов интеллектуальных контрактов Ethereum мы определили 812 уязвимых интеллектуальных контрактов, которые не были раскрыты нашим сообществом до этой работы, и 348 интеллектуальных контрактов с открытым исходным кодом были дополнительно подтверждены, чья самая большая стоимость заблокирована более 11,2 млрд. Долл. США. Мы также развертываем Avverifier в качестве детектора в реальном времени на интеллектуальной цепи Ethereum и Binance, и результаты показывают, что Avverifier может поднять своевременные предупреждения после развертывания контрактов.
1 Введение
После того, как Сатоши Накамото запустил Биткойн [60], всплыли платформы блокчейна. Среди них Ethereum [18] является наиболее известным. Помимо этих общих характеристик среди всех платформ блокчейна, наиболее привлекательной особенностью в Ethereum являетсяУмный контрактПолем Он может быть воспринят как часть неизменного сценария, который должен быть выполнен определенным образом, как только предварительно определенные условия будут выполнены.
Поскольку миллиарды эквивалентных активов доллара США хранятся в интеллектуальных контрактах, выявление и использование скрытых уязвимостей в них является главным приоритетом для злоумышленников. Согласно недавнему отчету [68], в течение прошлого года существует около 303 крупных событий атаки против известных контрактов Ethereum, что составляет около 3,8 миллиарда долларов. Chen et al. [21] суммировали 26 основных типов уязвимостей в интеллектуальных контрактах Ethereum, а новые типы уязвимостей все еще появляются в бесконечном потоке вдоль постоянной особенности введения и снижения в Ethereum [48].
Автоматическая идентификация уязвимостей в интеллектуальных контрактах Ethereum является хорошо изученной темой [14, 37, 46, 47, 56, 70, 72, 78]. Учитывая количество контрактов и экономические потери, вызванные ложными негативами, статическое символическое исполнение, которое может в определенной степени гарантировать надежность, используется в качестве основного метода анализа. Например, Mythril [70] является статическим символическим исполнителем на уровне байт-кодов для контрактов Ethereum, в то время как Slither [31] работает над исходным кодом, который претендует на достижение высокой эффективности и эффективности.
Проверка обоснованности входных адресов является общей практикой и ключевым шагом для обеспечения безопасного выполнения интеллектуальных контрактов. Уязвимости в процессе проверки адреса могут привести к большим вопросам безопасности, и наше сообщество сообщило о неофициальных данных [11]. Чтобы быть конкретными, функции в интеллектуальных контрактах могут рассматриваться как аргументы. Если разработчики случайно пренебрегают проверкой по переданному адресу, после того, как он будет воспринят в качестве цели внешнего вызова, могут быть вызваны произвольные операции, включая злонамеренные, в рамках адреса. Поэтому, если какая-либо изменение состояния в цепочке зависит от этого внешнего вызова, такая модификация может противостоять желаниям разработчика.
В настоящее время никакие существующие инструменты не могут обнаружить уязвимость проверки адреса, и реализация такого детектора уязвимости на основе существующей структуры является сложной задачей. С одной стороны, в соответствии с характеристиками уязвимости проверки адреса, чтобы эффективно идентифицировать ее, детектор должен выполнить межпроцедурный или даже межконтракт. Существующая работа, однако, неизменно страдает от эффективности или проблемы эффективности при проведении такого анализа. Например, детектор, основанный на схеме, едва может справиться с такой сложной схемой уязвимости, в то время как символическое исполнение страдает от проблем с взрывом пути, а узкое место, вызванное решением ограничений. С одной стороны, большинство контрактов находятся в немалоконе, а по байт-коду не хватает достаточной семантики, что затрудняет точную идентификацию скрытых уязвимостей. В частности, уязвимость проверки адреса требует мелкозернистого отслеживания как в области памяти, так и в области хранения. В Bytecode трудно отличить различные переменные, хранящиеся в этих двух областях. Более того, отслеживание их с помощью символического исполнения будет страдать от тяжелой проблемы взрыва пути из -за большого пространства возможных слотов.
Эта работа.Чтобы заполнить пустоту, мы стремимся охарактеризовать и обнаружить этот вид появления уязвимости. Чтобы быть конкретным, мы проектируем и реализуем Avverifier, новую легкую статическую структуру анализа Taint, которая может эффективно и эффективно определить уязвимость проверки адреса. Его анализа «Половный анализ» зависит от статического моделирования последовательности OpCode. Другими словами, без учета осуществимости путей Avverifier поддерживает значения структур данных (например, стек и память) и статус размножения. Такое статическое моделирование пересекает множество путей, в том числе изначально невозможные. Таким образом, в соответствии с соответствующими собранными состояниями Avverifier формально обнаруживает уязвимость проверки адреса с помощью трехфазного обнаружения. Он может постепенно исключать ложные позитивы и ложные негативы на основе внутренних характеристик уязвимости.
Основываясь на наших обработанных критериях, Avverifier значительно превосходит современные инструменты обнаружения смарт-контрактов (то есть Mythril, Ethainter, Jackal и EthBMC) [1] как с точки зрения эффективности, так и с эффективности. Согласно комплексной оценке более 5 миллионов развернутых контрактов Ethereum, Avverifier Flags более 812 уязвимых контрактов, а 348 смарт-контрактов с открытым исходным кодом были дополнительно подтверждены, общая стоимость которого составляет более 11,2 млрд. Долл. США. Наконец, мы развертываем Avverifier в качестве детектора в реальном времени на Ethereum и BSC, как EVM-подобной платформе блокчейна. Результаты показывают, что Avverifier способен своевременно повысить предупреждения для разработчиков и сообщества. Реальный случай, когда Avverifier поднимает предупреждение на 1,5 часа впереди атаки, доказывает его эффективность и эффективность.
Эта статья вносит следующий вклад:
• Это первая работа по обнаружению уязвимости проверки адреса. Мы разработали и внедрили Avverifier, эффективный и эффективный анализатор Taint, основанный на статическом моделировании EVM.
• Мы подали заявку на более 5 миллионов умных контрактов на Ethereum, и обнаружили сотни уязвимых умных контрактов, которые не были раскрыты нашим сообществом. Это первое крупномасштабное исследование характеристики такого рода уязвимости.
• По сравнению с Mythril, Ethainter, Jackal и EthBMC, Avverifier может повысить эффективность анализа примерно в 2-5 раз, одновременно достигая точной 94,3% и 100% отзыв на устоявшихся критериях.
• Мы развернули Avverifier в качестве детектора в реальном времени на Ethereum и BSC. Результаты показывают, что Avverifier может поднять ранние предупреждения после того, как нападавшие будут развернуты до начала атаки.
Эта статья есть
[1] Обратите внимание, что эти инструменты не могут обнаружить уязвимость проверки адреса, мы реализовали ту же логику обнаружения на них для справедливого сравнения.
Оригинал