Microsoft hầu như đã vá lỗi phần cứng Surface khiến thiết bị bị "gạch" chỉ với một gói dữ liệu

Phần cứng12 tháng 6, 2026·9 phút đọc

Microsoft đã âm thầm vá một lỗ hổng firmware nghiêm trọng trên thiết bị Surface có thể khiến máy bị "gạch" hoàn toàn chỉ với một gói dữ liệu. Đáng chú ý, chính trí tuệ nhân tạo Microsoft Copilot đã vô tình giúp phát hiện ra lỗi này khi cố gắng điều chỉnh độ sáng màn hình.

Microsoft hầu như đã vá lỗi phần cứng Surface khiến thiết bị bị "gạch" chỉ với một gói dữ liệu

Trong 90 ngày qua, Microsoft đã âm thầm vá một lỗ hổng firmware trên thiết bị Surface, cho phép phần cứng bị "gạch" chỉ với một gói tin duy nhất, tuy nhiên lỗi này chỉ ảnh hưởng đến những thiết bị đã tắt Secure Core và Secure Boot. Điều thú vị là phần mềm AI Copilot của chính Microsoft đã vô tình góp phần xác định firmware bị lỗi.

Theo nhà nghiên cứu bảo mật Jack Darcy tại Úc, phiên bản Microsoft Copilot của ông đã vô tình gặp lỗi này khi được yêu cầu điều chỉnh độ sáng đèn nền trên thiết bị Surface. Kịch bản Python do Copilot tạo ra đã vô hiệu hóa chiếc laptop của nhà nghiên cứu bằng cách ghi đè lên firmware của bộ điều khiển nhúng (embedded controller).

"Copilot đã tự động tạo và thực thi bốn kịch bản Python ngày càng xâm lấn trong quá trình thăm dò các giá trị điều khiển đèn nền, gửi các lệnh ioctl SSAM thô (SSAM_CDEV_REQUEST = 0xC028A501) trực tiếp đến vi điều khiển SAM qua đường dẫn phần mềm SAM," Darcy giải thích với The Register.

SAM hoặc SSAM là bộ điều khiển nhúng được sử dụng trong các thiết bị Surface. Theo nguồn tin của chúng tôi, bản triển khai bộ điều khiển này của Microsoft trong thiết bị Surface không bao gồm bất kỳ cơ chế phòng vệ nào chống lại việc ghi các giá trị tùy ý.

Vấn đề không phải là mối đe dọa thực tế?

Microsoft không coi lỗi này là một mối đe dọa thực tế. "Không có kịch bản tấn công thực tế nào với vấn đề này," một người phát ngôn cho biết. "Để khai thác thành công, kẻ tấn công cần tương tác với các trình điều khiển cụ thể và gửi lệnh đến giao diện phần cứng. Điều này đòi hỏi quyền quản trị viên trên máy tính, cũng như tắt tính năng Secure Boot. Với quyền truy cập đó, họ có thể thực hiện hàng loạt hành động."

Thông thường, các thiết bị kỹ thuật số yêu cầu giữ một nút hoặc kết nối dây jumper để cho phép quyền ghi tùy ý. Nhưng kiểm tra bảo mật này vắng mặt trong thiết bị Surface (khi Secure Boot bị tắt), cho phép Copilot làm hỏng firmware. Về cơ bản, quá trình thăm dò đã kích hoạt lệnh cập nhật từ SAM ghi đè lên firmware UEFI và Secure Boot.

Các thiết bị Surface bị xử lý theo cách này ban đầu vẫn có thể hoạt động vì SAM đã được khởi chạy và đang chạy trong RAM. Nhưng sau khi khởi động lại, khi SAM cố gắng tải lại bằng dữ liệu bị hỏng trong bộ nhớ không thay đổi (non-volatile), nó sẽ không khởi tạo được và hệ thống sẽ không thể tự kiểm tra nguồn (Power-On Self-Test - POST).

Kịch bản Python do Copilot tạo ra trên thiết bị Surface của nhà nghiên cứu bảo mật đã liệt kê mù quáng qua một Danh mục Đích và tập hợp các cặp ID Lệnh (CID), gửi tải trọng rỗng/null đến các lệnh WRITE.

Kết quả là thiết bị trở nên không hoạt động. Chúng tôi được biết đây là một phàn nàn phổ biến trên các diễn đàn hỗ trợ trực tuyến của Surface trong nhiều năm, dù chúng tôi không có cách nào xác định xem các lỗi khởi động được báo cáo trên các thiết bị Surface khác có do vấn đề cụ thể này gây ra hay không.

Nhiều vấn đề phần cứng Surface được công khai dường như có thể khắc phục thông qua các kỹ thuật xử lý sự cố khác nhau. Nhưng những thiết bị bị vô hiệu hóa bởi truy cập SAM, theo nguồn tin của chúng tôi, sẽ bị "gạch" vĩnh viễn – một tình huống có thể phải tốn hàng trăm USD để sửa chữa, thay thế bo mạch chủ mới. Không có USB, không có đặt lại về trạng thái xuất xưởng, không có quyền truy cập vào BIOS/UEFI.

Thiết kế SAM Bus "tồi tệ"

Darcy cho biết rằng SAM Bus được thiết kế rất tồi. "Không có cách nào xem giá trị hiện tại mà không quét bus. Nhưng quét bus lại làm hỏng thiết bị."

Vấn đề là các CID, giống như API cho SAM, đã được xen kẽ theo một cách nguy hiểm.

"Nếu tất cả lệnh đọc được nhóm lại (ví dụ: CIDs 0x01–0x0F) và tất cả lệnh ghi được nhóm riêng biệt (ví dụ: CIDs 0x10–0x1F), một kịch bản thăm dò có thể quét an toàn phạm vi đọc mà không bao giờ vô tình lạc vào vùng ghi," Darcy nói. "Bạn thậm chí có thể đặt một kiểm tra giới hạn đơn giản trong mã của mình: 'chỉ thăm dò dưới 0x10'. Xong. An toàn."

Nhưng do đọc và ghi được xen kẽ trong cùng một không gian đánh số, không có phạm vi an toàn để thăm dò. Bạn theo nghĩa đen không thể quét even hai CID liên tiếp mà không có 50/50 khả năng trúng lệnh ghi. Ngay khi bạn quyết định liệt kê những gì có sẵn, bạn đã đang thực hiện các lệnh ghi mù quáng, vì không gian lệnh không cung cấp bất kỳ thông tin cấu trúc nào về thao tác nào an toàn và thao tác nào phá hủy.

Các thiết bị được quản lý không gặp rủi ro

The Register đã hỏi Microsoft về các tuyên bố của nguồn tin vào ngày 10 tháng 3 năm 2026. Một người phát ngôn của công ty đã lặp lại lời đề nghị trước đó rằng nhà nghiên cứu nên liên hệ với Trung tâm Phản hồi Bảo mật Microsoft (MSRC). Thay vì công bố chi tiết về những gì có thể là một lỗ hổng zero-day tiềm ẩn, The Register đã liên hệ với các nguồn nội bộ của Microsoft để thu hút sự chú ý.

Đến ngày 12 tháng 3, với sự trợ giúp của quan hệ truyền thông của Microsoft, chúng tôi đã điều phối được cuộc trò chuyện giữa Darcy và Madeline Eckert, quản lý chương trình cấp cao của MSRC. Microsoft sau đó đã thừa nhận lỗ hổng và cam kết đưa ra bản sửa lỗi. The Register đồng ý trì hoãn công bố trong 90 ngày trong khi các sửa lỗi đang được thực hiện. Chúng tôi được biết hầu hết các thiết bị bị ảnh hưởng đã được cập nhật (thông qua Windows Update) hoặc sẽ nhận được bản cập nhật trong vài tuần tới. Theo công ty, vấn đề này không đạt tiêu chuẩn để được cấp CVE.

"Chúng tôi đánh giá cao công việc của Jack Darcy và The Register vì đã báo cáo vấn đề này theo khuôn khổ công bố lỗ hổng phối hợp," một người phát ngôn của Microsoft cho biết trong một tuyên bố. "Cuộc điều tra của chúng tôi thấy rằng một giao diện UEFI không còn sử dụng có thể kích hoạt vòng lặp khởi động trên một số thiết bị. Để kích hoạt vòng lặp này, người dùng phải có quyền quản trị viên và đã tắt tính năng bảo mật Secure Boot. Chúng tôi đã phát hành các bản cập nhật để giải quyết vấn đề cho hầu hết các thiết bị bị ảnh hưởng."

Điều này có nghĩa là các thiết bị được quản lý doanh nghiệp không gặp rủi ro.

Tuy nhiên, những người dùng Linux, hoặc người dùng Windows đã tắt Secure Core và Secure Boot để chơi game, hoặc sử dụng trình điều khiển Windows tùy chỉnh, hoặc đã bật khởi động qua USB, vẫn có thể gặp rủi ro nếu hệ thống của họ chưa nhận được bản cập nhật.

Chúng tôi không chắc chắn về phạm vi các thiết bị Surface bị ảnh hưởng. Nguồn tin của chúng tôi cho biết có vẻ như tất cả các thiết bị (Surface Laptops 3-6, Surface Book 1-3) ngoại trừ các mẫu Surface Go. Tuy nhiên, các biến thể ARM chưa được kiểm tra.

Microsoft chuyển đổi Surface sang Rust

Một điều chúng tôi học được từ Darcy trong quá trình khắc phục vấn đề này là Microsoft đang lên kế hoạch chuyển đổi stack của Surface sang ngôn ngữ Rust. Chúng tôi hiểu từ David Abzarian, kiến trúc sư trưởng của Microsoft Surface, rằng công việc đang được tiến hành để chuyển đổi phần cứng Surface for Business trong tương lai sang kiến trúc an toàn hơn dựa trên mã Rust.

"Phần cứng Surface for Business gần đây nhất của chúng tôi có sự thay đổi kiến trúc lớn về độ tin cậy và bảo mật cải thiện, bao phủ bộ điều khiển nhúng, UEFI, nhưng cũng như một số trình điều khiển của chúng tôi," Abzarian cho biết trong một tuyên bố gửi tới The Register. "Chúng tôi đang đầu tư vào nền tảng an toàn nhất cho PC bằng cách xây dựng firmware bộ điều khiển nhúng của chúng tôi từ đầu bằng ngôn ngữ Rust (như một phần của việc tận dụng và đóng góp cho Đối tác Thiết bị Mở (ODP)) ngoài việc viết lại Lõi UEFI DXE bằng Rust; các dự án này lần lượt được gọi là Secure EC và Dự án Patina."

"Chúng tôi cũng không chỉ vận chuyển một số trình điều khiển được viết bằng Rust mà còn giúp đồng phát triển khung Trình điều khiển Windows bằng Rust (WDR) để giúp cho phép một loạt các đối tác trong hệ sinh thái Windows tận dụng các lợi ích này. Tôi cũng muốn lưu ý rằng tất cả những nỗ lực này là nguồn mở nhằm thúc đẩy một trong những nguyên tắc bảo mật chính của chúng tôi về tính minh bạch."

Khi được bình luận, Darcy nói: "Thực tế là một thiết bị có thể bị phá hủy, không thể sửa chữa từ không gian người dùng (userspace) thực sự là một quyết định thiết kế thú vị. Mặc dù tôi hoan nghênh Microsoft cho dòng Surface đẹp mắt và đổi mới của họ, một chút đổi mới xung quanh việc xác minh dữ liệu đầu vào ở mức firmware sẽ được đánh giá rất cao."

Chúng tôi được biết Microsoft đã tặng Darcy một chiếc máy tính xách tay Surface để thể hiện lòng biết ơn.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗