اقترح Lennart Pottering بنية تمهيد جديدة تم التحقق منها من Linux

نشر Lennart Poettering اقتراحًا لتحديث عملية التمهيد لتوزيعات Linux ، بهدف حل المشكلات الحالية وتبسيط تنظيم التمهيد الكامل الذي تم التحقق منه ، مما يؤكد صحة النواة وبيئة النظام الأساسية. تم تضمين التغييرات المطلوبة لتنفيذ البنية الجديدة بالفعل في قاعدة بيانات النظام وتؤثر على مكونات مثل systemd-stub و systemd-Measure و systemd-cryptenroll و systemd-cryptsetup و systemd-pcrphase و systemd-credits.

يتم تقليل التغييرات المقترحة إلى إنشاء صورة UKI (Unified Kernel Image) عالمية واحدة تجمع بين صورة Linux kernel والمعالج لتحميل النواة من UEFI (UEFI boot stub) وبيئة نظام initrd التي تم تحميلها في الذاكرة ، وتستخدم لـ التهيئة الأولية في المرحلة قبل تركيب جذر FS. بدلاً من صورة قرص RAM initrd ، يمكن تجميع النظام بأكمله في UKI ، مما يسمح بإنشاء بيئات نظام تم التحقق منها بالكامل والتي يتم تحميلها في ذاكرة الوصول العشوائي. يتم إنشاء UKI-image في شكل ملف قابل للتنفيذ بتنسيق PE ، والذي يمكن تحميله ليس فقط باستخدام برامج تحميل التشغيل التقليدية ، ولكن يتم استدعاؤه مباشرة من البرامج الثابتة UEFI.

تسمح لك القدرة على الاتصال من UEFI باستخدام التحقق من سلامة التوقيع الرقمي والصلاحية التي لا تغطي فقط النواة ، ولكن أيضًا محتويات البادئة. في الوقت نفسه ، يتيح لك دعم الاتصال من محمل الإقلاع التقليدي حفظ ميزات مثل تسليم عدة إصدارات من النواة والتراجع التلقائي إلى نواة عاملة في حالة اكتشاف مشاكل مع النواة الجديدة بعد تثبيت التحديث.

حاليًا ، تستخدم معظم توزيعات Linux سلسلة "البرامج الثابتة ← طبقة رقاقات Microsoft الموقعة رقميًا ← أداة تحميل GRUB للتوزيع الموقّع رقميًا ← نواة Linux للتوزيع الموقّع رقميًا ← بيئة initrd غير موقعة ← root FS" في عملية التهيئة. يؤدي عدم وجود تحقق initrd في التوزيعات التقليدية إلى حدوث مشكلات أمنية ، نظرًا لأن هذه البيئة ، من بين أمور أخرى ، تستخرج مفاتيح لفك تشفير الجذر FS.

لا يتم دعم التحقق من صورة initrd ، نظرًا لأن هذا الملف يتم إنشاؤه على النظام المحلي للمستخدم ولا يمكن اعتماده من خلال التوقيع الرقمي للتوزيع ، مما يعقد بشكل كبير تنظيم التحقق عند استخدام وضع SecureBoot (للتحقق من initrd ، يحتاج المستخدم لإنشاء مفاتيحه وتحميلها في برنامج UEFI الثابت). بالإضافة إلى ذلك ، لا تسمح مؤسسة التمهيد الحالية باستخدام معلومات من سجلات TPM PCR (سجل تكوين النظام الأساسي) للتحكم في سلامة مكونات مساحة المستخدم بخلاف shim و grub و kernel. من بين المشاكل الحالية ، تم ذكر تعقيد تحديث أداة تحميل التشغيل وعدم القدرة على تقييد الوصول إلى المفاتيح في TPM لإصدارات نظام التشغيل الأقدم التي أصبحت غير ذات صلة بعد تثبيت التحديث.

الأهداف الرئيسية لتنفيذ بنية التمهيد الجديدة هي:

  • توفير عملية تنزيل تم التحقق منها بالكامل ، تغطي جميع المراحل من البرامج الثابتة إلى مساحة المستخدم ، وتأكيد صلاحية المكونات التي تم تنزيلها وسلامتها.
  • ربط الموارد الخاضعة للرقابة بسجلات TPM PCR مع التقسيم حسب المالكين.
  • القدرة على حساب قيم PCR مسبقًا استنادًا إلى kernel boot و initrd والتكوين ومعرف النظام المحلي.
  • الحماية من هجمات التراجع المرتبطة بالرجوع إلى الإصدار السابق الذي كان عرضة للإصابة بهجمات النظام.
  • تبسيط وتحسين موثوقية التحديثات.
  • دعم تحديثات نظام التشغيل التي لا تتطلب إعادة تطبيق أو توفير محلي لموارد محمية TPM.
  • جاهزية النظام للحصول على شهادة عن بُعد لتأكيد صحة نظام التشغيل والإعدادات القابلة للتمهيد.
  • القدرة على إرفاق بيانات حساسة بمراحل تمهيد معينة ، على سبيل المثال ، استخراج مفاتيح التشفير لجذر FS من TPM.
  • قم بتوفير عملية آمنة وتلقائية وصامتة لإلغاء قفل المفاتيح لفك تشفير محرك أقراص بقسم جذر.
  • استخدام الرقائق التي تدعم مواصفات TPM 2.0 ، مع القدرة على الرجوع إلى الأنظمة التي لا تحتوي على TPM.

المصدر: opennet.ru

إضافة تعليق