ثغرة أمنية في AMD SEV تسمح بتحديد مفاتيح التشفير

المطورين من فريق Google Cloud مكشوف ثغرة أمنية (CVE-2019-9836) في تنفيذ تقنية AMD SEV (المحاكاة الافتراضية الآمنة المشفرة)، والتي تسمح باختراق البيانات المحمية باستخدام هذه التقنية. يوفر AMD SEV على مستوى الأجهزة تشفيرًا شفافًا لذاكرة الجهاز الظاهري، حيث يستطيع نظام الضيف الحالي فقط الوصول إلى البيانات التي تم فك تشفيرها، وتتلقى الأجهزة الافتراضية الأخرى وبرنامج Hypervisor مجموعة مشفرة من البيانات عند محاولة الوصول إلى هذه الذاكرة.

تتيح المشكلة التي تم تحديدها إمكانية استعادة محتويات مفتاح PDH الخاص بالكامل، والذي تتم معالجته على مستوى معالج PSP محمي منفصل (معالج أمان AMD)، والذي لا يمكن الوصول إليه من قبل نظام التشغيل الرئيسي.
باستخدام مفتاح PDH، يمكن للمهاجم بعد ذلك استعادة مفتاح الجلسة والتسلسل السري المحدد عند إنشاء الجهاز الظاهري والوصول إلى البيانات المشفرة.

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

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

تؤثر المشكلة على منصات خادم AMD EPYC التي تستخدم البرامج الثابتة SEV حتى الإصدار 0.17 الإصدار 11. وقد قامت AMD بالفعل опубликовала تحديث البرنامج الثابت يضيف حظرًا للنقاط التي لا تتوافق مع منحنى NIST. وفي الوقت نفسه، تظل الشهادات التي تم إنشاؤها مسبقًا لمفاتيح PDH صالحة، مما يسمح للمهاجم بتنفيذ هجوم لترحيل الأجهزة الافتراضية من البيئات المحمية من الثغرة الأمنية إلى البيئات المعرضة للمشكلة. تم أيضًا ذكر إمكانية تنفيذ هجوم لاسترجاع إصدار البرنامج الثابت إلى إصدار قديم ضعيف، لكن هذا الاحتمال لم يتم تأكيده بعد.

المصدر: opennet.ru

إضافة تعليق