У двигуні Chrome V8 виявлено вразливість витоку Sentinel Value, яка дозволяє здійснити обход пісочниці.

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

Дослідження обходу механізму HardenProtect Chrome v8 шляхом витоку Sentinel Value

Вступ

Sentinel value – це спеціальне значення в алгоритмах, яке часто використовується як умова завершення циклів або рекурсії. У вихідному коді Chrome широко використовується це спеціальне значення. Нещодавно були проведені дослідження, які показали, що шляхом витоку об'єкта TheHole можна реалізувати деякі вразливості виконання довільного коду в пісочниці Chrome. У цій статті буде розглянуто інший пов'язаний об'єкт – Uninitialized Oddball, а також те, як він може бути використаний для обходу механізмів безпеки Chrome.

Варто зазначити, що на даний момент остання версія двигуна V8 все ще має цю проблему. Цей підхід має досить високу універсальність і може вплинути на складність використання кількох історичних вразливостей.

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

Значення Sentinel у V8

У вихідному коді V8 визначено багато рідних об'єктів, які розташовані в пам'яті сусідньо. Якщо ці об'єкти помилково будуть доступні в середовищі JavaScript, це може призвести до втечі з пісочниці. Відоме раніше витік об'єкта TheHole є типовим прикладом.

Ми можемо перевірити це, змінивши вбудовану функцію V8. Наприклад, змініть зсув функції %TheHole() так, щоб вона повертала об'єкт Uninitialized Oddball.

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

Обхід захисту HardenType

Використання неініціалізованих об'єктів Oddball дозволяє здійснювати відносно довільне зчитування пам'яті. Ключовим моментом є те, що оптимізований код JavaScript не перевіряє властивості об'єкта належним чином, а безпосередньо за семантикою JavaScript обчислює зміщення та отримує доступ до елементів масиву, що призводить до змішування типів.

Рекомендоване рішення полягає в тому, щоб під час оптимізації функції, що повертає елементи масиву, додати перевірку масиву map, щоб уникнути прямого обчислення зсуву.

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

PatchGap ризикова примітка

Аналіз показав, що деяке програмне забезпечення може мати проблему PatchGap, яка ще не була виправлена. Наприклад, у Skype через великий розмір файлів і пряме завантаження в пам'ять зловмисники можуть використовувати фіксовані адреси для читання та запису.

Завдяки відкриттю цього нового методу обходу, можливо, зменшиться складність використання деяких історичних вразливостей. Рекомендується відповідним сторонам повторно оцінити програмне забезпечення та вразливості, що постраждали.

Ексклюзивне розкриття обходу Chrome v8 HardenProtect за допомогою витоку Sentinel Value

Ексклюзивне розкриття способу обійти Chrome v8 HardenProtect через витік Sentinel Value

Підсумок

Ця стаття коротко обговорює можливість реалізації довільного читання через витік Uninitialized Oddball та інших Sentinel значень. У V8 також існують інші Sentinel значення, які можуть мати подібні проблеми безпеки. Це підказує нам:

  1. Інші неініціалізовані Oddball витоки можуть призвести до втечі з пісочниці V8.
  2. Безпека такого роду питань все ще не чітко визначена
  3. Можна розглянути можливість додавання значення Sentinel як змінної до тестування fuzzer

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

! Ексклюзивне розкриття обходу Chrome v8 HardenProtect шляхом витоку значення Sentinel

SENC-7.12%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
OnlyOnMainnetvip
· 07-17 03:02
Ця уразливість досить серйозна.
Переглянути оригіналвідповісти на0
OnchainFortuneTellervip
· 07-15 04:11
Уразливість дуже небезпечна.
Переглянути оригіналвідповісти на0
FlatlineTradervip
· 07-15 04:06
Небезпечна вразливість
Переглянути оригіналвідповісти на0
CryptoGoldminevip
· 07-15 03:55
Уразливість впливає на розташування Ноди
Переглянути оригіналвідповісти на0
  • Закріпити