Khóa mã hóa giúp giải mã các bản cập nhật vi mã mà Intel cung cấp để sửa các lỗ hổng bảo mật và các loại lỗi khác. Việc có một bản cập nhật được giải mã cho phép tin tặc dịch ngược và tìm hiểu chính xác cách khai thác lỗ hổng đang vá. Khóa này cũng có thể cho phép các bên khác ngoài Intel cập nhật chip bằng vi mã của riêng họ, mặc dù phiên bản tùy chỉnh đó sẽ không tồn tại sau khi khởi động lại.
Nhà nghiên cứu độc lập Maxim Goryachy cho biết trong một tin nhắn trực tiếp: “Hiện tại, rất khó để đánh giá tác động đối với bảo mật. Nhưng đây là lần đầu tiên trong lịch sử, bộ xử lý Intel có thể thực thi vi mã bên trong và phân tích các bản cập nhật”. Goryachy và hai nhà nghiên cứu khác - Dmitry Sklyarov và Mark Ermolov, đều thuộc công ty bảo mật Positive Technologies - đã cùng làm việc trong dự án. Khóa mã hóa có thể được trích xuất cho bất kỳ chip nào dựa trên kiến trúc Goldmont của Intel: có thể là Celeron, Pentium hoặc Atom.
Nguồn gốc của phát hiện này xuất hiện năm 2017, khi Goryachy và Ermolov tìm thấy một lỗ hổng nghiêm trọng, được lập định danh là Intel SA-00086, cho phép thực thi mã lựa chọn bên trong lõi độc lập của chip, bao gồm một hệ thống con được gọi là Intel Management Engine. Intel đã sửa lỗi và phát hành một bản vá, nhưng vì chip luôn có thể được quay trở lại phiên bản firmware cũ hơn và sau đó bị khai thác, nên không có cách nào để loại bỏ lỗ hổng một cách hiệu quả.
Vào tháng 6/2020, nhóm tác giả này đã sử dụng lỗ hổng này để truy cập “Red Unlock”, một chế độ dịch vụ được nhúng vào chip Intel. Các kỹ sư của Intel sử dụng chế độ này để gỡ lỗi vi mã trước khi chip được phát hành công khai. Các nhà nghiên cứu đã đặt tên cho công cụ để truy cập trình gỡ lỗi của họ là Chip Red Pill (dựa theo bộ phim The Matrix) vì nó cho phép các nhà nghiên cứu trải nghiệm hoạt động bên trong của một con chip – thứ thường bị giới hạn. Kỹ thuật này hoạt động bằng cách sử dụng cáp USB hoặc bộ điều hợp Intel, đặc biệt để truyền dữ liệu đến một CPU dễ bị tấn công.
Việc truy cập một CPU dựa trên Goldmont ở chế độ Red Unlock cho phép các nhà nghiên cứu trích xuất một vùng ROM đặc biệt được gọi là MSROM (microcode sequencer ROM). Từ đó, họ bắt tay vào quá trình dịch ngược vi mã. Sau nhiều tháng phân tích, việc này đã có thể làm tiết lộ quá trình cập nhật và khóa RC4 mà nó sử dụng. Tuy nhiên, phân tích không tiết lộ khóa bí mật mà Intel sử dụng để ký nhằm chứng minh tính xác thực của bản cập nhật.
Trong một tuyên bố, các lãnh đạo của Intel đã cho biết: “Vấn đề được mô tả không thể hiện được khách hàng sẽ phải đối mặt với việc bị tấn công, và chúng tôi không dựa vào kỹ thuật xáo trộn mã trong Red Unlock như một biện pháp bảo mật. Ngoài việc áp dụng biện pháp khắc phục lỗ hổng Intel-SA-00086, các nhà sản xuất thiết bị gốc (OEM) tuân theo hướng dẫn sản xuất của Intel đã giảm thiểu khả năng mở khóa trong nghiên cứu này. Khóa bí mật được sử dụng để xác thực vi mã không nằm trong con chip và kẻ tấn công không thể tải bản vá chưa được xác thực vào hệ thống từ xa”.
Điều này có nghĩa là những kẻ tấn công không thể sử dụng Chip Red Pill và khóa giải mã mà nó tiết lộ để tấn công từ xa các CPU dễ bị tấn công, ít nhất là không thể sử dụng nó kết hợp với các lỗ hổng khác hiện chưa được biết đến. Tương tự, những kẻ tấn công không thể sử dụng các kỹ thuật này để lây nhiễm mã độc vào chuỗi cung ứng của các thiết bị Goldmont. Nhưng kỹ thuật này mở ra khả năng cho các tin tặc có quyền truy cập vật lý vào máy tính sử dụng một trong những CPU này.
Kenn White, giám đốc bảo mật sản phẩm tại Công ty phát triển phần mềm cơ sở dữ liệu MongoDB, cho hay: “Có một quan niệm sai lầm phổ biến rằng các CPU hiện đại chủ yếu được sửa tại chỗ từ nhà máy và đôi khi được cập nhật vi mã trong phạm vi hẹp cho các lỗi đặc biệt nghiêm trọng. Nhưng có rất ít giới hạn thực tế về những gì kỹ sư có thể làm với ‘chìa khóa’ cho con chip đó”.
Nhà nghiên cứu Mark Ermolov của Positive Technologies cho biết: “Hiện tại, chỉ có một kết quả duy nhất nhưng rất quan trọng: việc phân tích độc lập một bản vá vi mã cho đến nay là không thể. Giờ đây, các nhà nghiên cứu có thể biết cách Intel sửa chữa một lỗ hổng này hay lỗ hổng khác. Việc mã hóa các bản vá vi mã là một kỹ thuật bảo mật thông qua sự che giấu mã”.