CROSSTalk - ثغرة أمنية في وحدات المعالجة المركزية Intel تؤدي إلى تسرب البيانات بين النوى

حدد فريق من الباحثين من جامعة Vrije Universiteit Amsterdam أمرًا جديدًا عالي التأثر (CVE-2020-0543) في الهياكل المعمارية الدقيقة لمعالجات Intel، ومن الجدير بالذكر أنه يسمح لك باستعادة نتائج تنفيذ بعض التعليمات التي تم تنفيذها على نواة وحدة المعالجة المركزية الأخرى. هذه هي الثغرة الأمنية الأولى في آلية تنفيذ التعليمات التخمينية التي تسمح بتسرب البيانات بين مراكز وحدة المعالجة المركزية الفردية (كانت التسريبات سابقًا تقتصر على سلاسل مختلفة من نفس النواة). أطلق الباحثون على المشكلة اسم CROSSTalk، ولكن وثائق إنتل يشار إلى الثغرة الأمنية باسم SRBDS (أخذ عينات بيانات المخزن المؤقت للسجل الخاص).

تتعلق الثغرة الأمنية بـ مُقَدَّم قبل عام، تم طرح مشاكل فئة MDS (أخذ عينات البيانات المعمارية الدقيقة) وهي تعتمد على تطبيق طرق تحليل القناة الجانبية على البيانات الموجودة في الهياكل المعمارية الدقيقة. مبدأ العملية CROSSTalk قريب من الضعف Rýdlولكن يختلف في مصدر التسرب.
تعالج الثغرة الأمنية الجديدة تسرب المخزن المؤقت الوسيط غير الموثق سابقًا والذي تتم مشاركته بين جميع مراكز وحدة المعالجة المركزية.

CROSSTalk - ثغرة أمنية في وحدات المعالجة المركزية Intel تؤدي إلى تسرب البيانات بين النوى

جوهر المشكلة هو أن بعض تعليمات المعالجات الدقيقة، بما في ذلك RDRAND وRDSEED وSGX EGETKEY، يتم تنفيذها باستخدام عملية SRR الداخلية (قراءات التسجيل الخاصة). في المعالجات المتأثرة، يتم إيداع البيانات التي يتم إرجاعها لـ SRR في مخزن مؤقت متوسط ​​مشترك بين جميع مراكز وحدة المعالجة المركزية، وبعد ذلك يتم نقلها إلى مخزن تعبئة مؤقت مرتبط بنواة وحدة المعالجة المركزية الفعلية المحددة التي بدأت عملية القراءة عليها. بعد ذلك، يتم نسخ القيمة من المخزن المؤقت للتعبئة إلى السجلات المرئية للتطبيقات.

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

CROSSTalk - ثغرة أمنية في وحدات المعالجة المركزية Intel تؤدي إلى تسرب البيانات بين النوى

CROSSTalk - ثغرة أمنية في وحدات المعالجة المركزية Intel تؤدي إلى تسرب البيانات بين النوى

إذا نجح الهجوم، فيمكن لمستخدم محلي تمت مصادقته في النظام تحديد نتيجة تنفيذ تعليمات RDRAND وRDSEED وEGETKEY في عملية خارجية أو داخل منطقة Intel SGX، بغض النظر عن نواة وحدة المعالجة المركزية التي يتم تنفيذ التعليمات البرمجية عليها.
الباحثون الذين حددوا المشكلة نشرت استغلال نموذج أولي يوضح القدرة على تسريب معلومات حول القيم العشوائية التي تم الحصول عليها من خلال تعليمات RDRAND وRDSEED لاستعادة مفتاح ECDSA الخاص الذي تمت معالجته في منطقة Intel SGX بعد إجراء عملية توقيع رقمي واحدة فقط على النظام.


مشكلة مُعَرَّض ل مجموعة واسعة من معالجات Intel المكتبية والهواتف المحمولة والخوادم، بما في ذلك Core i3 وi5 وi7 وi9 وm3 وCeleron (سلسلة J وG وN) وAtom (سلسلة C وE وX) وXeon (E3 وE5 و عائلات E7، W وD)، Xeon Scalable، إلخ. يُشار إلى أنه تم إخطار إنتل بالثغرة الأمنية في سبتمبر 2018، وفي يوليو 2019 تم توفير نموذج أولي للاستغلال يوضح تسرب البيانات بين مراكز وحدة المعالجة المركزية، ولكن تأخر تطوير الإصلاح بسبب تعقيد تنفيذه. يعالج تحديث الرمز الصغير المقترح اليوم المشكلة عن طريق تغيير سلوك تعليمات RDRAND وRDSEED وEGETKEY للكتابة فوق البيانات في المخزن المؤقت المشترك لمنع المعلومات المتبقية من الاستقرار هناك. بالإضافة إلى ذلك، يتم إيقاف الوصول إلى المخزن المؤقت مؤقتًا حتى تتم قراءة المحتويات وإعادة كتابتها.

أحد الآثار الجانبية لهذا النوع من الحماية هو زيادة زمن الوصول عند تنفيذ RDRAND وRDSEED وEGETKEY، وتقليل الإنتاجية عند محاولة تنفيذ هذه التعليمات في وقت واحد على معالجات منطقية مختلفة. يؤدي تنفيذ RDRAND وRDSEED وEGETKEY أيضًا إلى تعليق الوصول إلى الذاكرة من المعالجات المنطقية الأخرى. قد تؤثر هذه الميزات سلبًا على أداء بعض تطبيقات الخادم، لذا يوفر البرنامج الثابت آلية (RNGDS_MITG_DIS) لتعطيل الحماية لتعليمات RDRAND وRDSEED التي يتم تنفيذها خارج منطقة Intel SGX.

المصدر: opennet.ru

إضافة تعليق