Lỗ hổng rò rỉ Sentinel Value trong engine Chrome V8 có thể cho phép thoát khỏi sandbox.

robot
Đang tạo bản tóm tắt

Khám phá cách vượt qua cơ chế HardenProtect của Chrome v8 thông qua việc rò rỉ Sentinel Value

Giới thiệu

Giá trị Sentinel là một loại giá trị đặc biệt trong thuật toán, thường được sử dụng làm điều kiện dừng trong các thuật toán lặp hoặc đệ quy. Giá trị đặc biệt này được sử dụng rộng rãi trong mã nguồn Chrome. Gần đây có nghiên cứu cho thấy, thông qua việc làm lộ đối tượng TheHole, có thể thực hiện một số lỗ hổng thực thi mã tùy ý trong sandbox của Chrome. Bài viết này sẽ khám phá một đối tượng liên quan khác - Uninitialized Oddball, và cách mà nó được sử dụng để vượt qua cơ chế bảo mật của Chrome.

Cần lưu ý rằng phiên bản mới nhất của động cơ V8 hiện vẫn gặp phải vấn đề này. Phương pháp này có độ tổng quát khá cao, có thể ảnh hưởng đến độ khó khai thác nhiều lỗ hổng lịch sử.

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect thông qua việc lộ diện Sentinel Value

Giá trị Sentinel trong V8

Trong mã nguồn V8, nhiều đối tượng nguyên thủy đã được định nghĩa và chúng được sắp xếp cạnh nhau trong bộ nhớ. Nếu những đối tượng này bị lộ ra ngoài môi trường JavaScript một cách sai lầm, điều đó có thể dẫn đến việc thoát khỏi sandbox. Sự rò rỉ đối tượng TheHole đã được đề cập trước đó là một trường hợp điển hình.

Chúng ta có thể xác nhận điều này bằng cách sửa đổi các hàm gốc của V8. Ví dụ, sửa đổi độ lệch của hàm %TheHole() để nó trả về đối tượng Uninitialized Oddball.

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Độc quyền tiết lộ cách vượt qua Chrome v8 HardenProtect bằng cách rò rỉ Sentinel Value

Vượt qua bảo vệ HardenType

Việc sử dụng đối tượng Uninitialized Oddball có thể thực hiện việc đọc bộ nhớ tương đối tùy ý. Chìa khóa nằm ở chỗ mã JavaScript đã tối ưu không kiểm tra chính xác các thuộc tính của đối tượng, mà trực tiếp tính toán độ lệch và truy cập các phần tử của mảng theo ngữ nghĩa JavaScript, từ đó gây ra sự nhầm lẫn kiểu.

Giải pháp sửa chữa được đề xuất là thêm kiểm tra đối với mảng map khi trả về các phần tử mảng trong hàm tối ưu hóa, để tránh tính toán độ lệch trực tiếp.

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect bằng cách rò rỉ Sentinel Value

Độc quyền tiết lộ cách vượt qua Chrome v8 HardenProtect bằng cách rò rỉ Sentinel Value

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Cảnh báo rủi ro PatchGap

Phân tích cho thấy, một số phần mềm có thể gặp vấn đề PatchGap, vẫn chưa sửa chữa lỗ hổng này. Lấy Skype làm ví dụ, do tệp của nó lớn và được tải trực tiếp vào bộ nhớ, kẻ tấn công có thể khai thác thông qua việc đọc và ghi tại địa chỉ cố định.

Cách tránh mới này được công khai có thể làm giảm độ khó trong việc khai thác một số lỗ hổng lịch sử. Khuyến nghị các bên liên quan đánh giá lại phần mềm và lỗ hổng bị ảnh hưởng.

Tiết lộ độc quyền cách vượt qua HardenProtect của Chrome thông qua việc lộ giá trị Sentinel

Tiết lộ độc quyền về cách vượt qua Chrome v8 HardenProtect thông qua việc rò rỉ Sentinel Value

Tóm tắt

Bài viết này tóm tắt khả năng thực hiện đọc tùy ý thông qua việc rò rỉ các giá trị Sentinel như Uninitialized Oddball. Trong V8 còn tồn tại các giá trị Sentinel khác, chúng cũng có thể gặp phải những nguy cơ bảo mật tương tự. Điều này nhắc nhở chúng ta:

  1. Các lỗ hổng Uninitialized Oddball khác có thể dẫn đến việc thoát khỏi sandbox V8
  2. Định vị an ninh của loại vấn đề này vẫn chưa rõ ràng.
  3. Có thể xem xét thêm giá trị Sentinel như một biến vào thử nghiệm fuzzer

Dù sao đi nữa, những vấn đề như vậy có thể rút ngắn đáng kể chu kỳ khai thác hoàn chỉnh của kẻ tấn công, rất đáng được chú ý.

Tiết lộ độc quyền cách vượt qua Chrome v8 HardenProtect bằng cách rò rỉ Sentinel Value

SENC-5.55%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 4
  • Chia sẻ
Bình luận
0/400
OnlyOnMainnetvip
· 07-17 03:02
Lỗ hổng này khá nghiêm trọng.
Xem bản gốcTrả lời0
OnchainFortuneTellervip
· 07-15 04:11
Lỗ hổng rất nguy hiểm.
Xem bản gốcTrả lời0
FlatlineTradervip
· 07-15 04:06
Lỗ hổng nguy hiểm
Xem bản gốcTrả lời0
CryptoGoldminevip
· 07-15 03:55
Lỗ hổng ảnh hưởng đến Nút bố trí
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)