Chia sẻ đam mê công nghệ
Phần mềm

Tắt bản vá Spectre trên Windows: CPU đời cũ mới có thể thấy khác biệt

Windows vẫn bật các biện pháp giảm thiểu Spectre và Meltdown. Tắt chúng có thể giúp một số CPU cũ trong tác vụ phụ thuộc nhân hệ điều hành, nhưng đổi lại là giảm lớp bảo vệ và gần như không đem thêm tốc độ cho máy đời mới.

Tóm tắt nhanh

  • Windows vẫn bật các biện pháp giảm thiểu Spectre và Meltdown; chúng có thể làm chậm một số tác vụ thường xuyên gọi vào nhân hệ điều hành.
  • Ảnh hưởng hiệu năng rõ hơn trên CPU cũ, đặc biệt khi công việc liên quan đến lưu trữ hoặc biên dịch; tải chủ yếu chạy trên lõi CPU có thể ít bị tác động.
  • Tắt bảo vệ bằng Registry đồng nghĩa chấp nhận rủi ro bảo mật. Trên CPU Ryzen và Intel đời mới, lợi ích hiệu năng thường không đáng kể.

Windows vẫn giữ các biện pháp giảm thiểu Spectre và Meltdown ở trạng thái bật mặc định, dù có thể vô hiệu hóa một phần qua Registry. Thay đổi này đôi khi giúp CPU cũ giảm phần chi phí xử lý phát sinh khi ứng dụng chuyển sang nhân hệ điều hành, nhưng trên máy mới lợi ích thường nhỏ đến mức khó đo được.

Phần chậm lại xuất hiện khi ứng dụng gọi vào hệ điều hành

Spectre khai thác cơ chế thực thi suy đoán: bộ xử lý dự đoán nhánh lệnh để chạy trước, rồi bỏ kết quả nếu dự đoán sai. Dấu vết còn lại trong bộ nhớ đệm có thể bị lợi dụng để suy ra dữ liệu nhạy cảm. Với Spectre variant 2, kẻ tấn công tìm cách tác động bộ dự đoán nhánh để hướng quá trình suy đoán tới vùng mã có thông tin cần bảo vệ.

Biện pháp của Windows hạn chế kiểu suy đoán xảy ra ở ranh giới giữa ứng dụng và nhân hệ điều hành. Vì thế đây không hẳn là một nút “giảm xung” áp dụng đồng đều cho mọi phần mềm: phần chi phí phụ thuộc vào mức độ một tác vụ phải giao tiếp với hệ điều hành. Công việc liên quan đến lưu trữ hoặc biên dịch có thể chịu ảnh hưởng nhiều hơn, còn tác vụ chủ yếu chạy trên lõi CPU và ít gọi nhân có thể hầu như không nhận thấy khác biệt.

CPU cũ có thể được lợi, nhưng không phải mọi tác vụ đều nhanh hơn

Intel Core i7-6700K trên bo mạch chủ
Intel Core i7-6700K minh họa thế hệ Skylake cũ, nhóm chip có thể chịu ảnh hưởng hiệu năng lớn hơn từ các biện pháp giảm thiểu ban đầu. Ảnh: XDA Developers

Trong thử nghiệm Microsoft công bố năm 2018, các máy Windows 10 dùng Intel Skylake hoặc mới hơn ghi nhận mức giảm hiệu năng một chữ số khi bật các biện pháp giảm thiểu. Một số phép thử trên Haswell và các thế hệ cũ hơn cho thấy mức giảm lớn hơn. Đây là kết quả theo các cấu hình và phép thử của Microsoft, không phải cam kết rằng mọi máy cũ đều sẽ tăng tốc tương ứng khi tắt bảo vệ.

Microsoft cũng cho biết Retpoline được bật mặc định trên Windows 10 phiên bản 1809 khi Spectre variant 2 được bật; hãng kỳ vọng kỹ thuật này cải thiện hiệu năng, nhất là trên bộ xử lý cũ. Điều đó khiến lời khuyên chỉnh Registry để “tăng tốc Windows” càng cần xét đúng đời CPU, phiên bản hệ điều hành và loại công việc thay vì áp dụng đại trà.

Giá trị Registry có thể tắt nhiều lớp bảo vệ hơn dự định

Microsoft mô tả FeatureSettingsOverride là một bitmap ghi đè thiết lập mặc định để kiểm soát các biện pháp giảm thiểu bị vô hiệu hóa. Bit 0 liên quan đến Spectre variant 2 (CVE-2017-5715), còn bit 1 liên quan đến Meltdown (CVE-2017-5754); đặt bit tương ứng thành 1 sẽ tắt biện pháp bảo vệ đó.

Vì vậy, giá trị 1 và 3 không tương đương nhau: giá trị 1 tắt giảm thiểu Spectre variant 2, trong khi giá trị 3 thường được chia sẻ trên mạng có thể tắt cả bảo vệ Meltdown. Microsoft ghi rõ các giá trị này trong tài liệu hướng dẫn của hãng. Sai khác nhỏ trong một con số Registry có thể mở rộng phạm vi bảo vệ bị tắt, nên đây không phải tinh chỉnh vô hại để thử theo một hướng dẫn chung.

Máy đời mới thường không đổi tốc độ đáng kể

Bộ xử lý AMD Ryzen 9 5950X
Ryzen 9 5950X là ví dụ về CPU đời mới hơn, trên đó việc tắt giảm thiểu thường khó đem lại mức tăng hiệu năng đo được. Ảnh: XDA Developers

Các CPU mới hơn đã xử lý một số lỗ hổng ở cấp phần cứng và Windows cũng chuyển sang những cách giảm thiểu ít tốn kém hơn, trong đó có Retpoline. Trên Ryzen hoặc Intel đời mới, tắt biện pháp giảm thiểu có thể không đem lại mức tăng hiệu năng đo được. Khi lợi ích không rõ ràng, việc bỏ lớp bảo vệ còn lại khó có cơ sở để xem là tối ưu đáng giá.

Nguy cơ cũng không chỉ nằm trên lý thuyết: các kiểu khai thác suy đoán bộ nhớ đã được nghiên cứu và trình diễn. Điều kiện khai thác cụ thể phụ thuộc vào mã độc có thể chạy trên máy, nhưng đó không phải lý do để coi việc tắt bảo vệ là an toàn mặc định. Máy dùng chơi game cũng không tự động miễn nhiễm với mã độc hay nội dung web nguy hiểm.

Đừng đổi bảo mật lấy vài điểm benchmark khi máy không được lợi

Với máy dùng CPU đời cũ và một khối lượng công việc thực sự bị ảnh hưởng, việc so sánh có kiểm soát trên đúng cấu hình có thể giúp xác định liệu chi phí của các biện pháp giảm thiểu có đáng kể hay không. Còn với máy Ryzen hoặc Intel đời mới, dữ liệu hiện có không cho thấy một lý do thuyết phục để tắt chúng chỉ nhằm kỳ vọng tăng FPS hoặc làm Windows phản hồi nhanh hơn.

Trước khi thay đổi thiết lập, cần phân biệt rõ biện pháp nào bị vô hiệu hóa và chấp nhận rằng đây là lựa chọn giảm bảo vệ của hệ điều hành. Tên gọi “tăng hiệu năng” không nói lên được phần đánh đổi, nhất là khi mức lợi ích phụ thuộc vào CPU và tác vụ, còn giá trị Registry có thể tắt nhiều hơn một lớp bảo vệ.

Nguồn tham khảo: Microsoft Support: KB4073757; Microsoft Support: KB4072698; XDA Developers; Frozen Tweaks

Bài này thế nào?

Hoá đơn của bài này

Tek viết bài này bằng cà phê. Mời Tek một ly nha?

Theo dõi TekCafe: Facebook · YouTube

Bài viết mới nhất