Họ đã phát triển một loạt các cuộc tấn công khôi phục bộ nhớ cache CPU trên các trình duyệt web mà không yêu cầu JavaScript

Một nhóm các nhà nghiên cứu từ một số trường đại học Người Mỹ, người Israel và người Úc đã phát triển ba cuộc tấn công nhằm vào các trình duyệt web cho phép trích xuất thông tin về nội dung của bộ đệm bộ xử lý. Một phương pháp hoạt động trong các trình duyệt không có JavaScript và hai phương pháp còn lại bỏ qua các phương pháp bảo vệ hiện có chống lại các cuộc tấn công thông qua các kênh của bên thứ ba, bao gồm cả các phương pháp được sử dụng trong trình duyệt Tor và DeterFox.

Để phân tích nội dung của bộ đệm trong Tất cả các cuộc tấn công đều sử dụng phương thức "Prime+Probe"Đó liên quan đến việc lấp đầy bộ đệm bằng một tập hợp các giá trị tham chiếu và xác định các thay đổi bằng cách đo thời gian truy cập cho họ khi họ được sạc lại. Để vượt qua các cơ chế bảo mật có trong trình duyệt ngăn chặn việc đo thời gian chính xác, hai phiên bản sẽ sử dụng máy chủ DNS hoặc WebSocket do kẻ tấn công kiểm soát để theo dõi thời gian nhận yêu cầu. Theo một phương án, thời gian phản hồi DNS cố định được sử dụng làm tham chiếu thời gian.

Các phép đo được thực hiện bằng máy chủ DNS bên ngoài hoặc WebSocket, nhờ sử dụng hệ thống phân loại dựa trên máy học, đủ để dự đoán các giá trị với độ chính xác 98% trong kịch bản tối ưu nhất (trung bình 80-90%). Các phương thức tấn công đã được thử nghiệm trên nhiều nền tảng phần cứng khác nhau (Intel, AMD Ryzen, Apple M1, Samsung Exynos) và đã được chứng minh là có tính linh hoạt.

Biến thể đầu tiên của cuộc tấn công DNS Racing sử dụng cách triển khai cổ điển của phương pháp Prime+Probe sử dụng mảng JavaScript. Sự khác biệt nằm ở việc sử dụng bộ hẹn giờ dựa trên DNS bên ngoài và trình xử lý lỗi được kích hoạt khi cố gắng tải hình ảnh từ một miền không tồn tại. Bộ hẹn giờ bên ngoài cho phép các cuộc tấn công Prime+Probe trên các trình duyệt hạn chế hoặc vô hiệu hóa hoàn toàn quyền truy cập của bộ hẹn giờ JavaScript.

Đối với máy chủ DNS được lưu trữ trên cùng một mạng Ethernet, độ chính xác của bộ hẹn giờ được ước tính là khoảng 2 ms, đủ để thực hiện một cuộc tấn công kênh bên (để so sánh: độ chính xác của bộ định thời JavaScript tiêu chuẩn trong trình duyệt Tor có được giảm xuống còn 100 ms). Đối với cuộc tấn công, không cần phải có quyền kiểm soát máy chủ DNS, vì thời gian thực hiện thao tác được chọn sao cho thời gian phản hồi DNS đóng vai trò là tín hiệu hoàn thành sớm việc kiểm tra (tùy thuộc vào việc trình xử lý lỗi được kích hoạt trước hay sau). , kết luận là thao tác xác minh với bộ nhớ đệm đã hoàn tất)…

Cuộc tấn công "String and Sock" thứ hai được thiết kế để vượt qua các kỹ thuật bảo mật hạn chế việc sử dụng mảng JavaScript cấp thấp. Thay vì mảng, String và Sock sử dụng các thao tác với chuỗi rất lớn, kích thước của chuỗi này được chọn sao cho biến bao phủ toàn bộ bộ đệm LLC (bộ đệm cấp cuối cùng).

Tiếp theo, bằng cách sử dụng hàm indexOf(), một chuỗi con nhỏ sẽ được tìm kiếm trong chuỗi, chuỗi này ban đầu không có trong chuỗi gốc, tức là thao tác tìm kiếm dẫn đến việc lặp lại toàn bộ chuỗi. Vì kích thước dòng tương ứng với kích thước của bộ đệm LLC nên việc quét cho phép thực hiện thao tác kiểm tra bộ đệm mà không cần thao tác với mảng. Để đo độ trễ, thay vì DNS, đây là lời kêu gọi đối với máy chủ WebSocket do kẻ tấn công kiểm soát: trước khi bắt đầu và sau khi kết thúc hoạt động tra cứu, các yêu cầu sẽ được gửi lên chuỗi,

Phiên bản thứ ba của cuộc tấn công “CSS PP0” sử dụng HTML và CSS và có thể hoạt động trong các trình duyệt bị tắt JavaScript. Phương thức này trông giống như "String and Sock" nhưng không gắn liền với JavaScript. Cuộc tấn công tạo ra một tập hợp các bộ chọn CSS tìm kiếm theo mặt nạ. Dòng lớn ban đầu lấp đầy bộ đệm được thiết lập bằng cách tạo thẻ div với một tên lớp rất lớn, vàn bên trong là một tập hợp các div khác có mã định danh riêng.

Mỗi một trong số Các div lồng nhau này được tạo kiểu bằng bộ chọn tìm kiếm chuỗi con. Khi hiển thị trang, trước tiên trình duyệt sẽ cố gắng xử lý các div bên trong, dẫn đến tìm kiếm trên một chuỗi lớn. Việc tìm kiếm được thực hiện bằng cách sử dụng một mặt nạ bị thiếu rõ ràng và dẫn đến việc lặp lại toàn bộ chuỗi, sau đó điều kiện "không" được kích hoạt và nỗ lực tải hình nền được thực hiện.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.