Tôi đang sử dụng cách tiếp cận ubfox mặc định với shim và grub2, kết hợp với khóa nền tảng của riêng tôi (tự ký shim với sbsign) và phân vùng gốc được mã hóa, để khởi động cài đặt ubfox của tôi. Nhưng điều này chỉ xác minh grubx64.efi và kernel, nhưng không bảo vệ các tệp initrd.img và grub.cfg trên phân vùng khởi động không được mã hóa khỏi các sửa đổi độc hại.
Vậy làm thế nào tôi có thể xác minh cấu hình initrd và grub, có thể sử dụng hàm băm sha256, trước khi sử dụng chúng để khởi động? Việc xác minh đó có thể xảy ra trong shim, trong grub hoặc trong một số công cụ khác mà tôi có thể sử dụng ngoài hoặc thay vì shim và / hoặc grub.
Mục đích của câu hỏi này là để ngăn chặn việc thực thi kernel với môi trường đã sửa đổi (dòng lệnh kernel và initrd) để ngăn chặn rò rỉ mật khẩu mã hóa phân vùng gốc đến bất cứ đâu.
Không tìm thấy bất kỳ phương pháp nào để xác minh cấu hình khởi động mặc dù đã đọc nhiều ngày hướng dẫn web / blog về khởi động an toàn, bao gồm PreLoader.efi của Ubuntu và Linux, tất cả đều giải thích cách xác minh các tệp thực thi bao gồm các mô-đun hạt nhân hoạt động, nhưng không trong đó đề cập đến grub.cfg và (shell script và các tệp cấu hình bên trong) initrd, vì vậy có vẻ như tôi là người đầu tiên từng yêu cầu xác minh các tệp không nhị phân trong quá trình khởi động. Các nguồn tốt nhất tôi từng tìm thấy là của Rod Smith .
Những gì tôi chưa thử là sửa đổi mã nguồn của shim hoặc grub, tạo một ngã ba hoặc trực tiếp đóng góp cho chúng. Đó sẽ là cách duy nhất để đi?