TechFlow Logo
Войти/ Регистрация
Газ ETH
Gwei
Страх
gas
FreeWavm: новейшие результаты исследований Goplus по поиску уязвимостей в виртуальной машине WebAssembly, официально приняты к публикации в виде полной статьи на ISSTA 2025

FreeWavm: новейшие результаты исследований Goplus по поиску уязвимостей в виртуальной машине WebAssembly, официально приняты к публикации в виде полной статьи на ISSTA 2025

2025.03.31
Поделиться
Среда выполнения WebAssembly является базовой инфраструктурой для выполнения кода WebAssembly и широко используется в качестве движка выполнения в веб-браузерах и блокчейн-системах.

Недавно новейшие результаты исследований Goplus по выявлению уязвимостей виртуальных машин WebAssembly были официально приняты для полной публикации на ISSTA2025!

ISSTA является одной из четырех ведущих конференций в области программной инженерии, а также международной академической конференцией класса A в области программной инженерии, признанной Китайской компьютерной федерацией (CCF), и специализируется на сборе последних передовых достижений глобальных исследовательских институтов и технологических компаний в области программной инженерии и тестирования программного обеспечения.

1. Определение проблемы

Среда выполнения WebAssembly — это инфраструктура для выполнения кода WebAssembly, широко используемая в качестве движка выполнения в веб-браузерах и блокчейн-системах. Например, Ethereum 2.0 и Polkadot приняли среду выполнения WebAssembly в качестве среды исполнения смарт-контрактов для повышения их эффективности и безопасности. Несмотря на растущую популярность сред выполнения WebAssembly, они также создают новые поверхности для атак. Дефекты и недостатки в средах выполнения WebAssembly могут привести к непредвиденному поведению, ошибочным результатам и даже серьезным последствиям для безопасности, особенно для блокчейн-платформ, зависящих от смарт-контрактов, скомпилированных в байт-код WebAssembly.

2. Фреймворк фаззинга виртуальных машин смарт-контрактов блокчейна

Для выявления уязвимостей виртуальных машин WebAssembly в данной статье разработан фреймворк фаззинга виртуальных машин WebAssembly FreeWavm, основанный на мутации дерева разбора и руководстве снимками состояния.

FreeWavm состоит из четырех ключевых компонентов.

(1)Для захвата структурированных характеристик кода WebAssembly был разработан парсер модулей WebAssembly, который преобразует байт-код WebAssembly в структуру дерева разбора.

(2)Затем был разработан модуль мутации с учетом структуры для генерации значимых тестовых входных данных для среды выполнения WebAssembly. Это включает использование индивидуальной стратегии приоритета узлов для фильтрации интересных узлов из дерева разбора, а затем выполнение определенных мутаций на этих узлах.

(3)Для обеспечения целостности мутировавших тестовых входных данных был предложен механизм автоматического исправления для коррекции мутировавших деревьев разбора. Это гарантирует, что парсер модулей сможет успешно проанализировать вновь сгенерированные тестовые входные данные, тем самым обеспечивая эффективность непрерывной мутации.

(4)Был построен пул снимков состояния для поддержания незавершенных структур деревьев разбора, которые либо вызывают сбои, либо покрывают новые пути выполнения в целевой среде выполнения, что позволяет использовать предыдущие знания для последующих мутаций, тем самым увеличивая вероятность обнаружения глубоких уязвимостей в среде выполнения WebAssembly.

Общая архитектура FreeWavm

Были проведены обширные эксперименты на нескольких виртуальных машинах WebAssembly. FreeWavm успешно обнаружил 69 новых уязвимостей, 24 из которых получили идентификаторы CVE. По сравнению с этим, FreeWavm превосходит другие аналогичные продукты как по достигнутому покрытию кода, так и по количеству уязвимостей, выявленных в течение 24-часового периода работы.

Присоединяйтесь к официальному сообществу TechFlow

В избранное
Поделиться