Inception, một lỗ hổng ảnh hưởng đến bộ vi xử lý AMD 

dễ bị tổn thương

Nếu bị khai thác, những lỗ hổng này có thể cho phép kẻ tấn công truy cập trái phép vào thông tin nhạy cảm hoặc thường gây ra sự cố

Vài ngày trước một nhóm các nhà nghiên cứu tiết lộ thông qua một bài đăng trên blog, thông tin về một lỗ hổng mà họ đã phát hiện (đã được xếp vào danh mục CVE-2023-20569) và ảnh hưởng đến bộ xử lý AMD dựa trên vi kiến ​​trúc EPYC và Ryzen.

Nó được đề cập rằng lỗ hổng, với từ khóa "Inception", cho phép người dùng cục bộ không có đặc quyền xác định nội dung bộ nhớ của các quy trình từ những người dùng khác khi sử dụng các hệ thống ảo hóa, về cơ bản cho phép trích xuất thông tin từ các hệ thống khách khác.

Inception là gì và nó được khai thác như thế nào?

Giới thiệu Khi mới bắt đầu, người ta đã đề cập rằng lỗ hổng này là sự kết hợp của:

  • Suy đoán ma: chúng ta có thể kích hoạt một dự đoán sai mà không có bất kỳ nhánh nào tại nguồn dự đoán sai.
  • Đào tạo về thực thi tạm thời: Chúng ta có thể thao túng các dự đoán sai trong tương lai thông qua một dự đoán sai trước đó mà chúng ta đã kích hoạt.

Kể từ khi với nó, có thể tạo tràn ngăn xếp địa chỉ trả về (RAS) trong một cấu trúc được cập nhật ở chế độ suy đoán ở giai đoạn mà bộ xử lý chỉ dự đoán một lệnh gọi có thể có đối với lệnh CALL.

Ngăn xếp RAS có kích thước cố định và có dạng hình tròn, nghĩa là nó lặp lại và sau phần tử cuối cùng sẽ chuyển sang phần đầu. Kẻ tấn công có thể tạo ra các điều kiện trong đó bộ dự đoán nhánh thực hiện một cách suy đoán một số lượng lớn các CUỘC GỌI được dự đoán không chính xác, đủ để làm tràn ngăn xếp RAS và ghi đè lên các điểm trả về được dự đoán chính xác được đặt ở đầu ngăn xếp.

Như là kết quả của việc này, các mục ngăn xếp ban đầu có thể được ghi đè bằng các giá trị đã chọn bởi kẻ tấn công, sau đó sẽ dẫn đến việc sử dụng các giá trị được thay thế này trong quá trình thực thi lệnh RET theo suy đoán trong ngữ cảnh của một quy trình khác.

Người ta đề cập rằng sau đó, bộ xử lý sẽ xác định rằng dự đoán rẽ nhánh là không chính đáng và hoàn nguyên hoạt động về trạng thái ban đầu, nhưng dữ liệu được xử lý trong quá trình thực thi suy đoán sẽ nằm trong bộ nhớ cache và bộ đệm vi kiến ​​trúc. Nếu một khối được thực thi nhầm thực hiện truy cập bộ nhớ, thì việc thực thi suy đoán của nó sẽ dẫn đến việc cài đặt vào bộ đệm chung và đọc dữ liệu từ bộ nhớ.

Lỗ hổng Phantom dùng để “đầu độc” dự đoán rẽ nhánh (CVE-2022-23825) được xác định bởi cùng các nhà nghiên cứu, cho phép tạo điều kiện để dự đoán nhánh giả mà không cần lệnh nhánh và tác động đến bộ đệm dự đoán nhánh mà không cần lệnh "ret".

Để bắt đầu dự đoán sai và tràn ngăn xếp RAS, lệnh XOR thông thường được sử dụng, có tác dụng đối với bộ đệm dự đoán rẽ nhánh trong cuộc tấn công ảo tương tự như lệnh gọi đệ quy tới lệnh CALL. Để thay thế có kiểm soát giá trị bắt buộc ở đầu ngăn xếp RAS, phương pháp TTE (Đào tạo thực thi tạm thời) được đề xuất, cho phép tác động đến dự đoán tương lai của các chuyển đổi từ các dự đoán sai trước đó.

điều đáng nói là cho cuộc biểu tình, các nhà nghiên cứu đã chuẩn bị một khai thác mà người dùng cục bộ không có đặc quyền có thể sử dụng để băm mật khẩu của người dùng gốc, được lưu trữ trong tệp /etc/shadow và được tải vào bộ nhớ khi xác thực hệ thống.

Cuộc tấn công đã được trình diễn trên hệ thống Ubuntu 22.04 được nâng cấp đầy đủ với nhân 5.19 trên máy tính có bộ xử lý AMD Zen 4. Hiệu suất rò rỉ dữ liệu của khai thác là 39 byte mỗi giây. Nội dung của /etc/shadow đã được xác định thành công trong 6 trên 10 nỗ lực khai thác lỗ hổng. Mỗi lần thử mất khoảng 40 phút.

Như đã đề cập ở phần đầu, Inception ảnh hưởng đến các bộ vi xử lý dựa trên vi kiến ​​trúc EPYC và Ryzen, trong đó vi kiến ​​trúc Zen1 và Zen2, tính năng bảo vệ dựa trên lệnh IBPB (được sử dụng để bảo vệ chống lại các cuộc tấn công của Spectre), có thể được sử dụng để chặn biểu hiện của lỗ hổng . Trong khi đối với bộ xử lý dòng Zen3 và Zen4, không có bản sửa lỗi bảo vệ nào và cần có bản cập nhật vi mã để chặn lỗ hổng trong chúng.

Cuối cùng, nó được đề cập rằng Inception sửa lỗi và cập nhật firmware đã được bao gồm trong các phiên bản gần đây của nhân Linux, mặc dù sau khi phân phối các bản sửa lỗi, một phiên bản sửa đổi hiệu quả hơn của các bản vá cũng đã được đề xuất, phiên bản này cho đến nay vẫn chưa được chấp nhận trong nhân.

Nếu bạn muốn biết thêm về nó, bạn có thể tham khảo chi tiết trong liên kết theo dõi.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.