У Move мові є вразливість, пов'язана з перевіркою безпеки, яка може призвести до переповнення цілого числа, що може викликати атаку на відмову в обслуговуванні.

robot
Генерація анотацій у процесі

У Move мові виявлено нову уразливість переповнення цілих чисел

Нещодавно було виявлено новий вразливість переповнення цілого числа в мові Move. Ця вразливість існує в процесі перевірки безпеки посилань на етапі валідації коду і може призвести до атаки відмови в обслуговуванні.

Мова Move перед виконанням байт-коду проходить перевірку коду, що складається з чотирьох етапів. Ця вразливість виникає на етапі перевірки безпеки посилань (reference_safety). Перевірка безпеки посилань головним чином перевіряє, чи існують у коді висячі посилання, чи є доступ до змінних посилань безпечним, чи є доступ до глобальних зберігань безпечним тощо.

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

У процесі верифікації буде проведено аналіз кожного базового блоку. Базовий блок - це послідовність коду, яка не має інструкцій гілки, окрім входу та виходу. Move визначає базові блоки, проходячи через байт-код та шукаючи інструкції гілки та циклу.

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

Модуль перевірки безпеки посилань сканує байт-код команди в кожному базовому блоці функції, визначаючи, чи є посилальні операції законними. Основний процес включає: виконання коду базового блоку, генерацію стану після виконання, об'єднання та оновлення стану блоку до і після виконання, а також поширення на наступні блоки.

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

Вразливість виникає під час процесу злиття стану. Коли сума кількості параметрів функції та кількості локальних змінних перевищує 256, через використання типу u8 для зберігання відбувається переповнення цілого числа. Це призводить до доступу до неіснуючих локальних змінних у подальшому виконанні, що викликає panic.

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
· 11год тому
Врази досить серйозні.
Переглянути оригіналвідповісти на0
PretendingSeriousvip
· 11год тому
Код — це король, перевірка — це верх.
Переглянути оригіналвідповісти на0
NFTRegretDiaryvip
· 11год тому
Треба терміново виправити вразливість.
Переглянути оригіналвідповісти на0
DefiEngineerJackvip
· 11год тому
*сум* тривіальна проблема переповнення u8
Переглянути оригіналвідповісти на0
WinterWarmthCatvip
· 11год тому
Не дивно, що тарілка нестабільна.
Переглянути оригіналвідповісти на0
ForkPrincevip
· 11год тому
Уразливість переповнення є дуже небезпечною.
Переглянути оригіналвідповісти на0
DeFiAlchemistvip
· 11год тому
Числа виявляють містичні недоліки.
Переглянути оригіналвідповісти на0
  • Закріпити