Lỗ hổng trong firmware UEFI dựa trên framework InsydeH2O, cho phép thực thi mã ở cấp độ SMM

Trong framework InsydeH2O, được nhiều nhà sản xuất sử dụng để tạo firmware UEFI cho thiết bị của họ (cách triển khai UEFI BIOS phổ biến nhất), 23 lỗ hổng đã được xác định cho phép thực thi mã ở cấp SMM (Chế độ quản lý hệ thống), có một mức độ ưu tiên cao hơn (Vòng -2) so với chế độ ảo hóa và vòng bảo vệ bằng XNUMX, đồng thời có quyền truy cập không giới hạn vào tất cả bộ nhớ. Sự cố này ảnh hưởng đến phần sụn UEFI được các nhà sản xuất như Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel và Bull Atos sử dụng.

Việc khai thác các lỗ hổng bảo mật yêu cầu quyền truy cập cục bộ với quyền quản trị viên, điều này khiến các vấn đề được yêu cầu là lỗ hổng cấp hai, được sử dụng sau khi khai thác các lỗ hổng khác trong hệ thống hoặc sử dụng các phương pháp kỹ thuật xã hội. Quyền truy cập ở cấp độ SMM cho phép bạn thực thi mã ở mức không được hệ điều hành kiểm soát, mã này có thể được sử dụng để sửa đổi chương trình cơ sở và để lại mã độc hoặc rootkit ẩn trong SPI Flash mà hệ điều hành không phát hiện được, cũng như để vô hiệu hóa xác minh ở giai đoạn khởi động (UEFI Secure Boot , Intel BootGuard) và các cuộc tấn công vào các trình ảo hóa nhằm vượt qua các cơ chế kiểm tra tính toàn vẹn của môi trường ảo.

Lỗ hổng trong firmware UEFI dựa trên framework InsydeH2O, cho phép thực thi mã ở cấp độ SMM

Việc khai thác lỗ hổng có thể được thực hiện từ hệ điều hành bằng cách sử dụng trình xử lý SMI (Ngắt quản lý hệ thống) chưa được xác minh, cũng như ở giai đoạn trước khi thực thi của hệ điều hành trong giai đoạn khởi động ban đầu hoặc quay trở lại từ chế độ ngủ. Tất cả các lỗ hổng đều do vấn đề về bộ nhớ gây ra và được chia thành ba loại:

  • Chú thích SMM - thực thi mã của bạn với quyền SMM bằng cách chuyển hướng việc thực thi các trình xử lý ngắt SWSMI sang mã bên ngoài SMRAM;
  • Lỗi bộ nhớ cho phép kẻ tấn công ghi dữ liệu của chúng vào SMRAM, một vùng bộ nhớ biệt lập đặc biệt trong đó mã được thực thi với quyền SMM.
  • Lỗi bộ nhớ trong mã chạy ở cấp độ DXE (Môi trường thực thi trình điều khiển).

Để chứng minh các nguyên tắc tổ chức một cuộc tấn công, một ví dụ về cách khai thác đã được xuất bản, cho phép, thông qua một cuộc tấn công từ vòng bảo vệ thứ ba hoặc số 2021, có được quyền truy cập vào DXE Runtime UEFI và thực thi mã của bạn. Việc khai thác lợi dụng lỗi tràn ngăn xếp (CVE-42059-XNUMX) trong trình điều khiển UEFI DXE. Trong cuộc tấn công, kẻ tấn công có thể đặt mã của mình vào trình điều khiển DXE, trình điều khiển này vẫn hoạt động sau khi hệ điều hành được khởi động lại hoặc thực hiện các thay đổi đối với vùng NVRAM của SPI Flash. Trong quá trình thực thi, mã kẻ tấn công có thể thực hiện các thay đổi đối với các vùng bộ nhớ đặc quyền, sửa đổi các dịch vụ EFI Runtime và ảnh hưởng đến quá trình khởi động.

Nguồn: opennet.ru

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