Một loại lỗ hổng mới trong bộ xử lý Intel đã được giới thiệu

Intel được phát hành thông tin về mới lớp dễ bị tổn thương trong bộ xử lý của họ - MDS (Lấy mẫu dữ liệu vi kiến ​​trúc). Giống như các cuộc tấn công Spectre trước đây, các sự cố mới có thể dẫn đến rò rỉ dữ liệu riêng tư từ hệ điều hành, máy ảo và các quy trình khác. Người ta cáo buộc rằng các vấn đề này lần đầu tiên được nhân viên và đối tác của Intel xác định trong một cuộc kiểm toán nội bộ, sau đó các nhà nghiên cứu độc lập đã cung cấp thông tin về các vấn đề tương tự cho Intel. Bộ xử lý AMD và ARM không bị ảnh hưởng bởi sự cố này.

Dựa trên các vấn đề được xác định bởi các nhà nghiên cứu từ Đại học Kỹ thuật Graz (Áo) đã phát triển Một số cuộc tấn công kênh bên thực tế:

  • ZombieLoad (PDF) - cho phép bạn trích xuất thông tin bí mật từ các quy trình khác, hệ điều hành, máy ảo và các vùng được bảo vệ (TEE, Môi trường thực thi đáng tin cậy). Ví dụ: khả năng xác định lịch sử mở các trang trong trình duyệt Tor chạy trên một máy ảo khác đã được chứng minh, cũng như xác định khóa truy cập và mật khẩu được sử dụng trong các ứng dụng;


  • RIDL (PDF) - cho phép rò rỉ thông tin giữa các khu vực biệt lập khác nhau trong bộ xử lý Intel, chẳng hạn như bộ đệm lấp đầy, bộ đệm lưu trữ và cổng tải. Ví dụ về các cuộc tấn công được hiển thị để tổ chức rò rỉ từ các quy trình khác, hệ điều hành, máy ảo và các vùng được bảo vệ. Ví dụ: nó cho thấy cách tìm ra nội dung của hàm băm mật khẩu gốc từ /etc/shadow trong các lần xác thực định kỳ (cuộc tấn công mất 24 giờ);

    Ngoài ra, một ví dụ về cuộc tấn công sử dụng JavaScript và WebAssembly được hiển thị khi mở một trang độc hại trong công cụ SpiderMonkey (trong các trình duyệt chính thức hiện đại, cuộc tấn công như vậy khó xảy ra do độ chính xác của bộ đếm thời gian và các biện pháp bảo vệ chống lại Spectre bị hạn chế);

  • Fallout (PDF) - cho phép đọc dữ liệu được hệ điều hành ghi gần đây và xác định bố cục bộ nhớ hệ điều hành để đơn giản hóa các cuộc tấn công khác;
  • Chuyển tiếp từ cửa hàng tới rò rỉ — khai thác tối ưu hóa CPU để làm việc với bộ đệm lưu trữ và có thể được sử dụng để bỏ qua cơ chế ngẫu nhiên hóa không gian địa chỉ kernel (KASLR), để giám sát trạng thái của hệ điều hành hoặc để cơ quan rò rỉ kết hợp với các tiện ích dựa trên phương pháp Spectre.

Tiết lộ lỗ hổng:

  • CVE-2018-12126 - MSBDS (Lấy mẫu dữ liệu bộ đệm lưu trữ vi kiến ​​trúc), khôi phục nội dung của bộ đệm lưu trữ. Được sử dụng trong cuộc tấn công Fallout. Mức độ nguy hiểm được xác định là 6.5 điểm (CVSS);
  • CVE-2018-12127 - MLPDS (Lấy mẫu dữ liệu cổng tải vi kiến ​​trúc), khôi phục nội dung cổng tải. Được sử dụng trong cuộc tấn công RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Lấy mẫu dữ liệu bộ đệm điền vi kiến ​​trúc), khôi phục nội dung bộ đệm điền. Được sử dụng trong các cuộc tấn công ZombieLoad và RIDL. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Lấy mẫu dữ liệu vi kiến ​​trúc Bộ nhớ không thể lưu vào bộ nhớ đệm), khôi phục nội dung bộ nhớ không thể lưu vào bộ nhớ đệm. Được sử dụng trong cuộc tấn công RIDL. CVSS 3.8.

tim đã xác định các vấn đề về khả năng áp dụng các phương pháp phân tích kênh bên cho dữ liệu trong các cấu trúc vi kiến ​​trúc mà ứng dụng không có quyền truy cập trực tiếp. Chúng ta đang nói về các cấu trúc cấp thấp như bộ đệm điền (Bộ đệm điền dòng), bộ đệm lưu trữ (Bộ đệm lưu trữ) và cổng tải (Cổng tải), là các khối xây dựng nhỏ hơn bộ đệm cấp một (L1D), bộ đệm tải dữ liệu ( RDCL ) hoặc L1TF (L1 Terminal Fault) và do đó bao gồm ít thông tin hơn và được cập nhật chuyên sâu hơn.

Một loại lỗ hổng mới trong bộ xử lý Intel đã được giới thiệu

Các cuộc tấn công kênh bên vào các cấu trúc vi kiến ​​trúc khó thực hiện hơn nhiều so với các phương pháp khôi phục nội dung bộ đệm và yêu cầu theo dõi và phân tích lượng dữ liệu đáng kể để xác định kết nối của chúng với các địa chỉ nhất định trong bộ nhớ (về bản chất, kẻ tấn công không thể cố tình chặn một số dữ liệu nhất định). , nhưng có thể đã đến lúc tích lũy các rò rỉ và áp dụng các phương pháp thống kê để tái tạo lại một số loại dữ liệu nhất định). Ngoài ra, cuộc tấn công chỉ ảnh hưởng đến dữ liệu trên cùng lõi CPU vật lý với mã của kẻ tấn công.

Các phương pháp được đề xuất để xác định nội dung của cấu trúc vi kiến ​​trúc dựa trên thực tế là các cấu trúc này được sử dụng trong quá trình xử lý suy đoán các trường hợp ngoại lệ (lỗi) hoặc các hoạt động tải và lưu trữ.
Trong quá trình thực hiện suy đoán, nội dung của cấu trúc bên trong được chuyển hướng đến các thanh ghi hoặc bộ đệm để xử lý. Các hoạt động suy đoán không hoàn thành và kết quả bị loại bỏ, nhưng nội dung được chuyển hướng có thể được xác định bằng kỹ thuật phân tích bộ đệm kênh bên.

Các cổng tải được bộ xử lý sử dụng để nhận dữ liệu từ bộ nhớ hoặc hệ thống con I/O và cung cấp thông tin nhận được cho các thanh ghi CPU. Do tính năng triển khai, dữ liệu từ các hoạt động tải xuống cũ vẫn còn trong các cổng cho đến khi chúng bị ghi đè bởi dữ liệu mới, điều này giúp xác định gián tiếp trạng thái của dữ liệu trong cổng tải xuống bằng cách thao tác các ngoại lệ (lỗi) và SSE/AVX/ Hướng dẫn AVX-512 tải dữ liệu hơn 64 bit. Trong những điều kiện như vậy, các hoạt động tải sẽ hiển thị một cách suy đoán các giá trị dữ liệu cũ từ cấu trúc bên trong đến các hoạt động phụ thuộc. Theo cách tương tự, rò rỉ được tổ chức thông qua bộ đệm lưu trữ, được sử dụng để tăng tốc độ ghi vào bộ đệm CPU và bao gồm một bảng địa chỉ, giá trị và cờ, cũng như thông qua bộ đệm điền, chứa dữ liệu chưa có trong bộ đệm L1 (cache-miss), hiện đang tải từ bộ đệm của các cấp độ khác.

Một loại lỗ hổng mới trong bộ xử lý Intel đã được giới thiệu

vấn đề ảnh hưởng Các mẫu vi xử lý Intel sản xuất từ ​​năm 2011 (bắt đầu từ thế hệ thứ 6). Trong trường hợp này, các lỗ hổng phần cứng bị chặn bắt đầu từ một số mẫu Intel Core thế hệ thứ 8 và thứ 9 cũng như Intel Xeon Scalable thế hệ thứ 2 (bạn có thể kiểm tra bằng cách sử dụng bit ARCH_CAP_MDS_NO trong IA32_ARCH_CAPABILITIES MSR). Các lỗ hổng cũng đã có sẵn loại bỏ ở cấp độ phần sụn, vi mã và hệ điều hành. Intel ước tính mức giảm hiệu suất sau khi kích hoạt bản vá cho hầu hết người dùng ít hơn 3%. Khi công nghệ Siêu phân luồng bị vô hiệu hóa, mức độ suy giảm hiệu suất có thể lên tới 9% trong thử nghiệm SPECint_rate_base, lên tới 11% khi tính toán số nguyên hoạt động và lên tới 19% khi chạy các ứng dụng Java phía máy chủ (khi bật HT, gần như có không suy giảm hiệu suất). Các bản vá ít ảnh hưởng đến hiệu suất I/O.

Nhân Linux bảo vệ chống lại MDS thêm trong ngày hôm nay cập nhật 5.1.2, 5.0.16,
4.19.43, 4.14.119 và 4.9.176. Phương pháp bảo vệ đang xây dựng về việc xóa nội dung của bộ đệm vi kiến ​​trúc tại thời điểm quay trở lại từ kernel sang không gian người dùng hoặc khi chuyển quyền điều khiển sang hệ thống khách mà lệnh VERW được sử dụng. Để bảo vệ hoạt động, nó cần hỗ trợ chế độ MD_CLEAR, được triển khai trong bản cập nhật vi mã mới nhất. Để bảo vệ hoàn toàn, bạn cũng nên tắt Hyper Threading. Để kiểm tra mức độ phơi nhiễm của hệ thống với các lỗ hổng trong nhân Linux thêm trình xử lý "/sys/devices/system/cpu/vulnerabilities/mds". Để kiểm soát việc đưa vào các chế độ chặn lỗ hổng khác nhau, tham số “mds=” đã được thêm vào kernel, tham số này có thể lấy các giá trị “full”, “full,nosmt” (tắt Hyper-Threads), “vmwerv” và "tắt".

Các bản cập nhật gói đã được phát hành cho RHEL и Ubuntu, nhưng hiện tại vẫn chưa có sẵn Debian, Fedora и SUSE.
Một bản sửa lỗi để chặn rò rỉ dữ liệu từ máy ảo hình thành cho trình ảo hóa Xen. Để bảo vệ các hệ thống ảo hóa phát hành lệnh L1D_FLUSH trước khi chuyển quyền điều khiển sang một máy ảo khác và để bảo vệ các vùng Intel SGX, chỉ cần cập nhật vi mã là đủ.

Nguồn: opennet.ru

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