Bootkit là một dạng phần mềm độc hại cấp thấp có khả năng lây nhiễm vào bộ nạp khởi động (bootloader) hoặc MBR/ UEFI của hệ điều hành. Bootkit có thể kiểm soát quá trình khởi động của hệ thống và duy trì sự tồn tại ngay cả khi hệ điều hành được cài đặt lại. Bootkit có thể vượt qua các biện pháp bảo mật như Secure Boot nếu không được cấu hình đúng cách. Kẻ tấn công thường sử dụng các phương thức như lừa đảo (phishing), khai thác lỗ hổng hoặc cài đặt phần mềm giả mạo để đưa Bootkit vào hệ thống.
Lỗ hổng cho phép kẻ tấn công triển khai Bootkit xuất phát từ việc một ứng dụng UEFI được Microsoft ký số sử dụng bộ nạp PE tùy chỉnh, cho phép tải bất kỳ tệp nhị phân UEFI nào mà không cần kiểm tra chữ ký số. Cụ thể, ứng dụng này không sử dụng các dịch vụ tin cậy như “LoadImage” và “StartImage” để xác thực tệp nhị phân dựa trên cơ sở dữ liệu tin cậy - danh sách các chứng chỉ hợp lệ hoặc các giá trị hash (PE Authenticode) được phép thực thi (db) và cơ sở dữ liệu không tin cậy - danh sách các chứng chỉ hoặc hash bị cấm vì đã bị phát hiện là không an toàn (dbx). Thay vào đó, 'reloader.efi' giải mã và tải vào bộ nhớ các tệp nhị phân từ “cloak.dat”, chứa hình ảnh PE được mã hóa đơn giản bằng XOR. Quy trình không an toàn này có thể bị kẻ tấn công lợi dụng bằng cách thay thế bộ nạp khởi động hệ điều hành mặc định trên phân vùng EFI bằng “reloader.efi” dễ bị tấn công và đặt tệp “cloak.dat” độc hại vào các đường dẫn mặc định. Khi hệ thống khởi động, bộ nạp tùy chỉnh sẽ giải mã và thực thi tệp độc hại mà không cần xác thực Secure Boot.
Hình 1. Quy trình xác thực trong cơ chế UEFI Secure Boot
Hình 1 minh họa quy trình xác thực trong cơ chế UEFI Secure Boot, tập trung vào cách xác minh các tệp nhị phân (UEFI driver/app) dựa trên cơ sở dữ liệu tin cậy (db) và cơ sở dữ liệu không tin cậy (dbx). Quy trình cụ thể như sau: Firmware UEFI tải một trình điều khiển hoặc ứng dụng (UEFI driver/app) cần xác thực trước khi thực thi. Tệp được kiểm tra đối chiếu với cơ sở dữ liệu:
db: Chứa các tệp được tin cậy và được phép thực thi.
dbx: Chứa các tệp không tin cậy, không được phép thực thi.
Nếu tệp tồn tại trong db và không nằm trong dbx, tệp sẽ được xác thực và cho phép thực thi "Execute". Nếu tệp không nằm trong db hoặc bị liệt kê trong dbx, quy trình sẽ bị dừng, dẫn đến "Security violation" (vi phạm bảo mật).
Kẻ tấn công có thể khai thác lỗ hổng này ngay cả khi máy tính không cài đặt các ứng dụng trên bằng cách triển khai tệp 'reloader.efi' dễ bị tấn công. Điều này làm tăng mức độ nghiêm trọng vì các thành phần dễ bị tổn thương có thể được sử dụng riêng lẻ. Để bảo vệ hệ thống khỏi lỗ hổng này, người dùng nên cập nhật các bản vá bảo mật mới nhất từ Microsoft và các nhà phát triển phần mềm liên quan. Việc cập nhật này sẽ giúp đảm bảo rằng các ứng dụng UEFI sử dụng các dịch vụ tin cậy để xác thực tệp nhị phân, ngăn chặn việc tải và thực thi các tệp không được ký số hợp lệ. Việc này không chỉ vá lỗ hổng mà còn giảm khả năng hệ thống bị lợi dụng bởi các kỹ thuật tấn công tiên tiến.
Tài liệu tham khảo
[1] https://thehackernews.com/2025/01/new-uefi-secure-boot-vulnerability.html
[2] https://www.bleepingcomputer.com/news/security/new-uefi-secure-boot-flaw-exposes-systems-to-bootkits-patch-now/
[3] https://uefi.org/specs/UEFI/2.9_A/07_Services_Boot_Services.html#efi-boot-services-loadimage
[4] https://www.techtarget.com/searchsecurity/news/366618102/ESET-details-UEFI-Secure-Boot-bypass-vulnerability
Cập nhật tin tức công nghệ mới nhất tại fanpage Công nghệ & Cuộc sống
Nguồn tin: antoanthongtin.vn
Tham gia bình luận