Rò rỉ dữ liệu qua bus vòng CPU Intel

Một nhóm các nhà nghiên cứu từ Đại học Illinois đã phát triển một kỹ thuật tấn công kênh bên mới nhằm thao túng rò rỉ thông tin thông qua Ring Interconnect của bộ xử lý Intel. Cuộc tấn công cho phép bạn đánh dấu thông tin sử dụng bộ nhớ trong một ứng dụng khác và theo dõi thông tin về thời gian gõ phím. Các nhà nghiên cứu đã công bố các công cụ để thực hiện các phép đo liên quan và một số cách khai thác nguyên mẫu.

Ba khai thác đã được đề xuất sẽ cho phép:

  • Khôi phục từng bit của khóa mã hóa khi sử dụng triển khai RSA và EdDSA dễ bị tấn công kênh bên (nếu độ trễ tính toán phụ thuộc vào dữ liệu đang được xử lý). Ví dụ, việc rò rỉ các bit riêng lẻ với thông tin về vectơ khởi tạo (nonce) của EdDSA là đủ để sử dụng các cuộc tấn công nhằm khôi phục tuần tự toàn bộ khóa riêng. Cuộc tấn công rất khó thực hiện trong thực tế và có thể được thực hiện với số lượng lớn người đặt trước. Ví dụ: hoạt động thành công được hiển thị khi SMT (HyperThreading) bị tắt và bộ đệm LLC được phân đoạn giữa các lõi CPU.
  • Xác định các tham số về độ trễ giữa các lần nhấn phím. Độ trễ phụ thuộc vào vị trí của các phím và cho phép, thông qua phân tích thống kê, tạo lại dữ liệu được nhập từ bàn phím với một xác suất nhất định (ví dụ: hầu hết mọi người thường gõ “s” sau “a” nhanh hơn nhiều so với “g” sau "S").
  • Tổ chức kênh liên lạc ẩn để truyền dữ liệu giữa các tiến trình với tốc độ khoảng 4 megabit/giây, không sử dụng bộ nhớ dùng chung, bộ đệm bộ xử lý cũng như cấu trúc bộ xử lý và tài nguyên dành riêng cho lõi CPU. Cần lưu ý rằng phương pháp tạo kênh bí mật được đề xuất rất khó bị chặn bằng các phương pháp bảo vệ hiện có trước các cuộc tấn công kênh bên.

Việc khai thác không yêu cầu đặc quyền nâng cao và có thể được sử dụng bởi người dùng thông thường, không có đặc quyền. Cần lưu ý rằng cuộc tấn công có thể được điều chỉnh để tổ chức rò rỉ dữ liệu giữa các máy ảo, nhưng vấn đề này nằm ngoài phạm vi nghiên cứu và thử nghiệm hệ thống ảo hóa đã không được thực hiện. Mã đề xuất đã được thử nghiệm trên CPU Intel i7-9700 trong Ubuntu 16.04. Nhìn chung, phương thức tấn công đã được thử nghiệm trên các bộ xử lý máy tính để bàn thuộc dòng Intel Coffee Lake và Skylake, đồng thời cũng có khả năng áp dụng cho các bộ xử lý máy chủ Xeon thuộc dòng Broadwell.

Công nghệ Ring Interconnect xuất hiện trong các bộ xử lý dựa trên vi kiến ​​trúc Sandy Bridge và bao gồm một số bus vòng lặp được sử dụng để kết nối các lõi máy tính và đồ họa, cầu nối máy chủ và bộ đệm. Bản chất của phương pháp tấn công là do giới hạn băng thông bus vòng, các hoạt động bộ nhớ trong một tiến trình sẽ trì hoãn việc truy cập vào bộ nhớ của một tiến trình khác. Bằng cách xác định chi tiết triển khai thông qua kỹ thuật đảo ngược, kẻ tấn công có thể tạo ra một tải gây ra sự chậm trễ truy cập bộ nhớ trong một quy trình khác và sử dụng những độ trễ này làm kênh phụ để lấy thông tin.

Các cuộc tấn công vào bus CPU bên trong bị cản trở do thiếu thông tin về kiến ​​trúc và phương pháp vận hành của bus, cũng như mức độ nhiễu cao, gây khó khăn cho việc tách dữ liệu hữu ích. Có thể hiểu được nguyên lý hoạt động của bus thông qua kỹ thuật đảo ngược các giao thức được sử dụng khi truyền dữ liệu qua bus. Một mô hình phân loại dữ liệu dựa trên phương pháp học máy đã được sử dụng để tách thông tin hữu ích khỏi nhiễu. Mô hình đề xuất cho phép tổ chức giám sát độ trễ trong quá trình tính toán trong một quy trình cụ thể, trong điều kiện một số quy trình truy cập đồng thời vào bộ nhớ và một phần dữ liệu nhất định được trả về từ bộ đệm của bộ xử lý.

Ngoài ra, chúng tôi có thể lưu ý việc xác định dấu vết của việc sử dụng cách khai thác đối với biến thể đầu tiên của lỗ hổng Spectre (CVE-2017-5753) trong các cuộc tấn công vào hệ thống Linux. Việc khai thác sử dụng sự rò rỉ thông tin kênh bên để tìm siêu khối trong bộ nhớ, xác định inode của tệp /etc/shadow và tính toán địa chỉ trang bộ nhớ để truy xuất tệp từ bộ đệm trên đĩa.

Nguồn: opennet.ru

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