إصدار Coreboot 4.17

تم نشر إصدار مشروع CoreBoot 4.17، والذي يتم من خلاله تطوير بديل مجاني للبرامج الثابتة الخاصة وBIOS. يتم توزيع رمز المشروع بموجب ترخيص GPLv2. شارك في إنشاء الإصدار الجديد 150 مطورًا، وقاموا بإعداد أكثر من 1300 تغيير.

التغييرات الرئيسية:

  • تم إصلاح الثغرة الأمنية (CVE-2022-29264) التي ظهرت في إصدارات CoreBoot من 4.13 إلى 4.16 وتسمح بتنفيذ التعليمات البرمجية على الأنظمة التي تحتوي على AP (معالج التطبيق) على مستوى SMM (وضع إدارة النظام)، والذي له أولوية أعلى ( Ring -2) من وضع برنامج Hypervisor وحلقة حماية صفرية، مع إمكانية الوصول غير المحدود إلى كل الذاكرة. سبب المشكلة هو استدعاء غير صحيح لمعالج SMI في الوحدة النمطية smm_module_loader.
  • تمت إضافة دعم لـ 12 لوحة أم، 5 منها تُستخدم على الأجهزة التي تعمل بنظام التشغيل Chrome أو على خوادم Google. من بين الرسوم غير التابعة لشركة Google:
    • كليفو L140MU / L141MU / L142MU
    • Dell Precision T1650
    • محطة عمل HP Z220 CMT
    • Star Labs LabTop Mk III (i7-8550u)، وLabTop Mk IV (i3-10110U، i7-10710U)، وLite Mk III (N5000)، وLite Mk IV (N5030).
  • لقد توقف دعم اللوحات الأم Google Deltan وDeltaur.
  • تمت إضافة حمولة أساسية جديدة، مما يسمح لك بتشغيل لعبة DOOM من Coreboot. يستخدم المشروع رمزًا مدمرًا، تم نقله إلى libpayload. يتم استخدام مخزن الإطارات الخطي Coreboot للإخراج، ويتم تحميل ملفات WAD مع موارد اللعبة من CBFS.
  • تم تحديث مكونات الحمولة النافعة SeaBIOS 1.16.0 وiPXE 2022.1.
  • تمت إضافة وضع SeaGRUB (GRUB2 عبر SeaBIOS)، والذي يسمح لـ GRUB2 باستخدام مكالمات رد الاتصال المقدمة من SeaBIOS، على سبيل المثال، للوصول إلى المعدات التي لا يمكن الوصول إليها من حمولة GRUB2.
  • حماية إضافية ضد هجوم SinkHole، مما يسمح بتنفيذ التعليمات البرمجية على مستوى SMM (وضع إدارة النظام).
  • تم تنفيذ قدرة مضمنة على إنشاء جداول ثابتة لصفحات الذاكرة من ملفات التجميع، دون الحاجة إلى استدعاء أدوات مساعدة تابعة لجهات خارجية.
  • السماح بكتابة معلومات تصحيح الأخطاء إلى وحدة تحكم CBMEMC من معالجات SMI عند استخدام DEBUG_SMI.
  • تم تغيير نظام معالجات تهيئة CBMEM؛ بدلاً من معالجات *_CBMEM_INIT_HOOK المرتبطة بالمراحل، تم اقتراح معالجين: CBMEM_CREATION_HOOK (يستخدم في المرحلة الأولية التي تنشئ cbmem) وCBMEM_READY_HOOK (يستخدم في أي مراحل تم فيها إنشاء cbmem بالفعل مخلوق).
  • تمت إضافة دعم لـ PSB (التمهيد الآمن للنظام الأساسي)، الذي يتم تنشيطه بواسطة معالج PSP (معالج أمان النظام الأساسي) للتحقق من سلامة BIOS باستخدام التوقيع الرقمي.
  • تمت إضافة تطبيقنا الخاص لمعالج تصحيح أخطاء البيانات المنقولة من FSP (FSP Debug Handler).
  • تمت إضافة وظائف TIS (مواصفات واجهة TPM) الخاصة بالبائع للقراءة والكتابة مباشرةً من سجلات TPM (وحدة النظام الأساسي الموثوق بها) - tis_vendor_read() وtis_vendor_write().
  • تمت إضافة دعم لاعتراض مرجعيات المؤشر الفارغة عبر سجلات تصحيح الأخطاء.
  • تم تنفيذ اكتشاف جهاز i2c، مما يسهل العمل مع اللوحات المجهزة بلوحات اللمس أو شاشات اللمس من شركات مصنعة مختلفة.
  • تمت إضافة القدرة على حفظ بيانات الوقت بتنسيق مناسب لإنشاء الرسوم البيانية FlameGraph، والتي توضح بوضوح مقدار الوقت المستغرق في المراحل المختلفة من الإطلاق.
  • تمت إضافة خيار إلى الأداة المساعدة cbmem لإضافة "طابع زمني" للوقت من مساحة المستخدم إلى جدول cbmem، مما يجعل من الممكن عكس الأحداث في المراحل التي يتم إجراؤها بعد CoreBoot في cbmem.

بالإضافة إلى ذلك، يمكننا ملاحظة نشر OSFF (مؤسسة البرامج الثابتة مفتوحة المصدر) لرسالة مفتوحة إلى Intel، والتي تقترح جعل حزم دعم البرامج الثابتة (FSP، حزمة دعم البرامج الثابتة) أكثر نمطية والبدء في نشر الوثائق المتعلقة بتهيئة Intel SoC . يؤدي الافتقار إلى كود FSP إلى تعقيد عملية إنشاء البرامج الثابتة المفتوحة بشكل كبير ويمنع تقدم مشاريع Coreboot وU-Boot وLinuxBoot على أجهزة Intel. في السابق، كانت مبادرة مماثلة ناجحة وفتحت Intel التعليمات البرمجية الخاصة بكتلة PSE (محرك الخدمات القابلة للبرمجة) التي طلبها المجتمع.

المصدر: opennet.ru

إضافة تعليق