هناك ثغرتان أمنيتان في GRUB2 تسمحان لك بتجاوز حماية التمهيد الآمن لـ UEFI

تم الكشف عن معلومات حول اثنتين من نقاط الضعف في أداة تحميل التشغيل GRUB2، والتي يمكن أن تؤدي إلى تنفيذ التعليمات البرمجية عند استخدام الخطوط المصممة خصيصًا ومعالجة تسلسلات Unicode معينة. يمكن استخدام الثغرات الأمنية لتجاوز آلية التمهيد التي تم التحقق منها من خلال UEFI Secure Boot.

نقاط الضعف التي تم تحديدها:

  • CVE-2022-2601 - تجاوز سعة المخزن المؤقت في وظيفة grub_font_construct_glyph() عند معالجة الخطوط المصممة خصيصًا بتنسيق pf2، والذي يحدث بسبب الحساب غير الصحيح للمعلمة max_glyph_size وتخصيص منطقة ذاكرة أصغر من اللازم بشكل واضح استيعاب الحروف الرسومية.
  • CVE-2022-3775 تحدث عملية كتابة خارج الحدود عند عرض بعض تسلسلات Unicode بخط مصمم خصيصًا. تكمن المشكلة في رمز معالجة الخط ويعود سببها إلى نقص عمليات التحقق المناسبة للتأكد من أن عرض الحرف الرسومي وارتفاعه يتطابقان مع حجم الصورة النقطية المتوفرة. يمكن للمهاجم صياغة الإدخال بطريقة تؤدي إلى كتابة ذيل البيانات إلى خارج المخزن المؤقت المخصص. تجدر الإشارة إلى أنه على الرغم من تعقيد استغلال الثغرة الأمنية، إلا أنه لا يتم استبعاد جلب المشكلة إلى تنفيذ التعليمات البرمجية.

لقد تم نشر الإصلاح كتصحيح. يمكن تقييم حالة إزالة الثغرات الأمنية في التوزيعات على هذه الصفحات: Ubuntu، وSUSE، وRHEL، وFedora، وDebian. لإصلاح المشكلات في GRUB2، لا يكفي مجرد تحديث الحزمة؛ ستحتاج أيضًا إلى إنشاء توقيعات رقمية داخلية جديدة وتحديث أدوات التثبيت ومحملات الإقلاع وحزم kernel والبرامج الثابتة fwupd وطبقة الرقائق.

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

لحظر الثغرة الأمنية دون إلغاء التوقيع الرقمي، يمكن للتوزيعات استخدام آلية SBAT (UEFI Secure Boot Advanced Targeting)، المدعومة لـ GRUB2 وshim وfwupd في توزيعات Linux الأكثر شيوعًا. تم تطوير SBAT بالاشتراك مع Microsoft ويتضمن إضافة بيانات تعريف إضافية إلى الملفات القابلة للتنفيذ لمكونات UEFI، والتي تتضمن معلومات حول الشركة المصنعة والمنتج والمكون والإصدار. تم اعتماد بيانات التعريف المحددة بتوقيع رقمي ويمكن تضمينها بشكل منفصل في قوائم المكونات المسموح بها أو المحظورة لـ UEFI Secure Boot.

يتيح لك SBAT حظر استخدام التوقيعات الرقمية لأرقام إصدارات المكونات الفردية دون الحاجة إلى إلغاء المفاتيح الخاصة بالتمهيد الآمن. لا يتطلب حظر الثغرات الأمنية عبر SBAT استخدام قائمة إبطال شهادات UEFI (dbx)، ولكن يتم إجراؤه على مستوى استبدال المفتاح الداخلي لإنشاء التوقيعات وتحديث GRUB2 وshim وعناصر التمهيد الأخرى التي توفرها التوزيعات. قبل تقديم SBAT، كان تحديث قائمة إبطال الشهادات (dbx، قائمة إبطال UEFI) شرطًا أساسيًا لحظر الثغرة الأمنية بشكل كامل، نظرًا لأن المهاجم، بغض النظر عن نظام التشغيل المستخدم، يمكنه استخدام الوسائط القابلة للتمهيد مع إصدار قديم ضعيف من GRUB2، معتمدة بتوقيع رقمي، للتنازل عن التمهيد الآمن لـ UEFI.

المصدر: opennet.ru

إضافة تعليق