В языке Move обнаружена уязвимость в проверках безопасности ссылок, связанная с переполнением целого числа, что может привести к атаке типа «отказ в обслуживании».

robot
Генерация тезисов в процессе

Обнаружена новая уязвимость переполнения целых чисел в языке Move

Недавно была обнаружена новая уязвимость переполнения целых чисел в языке Move. Эта уязвимость существует в процессе проверки безопасности ссылок на этапе верификации кода и может привести к атаке типа "отказ в обслуживании".

Язык Move выполняет проверку кода перед выполнением байт-кода, которая состоит из четырех этапов. Уязвимость в этот раз возникла на этапе проверки безопасности ссылок (reference_safety). Проверка безопасности ссылок в основном проверяет наличие висячих ссылок в коде, безопасность доступа к изменяемым ссылкам, безопасность доступа к глобальным хранилищам ссылок и другие проблемы.

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

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

Numen Cyber эксклюзивно обнаружил еще одну высокоопасную уязвимость языка move

Модуль проверки безопасности ссылок будет сканировать байт-кодовые инструкции каждого базового блока в функции, чтобы определить, является ли операция ссылки законной. Основной процесс включает в себя: выполнение кода базового блока, генерацию состояния после выполнения, объединение и обновление состояния блока до и после выполнения, а также распространение на последующие блоки.

Numen Cyber эксклюзивно обнаружила еще одну уязвимость в языке move

Уязвимость возникает в процессе объединения состояния. Когда сумма количества параметров функции и количества локальных переменных превышает 256, происходит переполнение целого числа из-за использования типа u8 для хранения. Это приводит к доступу к несуществующим локальным переменным в последующем выполнении, что вызывает панику.

Numen Cyber обнаружила еще одну уязвимость в языке move

Атакующий может создать базовый блок с циклом, используя этот переполнение для изменения состояния блока. При повторном выполнении обращение к несуществующему индексу локальной переменной приведет к отказу в обслуживании.

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Этот уязвимость показывает, что даже язык Move, тщательно спроектированный, может содержать уязвимости безопасности, которые могут быть обойдены. Рекомендуется разработчикам языка Move добавить больше проверок во время выполнения, чтобы предотвратить подобные неожиданные ситуации. В будущем также необходимо усилить исследования безопасности языка Move.

Numen Cyber обнаружил еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружила еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Numen Cyber исключительное открытие еще одной уязвимости в языке move

Numen Cyber эксклюзивно обнаружила еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Numen Cyber эксклюзивно обнаружил еще одну уязвимость в языке move

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 7
  • Поделиться
комментарий
0/400
AirdropFreedomvip
· 07-10 20:58
Уязвимость действительно серьезная.
Посмотреть ОригиналОтветить0
PretendingSeriousvip
· 07-10 20:58
Код - это король, проверка - это высший приоритет
Посмотреть ОригиналОтветить0
NFTRegretDiaryvip
· 07-10 20:57
Нужно срочно исправить уязвимость.
Посмотреть ОригиналОтветить0
DefiEngineerJackvip
· 07-10 20:54
*вздох* тривиальная проблема переполнения u8
Посмотреть ОригиналОтветить0
WinterWarmthCatvip
· 07-10 20:44
Неудивительно, что тарелка неустойчива
Посмотреть ОригиналОтветить0
ForkPrincevip
· 07-10 20:42
Переполнение уязвимости очень опасно.
Посмотреть ОригиналОтветить0
DeFiAlchemistvip
· 07-10 20:36
Числа раскрывают мистические недостатки.
Посмотреть ОригиналОтветить0
  • Закрепить