
بحث تقني حول تجاوز UEFI Secure Boot الناتج عن محمّل PE مخصص غير آمن، بما في ذلك تحليل السبب الجذري، وسير عمل الاستغلال، وإثبات مفهوم تعليمي.
يحتوي هذا المستودع على مواد بحثية متعلقة بـ CVE-2024-7344، وهي ثغرة أمنية لتجاوز Secure Boot تؤثر على أنظمة UEFI. يقوم بمركزة التحليل الفني للثغرة، وتوثيق سيناريو الهجوم، وتطبيقات مُعاد إنشاؤها مصممة لإعادة إنتاج السلوك القابل للاستغلال في بيئات خاضعة للتحكم. يتضمن المستودع أيضًا وثائق وموارد بحثية تهدف إلى مساعدة باحثي الأمن على فهم ودراسة وتجربة التقنيات المرتبطة بهذه الثغرة.
تم اكتشاف CVE-2024-7344 في الأصل والإفصاح عنه بمسؤولية من قبل فريق أبحاث ESET، مع دعم الإفصاح المنسق من CERT/CC. المراجع الرسمية والمجتمعية:
يتضمن هذا المستودع إثبات مفهوم تعليمي مبسط يعيد إنتاج نفس فئة الثغرة الموجودة في CVE-2024-7344. بالإضافة إلى ذلك، تم تحليل وتوثيق جزء من التنفيذ الحقيقي الأصلي من خلال جهد بحثي مخصص لأمن UEFI.
يجب على الباحثين المهتمين بفهم الأصل التاريخي لهذه الثغرة، وتنسيق ALRM الأصلي، ومحمّل RxPE المخصص، وتطور المنتجات المتأثرة بعد إبطال Microsoft، الرجوع إلى المستودع المصاحب "UEFI-Security-Research-Howyar-SysReturn-NetCopy".
يتم تضمين تطبيق UEFI الأصلي القابل للاستغلال (x32) المتأثر بـ CVE-2024-7344 في هذا المستودع.
من المعروف أن الملف الثنائي x64 متاح داخل أرشيف مستضاف على VirusTotal. يتطلب الوصول إلى هذه العينة حساب VirusTotal Enterprise، وفي وقت كتابة هذا التقرير لم نتمكن من الوصول لتنزيلها. كمرجع، يمكن العثور على العينة في عنوان URL التالي للباحثين الذين لديهم الوصول المناسب:
CVE-2024-7344 هي ثغرة أمنية لتجاوز UEFI Secure Boot ناتجة عن تطبيق UEFI تابع لجهة خارجية موقّع من Microsoft يقوم بتحميل وتنفيذ ملفات UEFI الثنائية غير الموقعة بشكل غير صحيح أثناء عملية الإقلاع. تسمح الثغرة للمهاجمين بتنفيذ كود غير موثوق قبل تحميل نظام التشغيل، مما يكسر فعليًا سلسلة الثقة الخاصة بـ UEFI Secure Boot حتى عند تمكين Secure Boot.
على عكس ثغرات تجاوز Secure Boot الأخرى القائمة على تلف الذاكرة أو التلاعب بـ NVRAM، فإن CVE-2024-7344 هي نتيجة خلل منطقي وتصميمي. يطبق تطبيق UEFI المتأثر محمّل PE مخصصًا خاصًا به بدلاً من الاعتماد على خدمات UEFI القياسية (LoadImage و StartImage)، وبالتالي يتجاوز جميع عمليات التحقق التشفيرية التي يفرضها Secure Boot عادةً.
نظرًا لأن التطبيق القابل للاستغلال موقّع بشهادة UEFI التابعة لجهات خارجية من Microsoft وموثوق به افتراضيًا على معظم الأنظمة، يحدث الاستغلال في مرحلة تنفيذ مبكرة وعالية الامتياز من المنصة.
Secure Boot هي ميزة أمان أساسية في UEFI مصممة لفرض سلسلة الثقة الخاصة بالمنصة من البرامج الثابتة إلى نظام التشغيل. الغرض الأساسي منها هو منع مكونات الإقلاع غير المصرح بها أو الخبيثة، مثل bootkits، من التنفيذ أثناء عملية الإقلاع.
على مستوى عالٍ، يعمل Secure Boot عن طريق التحقق التشفيري من ملفات UEFI القابلة للتنفيذ قبل السماح لها بالعمل. يتم إجراء هذا التحقق باستخدام قاعدتي بيانات تحتفظ بهما البرامج الثابتة:
يُسمح لتطبيق UEFI بالتنفيذ إذا كان أي مما يلي صحيحًا:
افتراضيًا، تأتي معظم الأنظمة مع الشهادات التالية الموثوقة في db:
التطبيق القابل للاستغلال المتأثر بـ CVE-2024-7344 موقّع بشهادة Microsoft Corporation UEFI CA 2011. نظرًا لأن هذه الشهادة موثوقة على نطاق واسع عبر البائعين والمنصات، فإن أي ثغرة داخل مثل هذا التطبيق الموقّع لها تأثير عالمي ويمكن استغلالها على غالبية أنظمة UEFI.
تم اكتشاف الثغرة من قبل فريق أبحاث ESET أثناء تحليل مكونات UEFI المرفقة مع العديد من منتجات برامج الاسترداد في الوقت الفعلي. كشف الاستطلاع الأولي عن وجود تطبيق UEFI موقّع من Microsoft باسم reloader.efi، تم نشره جنبًا إلى جنب مع ملف بيانات باسم cloak.dat على قسم نظام EFI (ESP).
أظهر فحص التطبيق أنه مصمم لتحميل وتنفيذ حمولة UEFI إضافية من القرص أثناء بدء تشغيل النظام. في حين أن هذا السلوك ليس غير آمن بطبيعته، كشفت الهندسة العكسية الإضافية أن التطبيق لا يستخدم خدمات تحميل الصور القياسية في UEFI ولا يفرض التحقق من Secure Boot على الحمولة المحملة. أكد التحقيق الإضافي أن نفس محمّل الإقلاع القابل للاستغلال تم استخدامه عبر منتجات متعددة من بائعين مختلفين.
يكمن السبب الجذري لـ CVE-2024-7344 في استخدام محمّل PE مخصص تم تنفيذه داخل تطبيق UEFI موقّع. على وجه التحديد:
من خلال تجاوز LoadImage و StartImage، يتجنب التطبيق تمامًا التحقق من Secure Boot. نتيجة لذلك، يمكن تنفيذ أي ملف UEFI ثنائي غير موقّع بغض النظر عن حالة Secure Boot. يمثل هذا انتهاكًا أساسيًا لافتراضات Secure Boot ويُصنف على أنه خلل أمني على مستوى التصميم وليس خطأ في التنفيذ.
لا يتطلب استغلال CVE-2024-7344 تلف الذاكرة أو حالات السباق أو بدائيات استغلال معقدة. بدلاً من ذلك، يعتمد على إساءة استخدام الوظيفة المقصودة للتطبيق القابل للاستغلال.
يتضمن سير عمل الاستغلال النموذجي ما يلي:
أثناء الإقلاع:
يتيح هذا نشرًا موثوقًا لـ bootkits الخاصة بـ UEFI مثل BlackLotus أو HybridPetya على الأنظمة التي تم تمكين Secure Boot فيها.
تم توزيع محمّل الإقلاع القابل للاستغلال كجزء من العديد من منتجات برامج الاسترداد والنسخ الاحتياطي الشرعية، بما في ذلك:
خففت Microsoft من CVE-2024-7344 عن طريق إبطال ملفات UEFI الثنائية المتأثرة عبر تحديثات Secure Boot dbx الصادرة في 14 يناير 2025، لذا فإن الأنظمة التي طبقت أحدث عمليات إبطال UEFI محمية ضد استغلال هذه الثغرة.
هل تعمل على شيء مشابه؟ هل تبحث في أمن UEFI أو أمن Kernel أو الاستغلال أو موضوع أمني مثير آخر؟ إذا كنت بحاجة إلى مساعدة في تطوير استغلال، أو استكشاف تقنية، أو ترغب فقط في تبادل الأفكار، فلا تتردد في التواصل. أنا دائمًا منفتح لمناقشة الأبحاث، وتقديم المساعدة حيثما أستطيع، والتعاون في مشاريع مثيرة للاهتمام. لا تتردد في التواصل معي على LinkedIn.