Lỗ hổng trong AMD SEV cho phép xác định khóa mã hóa

Các nhà phát triển từ nhóm Google Cloud tiết lộ lỗ hổng (CVE-2019-9836) trong việc triển khai công nghệ AMD SEV (Secure Encrypted Virtualization), cho phép xâm phạm dữ liệu được bảo vệ bằng công nghệ này. AMD SEV ở cấp độ phần cứng cung cấp mã hóa minh bạch cho bộ nhớ máy ảo, trong đó chỉ hệ thống khách hiện tại mới có quyền truy cập vào dữ liệu được giải mã, còn các máy ảo khác và trình ảo hóa sẽ nhận được bộ dữ liệu được mã hóa khi cố gắng truy cập vào bộ nhớ này.

Sự cố được xác định giúp có thể khôi phục hoàn toàn nội dung của khóa PDH riêng, được xử lý ở cấp bộ xử lý PSP được bảo vệ riêng biệt (Bộ xử lý bảo mật AMD), không thể truy cập được vào hệ điều hành chính.
Có khóa PDH, kẻ tấn công sau đó có thể khôi phục khóa phiên và chuỗi bí mật được chỉ định khi tạo máy ảo và giành quyền truy cập vào dữ liệu được mã hóa.

Lỗ hổng này xảy ra do sai sót trong quá trình triển khai mã hóa đường cong elip (ECC), cho phép tấn công để khôi phục các thông số đường cong. Trong quá trình thực thi lệnh khởi động máy ảo được bảo vệ, kẻ tấn công có thể gửi các tham số đường cong không tuân thủ các tham số được NIST khuyến nghị, dẫn đến việc sử dụng các giá trị điểm thứ tự thấp trong các phép nhân với dữ liệu khóa riêng.

Bảo mật trực tiếp giao thức ECDH phụ thuộc vào từ đặt hàng điểm bắt đầu được tạo của đường cong, logarit rời rạc của nó là một nhiệm vụ rất khó khăn. Trong một trong các bước khởi tạo của môi trường AMD SEV, các phép tính khóa riêng sẽ sử dụng các tham số nhận được từ người dùng. Về cơ bản, thao tác này là nhân hai điểm, một trong số đó tương ứng với khóa riêng. Nếu điểm thứ hai đề cập đến các số nguyên tố bậc thấp thì kẻ tấn công có thể xác định các tham số của điểm đầu tiên (các bit của mô đun được sử dụng trong phép toán modulo) bằng cách tìm kiếm trong tất cả các giá trị có thể. Để xác định khóa riêng, các đoạn số nguyên tố đã chọn có thể được ghép lại với nhau bằng cách sử dụng Định lý phần dư Trung Hoa.

Sự cố này ảnh hưởng đến nền tảng máy chủ AMD EPYC sử dụng firmware SEV cho đến phiên bản 0.17 build 11. AMD đã có sẵn. được phát hành Cập nhật chương trình cơ sở bổ sung tính năng chặn các điểm không tuân theo đường cong NIST. Đồng thời, các chứng chỉ được tạo trước đó cho khóa PDH vẫn hợp lệ, cho phép kẻ tấn công thực hiện một cuộc tấn công để di chuyển các máy ảo từ các môi trường được bảo vệ khỏi lỗ hổng sang môi trường dễ gặp sự cố. Khả năng thực hiện một cuộc tấn công nhằm khôi phục phiên bản firmware về bản phát hành cũ dễ bị tổn thương cũng được đề cập, nhưng khả năng này vẫn chưa được xác nhận.

Nguồn: opennet.ru

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