Lỗ hổng trong driver NTFS từ GRUB2, cho phép thực thi mã và vượt qua UEFI Secure Boot

Một lỗ hổng (CVE-2-2023) đã được xác định trong trình điều khiển cung cấp khả năng hoạt động với hệ thống tệp NTFS trong bộ tải khởi động GRUB4692, cho phép mã của nó được thực thi ở cấp bộ nạp khởi động khi truy cập vào hình ảnh hệ thống tệp được thiết kế đặc biệt. Lỗ hổng này có thể được sử dụng để vượt qua cơ chế khởi động được xác minh của UEFI Secure Boot.

Lỗ hổng này là do lỗi trong mã phân tích cú pháp cho thuộc tính NTFS $ATTRIBUTE_LIST (grub-core/fs/ntfs.c), thuộc tính này có thể được sử dụng để ghi thông tin do người dùng kiểm soát vào vùng bộ nhớ bên ngoài bộ đệm được phân bổ. Khi xử lý hình ảnh NTFS được thiết kế đặc biệt, lỗi tràn sẽ dẫn đến ghi đè một phần bộ nhớ GRUB, đồng thời, trong một số điều kiện nhất định, làm hỏng vùng bộ nhớ phần sụn UEFI, điều này có khả năng cho phép bạn tổ chức thực thi mã của mình tại bộ tải khởi động hoặc cấp độ phần cứng.

Ngoài ra, một lỗ hổng khác (CVE-2-2023) cũng được xác định trong trình điều khiển NTFS từ GRUB4693, cho phép đọc nội dung của vùng bộ nhớ tùy ý khi phân tích thuộc tính “$DATA” trong hình ảnh NTFS được thiết kế đặc biệt. Trong số những thứ khác, lỗ hổng này cho phép bạn truy xuất dữ liệu nhạy cảm được lưu trong bộ nhớ hoặc xác định giá trị của các biến EFI.

Проблемы пока устранены только в виде патча. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE, RHEL, Fedora. Для устранения проблем в GRUB2 недостаточно просто обновить пакет, требуется также сформировать новые внутренние цифровые подписи и обновлять инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку.

Trong hầu hết Linux-дистрибутивов для верифицированной загрузки в режиме UEFI Secure Boot используется небольшая прослойка shim, заверенная цифровой подписью Microsoft. Данная прослойка верифицирует GRUB2 собственным сертификатом, что позволяет разработчикам дистрибутивов не заверять каждое обновление ядра и GRUB в Microsoft. Уязвимости в GRUB2 позволяют добиться выполнения своего кода на этапе после успешной верификации shim, но до загрузки операционной системы, вклинившись в цепочку доверия при активном режиме Secure Boot и получив полный контроль за дальнейшим процессом загрузки, например, для загрузки другой ОС, модификации компонентов операционной системы и обхода защиты Lockdown.

Для блокирования уязвимости без отзыва цифровой подписи дистрибутивы могут использовать механизм SBAT (UEFI Secure Boot Advanced Targeting), поддержка которого реализована для GRUB2, shim и fwupd в большинстве популярных дистрибутивов Linux. SBAT разработан совместно с Microsoft и подразумевает добавление в исполняемые файлы компонентов UEFI дополнительных метаданных, которые включают информацию о производителе, продукте, компоненте и версии. Указанные метаданные заверяются цифровой подписью и могут отдельно включаться в списки разрешённых или запрещённых компонентов для UEFI Secure Boot.

SBAT cho phép bạn chặn việc sử dụng chữ ký số cho số phiên bản thành phần riêng lẻ mà không cần phải thu hồi khóa cho Secure Boot. Việc chặn lỗ hổng thông qua SBAT không yêu cầu sử dụng danh sách thu hồi chứng chỉ UEFI (dbx), nhưng được thực hiện ở cấp độ thay thế khóa nội bộ để tạo chữ ký và cập nhật GRUB2, shim và các tạo phẩm khởi động khác do các bản phân phối cung cấp. Trước khi giới thiệu SBAT, việc cập nhật danh sách chứng chỉ thu hồi (dbx, Danh sách thu hồi UEFI) là điều kiện tiên quyết để chặn hoàn toàn lỗ hổng, vì kẻ tấn công, bất kể hệ điều hành được sử dụng, đều có thể sử dụng boot boot để xâm phạm UEFI Secure Boot

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster