Lennart Pottering đã đề xuất một kiến ​​trúc khởi động mới được Linux xác minh

Lennart Poettering đã xuất bản đề xuất hiện đại hóa quy trình khởi động cho các bản phân phối Linux, nhằm giải quyết các vấn đề hiện có và đơn giản hóa việc tổ chức khởi động được xác minh đầy đủ nhằm xác nhận độ tin cậy của kernel và môi trường hệ thống cơ bản. Những thay đổi cần thiết để triển khai kiến ​​trúc mới đã được đưa vào cơ sở mã systemd và ảnh hưởng đến các thành phần như systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase và systemd-creds.

Những thay đổi được đề xuất tập trung vào việc tạo ra một hình ảnh phổ quát duy nhất UKI (Hình ảnh hạt nhân hợp nhất), kết hợp hình ảnh hạt nhân Linux, trình xử lý để tải hạt nhân từ UEFI (sơ khai khởi động UEFI) và môi trường hệ thống initrd được tải vào bộ nhớ, được sử dụng cho khởi tạo ban đầu ở giai đoạn trước khi gắn FS gốc. Thay vì hình ảnh đĩa RAM initrd, toàn bộ hệ thống có thể được đóng gói trong UKI, cho phép bạn tạo môi trường hệ thống được xác minh đầy đủ được tải vào RAM. Hình ảnh UKI được định dạng dưới dạng tệp thực thi ở định dạng PE, tệp này có thể được tải không chỉ bằng bộ tải khởi động truyền thống mà còn có thể được gọi trực tiếp từ phần sụn UEFI.

Khả năng gọi từ UEFI cho phép bạn sử dụng tính năng kiểm tra tính toàn vẹn của chữ ký số không chỉ bao gồm kernel mà còn cả nội dung của initrd. Đồng thời, hỗ trợ gọi từ bộ tải khởi động truyền thống cho phép bạn giữ lại các tính năng như phân phối một số phiên bản hạt nhân và tự động khôi phục về hạt nhân đang hoạt động nếu phát hiện thấy sự cố với hạt nhân mới sau khi cài đặt bản cập nhật.

Hiện tại, trong hầu hết các bản phân phối Linux, quy trình khởi tạo sử dụng chuỗi “chương trình cơ sở → lớp shim Microsoft được ký điện tử → Bộ tải khởi động GRUB được phân phối ký điện tử → nhân Linux được ký điện tử → môi trường initrd không được ký → FS gốc.” Việc thiếu xác minh initrd trong các bản phân phối truyền thống tạo ra các vấn đề bảo mật, vì trong môi trường này, các khóa để giải mã hệ thống tệp gốc sẽ được truy xuất.

Việc xác minh hình ảnh initrd không được hỗ trợ vì tệp này được tạo trên hệ thống cục bộ của người dùng và không thể được chứng nhận bằng chữ ký số của bộ phân phối, điều này làm phức tạp đáng kể việc tổ chức xác minh khi sử dụng chế độ SecureBoot (để xác minh initrd, người dùng cần tạo khóa riêng và tải chúng vào chương trình cơ sở UEFI). Ngoài ra, tổ chức khởi động hiện tại không cho phép sử dụng thông tin từ các thanh ghi TPM PCR (Đăng ký cấu hình nền tảng) để kiểm soát tính toàn vẹn của các thành phần không gian người dùng ngoài shim, grub và kernel. Trong số các vấn đề hiện có, sự phức tạp của việc cập nhật bộ nạp khởi động và không có khả năng hạn chế quyền truy cập vào các khóa trong TPM đối với các phiên bản HĐH cũ hơn không còn liên quan sau khi cài đặt bản cập nhật cũng được đề cập.

Mục tiêu chính của việc giới thiệu kiến ​​trúc tải mới là:

  • Cung cấp quy trình khởi động được xác minh đầy đủ trải dài từ phần sụn đến không gian người dùng, xác nhận tính hợp lệ và tính toàn vẹn của các thành phần đang được tải.
  • Liên kết các tài nguyên được kiểm soát với các thanh ghi TPM PCR, được phân tách theo chủ sở hữu.
  • Khả năng tính toán trước các giá trị PCR dựa trên kernel, initrd, cấu hình và ID hệ thống cục bộ được sử dụng trong quá trình khởi động.
  • Bảo vệ chống lại các cuộc tấn công khôi phục liên quan đến việc khôi phục về phiên bản dễ bị tổn thương trước đó của hệ thống.
  • Đơn giản hóa và tăng độ tin cậy của các bản cập nhật.
  • Hỗ trợ các bản cập nhật hệ điều hành không yêu cầu ứng dụng lại hoặc cung cấp cục bộ các tài nguyên được bảo vệ TPM.
  • Hệ thống sẵn sàng chứng nhận từ xa để xác nhận tính chính xác của hệ điều hành và cài đặt đã tải.
  • Khả năng đính kèm dữ liệu nhạy cảm vào các giai đoạn khởi động nhất định, chẳng hạn như trích xuất khóa mã hóa cho hệ thống tệp gốc từ TPM.
  • Cung cấp một quy trình an toàn, tự động và không cần người dùng để mở khóa nhằm giải mã ổ đĩa phân vùng gốc.
  • Sử dụng chip hỗ trợ thông số kỹ thuật TPM 2.0, có khả năng quay trở lại các hệ thống không có TPM.

Nguồn: opennet.ru

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