Các nhà nghiên cứu bảo mật của Đức tuyên bố đã tìm thấy một cuộc tấn công thực tế mới chống lại các máy ảo (Virtual machine-VM) được bảo vệ bằng công nghệ mã hóa trong máy ảo SEV của AMD, có thể cho phép kẻ tấn công khôi phục dữ liệu bộ nhớ thô từ máy khách.
Tổng quan về khái niệm trích xuất bộ nhớ trên nền tảng mã hóa bộ nhớ với các máy ảo khác nhau
Công nghệ Bảo mật được mã hóa ảo hóa (Secure Encrypted Virtualization-SEV) của AMD đi kèm với bộ xử lý EPYC, là một tính năng phần cứng dùng để mã hóa bộ nhớ của mỗi máy ảo theo cách mà chỉ có bản thân khách mới có thể truy cập dữ liệu, thông qua đó bảo vệ bộ nhớ khỏi các máy ảo/container khác và cả hypervisor không đáng tin cậy.
Được phát hiện bởi các nhà nghiên cứu từ Viện Fraunhofer về ứng dụng và an ninh tích hợp ở Munich, hình thức tấn công page-fault side channel attack-được gọi là SEVered, lợi dụng sự thiếu bảo vệ tính toàn vẹn của mã hóa bộ nhớ chính để cho phép một hypervisor độc hại trích xuất toàn bộ nội dung của bộ nhớ chính dưới dạng plaintext từ các máy ảo được mã hóa SEV.
Trong các thử nghiệm của họ, nhóm nghiên cứu đã có thể trích xuất toàn bộ dữ liệu bộ nhớ 2GB của máy chủ thử nghiệm, cũng bao gồm dữ liệu từ một máy ảo khách khác.
Trong quá trình thiết lập thử nghiệm, các nhà nghiên cứu đã sử dụng một hệ thống dựa trên Linux được hỗ trợ bởi bộ vi xử lý AMD Epyc 7251 với SEV, chạy các dịch vụ web — máy chủ web Apache và Nginx — cũng như máy chủ SSH, máy chủ web OpenSSH trong các máy ảo riêng biệt.
Các nhà nghiên cứu đã sử dụng Kernel-based Virtual Machine-KVM (máy ảo dựa trên Kernel của hệ thống ) như là HV độc hại và sửa đổi nó để quan sát khi phần mềm trong một khách truy cập vào RAM.
Trong khi các máy chủ web Apache và Nginx trích xuất dữ liệu bộ nhớ cao (với tốc độ 79,4 KB/giây), OpenSSH có thời gian phản hồi cao hơn, làm giảm tốc độ trích xuất chỉ còn 41,6 KB/giây.
“Các đánh giá của chúng tôi cho thấy rằng SEVered là khả thi trong thực tế và nó có thể được sử dụng để trích xuất toàn bộ bộ nhớ từ một máy ảo được bảo vệ của SEV trong một thời gian hợp lý”. Các nhà nghiên cứu cho biết: “Các kết quả đặc biệt cho thấy các khía cạnh quan trọng, chẳng hạn như tạp nhiễu trong quá trình nhận dạng và tài nguyên được quản lý bằng SEVered.”
Các nhà nghiên cứu cũng đề xuất một vài bước mà AMD có thể thực hiện để cô lập quá trình chuyển đổi giữa máy chủ và Guest Physical Address (GPA) để giảm thiểu sự tấn công SEVered.
Giải pháp tốt nhất là cung cấp “tính toàn vẹn và bảo vệ mới của các trang khách bổ sung cho mã hóa, như được thực hiện trong Intel SGX. Tuy nhiên, điều này có thể đi kèm với chi phí silicon cao để bảo vệ toàn bộ máy ảo so với các vùng SG”
Tuy nhiên, kết hợp chặt chẽ hàm hash của nội dung trang với GPA do khách chỉ định có thể là giải pháp hiệu quả và chi phí thấp mà vẫn đảm bảo “các trang không thể hoán đổi dễ dàng bằng cách thay đổi GPA thành bản đồ HPA”.
Nghiên cứu được thực hiện bởi bốn nhà nghiên cứu Fraunhofer AISEC – Mathias Morbitzer, Manuel Huber, Julian Horsch và Sascha Wessel – đã được xuất bản trên giấy [PDF] có tiêu đề, “SEVered: Subverting Virtual Machine Encryption”.