ثغرات أمنية في البرامج الثابتة UEFI المستندة إلى إطار عمل InsydeH2O، مما يسمح بتنفيذ التعليمات البرمجية على مستوى SMM

في إطار عمل InsydeH2O، الذي يستخدمه العديد من الشركات المصنعة لإنشاء برامج UEFI الثابتة لأجهزتهم (التطبيق الأكثر شيوعًا لـ UEFI BIOS)، تم تحديد 23 نقطة ضعف تسمح بتنفيذ التعليمات البرمجية على مستوى SMM (وضع إدارة النظام)، والذي يحتوي على أولوية أعلى (الحلقة -2) من وضع برنامج Hypervisor وحلقة حماية صفرية، وإمكانية الوصول غير المحدود إلى كل الذاكرة. تؤثر المشكلة على برامج UEFI الثابتة التي تستخدمها الشركات المصنعة مثل Fujitsu وSiemens وDell وHP وHPE وLenovo وMicrosoft وIntel وBull Atos.

يتطلب استغلال الثغرات الوصول المحلي مع حقوق المسؤول، مما يجعل المشكلات شائعة كنقاط ضعف من الدرجة الثانية، يتم استخدامها بعد استغلال الثغرات الأمنية الأخرى في النظام أو استخدام أساليب الهندسة الاجتماعية. يتيح لك الوصول على مستوى SMM تنفيذ التعليمات البرمجية على مستوى لا يتحكم فيه نظام التشغيل، والذي يمكن استخدامه لتعديل البرامج الثابتة وترك التعليمات البرمجية الضارة أو الجذور الخفية المخفية في SPI Flash التي لم يكتشفها نظام التشغيل، بالإضافة إلى لتعطيل التحقق في مرحلة التمهيد (UEFI Secure Boot وIntel BootGuard) والهجمات على برامج Hypervisor لتجاوز آليات التحقق من سلامة البيئات الافتراضية.

ثغرات أمنية في البرامج الثابتة UEFI المستندة إلى إطار عمل InsydeH2O، مما يسمح بتنفيذ التعليمات البرمجية على مستوى SMM

يمكن استغلال الثغرات الأمنية من نظام التشغيل باستخدام معالجات SMI (مقاطعة إدارة النظام) التي لم يتم التحقق منها، وكذلك في مرحلة ما قبل التنفيذ لنظام التشغيل أثناء المراحل الأولية للتمهيد أو العودة من وضع السكون. جميع الثغرات ناتجة عن مشاكل في الذاكرة وتنقسم إلى ثلاث فئات:

  • وسيلة شرح SMM - تنفيذ التعليمات البرمجية الخاصة بك بحقوق SMM عن طريق إعادة توجيه تنفيذ معالجات مقاطعة SWSMI إلى تعليمات برمجية خارج SMRAM؛
  • تلف الذاكرة الذي يسمح للمهاجم بكتابة بياناته إلى SMRAM، وهي منطقة ذاكرة خاصة معزولة يتم فيها تنفيذ التعليمات البرمجية باستخدام حقوق SMM.
  • تلف الذاكرة في التعليمات البرمجية التي تعمل على مستوى DXE (بيئة تنفيذ برنامج التشغيل).

لتوضيح مبادئ تنظيم الهجوم، تم نشر مثال على استغلال، والذي يسمح، من خلال هجوم من الحلقة الثالثة أو الصفرية من الحماية، بالوصول إلى DXE Runtime UEFI وتنفيذ التعليمات البرمجية الخاصة بك. يعالج هذا الاستغلال تجاوز سعة المكدس (CVE-2021-42059) في برنامج تشغيل UEFI DXE. أثناء الهجوم، يمكن للمهاجم وضع الكود الخاص به في برنامج تشغيل DXE، والذي يظل نشطًا بعد إعادة تشغيل نظام التشغيل، أو إجراء تغييرات على منطقة NVRAM الخاصة بـ SPI Flash. أثناء التنفيذ، يمكن أن يقوم كود المهاجم بإجراء تغييرات على مناطق الذاكرة المميزة، وتعديل خدمات EFI Runtime، والتأثير على عملية التمهيد.

المصدر: opennet.ru

إضافة تعليق