Cập nhật 24/7/23 1:30 chiều theo giờ PT: AMD đã phản hồi với các chi tiết quan trọng và công bố một lời khuyên bảo mật với ngày dự kiến cho các phần sụn mới, nhiều phần mềm trong số đó phải đến cuối năm mới đến. Chúng tôi đã thêm thông tin đó vào bài viết gốc bên dưới.
Bài báo gốc được xuất bản vào ngày 24/7/23 8:45 sáng theo giờ PT:
Tavis Ormandy, một nhà nghiên cứu của Google Information Security, đã đăng bài hôm nay về một lỗ hổng mới mà anh ấy đã độc lập tìm thấy trong bộ xử lý Zen 2 của AMD. Lỗ hổng ‘Zenbleed’ bao trùm toàn bộ ngăn xếp sản phẩm Zen 2, bao gồm bộ xử lý trung tâm dữ liệu EPYC của AMD và CPU Ryzen 3000/4000/5000, cho phép đánh cắp thông tin được bảo vệ khỏi CPU, chẳng hạn như khóa mã hóa và thông tin đăng nhập của người dùng. Cuộc tấn công không yêu cầu quyền truy cập vật lý vào máy tính hoặc máy chủ và thậm chí có thể được thực hiện thông qua javascript trên trang web.
AMD không có sẵn lời khuyên tại thời điểm xuất bản, nhưng công ty đã thêm Bản tin AMD-SB-7008 vài giờ sau đó. AMD hiện đã có các bản vá cho bộ xử lý EPYC 7002 ‘Rome’ của mình, nhưng họ sẽ không vá các chip Zen 2 Ryzen 3000, 4000 và một số chip dòng 5000 cho người tiêu dùng cho đến tháng 11 và tháng 12 năm nay. Bộ xử lý của AMD được sử dụng để cung cấp năng lượng cho PS5, Xbox Series X và S cũng như Steam Deck đều được cung cấp bởi chip Zen 2, nhưng vẫn chưa rõ liệu chúng có bị ảnh hưởng hay không. Chúng tôi đang theo dõi để biết thêm chi tiết. Chúng tôi đã thêm chi tiết bên dưới về lịch trình giảm thiểu.
AMD đã không cung cấp chi tiết cụ thể về bất kỳ tác động hiệu suất nào nhưng đã đưa ra tuyên bố sau cho Phần cứng của Tom: “Mọi tác động đến hiệu suất sẽ khác nhau tùy thuộc vào khối lượng công việc và cấu hình hệ thống. AMD không biết về bất kỳ khai thác nào đã biết về lỗ hổng được mô tả bên ngoài môi trường nghiên cứu.”
Tuyên bố của AMD ngụ ý rằng sẽ có một số tác động đến hiệu suất từ các bản vá, nhưng chúng tôi sẽ phải tiến hành các điểm chuẩn độc lập khi các bản vá đến với các sản phẩm Ryzen dành cho người tiêu dùng. Trong thời gian chờ đợi, chúng tôi đã yêu cầu AMD cung cấp bất kỳ số liệu nào về sân bóng mà họ có thể chia sẻ.
Lỗ hổng Zenbleed được khai báo là CVE-2023-20593 và cho phép đánh cắp dữ liệu (trộm cắp) với tốc độ 30kb mỗi lõi, mỗi giây, do đó cung cấp đủ thông lượng để đánh cắp thông tin nhạy cảm chảy qua bộ xử lý. Cuộc tấn công này hoạt động trên tất cả phần mềm chạy trên bộ xử lý, bao gồm máy ảo, hộp cát, bộ chứa và quy trình. Khả năng cuộc tấn công này đọc dữ liệu trên các máy ảo đặc biệt đe dọa đối với các nhà cung cấp dịch vụ đám mây và những người sử dụng phiên bản đám mây.
Cuộc tấn công có thể được thực hiện thông qua thực thi mã tùy ý không có đặc quyền. Ormandy đã đăng một kho lưu trữ nghiên cứu bảo mật và mã để khai thác. Cuộc tấn công hoạt động bằng cách thao túng các tệp đăng ký để buộc thực hiện một lệnh sai, như được mô tả bên dưới:
“Lỗi này hoạt động như thế này, trước hết bạn cần kích hoạt một thứ có tên là XMM Register Merge Optimization2, tiếp theo là đổi tên thanh ghi và một vzeroupper dự đoán sai. Tất cả điều này phải xảy ra trong một cửa sổ chính xác để hoạt động.
Bây giờ chúng tôi biết rằng các hoạt động cơ bản như strlen, memcpy và strcmp sẽ sử dụng các thanh ghi véc tơ – vì vậy chúng tôi có thể theo dõi hiệu quả các hoạt động đó xảy ra ở bất kỳ đâu trên hệ thống! Sẽ không thành vấn đề nếu chúng đang xảy ra trong các máy ảo, hộp cát, thùng chứa, quy trình khác, bất cứ thứ gì!
Điều này hoạt động vì tệp đăng ký được chia sẻ bởi mọi thứ trên cùng một lõi vật lý. Trên thực tế, hai siêu luồng thậm chí còn chia sẻ cùng một tệp đăng ký vật lý,” Ormandy nói.
AMD mô tả cách khai thác đơn giản hơn nhiều, nói rằng: “Trong các trường hợp vi kiến trúc cụ thể, một thanh ghi trong CPU “Zen 2” có thể không được ghi thành 0 chính xác. Điều này có thể khiến dữ liệu từ một quy trình và/hoặc luồng khác được lưu trữ trong thanh ghi YMM, điều này có thể cho phép kẻ tấn công có khả năng truy cập thông tin nhạy cảm.”
Ormandy cho biết lỗi này có thể được vá thông qua cách tiếp cận phần mềm cho nhiều hệ điều hành (ví dụ: Windows -“bạn có thể đặt bit gà DE_CFG[9]”), nhưng điều này có thể dẫn đến một hình phạt về hiệu suất. Ormandy nói rằng bạn nên tải bản cập nhật vi mã nhưng bài đăng của anh ấy cũng có các ví dụ về giảm nhẹ phần mềm cho các hệ điều hành khác.
Dưới đây là danh sách các bộ xử lý bị ảnh hưởng và lịch trình phát hành các phiên bản AGESA cho OEM:
bộ vi xử lý | Chương trình cơ sở Agesa | Sẵn có cho các OEM | vi mã |
Bộ xử lý AMD EPYC Rome thế hệ thứ 2 | RomePI 1.0.0.H | Hiện nay | 0x0830107A |
Dòng Ryzen 3000 “Matisse” | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | Mục tiêu tháng 12 năm 2023 cho cả hai | ? |
Dòng Ryzen 4000 “Renoir” AM4 | ComboAM4v2PI_1.2.0.C | Mục tiêu tháng 12 năm 2023 | ? |
Xẻ chỉ 3000-Series “Đỉnh Caslle” | CastlePeakPI-SP3r3 1.0.0.A | Mục tiêu tháng 10 năm 2023 | ? |
Threadripper PRO 3000WX-Series “Castle Peak” | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.7 | Mục tiêu tháng 11 năm 2023 | Mục tiêu tháng 12 năm 2023 | ? |
Dòng di động Ryzen 5000 “Lucienne” | CezannePI-FP6_1.0.1.0 | Mục tiêu tháng 12 năm 2023 | ? |
Dòng di động Ryzen 4000 “Renoir” | RenoirPI-FP6_1.0.0.D | Mục tiêu tháng 11 năm 2023 | ? |
Dòng Ryzen 7020 “Mendocino” | MendocinoPI-FT6_1.0.0.6 | Mục tiêu tháng 12 năm 2023 | ? |
- Bộ xử lý dòng AMD Ryzen 3000
- Bộ xử lý dòng AMD Ryzen PRO 3000
- Bộ xử lý dòng AMD Ryzen Threadripper 3000
- Bộ xử lý AMD Ryzen 4000 Series với Đồ họa Radeon
- Bộ xử lý dòng AMD Ryzen PRO 4000
- Bộ xử lý AMD Ryzen 5000 Series với Đồ họa Radeon
- Bộ xử lý dòng AMD Ryzen 7020 với đồ họa Radeon
- Bộ xử lý AMD EPYC “Rome”
AGESA của AMD là nền tảng mã để các OEM xây dựng các bản sửa đổi BIOS. Bạn sẽ cần cập nhật lên BIOS có mã AGESA được liệt kê ở trên hoặc mới hơn để vá hệ thống của bạn.
Ormandy cho biết ông đã báo cáo vấn đề này với AMD vào ngày 15 tháng 5 năm 2023, nhưng vẫn chưa rõ liệu đây có phải là một tiết lộ phối hợp hay không — AMD dường như chưa chuẩn bị cho thông báo này. Ormandy cũng ghi nhận các đồng nghiệp của mình; “Tôi không thể tìm ra nó nếu không có sự giúp đỡ từ các đồng nghiệp của mình, đặc biệt là Eduardo Vela Nava và Alexandra Sandulescu. Tôi cũng được Josh Eads giúp phân tích lỗi.”