Hai lỗ hổng mới trong eBPF cho phép bỏ qua bảo vệ chống lại Spectre 4

Logo bóng ma

Gần đây tin tức đã phá vỡ rằng hai lỗ hổng đã được xác định trong nhân linux đó cho phép sử dụng hệ thống con eBPF để bỏ qua bảo vệ chống lại cuộc tấn công Spectre 4 (SSB, Bỏ qua cửa hàng đầu cơ). Người ta đề cập rằng bằng cách sử dụng một chương trình BPF không đặc quyền, kẻ tấn công có thể tạo điều kiện để thực hiện suy đoán các hoạt động nhất định và xác định nội dung của các vùng tùy ý của bộ nhớ nhân.

Phương thức tấn công The Spectre 4 dựa vào việc khôi phục dữ liệu bị mắc kẹt trong bộ nhớ cache của bộ xử lý sau khi loại bỏ kết quả của việc thực hiện suy đoán các hoạt động khi xử lý các hoạt động đọc và ghi xen kẽ bằng cách sử dụng địa chỉ gián tiếp.

Khi một thao tác đọc nối tiếp một thao tác ghi, độ lệch của hướng đọc có thể đã được biết do các hoạt động tương tự (các hoạt động đọc được thực hiện thường xuyên hơn nhiều và việc đọc có thể được thực hiện từ bộ nhớ đệm) và bộ xử lý có thể suy đoán đọc trước khi ghi mà không cần đợi tính toán độ lệch hướng ghi gián tiếp.

Nếu sau khi tính toán độ lệch, một giao điểm của các vùng bộ nhớ để ghi và đọc được phát hiện, bộ xử lý sẽ đơn giản loại bỏ kết quả đọc đã thu được một cách suy đoán và lặp lại thao tác này. Chức năng này cho phép lệnh đọc truy cập giá trị trước đó theo một số hướng trong khi thao tác lưu vẫn đang chờ xử lý.

Sau khi loại trừ một giao dịch đầu cơ thất bại, dấu vết thực thi của nó vẫn còn trong bộ nhớ cache, sau đó một trong những phương pháp để xác định nội dung của bộ đệm có thể được sử dụng để truy xuất nó dựa trên phân tích những thay đổi về thời gian truy cập bộ nhớ cache và dữ liệu được lưu trong bộ nhớ cache.

Lưu ý rằng mỗi chủ đề có thể bị lạm dụng độc lập với chủ đề khác, dựa vào trong các lỗi không trùng lặp.

Các PoC đã được chia sẻ riêng tư với những người duy trì hệ thống con BPF để trợ giúp với sự phát triển sắp xếp.

Lỗ hổng đầu tiên CVE-2021-35477: nguyên nhân là do lỗ hổng trong cơ chế xác nhận của chương trình BPF. Để đề phòng cuộc tấn công Spectre 4, trình kiểm tra thêm một lệnh bổ sung sau các thao tác lưu có thể gây rắc rối trong bộ nhớ, lưu trữ giá trị XNUMX để bù đắp dấu vết của thao tác trước đó.

Người ta cho rằng thao tác ghi số không sẽ rất nhanh và sẽ chặn việc thực thi suy đoán vì nó chỉ phụ thuộc vào con trỏ khung ngăn xếp BPF. Nhưng, trên thực tế, có thể tạo ra các điều kiện trong đó lệnh dẫn đến việc thực thi đầu cơ có thời gian để thực thi trước khi hoạt động lưu phòng ngừa.

Lỗ hổng thứ hai CVE-2021-3455: liên quan đến thực tế là khi trình kiểm tra BPF phát hiện các hoạt động lưu nguy hiểm tiềm ẩn trong bộ nhớ, các vùng chưa được khởi tạo của ngăn xếp BPF, thao tác ghi đầu tiên mà nó không được bảo vệ, sẽ bị bỏ qua.

Tính năng này dẫn đến khả năng thực hiện thao tác đọc suy đoán, tùy thuộc vào vùng bộ nhớ chưa được khởi tạo, trước khi thực hiện lệnh lưu trữ. Bộ nhớ mới cho ngăn xếp BPF được cấp phát mà không cần kiểm tra nội dung đã có trong bộ nhớ được cấp phát và trong giai đoạn trước khi chương trình BPF bắt đầu, có một cách để quản lý nội dung của vùng bộ nhớ, sau đó sẽ được cấp phát cho ngăn xếp BPF.

Giải pháp có sẵn tái triển khai các kỹ thuật giảm thiểu để tiếp tục được khuyến nghị bởi các nhà cung cấp CPU và có sẵn trong nhân dòng chính kho lưu trữ git.

Cuối cùng, người ta đề cập rằng những người bảo trì hệ thống con eBPF trong hạt nhân có được quyền truy cập vào một nguyên mẫu khai thác chứng tỏ khả năng thực hiện các cuộc tấn công trong thực tế.

Các sự cố được khắc phục dưới dạng các bản vá, sẽ được đưa vào bản cập nhật hạt nhân Linux tiếp theo, vì vậy các bản cập nhật cho các bản phân phối khác nhau sẽ bắt đầu có trong vài ngày tới.

Fuente: https://www.openwall.com/


Để 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: AB Internet Networks 2008 SL
  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.