خبران بخصوص محمل التمهيد

هما ترجمتان لمنشورتين نشرهما جيمس بوتوملي في مدونته. تم نشر التدوينة الأولى في 1 فبراير بعنوان "LCA2013 وإعادة هيكلة التمهيد الآمن"

كنت هادئًا بعض الشيء ، لذا فقد حان الوقت لتقديم تحديث حول ما يحدث مع أداة تحميل التمهيد الآمن من Linux Foundation (خاصةً أنها ظهرت في LCA2013). (ارتباط بالشرائح)

جوهر المشكلة هو أن GregKH (مطور النواة Greg Kroah-Hartman) اكتشف في أوائل ديسمبر أن برنامج Pre-BootLoader المقترح لن يعمل في شكله الحالي مع Gummiboot. كان هذا أمرًا شاقًا إلى حد ما لأنه يعني أنه لم يكن يحقق مهمة مؤسسة Linux المتمثلة في تنشيط جميع برامج تحميل الإقلاع. في البحث ، كان السبب بسيطًا: تم إنشاء Gummiboot لإثبات أنه يمكنك إنشاء محمل إقلاع صغير وبسيط يستفيد من جميع الخدمات المتاحة على النظام الأساسي UEFI بدلاً من أن يكون أداة تحميل رابط ضخمة مثل GRUB. لسوء الحظ ، فهذا يعني أنك تقوم بتمهيد النواة باستخدام وظيفة BootServices-> LoadImage () ، مما يعني أن النواة المراد تمهيدها يجب أن تخضع لفحوصات التمهيد الآمن على نظام UEFI الأساسي. في الأصل برنامج Pre-BootLoader ، مثل الرقائق (أداة تحميل ماثيو غاريت) ، تمت كتابتها لاستخدام تحميل رابط PE / Coff للتغلب على عمليات فحص التمهيد الآمن. لسوء الحظ ، هذا يعني أن شيئًا ما يتم تشغيله بواسطة Pre-BootLoader يجب أيضًا أن يستخدم رابط التحميل للتغلب على عمليات التحقق من التمهيد الآمن على أي شيء يريد تحميله ، وبالتالي لن يعمل Gummiboot ، الذي لا يعد أداة تحميل رابط عن عمد ، ضمن هذا مخطط.

لذلك اضطررت إلى إعادة الهيكلة وإعادة الكتابة: انتقلت المشكلة الآن من "كيفية إنشاء أداة تحميل رابط موقعة من Microsoft تلتزم بسياساتها" إلى "كيفية تمكين جميع الأطفال من محمل التمهيد من استخدام BootServices-> LoadImage () وظيفة طريقة لطاعة سياساتهم. لحسن الحظ ، هناك طريقة لاعتراض البنية التحتية لتوقيع النظام الأساسي UEFI عن طريق تثبيت بروتوكول أمان العمارة الخاص بك. لسوء الحظ ، فإن مواصفات تهيئة النظام الأساسي ليست في الواقع جزءًا من مواصفات UEFI ، ولكن لحسن الحظ يتم تنفيذها بواسطة كل نظام Windows 8 يمكنك العثور عليه. تعترض البنية الجديدة هذا البروتوكول وتضيف فحص الأمان الخاص بها. ومع ذلك ، هناك مشكلة ثانية: أثناء وجودنا في رد اتصال بروتوكول أمان البنية ، لا نمتلك بالضرورة شاشة نظام UEFI ، مما يجعل من المستحيل تمامًا إجراء اختبار المستخدم للسماح بتنفيذ الثنائي. لحسن الحظ ، هناك طريقة غير تفاعلية للقيام بذلك وهي آلية مفتاح مالك آلة SUSE (MOK). لذلك ، تطور Linux Foundation Pre-BootLoader الآن لاستخدام متغيرات MOK القياسية لتخزين تجزئات ثنائية معتمدة.

نتيجة كل هذا هو أنه يمكنك الآن استخدام Pre-BootLoader مع Gummiboot (تمامًا كما حدث في العرض التوضيحي في LCA2013). للتمهيد ، يجب عليك إضافة تجزئين: أحدهما لـ Gummiboot نفسه والآخر للنواة التي تريد تشغيلها ، ولكنه في الحقيقة أمر جيد لأنه لديك الآن سياسة أمان واحدة تتحكم في تسلسل التمهيد بالكامل. تم أيضًا تصحيح Gummiboot نفسه للتعرف على التعطل بسبب التمهيد الآمن ويعرض رسالة تخبرك بالتجزئة التي يجب تسجيلها.

سأقوم بعمل منشور منفصل لشرح كيفية عمل الهندسة المعمارية الجديدة ، لكنني اعتقدت أنه سيكون من الأفضل شرح ما حدث الشهر الماضي.

وهذه التدوينة الثانية التي قام بها أمس وتسمى "إطلاق نظام التمهيد الآمن لمؤسسة Linux".

كما وعدت ، ها هو Linux Foundation Secure Boot System. تم إصداره إلينا بالفعل من قبل Microsoft في 6 فبراير ، ولكن مع الرحلات والمؤتمرات والاجتماعات لم يكن لدي الوقت للتحقق من صحة كل شيء حتى اليوم. الملفات هي:

PreLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
قم أيضًا بإنشاء صورة USB صغيرة قابلة للتمهيد ؛ (يجب عليك تثبيته على USB باستخدام dd ؛ تحتوي الصورة على أقسام GPT ، لذا فهي تستخدم القرص بأكمله). يحتوي على غلاف EFI حيث يجب أن تكون النواة ويستخدم gummiboot لتحميله. يمكنك العثور عليها هنا (md5sum 7971231d133e41dd667a184c255b599f).

لاستخدام صورة mini-USB ، يجب عليك إدخال التجزئات الخاصة بـ loader.efi (في المجلد \ EFI \ BOOT) و shell.efi (في المجلد الجذر). يتضمن أيضًا نسخة من KeyTool.efi ، يجب عليك إدخال التجزئة للتشغيل.

ماذا حدث لـ KeyTool.efi؟ كان في الأصل أن يكون جزءًا من مجموعة أدواتنا الموقعة. ومع ذلك ، أثناء الاختبار ، اكتشفت Microsoft أنه نظرًا لوجود خطأ في أحد أنظمة UEFI الأساسية ، يمكن استخدامه لإزالة مفتاح النظام الأساسي برمجيًا ، مما قد يؤدي إلى تدمير نظام أمان UEFI. حتى نتمكن من حل هذا (لدينا البائع الخاص في الحلقة) ، فقد رفضوا التوقيع على KeyTool.efi على الرغم من أنه يمكنك تفويضه عن طريق إضافة متغيرات MOK إذا كنت تريد تشغيله.

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

فوينتس:

http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/

http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/

قرر ما إذا كانت أخبارًا جيدة أم سيئة.


أضف كمصدر مفضل في جوجل