Phát hiện ra lỗ hổng hạ cấp hệ điều hành nhắm vào Microsoft Windows Kernel

Tác giả Starlink, T.M.Một 01, 2024, 07:40:29 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Một kỹ thuật tấn công mới có thể được sử dụng để vượt qua tính năng Thực thi chữ ký trình điều khiển (DSE) của Microsoft trên các hệ thống Windows đã vá đầy đủ, dẫn đến các cuộc tấn công hạ cấp hệ điều hành (OS).

"Phương pháp bỏ qua này cho phép tải trình điều khiển kernel chưa được ký, cho phép kẻ tấn công triển khai rootkit tùy chỉnh có thể vô hiệu hóa các biện pháp kiểm soát bảo mật, ẩn các tiến trình và hoạt động mạng, duy trì trạng thái ẩn và nhiều chức năng khác nữa", nhà nghiên cứu Alon Leviev của SafeBreach cho biết trong báo cáo chia sẻ với The Hacker News.


Những phát hiện mới nhất dựa trên một phân tích trước đó đã phát hiện ra hai lỗ hổng leo thang đặc quyền trong quy trình cập nhật Windows (CVE-2024-21302 và CVE-2024-38202) có thể được sử dụng để khôi phục phần mềm Windows đã cập nhật xuống phiên bản cũ hơn chứa các lỗ hổng bảo mật chưa được vá.

Lỗ hổng này xuất hiện dưới dạng một công cụ có tên là Windows Downdate, theo Leviev, có thể được sử dụng để chiếm quyền điều khiển quy trình Windows Update nhằm tạo ra các bản hạ cấp hoàn toàn không thể phát hiện, liên tục và không thể đảo ngược trên các thành phần quan trọng của hệ điều hành.

Điều này có thể gây ra hậu quả nghiêm trọng vì nó cung cấp cho kẻ tấn công một giải pháp thay thế tốt hơn cho các cuộc tấn công Bring Your Own Vulnerable Driver ( BYOVD ), cho phép chúng hạ cấp các mô-đun của bên thứ nhất, bao gồm cả chính Kernel hệ điều hành.

Sau đó, Microsoft đã giải quyết CVE-2024-21302 và CVE-2024-38202 vào ngày 13 tháng 8 và ngày 8 tháng 10 năm 2024 như một phần của bản cập nhật Patch Tuesday.

Phương pháp mới nhất do Leviev đưa ra là tận dụng công cụ Windows Downdate để hạ cấp bản vá lỗi vượt qua DSE "ItsNotASecurityBoundary" trên hệ thống Windows 11 đã cập nhật đầy đủ.

ItsNotASecurityBoundary lần đầu tiên được nhà nghiên cứu Gabriel Landau của Elastic Security Labs ghi nhận vào tháng 7 năm 2024 cùng với PPLFault, mô tả chúng là một lớp lỗi mới có tên mã là False File Immutability. Microsoft đã khắc phục lỗi này vào đầu tháng 5.

Nói một cách ngắn gọn, nó khai thác tình trạng chạy đua để thay thế tệp danh mục bảo mật đã được xác minh bằng phiên bản độc hại có chứa chữ ký mã xác thực cho trình điều khiển Kernel chưa được ký, sau đó kẻ tấn công sẽ nhắc Kernel tải trình điều khiển.

Cơ chế toàn vẹn mã của Microsoft, xác thực tệp bằng thư viện chế độ Kernel ci.dll, sau đó phân tích danh mục bảo mật độc hại để xác thực chữ ký của trình điều khiển và tải nó, về cơ bản cấp cho kẻ tấn công khả năng thực thi mã tùy ý trong Kernel.

Bỏ qua DSE được thực hiện bằng cách sử dụng công cụ hạ cấp để thay thế thư viện "ci.dll" bằng phiên bản cũ hơn (10.0.22621.1376) để hoàn tác bản vá do Microsoft đưa ra.

Tuy nhiên, có một rào cản bảo mật có thể ngăn chặn việc bỏ qua như vậy thành công. Nếu Virtualization-Based Security ( VBS ) đang chạy trên máy chủ mục tiêu, quá trình quét danh mục được thực hiện bởi Secure Kernel Code Integrity DLL (skci.dll), trái ngược với ci.dll.

Tuy nhiên, cần lưu ý rằng cấu hình mặc định là VBS không có khóa Unified Extensible Firmware Interface (UEFI). Do đó, kẻ tấn công có thể tắt nó bằng cách can thiệp vào các khóa registry EnableVirtualizationBasedSecurity và RequirePlatformSecurityFeatures.

Ngay cả trong trường hợp khóa UEFI được bật, kẻ tấn công vẫn có thể vô hiệu hóa VBS bằng cách thay thế một trong các tệp lõi bằng một tệp không hợp lệ. Cuối cùng, các bước khai thác mà kẻ tấn công cần thực hiện như sau -

  • Tắt VBS trong Windows Registry hoặc vô hiệu hóa SecureKernel.exe
  • Hạ cấp ci.dll xuống phiên bản chưa vá
  • Khởi động lại máy
  • Khai thác ItsNotASecurityBoundary DSE bypass để đạt được thực thi mã cấp độ Kernel

Trường hợp duy nhất mà nó không thành công là khi VBS được bật với khóa UEFI và cờ "Bắt buộc", cờ cuối cùng gây ra lỗi khởi động khi tệp VBS bị hỏng. Chế độ Bắt buộc được bật thủ công bằng cách thay đổi sổ đăng ký.

"Thiết lập Bắt buộc ngăn trình tải hệ điều hành tiếp tục khởi động trong trường hợp Hypervisor, Secure Kernel hoặc một trong các mô-đun phụ thuộc của chúng không tải được", Microsoft lưu ý trong tài liệu của mình. "Cần đặc biệt cẩn thận trước khi bật chế độ này, vì trong trường hợp bất kỳ mô-đun ảo hóa nào bị lỗi, hệ thống sẽ từ chối khởi động".

Do đó, để giảm thiểu hoàn toàn cuộc tấn công, điều cần thiết là VBS phải được bật với khóa UEFI và cờ Bắt buộc được đặt. Trong bất kỳ chế độ nào khác, nó cho phép kẻ tấn công tắt tính năng bảo mật, thực hiện hạ cấp DLL và đạt được mục tiêu bỏ qua DSE.

Leviev chia sẻ với The Hacker News rằng: "Điểm mấu chốt [...] là các giải pháp bảo mật phải cố gắng phát hiện và ngăn chặn các thủ tục hạ cấp ngay cả đối với các thành phần không vượt qua ranh giới bảo mật đã xác định".