الثغرات الأمنية في تطبيق مرجع TPM 2.0 الذي يسمح بالوصول إلى البيانات في التشفير

في التعليمات البرمجية مع التنفيذ المرجعي لمواصفات TPM 2.0 (الوحدة النمطية للنظام الأساسي الموثوق به)، تم تحديد الثغرات الأمنية (CVE-2023-1017، CVE-2023-1018) التي تؤدي إلى كتابة أو قراءة البيانات خارج حدود المخزن المؤقت المخصص. قد يؤدي الهجوم على تطبيقات معالجات التشفير باستخدام تعليمات برمجية ضعيفة إلى استخراج المعلومات المخزنة على الشريحة مثل مفاتيح التشفير أو الكتابة فوقها. يمكن للمهاجم استخدام القدرة على الكتابة فوق البيانات الموجودة في البرنامج الثابت TPM لتنظيم تنفيذ التعليمات البرمجية الخاصة به في سياق TPM، والتي، على سبيل المثال، يمكن استخدامها لتنفيذ أبواب خلفية تعمل على جانب TPM ولا يتم اكتشافها بواسطة نظام التشغيل.

سبب الثغرات الأمنية هو التحقق غير الصحيح من حجم معلمات الدالة CryptParameterDecryption()، والتي تسمح بكتابة وحدتي بايت أو قراءتهما خارج حدود المخزن المؤقت الذي تم تمريره إلى الدالة ExecuteCommand() والتي تحتوي على الأمر TPM2.0. اعتمادًا على تطبيق البرنامج الثابت، يمكن أن تؤدي وحدتا البايت اللتان تتم الكتابة فوقهما إلى إتلاف الذاكرة غير المستخدمة والبيانات أو المؤشرات الموجودة على المكدس.

يتم استغلال الثغرة الأمنية عن طريق إرسال أوامر مصممة خصيصًا إلى وحدة TPM (يجب أن يكون لدى المهاجم حق الوصول إلى واجهة TPM). تم حل المشكلات في تحديث مواصفات TPM 2.0 الذي تم إصداره في يناير (1.59 Errata 1.4، 1.38 Errata 1.13، 1.16 Errata 1.6).

مكتبة libtpms المفتوحة، المستخدمة لمحاكاة البرامج لوحدات TPM ودمج دعم TPM في برامج Hypervisor، معرضة للخطر أيضًا. تم إصلاح الثغرة الأمنية في إصدار libtpms 0.9.6.

المصدر: opennet.ru

إضافة تعليق