Phần mềm bảo vệ LVI của Google cho thấy hiệu suất gấp 14 lần

Cầu Zola từ Google đề nghị đối với bộ trình biên dịch LLVM, một bản vá có triển khai tính năng bảo vệ SESES (Ngăn chặn hiệu ứng phụ thực thi suy đoán), giúp chặn các cuộc tấn công vào cơ chế thực thi suy đoán trong CPU Intel, chẳng hạn như LVI. Phương pháp bảo vệ được triển khai ở cấp độ trình biên dịch và dựa trên việc thêm các hướng dẫn của trình biên dịch khi tạo mã máy. LFENCE, được chèn trước mỗi lệnh đọc hoặc ghi bộ nhớ, cũng như trước lệnh nhánh đầu tiên trong nhóm lệnh kết thúc khối.

Lệnh LFENCE chờ tất cả các lần đọc bộ nhớ trước đó để thực hiện cam kết và vô hiệu hóa quyền ưu tiên của các hướng dẫn tiếp theo sau LFENCE cho đến khi quá trình cam kết hoàn tất. Việc sử dụng LFENCE dẫn đến giảm hiệu suất đáng kể, do đó, biện pháp bảo vệ được đề xuất sử dụng trong các trường hợp cực đoan đối với mã đặc biệt quan trọng. Ngoài khả năng bảo vệ hoàn toàn, bản vá còn cung cấp ba cờ cho phép bạn vô hiệu hóa có chọn lọc các mức bảo vệ nhất định để giảm tác động tiêu cực đến hiệu suất.

Trong các thử nghiệm được tiến hành, việc sử dụng tính năng bảo vệ SESES cho gói BoringSSL đã khiến số lượng thao tác mỗi giây được thư viện thực hiện giảm 14 lần - hiệu suất của phiên bản thư viện được bảo vệ trung bình chỉ bằng 7.1% so với phiên bản không được bảo vệ (biến thể tùy theo thử nghiệm từ 4% đến 23%).

Để so sánh đề xuất Trước đây, đối với GNU Assembler, cơ chế thực hiện thay thế LFENCE sau mỗi thao tác tải bộ nhớ và trước một số lệnh nhánh cho thấy hiệu suất giảm khoảng 5 lần (22% mã không được bảo vệ). Phương pháp bảo vệ cũng đề xuất и thực hiện bởi các kỹ sư Intel, nhưng kết quả thử nghiệm hiệu năng của nó vẫn chưa được công bố. Ban đầu, các nhà nghiên cứu xác định được cuộc tấn công LVI đã dự đoán hiệu suất sẽ giảm từ 2 đến 19 lần khi áp dụng biện pháp bảo vệ hoàn toàn.

Nguồn: opennet.ru

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