SQUIP, một cuộc tấn công mới ảnh hưởng đến bộ xử lý AMD và dẫn đến rò rỉ dữ liệu

một nhóm của tôiCác nhà nghiên cứu từ Đại học Công nghệ Graz (Áo), trước đây được biết đến với việc phát triển các cuộc tấn công MDS, NetSpectre, Throwhammer và ZombieLoad, đã tiết lộ một cuộc tấn công kênh phụ mới (CVE-2021-46778) trong hàng đợi bộ lập lịch của bộ xử lý AMD được sử dụng để lập lịch thực hiện các lệnh trong các đơn vị thực thi khác nhau của CPU.

Cuộc tấn công, được gọi là SQUIP, cho phép xác định dữ liệu được sử dụng trong các tính toán trong một quy trình khác hoặc máy ảo hoặc tổ chức một kênh giao tiếp ẩn giữa các tiến trình hoặc máy ảo cho phép dữ liệu được trao đổi mà không cần thông qua các cơ chế kiểm soát truy cập hệ thống.

các CPU AMD dựa trên vi kiến ​​trúc Zen thứ nhất, thứ hai và thứ ba thế hệ (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Bị ảnh hưởng khi công nghệ Đa luồng đồng thời (SMT) được sử dụng.

Các CPU hiện đại sử dụng thiết kế supercalar, trong đó nhiều lệnh được thực thi đồng thời để tối đa hóa hiệu suất. Các CPU này xử lý các lệnh trong một đường ống thông qua một số giai đoạn: (1) tìm nạp, (2) giải mã, (3) chương trình / thực thi và (4) tìm nạp.

Cuộc tấn công dựa trên việc đánh giá mức độ xảy ra tranh chấp (mức độ tranh chấp) trong các hàng đợi của bộ lập lịch khác nhau và được thực hiện thông qua việc đo độ trễ khi bắt đầu các hoạt động kiểm tra được thực hiện trong một luồng SMT khác trên cùng một CPU vật lý. Để phân tích nội dung, phương pháp Prime + Probe đã được sử dụng, bao gồm việc lấp đầy hàng đợi bằng một tập hợp các giá trị tham chiếu và xác định các thay đổi bằng cách đo thời gian truy cập vào chúng tại thời điểm tải lại.

Giai đoạn chương trình / thực thi có thể xử lý các lệnh không theo thứ tự để tối đa hóa mức độ song song của lệnh. Chúng tôi mô tả ngắn gọn từng giai đoạn sau:

-Tìm kiếm. CPU sẽ tìm kiếm lệnh tiếp theo để thực thi từ bộ đệm L1i. 
-Mã mã. Để cho phép thực thi hiệu quả, các lệnh thu được (hoạt động macro) được giải mã thành một hoặc nhiều vi hoạt động đơn giản hơn (µops) và được đặt trong hàng đợi µop. Các µops này được đưa vào chương trình phụ trợ, nơi chúng được lên lịch và thực thi.
- Lên lịch / Chạy. (Các) bộ lập lịch theo dõi các µops nào đã sẵn sàng để thực thi (có sẵn các đầu vào) và lập lịch động (không theo thứ tự) cho các đơn vị thực thi có sẵn. Một lõi CPU có nhiều đơn vị thực thi và có thể có nhiều đơn vị số học và logic (ALU), đơn vị thực thi nhánh (BRU), đơn vị tạo địa chỉ (AGU).

Trong quá trình thử nghiệm, các nhà nghiên cứu đã có thể tạo lại hoàn toàn khóa RSA riêng tư 4096 bit được sử dụng để tạo chữ ký điện tử bằng cách sử dụng thư viện mật mã mbedTLS 3.0, thư viện này sử dụng thuật toán Montgomery để nâng một số lên mô-đun công suất. 50.500 dấu vết là cần thiết để xác định chìa khóa.

Tổng thời gian tấn công diễn ra trong 38 phút. Các biến thể tấn công cung cấp sự rò rỉ giữa các quy trình khác nhau và các máy ảo được điều khiển bởi KVM hypervisor đã được chứng minh. Nó cũng chỉ ra rằng phương pháp này có thể được sử dụng để điều phối việc truyền dữ liệu bí mật giữa các máy ảo với tốc độ 0,89 Mbit / s và giữa các quá trình với tốc độ 2,70 Mbit / s với tỷ lệ lỗi nhỏ hơn 0,8%.

Lõi CPU được chia thành nhiều lõi logic, hoặc luồng, thực hiện các luồng lệnh độc lập nhưng chia sẻ tài nguyên như bộ đệm L1i. µops của các luồng này cũng chia sẻ động các đơn vị thực thi để cho phép tổng mức sử dụng cao hơn. Phân vùng của các phần khác nhau của hạt nhân.
Nó được thực hiện thông qua trao đổi cạnh tranh. Kiến trúc AMD Zen cho phép hai luồng
mỗi lõi. Các luồng này có thể từ một chương trình hoặc từ các chương trình khác nhau, do hệ điều hành quản lý.

Bộ xử lý Intel không nhạy cảm tấn công bởi vì chúng sử dụng một hàng đợi lập lịch duy nhất, trong khi các bộ xử lý AMD dễ bị tấn công sử dụng các hàng đợi riêng biệt cho từng đơn vị thực thi.

Là một giải pháp để chặn rò rỉ thông tin, AMD khuyến nghị nhà phát triển đó sử dụng các thuật toán luôn thực hiện các phép tính toán học trong thời gian không đổi, bất kể bản chất của dữ liệu đang được xử lý như thế nào và cũng ngăn chặn việc giả mạo dựa trên dữ liệu bí mật.

Cuối cùng, nếu bạn quan tâm có thể biết thêm về nó, bạn có thể tham khảo chi tiết tại mục liên kết tiếp theo.


Để 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.