SQUIP - tấn công bộ xử lý AMD, dẫn đến rò rỉ dữ liệu qua các kênh của bên thứ ba

Một nhóm cá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ộ chi tiết về một cuộc tấn công kênh phụ mới (CVE-2021-46778) trên hàng đợi của bộ xử lý AMD , được sử dụng để lên 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 bạn xác định dữ liệu được sử dụng trong tính toán trong một quy trình hoặc máy ảo khác hoặc tổ chức một kênh liên lạc ẩn giữa các quy trình hoặc máy ảo cho phép bạn trao đổi dữ liệu bỏ qua cơ chế kiểm soát truy cập hệ thống.

CPU AMD dựa trên vi kiến ​​trúc Zen thế hệ 2000, 5000 và 3000 (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) bị ảnh hưởng khi sử dụng Công nghệ đa luồng đồng thời (SMT). Bộ xử lý Intel không dễ bị tấn công vì chúng sử dụng một hàng đợi của bộ lập lịch duy nhất, trong khi 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 thay thế để ngăn chặn rò rỉ thông tin, AMD khuyến nghị các 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 cố định, bất kể bản chất của dữ liệu được xử lý và cũng tránh phân nhánh dựa trên dữ liệu bí mật.

Cuộc tấn công dựa trên đánh giá về 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 lường độ 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, nghĩa là lấp đầy hàng đợi bằng một bộ 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 khi nạp lại.

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 4096-bit riêng tư được sử dụng để tạo chữ ký số bằng thư viện mật mã mbedTLS 3.0, sử dụng thuật toán Montgomery để nâng một số lên lũy thừa modulo. Phải mất 50500 dấu vết để xác định chìa khóa. Tổng thời gian tấn công mất 38 phút. Các biến thể tấn công được chứng minh là cung cấp rò rỉ giữa các quy trình khác nhau và các máy ảo do trình ảo hóa KVM kiểm soát. Nó cũng chỉ ra rằng phương pháp này có thể được sử dụng để tổ chứ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 quy trình với tốc độ 2.70 Mbit/s với tỷ lệ lỗi nhỏ hơn 0.8%.

Nguồn: opennet.ru

Thêm một lời nhận xét