Một biến thể mới của cuộc tấn công Zombieload vào bộ vi xử lý Intel đã được xác định

Các nhà nghiên cứu từ Đại học Kỹ thuật Graz (Áo) không che đậy thông tin về phương thức tấn công mới thông qua các kênh của bên thứ ba Tải Zombie 2.0 (CVE-2019-11135), 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 tin cậy). Sự cố chỉ ảnh hưởng đến bộ xử lý Intel. Các thành phần để chặn vấn đề đề xuất vào ngày hôm qua cập nhật vi mã.

Sự cố thuộc lớp MDS (Microarchitectural Data Sampling) và là phiên bản hiện đại hóa được phát hành vào tháng 2.0 cuộc tấn công ZombieLoad. ZombieLoad XNUMX, giống như các cuộc tấn công MDS khác, dựa vào việc áp dụng các kỹ thuật phân tích kênh bên vào dữ liệu trong các cấu trúc vi kiến ​​trúc (ví dụ: Line Fill Buffer và Store Buffer), lưu trữ tạm thời dữ liệu được sử dụng trong quá trình thực hiện các hoạt động Load và Store) .

Biến thể tấn công Zombieload mới dựa trên về rò rỉ xảy ra trong quá trình vận hành cơ chế gián đoạn hoạt động không đồng bộ (TAA, TSX Asynchronous Abort), được triển khai trong tiện ích mở rộng TSX (Tiện ích mở rộng đồng bộ hóa giao dịch), cung cấp các công cụ để làm việc với bộ nhớ giao dịch, cho phép tăng hiệu suất của các ứng dụng đa luồng bằng cách loại bỏ động các hoạt động đồng bộ hóa không cần thiết (các giao dịch nguyên tử được hỗ trợ có thể được chấp nhận hoặc bị hủy bỏ). Nếu bị gián đoạn, các hoạt động được thực hiện trên vùng bộ nhớ giao dịch sẽ bị khôi phục.

Việc hủy giao dịch xảy ra không đồng bộ và trong thời gian này, các luồng khác có thể truy cập vào bộ nhớ đệm, bộ đệm này cũng được sử dụng trong vùng bộ nhớ giao dịch bị loại bỏ. Trong thời gian từ khi bắt đầu đến khi hoàn thành thực tế việc hủy bỏ giao dịch không đồng bộ, có thể xảy ra trường hợp bộ xử lý, trong quá trình thực hiện suy đoán của một hoạt động, có thể đọc dữ liệu từ bộ đệm vi kiến ​​trúc bên trong và chuyển dữ liệu đó sang hoạt động suy đoán. Sau đó, xung đột sẽ được phát hiện và hoạt động suy đoán sẽ bị loại bỏ, nhưng dữ liệu sẽ vẫn còn trong bộ đệm và có thể được truy xuất bằng các kỹ thuật khôi phục bộ đệm kênh bên.

Cuộc tấn công tập trung vào việc mở các giao dịch TSX và tạo điều kiện cho sự gián đoạn không đồng bộ của chúng, trong đó phát sinh các điều kiện làm rò rỉ nội dung của bộ đệm bên trong chứa đầy dữ liệu từ các hoạt động đọc bộ nhớ được thực hiện trên cùng một lõi CPU. Rò rỉ được giới hạn ở lõi CPU vật lý hiện tại (trên đó mã của kẻ tấn công đang chạy), nhưng do bộ đệm vi kiến ​​trúc được chia sẻ giữa các luồng khác nhau trong chế độ Siêu phân luồng, nên có thể rò rỉ các hoạt động bộ nhớ được thực hiện trong các luồng CPU khác.

Tấn công tùy thuộc vào một số mẫu bộ xử lý Intel Core thế hệ thứ tám, thứ chín và thứ mười, cũng như Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W và Intel Xeon Scalable thế hệ thứ hai. Bộ xử lý Intel mới dựa trên vi kiến ​​trúc Cascade Lake được giới thiệu vào tháng 2.0, ban đầu không dễ bị tấn công RIDL và Fallout, cũng dễ bị tấn công. Ngoài Zombieload XNUMX, các nhà nghiên cứu cũng xác định khả năng bỏ qua các phương pháp bảo vệ chống lại các cuộc tấn công MDS được đề xuất trước đó, dựa trên việc sử dụng lệnh VERW để xóa nội dung của bộ đệm vi kiến ​​trúc khi 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.

Báo cáo của Intel nêu rõ rằng trong các hệ thống có tải không đồng nhất, khả năng thực hiện một cuộc tấn công là rất khó vì rò rỉ từ các cấu trúc vi kiến ​​trúc bao trùm mọi hoạt động trong hệ thống và kẻ tấn công không thể tác động đến nguồn dữ liệu được trích xuất, tức là. chỉ có thể tích lũy thông tin xuất hiện do rò rỉ và cố gắng xác định thông tin hữu ích trong số dữ liệu này mà không có khả năng chặn dữ liệu có chủ đích liên quan đến các địa chỉ bộ nhớ cụ thể. Tuy nhiên, các nhà nghiên cứu đã công bố khai thác nguyên mẫu, chạy trên Linux và Windows, đồng thời chứng minh khả năng sử dụng một cuộc tấn công để xác định hàm băm mật khẩu của người dùng root.
Có lẽ thực hiện một cuộc tấn công từ hệ thống khách để tích lũy dữ liệu xuất hiện trong hoạt động của các hệ thống khách khác, môi trường máy chủ, bộ ảo hóa và các khu vực Intel SGX.

Sửa lỗi để chặn lỗ hổng bao gồm vào cơ sở mã nhân Linux và được đưa vào các bản phát hành 5.3.11, 4.19.84, 4.14.154, 4.9.201 và 4.4.201. Các bản cập nhật hạt nhân và vi mã cũng đã được phát hành cho các bản phân phối lớn (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Sự cố đã được xác định vào tháng XNUMX và bản sửa lỗi đã được phối hợp giữa Intel và các nhà phát triển hệ điều hành.

Phương pháp chặn Zombieload 2.0 đơn giản nhất là tắt hỗ trợ TSX trong CPU. Bản sửa lỗi được đề xuất cho nhân Linux bao gồm một số tùy chọn bảo vệ. Tùy chọn đầu tiên cung cấp tham số “tsx=on/off/auto” để kiểm soát xem tiện ích mở rộng TSX có được bật trên CPU hay không (giá trị tự động chỉ tắt TSX đối với các CPU dễ bị tấn công). Tùy chọn bảo vệ thứ hai được kích hoạt bởi tham số “tsx_async_abort=off/full/full,nosmt” và dựa trên việc xóa bộ đệm vi kiến ​​trúc trong quá trình chuyển đổi ngữ cảnh (cờ nosmt còn vô hiệu hóa thêm SMT/Hyper-Threads). Để kiểm tra xem hệ thống có dễ bị lỗ hổng hay không, sysfs cung cấp tham số “/sys/devices/system/cpu/vulnerabilities/tsx_async_abort”.

Cũng trong cập nhật vi mã loại bỏ một cái khác sự dễ bị tổn thương (CVE-2018-12207) trong bộ xử lý Intel, cũng bị chặn trong phiên bản mới nhất cập nhật Hạt nhân Linux. Tính dễ bị tổn thương cho phép kẻ tấn công không có đặc quyền bắt đầu từ chối dịch vụ, khiến hệ thống bị treo ở trạng thái “Lỗi kiểm tra máy”.
Tấn công bao gồm có thể được cam kết từ hệ thống khách.

Nguồn: opennet.ru

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