Một nhóm các nhà nghiên cứu an ninh mạng vừa mới tiết lộ thông tin chi tiết về một lỗ hổng đặc biệt nghiêm trọng ảnh hưởng đến hàng tỷ thiết bị trên toàn cầu, bao gồm các máy chủ, máy trạm, laptop, máy tính để bàn và các hệ thống IoT chạy trên gần như mọi hệ thống phân phối của Linux và Windows.
Được đặt tên là ‘BootHole‘, với số định danh CVE-2020-10713, lỗ hổng bảo mật nằm trong trình khởi động GRUB2 này nếu bị khai thác sẽ cho phép kẻ tấn công vượt qua tính năng Secure Boot và duy trì truy cập trái phép vào các hệ thống bị nhắm mục tiêu với đặc quyền cao.
Secure Boot là một tính năng bảo mật của Giao diện firmware mở rộng hợp nhất (UEFI– Unified Extensible Firmware Interface). Tính năng này sử dụng một trình khởi động (bootloader) để tải các thành phần quan trọng, thiết bị ngoại vi, hệ điều hành, và đồng thời đảm bảo rằng chỉ những mã code đã ký mã hóa được thực thi trong quá trình khởi động.
“Một trong những mục tiêu thiết kế chủ yếu của Secure Boot là để ngăn chặn các mã trái phép, bao gồm cả những mã chạy với đặc quyền của quản trị viên, thực hiện các hành vi chiếm đặc quyền bổ sung và duy trì truy cập trái phép trước khi hệ điều hành được tải lên. Nó thực hiện điều đó bằng cách vô hiệu hóa Secure Boot hoặc sửa đổi chuỗi khởi động (boot chain),” báo cáo này cho biết.
Lỗ hổng trên GRUB2 Bootloader
Được phát hiện bởi các nhà nghiên cứu của Eclypsium, BootHole là một lỗ hổng tràn bộ nhớ đệm ảnh hưởng đến tất cả các phiên bản GRUB2. Nó xuất hiện trong quá trình phân tích nội dung từ file cấu hình, các file này thường không được ký mã hóa như các file thông thường và file thực thi khác (executables). Điều này đã tạo cơ hội cho phép kẻ tấn công phá vỡ cơ chế bảo mật từ phần cứng (hardware root of trust) của GRUB2.
Đáng lưu ý là, file grub.cfg nằm trong phân vùng hệ thống EFI, và do đó để có thể thực hiện sửa đổi file, trước tiên kẻ tấn công vẫn cần xâm nhập được vào hệ thống mục tiêu với các đặc quyền của quản trị viên mà cuối cùng sẽ giúp chúng có thể leo thang đặc quyền và duy trì tấn công vào thiết bị.
Mặc dù GRUB2 là trình khởi động tiêu chuẩn được sử dụng bởi hầu hết các hệ thống Linux, nhưng nó cũng đồng thời hỗ trợ các hệ điều hành, kernel và các trình ảo hóa khác như XEN.
“Lỗi tràn bộ nhớ đệm này cho phép kẻ tấn công có thể thực thi mã tùy ý trong môi trường UEFI, và bị khai thác để chạy mã độc, thay đổi quy trình khởi động, trực tiếp vá kernel của hệ điều hành, cũng như thực hiện nhiều hành vi độc hại khác,” các nhà nghiên cứu cho biết thêm.
Do đó, để khai thác lỗ hổng BootHole trên các hệ thống Windows, kẻ tấn công có thể thay thế các bootloader mặc định được thiết lập trên Windows bằng một phiên bản GRUB2 dễ bị tấn công khác để cài đặt mã độc rootkit.
“Lỗi bảo mật này cũng ảnh hưởng tới bất kỳ thiết bị Windows nào sử dụng Secure Boot với chuẩn Microsoft Third Party UEFI Certificate Authority (Cơ quan cấp chứng chỉ UEFI của bên thứ ba),” báo cáo viết.
Theo báo cáo chi tiết mà các nhà nghiên cứu chia sẻ với The Hacker News, lỗ hổng này có nguy cơ gây ra những hậu quả nghiêm trọng do nó cho phép tin tặc thực thi mã độc trước khi hệ điều hành được khởi động, do đó gây khó khăn cho các phần mềm bảo mật trong việc phát hiện hay loại bỏ nó.
Bên cạnh đó, các chuyên gia bảo mật cũng cho biết thêm “môi trường thực thi UEFI không có kỹ thuật Ngẫu nhiên hóa sơ đồ không gian địa chỉ (ASLR) hay tính năng Ngăn tràn bộ nhớ đệm (DEP/NX), hoặc các công nghệ giảm thiểu tấn công thường thấy trong các hệ điều hành hiện đại, nên nó còn khiến việc khai thác lỗ hổng này trở nên dễ dàng hơn bao giờ hết.”
Chỉ cập nhật bản vá sẽ không giải quyết được lỗ hổng này
Các chuyên gia tại Eclypsium đã liên hệ với các đơn vị công nghiệp liên quan, bao gồm các nhà cung cấp hệ điều hành và các nhà sản xuất máy tính, để giúp họ khắc phục vấn đề bảo mật này.
Tuy nhiên, việc giải quyết toàn bộ vấn đề này dường như không phải là một nhiệm vụ dễ dàng.
Chỉ cài đặt các bản vá với trình khởi động GRUB2 được nâng cấp sẽ không khắc phục được vấn đề này, bởi lẽ những kẻ tấn công vẫn có thể thay thế trình khởi động hiện có của thiết bị bằng một phiên bản khác dễ bị tấn công hơn.
Theo Eclypsium, ngay cả “những biện pháp giảm thiểu cũng yêu cầu trình khởi động mới cần phải được ký và triển khai, còn những trình khởi động cũ, dễ bị tấn công hơn thì nên được hủy bỏ để ngăn chặn tin tặc lợi dụng các phiên bản này để tấn công mạng.”
Vì vậy, các nhà cung cấp bị ảnh hưởng trước tiên sẽ cần phát hành các phiên bản mới cho các shim bootloader được ký bởi Microsoft 3rd Party UEFI CA.
Cuối cùng, danh sách UEFI bị hủy bỏ (dbx) còn cần được cập nhật trong firmware của mỗi hệ thống bị ảnh hưởng để ngăn việc chạy các mã code dễ bị tấn công này trong khi khởi động.
Quá trình vá lỗ hổng nhiều giai đoạn này có thể khiến các tổ chức mất nhiều năm để hoàn thiện.
“Tuy nhiên, việc triển khai đầy đủ quy trình hủy bỏ này có thể diễn ra rất chậm. Bởi trước đây các bản cập nhật liên quan đến UEFI từng có lịch sử khiến cho các thiết bị không thể hoạt động, vậy nên các nhà cung cấp sẽ cần phải rất cẩn trọng. Nếu danh sách hủy bỏ (dbx) được cập nhật trước khi một Linux shim và bootloader được nâng cấp thì hệ điều hành sẽ không hoạt động,” các nhà nghiên cứu cảnh báo.
Trong một bản tư vấn bảo mật được phát hành hôm nay, Microsoft đã thừa nhận vấn đề này, đồng thời thông báo rằng công ty “đang nỗ lực hoàn thành khâu kiểm tra tính tương thích và tính hiệu lực cho một phiên bản Windows Update để giải quyết lỗ hổng này.”
Công ty này cũng khuyến nghị người dùng nên nhanh chóng cài đặt các bản vá bảo mật ngay khi chúng được tung ra trong vài tuần tới.
Bên cạnh Microsoft, nhiều nhà phân phối Linux phổ biến cũng đã phát hành các bản tư vấn bảo mật để phân tích lỗ hổng, đưa ra một số biện pháp giảm thiểu khả thi và thông báo timeline cho các bản vá bảo mật sắp tới.
Đây là danh sách tất cả các bản tư vấn đã được công bố:
Thêm bình luận