Trong số hai lỗ hổng được phát hiện hồi tháng Một, về mặt lý thuyết, Spectre có thể cho phép hacker truy cập vào các dữ liệu nhạy cảm thông qua một trang web đã bị “xâm nhập”, yêu cầu một cách tiếp cận khác trong việc render các trang web trên trình duyệt.
Trang Digital Trends cho hay, một phần của tốc độ trên vi xử lý dựa trên khả năng dự đoán con đường (path) nhanh nhất đi đến kết quả cuối cùng của tác vụ hiện tại. Nó thử nghiệm kết quả bằng cách sử dụng vô số path “if/then”, tải dữ liệu vào bộ nhớ trên chip (nói cách khác là bộ nhớ đệm cache). Vấn đề trong Spectre chính là cho tất cả những path này không thực hiện được, dữ liệu vẫn còn được lưu trong bộ nhớ đệm và có thể được thấy nhờ vào các mức độ quyền, quy trình và nguồn gốc trang web.
Dựa vào lượng dữ liệu còn lại này, kẻ tấn công có thể thêm các đoạn mã JavaScript chạy trong một vòng lặp và cuối cùng là có thể truy cập vào các thông tin nhạy cảm “ngoài giới hạn”. Đã có những cách giải quyết, thế nhưng chúng làm giảm hiệu năng của vi xử lý nghiêm trọng. Cũng có những lựa chọn thay thế, nhưng nó yêu cầu đến sự hợp tác giữa các nhà phát triển trình duyệt.
Bắt tay với nhau để đảm bảo sự an toàn cho mạng lưới web
Phương pháp thay thế yêu cầu thay đổi cách render một trang web trên những trình duyệt web, và đây là điều mà các nhà phát triển trình duyệt cạnh tranh phải “bắt tay nhau” để giải quyết vấn đề. Ví dụ, một trang web thường bao gồm các phần khác nhau từ nhiều nguồn khác nhau và sau đó sẽ render ra một trang web duy nhất. Nhưng cũng có thể có một nguồn “nguy hiểm” nằm trong “hỗn hợp” chứa trong một phần tử nào đó, có thể khai thác lỗ hổng Spectre bằng cách sử dụng “gadget” (tiện ích). Những gadget này có thể đọc dữ liệu được tạo ra từ nguồn “an toàn”.
Lần đầu sửa lỗi, Google đã tắt tính năng có tên là SharedArrayBuffer có trên Chrome. Thế nên, hacker không thể theo dõi thời gian nào di chuyển dữ liệu từ bộ nhớ đệm của vi xử lý đến bộ nhớ hệ thống. Palmer cho biết rằng phương pháp này là con đường dễ nhất để khai thác.
Một “sửa lỗi” khác để tắt sự suy đoán của vi xử lý trên quy mô nhỏ và thay đổi mã chính là biên dịch để chống lại các gadget suy đoán. Điều này không hẳn sẽ bảo vệ 100%, tuy nhiên, nhóm phát triển của Google sẽ phát triển các bản sửa lỗi dài hạn.
Cách ly trang web là một công cụ hữu hiệu khác để chống lại Spectre. Về cơ bản, nó sẽ cách ly “cái tốt” từ nguồn “xấu” bằng cách chỉ định mỗi nguồn với quá trình render của riêng nó. Thế nên, các nguồn sẽ được tách việc với nhau và được bảo vệ chống lại bất cứ nguồn nào “nguy hiểm”. Nguồn nguy hiểm sẽ chỉ có thể đọc được dữ liệu của chính nó.
Đáng tiếc, cách ly trang web và thành phần chặn đọc chéo các nguồn đi kèm sẽ sử dụng ít nhất là 10% bộ nhớ hệ thống.
Minh Hùng