Các lỗ hổng trong triển khai tham chiếu TPM 2.0 cho phép truy cập dữ liệu trong mã hóa

Trong mã có triển khai tham chiếu đặc tả TPM 2.0 (Mô-đun nền tảng đáng tin cậy), các lỗ hổng đã được xác định (CVE-2023-1017, CVE-2023-1018) dẫn đến việc ghi hoặc đọc dữ liệu vượt quá giới hạn của bộ đệm được phân bổ. Một cuộc tấn công vào việc triển khai bộ xử lý mật mã bằng cách sử dụng mã dễ bị tấn công có thể dẫn đến việc trích xuất hoặc ghi đè thông tin được lưu trữ trên chip, chẳng hạn như khóa mật mã. Kẻ tấn công có thể sử dụng khả năng ghi đè dữ liệu trong phần sụn TPM để tổ chức thực thi mã của chúng trong bối cảnh TPM, chẳng hạn, có thể được sử dụng để triển khai các cửa hậu hoạt động ở phía TPM và không bị phát hiện bởi hệ điều hành.

Các lỗ hổng xảy ra do việc xác minh không chính xác kích thước tham số của hàm CryptParameterDecryption(), cho phép ghi hoặc đọc hai byte vượt quá ranh giới của bộ đệm được truyền tới hàm Thực thiCommand() và chứa lệnh TPM2.0. Tùy thuộc vào việc triển khai chương trình cơ sở, hai byte bị ghi đè có thể làm hỏng cả bộ nhớ và dữ liệu hoặc con trỏ không sử dụng trên ngăn xếp.

Lỗ hổng bị khai thác bằng cách gửi các lệnh được thiết kế đặc biệt đến mô-đun TPM (kẻ tấn công phải có quyền truy cập vào giao diện TPM). Các vấn đề đã được giải quyết trong bản cập nhật thông số kỹ thuật TPM 2.0 được phát hành vào tháng 1.59 (1.4 Errata 1.38, 1.13 Errata 1.16, 1.6 Errata XNUMX).

Thư viện mở libtpms, được sử dụng để mô phỏng phần mềm các mô-đun TPM và tích hợp hỗ trợ TPM vào các trình ảo hóa, cũng dễ bị tấn công. Lỗ hổng đã được sửa trong bản phát hành libtpms 0.9.6.

Nguồn: opennet.ru

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