Lỗ hổng mới trên CPU Intel cho phép rò rỉ dữ liệu nhạy cảm từ bộ nhớ hệ thống

  • Updated

Một lỗ hổng bảo mật mới có tên “Branch Privilege Injection” được phát hiện trên tất cả các dòng CPU Intel hiện đại cho phép kẻ tấn công rò rỉ dữ liệu nhạy cảm từ các vùng bộ nhớ đặc quyền, như bộ nhớ của nhân hệ điều hành (kernel).

Thông thường, những vùng bộ nhớ này chứa các thông tin nhạy cảm như mật khẩu, khóa mã hóa, dữ liệu của tiến trình khác và các cấu trúc dữ liệu của kernel — do đó, việc bảo vệ chúng khỏi rò rỉ là điều cực kỳ quan trọng.

Vượt qua các biện pháp bảo vệ Spectre v2

Theo các nhà nghiên cứu tại ETH Zurich — Sandro Rüegge, Johannes Wikner, và Kaveh Razavi — lỗ hổng mới khai thác một điểm yếu trong cơ chế dự đoán nhánh của CPU, gọi là “Branch Predictor Race Conditions”, cho phép vượt qua các biện pháp bảo vệ đã có từ thời Spectre v2.

Lỗ hổng này, được đặt tên là Branch Privilege Injection và theo dõi dưới mã CVE-2024-45332, khai thác tình trạng điều kiện tranh chấp (race condition) trong hệ thống dự đoán nhánh của CPU Intel.

Các bộ dự đoán nhánh như Branch Target Buffer (BTB)Indirect Branch Predictor (IBP) là các thành phần phần cứng giúp đoán trước hướng đi của các lệnh điều kiện để CPU có thể tiếp tục xử lý mà không cần chờ lệnh hoàn tất — từ đó cải thiện hiệu suất.

Tuy nhiên, do các cập nhật cho bộ dự đoán không được đồng bộ hóa với quá trình thực thi lệnh, chúng có thể vượt qua ranh giới phân quyền. Trong một thời điểm ngắn, khi xảy ra chuyển đổi giữa chế độ người dùng và chế độ kernel, hệ thống có thể dự đoán nhầm nhánh ở cấp đặc quyền.

Kết quả là, sự cách ly giữa người dùng và kernel bị phá vỡ, cho phép người dùng không có đặc quyền truy cập được dữ liệu nhạy cảm.

Khai thác lỗ hổng và rò rỉ dữ liệu

Nhóm nghiên cứu tại ETH Zurich đã xây dựng một kỹ thuật tấn công để “huấn luyện” CPU dự đoán một nhánh cụ thể. Sau đó, họ thực hiện lệnh gọi hệ thống (system call) để chuyển quyền thực thi vào nhân hệ điều hành. Trong quá trình suy đoán, CPU sẽ chạy đoạn mã giả mạo do kẻ tấn công kiểm soát (gọi là “gadget”) để truy cập dữ liệu bí mật được lưu trong bộ nhớ đệm.

Bằng cách sử dụng kỹ thuật kênh bên (side-channel), dữ liệu này bị rò rỉ ra ngoài.

Trên hệ điều hành Ubuntu 24.04 (với các biện pháp bảo vệ mặc định), nhóm đã chứng minh có thể đọc nội dung tệp /etc/shadow/ — nơi chứa mật khẩu tài khoản dưới dạng mã băm. Tốc độ rò rỉ dữ liệu có thể đạt tới 5.6 KB/giây với độ chính xác 99.8%.


Ảnh hưởng và biện pháp khắc phục

Lỗ hổng CVE-2024-45332 ảnh hưởng đến tất cả CPU Intel từ thế hệ thứ 9 trở đi, bao gồm Coffee Lake, Comet Lake, Rocket Lake, Alder LakeRaptor Lake.

“Tất cả bộ xử lý Intel kể từ thế hệ thứ 9 (Coffee Lake Refresh) đều bị ảnh hưởng bởi Branch Privilege Injection,” nhóm nghiên cứu cho biết.

Ngoài ra, họ còn quan sát thấy việc vượt qua cơ chế Indirect Branch Prediction Barrier (IBPB) có thể xảy ra cả trên CPU thế hệ thứ 7 (Kaby Lake).

Mặc dù các CPU Intel thế hệ cũ hơn không được kiểm tra, nhưng do không hỗ trợ tính năng eIBRS (Enhanced Indirect Branch Restricted Speculation), chúng ít liên quan đến lỗ hổng mới này và dễ bị các kiểu tấn công Spectre cũ hơn.

Các vi xử lý của Arm như Cortex-X1, Cortex-A76, và dòng AMD Zen 4/Zen 5 không gặp hành vi bất đồng bộ trong dự đoán nhánh, nên không bị ảnh hưởng bởi lỗ hổng này.

Khắc phục và cập nhật

Lỗ hổng này tồn tại ở cấp độ phần cứng, vì vậy có thể bị khai thác cả trên Windows, mặc dù bài thử nghiệm được thực hiện trên Linux.

Intel đã được báo cáo về lỗ hổng từ tháng 9/2024 và đã phát hành bản cập nhật microcode cho các CPU bị ảnh hưởng.

  • Bản vá firmware gây ảnh hưởng hiệu suất khoảng 2.7%
  • Biện pháp phần mềm có thể gây giảm hiệu suất từ 1.6% đến 8.3%, tùy thuộc vào CPU cụ thể

Rủi ro đối với người dùng thông thường là khá thấp, vì việc khai thác lỗ hổng đòi hỏi nhiều điều kiện phức tạp. Tuy nhiên, người dùng vẫn nên cập nhật BIOS/UEFI và hệ điều hành mới nhất để đảm bảo an toàn.

Nhóm ETH Zurich sẽ trình bày đầy đủ kỹ thuật khai thác trong một bài báo khoa học tại hội thảo USENIX Security 2025.


Phản hồi từ Intel (cập nhật ngày 13/5)

Intel đã phát hành bản tin bảo mật chính thức về CVE-2024-45332, và gửi tuyên bố sau đến BleepingComputer:

“Chúng tôi đánh giá cao công trình nghiên cứu của ETH Zurich và sự phối hợp công bố có trách nhiệm. Intel đang tăng cường các biện pháp bảo vệ phần cứng đối với Spectre v2 và khuyến nghị khách hàng liên hệ với nhà sản xuất hệ thống để cập nhật phù hợp. Cho đến nay, chúng tôi chưa ghi nhận bất kỳ khai thác thực tế nào liên quan đến lỗ hổng thực thi suy đoán.” — Người phát ngôn của Intel