هجومان على آلية التنبؤ بقناة التخزين المؤقت في معالجات AMD

مجموعة من الباحثين من جامعة غراتس التقنية (النمسا)، المعروفة سابقاً بتطوير أساليب الهجوم MDS, نت سبيكتر, مطرقة и ZombieLoad، أجرى بحثًا في تحسينات الأجهزة الخاصة بمعالجات AMD و قد تطور طريقتان جديدتان لهجمات القناة الجانبية التي تعالج تسرب البيانات أثناء تشغيل آلية التنبؤ بقناة ذاكرة التخزين المؤقت LXNUMX لمعالجات AMD. يمكن استخدام هذه التقنيات لتقليل فعالية حماية ASLR، واستعادة المفاتيح في تطبيقات AES الضعيفة، وتحسين فعالية هجوم Spectre.

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

هجومان على آلية التنبؤ بقناة التخزين المؤقت في معالجات AMD

أثناء الهندسة العكسية لتطبيق نظام التنبؤ بالقناة في أجيال مختلفة من معالجات AMD التي تم إصدارها في الفترة من 2011 إلى 2019، تم تحديد تقنيتين جديدتين للهجوم عبر القناة الجانبية:

  • Collide+Probe - يسمح للمهاجم بتتبع الوصول إلى الذاكرة للعمليات التي تعمل على نفس قلب وحدة المعالجة المركزية المنطقية. يتمثل جوهر الطريقة في استخدام العناوين الافتراضية التي تسبب تصادمات في وظيفة التجزئة المستخدمة لحساب μTag لتتبع الوصول إلى الذاكرة. على عكس هجمات Flush+Reload وPrime+Probe المستخدمة في معالجات Intel، لا يستخدم Collide+Probe الذاكرة المشتركة ويعمل دون معرفة العناوين الفعلية.
  • Load+Reload - يسمح لك بتحديد آثار الوصول إلى الذاكرة بدقة شديدة على نفس قلب وحدة المعالجة المركزية الفعلية. تعتمد الطريقة على حقيقة أن خلية الذاكرة الفعلية لا يمكن أن تكون موجودة في ذاكرة التخزين المؤقت L1D إلا مرة واحدة. أولئك. سيؤدي الوصول إلى نفس خلية الذاكرة على عنوان افتراضي مختلف إلى إخراج الخلية من ذاكرة التخزين المؤقت L1D، مما يسمح بتتبع الوصول إلى الذاكرة. على الرغم من أن الهجوم يعتمد على الذاكرة المشتركة، إلا أنه لا يمسح خطوط ذاكرة التخزين المؤقت، مما يسمح بهجمات خفية لا تسحب البيانات من ذاكرة التخزين المؤقت ذات المستوى الأخير.

استنادًا إلى تقنيات Collide+Probe وLoad+Reload، أظهر الباحثون عدة سيناريوهات لهجوم القناة الجانبية:

  • تم عرض إمكانية استخدام طرق لتنظيم قناة اتصال مخفية غير مباشرة بين عمليتين، مما يسمح بنقل البيانات بسرعات تصل إلى 588 كيلو بايت في الثانية.
  • باستخدام التصادمات في μTag، كان من الممكن تقليل الإنتروبيا لمتغيرات مختلفة من ASLR (التوزيع العشوائي لتخطيط مساحة العنوان) وتجاوز حماية ASLR في النواة على نظام Linux محدث بالكامل. يتم عرض إمكانية تنفيذ هجوم لتقليل إنتروبيا ASLR من تطبيقات المستخدم واستخدام كود JavaScript الذي يتم تنفيذه في بيئة وضع الحماية والتعليمات البرمجية التي يتم تشغيلها في بيئة ضيف أخرى.

    هجومان على آلية التنبؤ بقناة التخزين المؤقت في معالجات AMD

  • استنادًا إلى طريقة Collide+Probe، تم تنفيذ هجوم لاستعادة مفتاح التشفير من تطبيق ضعيف (استنادًا إلى طاولة على شكل حرف T) تشفير AES.
  • باستخدام طريقة Collide+Probe كقناة للحصول على البيانات، تمكن هجوم Spectre من استخراج البيانات الخاصة من النواة دون استخدام الذاكرة المشتركة.

تحدث الثغرة الأمنية في معالجات AMD المعتمدة على البنى الدقيقة
البلدوزر، وPiledriver، وSteamroller، وZen (Ryzen، وEpic)، وZen+، وZen2.
تم إخطار AMD بالمشكلة في 23 أغسطس 2019، ولكن حتى الآن لم يفرج عن التقرير مع معلومات حول حظر الثغرة الأمنية. ووفقا للباحثين، يمكن حظر المشكلة على مستوى تحديث الكود الصغير من خلال توفير بتات MSR لتعطيل نظام التنبؤ بالقناة بشكل انتقائي، على غرار ما فعلته إنتل للتحكم في تعطيل آليات التنبؤ بالفروع.

هجومان على آلية التنبؤ بقناة التخزين المؤقت في معالجات AMD

المصدر: opennet.ru

إضافة تعليق