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

أثناء الهندسة العكسية لتطبيق نظام التنبؤ بالقناة في أجيال مختلفة من معالجات 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 الذي يتم تنفيذه في بيئة معزولة وكود يعمل في بيئة ضيف أخرى.

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

المصدر: opennet.ru

