Các nhà nghiên cứu bảo mật của Google đã phát hiện ra một lỗ hổng nghiêm trọng trong hệ thống bảo mật microcode của CPU AMD, cho phép kiểm soát hoàn toàn hành vi của bộ xử lý. Nhóm nghiên cứu đã phát hành Zentool, một tiện ích giúp người dùng phân tích, thao tác và tạo các bản vá microcode cho bộ xử lý AMD Zen.
Lỗ hổng này xuất phát từ việc AMD sử dụng khóa mẫu tiêu chuẩn từ tài liệu RFC của AES-CMAC trong quy trình ký microcode của họ. Lỗi bảo mật cơ bản này đã cho phép các nhà nghiên cứu vượt qua cơ chế bảo vệ của AMD và tạo ra các bản cập nhật microcode được ký tùy chỉnh mà bộ xử lý chấp nhận như chính thức.
Lỗ Hổng Bảo Mật
Vấn đề bảo mật này ảnh hưởng đến các bộ xử lý AMD từ Zen1 đến Zen4, trong khi tình trạng lỗ hổng của Zen5 vẫn đang được điều tra. Theo bình luận từ các nhà nghiên cứu, sai lầm nghiêm trọng của AMD là sử dụng khóa mẫu từ RFC của AES-CMAC làm khóa ký thực tế của họ. Sự sơ suất này về cơ bản đã phá vỡ toàn bộ mô hình bảo mật bảo vệ microcode của CPU.
Bất kỳ mã hóa/chữ ký nào có thể bị phá vỡ bằng phần mềm trên phần cứng giá cả phải chăng đều chỉ có một điều: ĐÃ BỊ PHÁ VỠ.
Lỗ hổng này đặc biệt đáng lo ngại vì các sửa đổi microcode có thể vượt qua các biện pháp bảo mật cơ bản. Với quyền truy cập vào microcode, kẻ tấn công có đặc quyền kernel có thể truy cập trực tiếp vào bộ nhớ vật lý, bỏ qua kiểm tra đặc quyền và xâm phạm các tính năng bảo mật như AMD Secure Encrypted Virtualization (SEV).
Những Thông Tin Chính Về Lỗ Hổng Microcode Của AMD
- Phần Cứng Bị Ảnh Hưởng: Các bộ xử lý AMD từ Zen1 đến Zen4
- Lỗ Hổng: Sử dụng khóa mẫu từ AES-CMAC RFC cho việc ký microcode
- Công Cụ Được Phát Hành: Zentool - Tiện Ích Thao Tác Microcode AMD Zen
- Biện Pháp Khắc Phục: AMD đã phát hành bản sửa lỗi sử dụng hàm băm bảo mật tùy chỉnh kết hợp với bản cập nhật AMD Secure Processor
- Nhóm Nghiên Cứu: Đội Ngũ Bảo Mật Phần Cứng Google (Josh Eads, Matteo Rizzo, Kristoffer Janke, Eduardo Vela Nava, Tavis Ormandy, Sophie Schmiege, và những người khác)
Khả Năng của Zentool
Tiện ích Zentool cung cấp khả năng rộng rãi để thao tác microcode. Người dùng có thể kiểm tra các tiêu đề microcode, sửa đổi số phiên bản, chỉnh sửa các thanh ghi khớp và thậm chí vá từng lệnh riêng lẻ. Công cụ này bao gồm một trình dịch ngược có thể hiển thị các hoạt động RISC nội bộ (quads) tạo nên microcode.
Một tính năng đặc biệt mạnh mẽ là khả năng ký lại microcode đã sửa đổi, bù đắp cho các thay đổi bằng cách tạo ra chữ ký hợp lệ mà CPU sẽ chấp nhận. Điều này cho phép người dùng tải các bản vá microcode tùy chỉnh lên các lõi CPU cụ thể.
Hậu Quả và Biện Pháp Khắc Phục
AMD đã phát hành một bản sửa lỗi sửa đổi quy trình xác thực microcode để sử dụng hàm băm bảo mật tùy chỉnh. Điều này được kết hợp với bản cập nhật AMD Secure Processor đảm bảo quy trình xác thực bản vá được cập nhật trước khi các lõi x86 có thể cố gắng cài đặt microcode bị giả mạo.
Các chuyên gia bảo mật trong cuộc thảo luận lưu ý rằng tác động của lỗ hổng được khuếch đại bởi kiến trúc bảo mật firmware hiện đại. Mặc dù CPU không có bộ nhớ không bay hơi (microcode sẽ được đặt lại khi tắt nguồn), khả năng xâm phạm flash hệ thống có thể cho phép xâm phạm vĩnh viễn, không thể đảo ngược đối với các hệ thống bị ảnh hưởng.
Các nhà nghiên cứu dự định cung cấp thêm chi tiết trong những tháng tới về cách họ đã dịch ngược quy trình cập nhật microcode, dẫn đến việc xác định các thuật toán xác thực.
Cân Nhắc về Đạo Đức và Pháp Lý
Việc phát hành một công cụ như vậy đã gây ra cuộc tranh luận về đạo đức và tính hợp pháp của việc công bố các công cụ lỗ hổng bảo mật. Một số người bình luận đã so sánh với các công cụ jailbreak cho máy chơi game, thường phải đối mặt với các yêu cầu gỡ bỏ theo DMCA, trong khi những người khác bảo vệ giá trị nghiên cứu học thuật và bảo mật của công việc như vậy.
Nghiên cứu học thuật trước đây về microcode CPU AMD K8 và K10 đã được đề cập như một tiền lệ, nơi các nhà nghiên cứu đã phá vỡ mã hóa (được mô tả giống như xáo trộn hơn) và phát hành công cụ mà không bị AMD có hành động pháp lý.
Đội Bảo Mật Phần Cứng Google đứng sau công việc này bao gồm Josh Eads, Matteo Rizzo, Kristoffer Janke, Eduardo Vela Nava, Tavis Ormandy, Sophie Schmiege và những người khác. Công việc của họ dựa trên nghiên cứu trước đây, bao gồm bài báo Kỹ thuật đảo ngược Microcode của bộ xử lý x86 của Koppe và cộng sự từ Ruhr-Universitat Bochum.