LVI: một lớp tấn công thực thi suy đoán mới trên CPU Intel

Thông tin đã được công bố về một lớp tấn công mới LVI trong cơ chế của thực thi suy đoán ảnh hưởng đến Intel, có thể được sử dụng để bỏ qua các khóa và dữ liệu nhạy cảm từ các vùng Intel SGX và các quy trình khác.

Lớp tấn công mới dựa trên sự thao túng với cấu trúc vi kiến ​​trúc tương tự như trong các cuộc tấn công MDS, Spectre và Meltdown. Đồng thời, các cuộc tấn công mới không bị chặn bởi các phương pháp hiện có bảo vệ chống lại Meltdown, Spectre, MDS và các cuộc tấn công tương tự khác.

Giới thiệu về LVI

Vấn đề Nó được nhà nghiên cứu Jo Van Bulck xác định vào tháng 4 năm ngoái từ Đại học Leuven, sau đó, với sự tham gia của 9 nhà nghiên cứu từ các trường đại học khác, Năm phương pháp tấn công cơ bản đã được phát triển, mỗi trong số đó cho phép tồn tại các tùy chọn cụ thể hơn.

Dù sao đi nữa, vào tháng Hai năm nay, Các nhà nghiên cứu của Bitdefender cũng phát hiện ra một trong những lựa chọn tấn công LVI và báo cáo cho Intel.

Các tùy chọn tấn công được phân biệt bằng cách sử dụng các cấu trúc vi kiến ​​trúc khác nhau, chẳng hạn như Bộ đệm cửa hàng (SB), Bộ đệm điền dòng (LFB), Bộ đệm chuyển đổi ngữ cảnh FPU và Bộ đệm cấp độ đầu tiên (L1D), trước đây được sử dụng trong các cuộc tấn công như ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow và Meltdown.

Sự khác biệt chính giữa Tôi tấn công họs LVI và MDS là MDS thao tác xác định nội dung cấu trúc vi kiến ​​trúc vẫn còn trong bộ nhớ cache sau khi xử lý lỗi suy đoán hoặc các hoạt động tải và lưu trữ, trong khi Các cuộc tấn công LVI cho phép kẻ tấn công được thay thế trong các cấu trúc vi kiến ​​trúc ảnh hưởng đến việc thực thi mã của nạn nhân sau này.

Bằng cách sử dụng các thao tác này, kẻ tấn công có thể trích xuất nội dung của cấu trúc dữ liệu đóng trong các quy trình khác trong khi thực thi một số mã nhất định trên lõi CPU mục tiêu.

Để khai thác, vấn đề phải được tìm thấy trong mã quy trình và gửi các chuỗi mã đặc biệt (tiện ích) trong đó giá trị do kẻ tấn công kiểm soát được tải và việc tải giá trị này gây ra các ngoại lệ loại bỏ kết quả và thực thi lại câu lệnh.

Khi xử lý một ngoại lệ, một cửa sổ suy đoán sẽ xuất hiện trong đó dữ liệu được xử lý trên tiện ích sẽ được lọc.

Đặc biệt, bộ xử lý bắt đầu thực thi một đoạn mã ở chế độ suy đoán (một tiện ích), sau đó xác định rằng dự đoán chưa được chứng minh và đảo ngược các hoạt động, nhưng dữ liệu được xử lý Trong quá trình thực hiện đầu cơ được lưu trữ trong bộ đệm và bộ đệm L1D của vi kiến ​​trúc và có thể được trích xuất từ ​​chúng bằng các phương pháp đã biết để xác định dữ liệu còn sót lại từ các kênh của bên thứ ba.

Khó khăn chính để tấn công các tiến trình khác vàđó là cách bắt đầu hỗ trợ bằng cách thao túng quy trình của nạn nhân.

Hiện tại, không có cách nào đáng tin cậy để thực hiện việc này, nhưng trong tương lai việc phát hiện ra nó không bị loại trừ. Cho đến nay, khả năng xảy ra một cuộc tấn công chỉ được xác nhận đối với các khu vực Intel SGX, các kịch bản khác chỉ mang tính lý thuyết hoặc có thể tái tạo trong các điều kiện tổng hợp.

Các vectơ tấn công có thể xảy ra

  • Rò rỉ dữ liệu từ cấu trúc hạt nhân đến quy trình cấp người dùng. Bảo vệ hạt nhân Linux chống lại các cuộc tấn công của Spectre 1 và cơ chế bảo vệ SMAP (Ngăn chặn truy cập chế độ giám sát) giảm đáng kể khả năng xảy ra cuộc tấn công LVI. Việc đưa ra biện pháp bảo vệ bổ sung vào kernel có thể cần thiết khi xác định các phương pháp đơn giản hơn để thực hiện cuộc tấn công LVI trong tương lai.
  • Rò rỉ dữ liệu giữa các quy trình khác nhau. Một cuộc tấn công yêu cầu sự hiện diện của một số đoạn mã nhất định trong ứng dụng và xác định phương pháp tạo ra ngoại lệ trong quy trình đích.
  • Rò rỉ dữ liệu từ môi trường máy chủ sang hệ thống khách. Cuộc tấn công được phân loại là quá phức tạp, đòi hỏi phải thực hiện một số bước khó thực hiện và dự đoán hoạt động trong hệ thống.
  • Rò rỉ dữ liệu giữa các quy trình trong các hệ thống khách khác nhau. Vectơ tấn công gần giống với việc tổ chức rò rỉ dữ liệu giữa các quy trình khác nhau nhưng cũng yêu cầu các thao tác phức tạp để tránh sự cô lập giữa các hệ thống khách.

Để cung cấp khả năng bảo vệ hiệu quả chống lại LVI, cần phải thay đổi phần cứng của CPU. Sắp xếp bảo vệ theo chương trình, thêm lệnh LFENCE của trình biên dịch sau mỗi thao tác tải từ bộ nhớ và thay thế lệnh RET bằng POP, LFENCE và JMP, khắc phục quá nhiều chi phí; Theo các nhà nghiên cứu, việc bảo vệ toàn bộ phần mềm sẽ dẫn đến suy giảm hiệu suất từ ​​2 đến 19 lần.

Fuente: https://www.intel.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: 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.