أكدت AMD الثغرة الأمنية المحتملة لوحدات المعالجة المركزية AMD Zen 3 أمام هجوم Spectre-STL

نشرت AMD تقريرًا يحلل أمان تقنية تحسين PSF (إعادة توجيه المتجر التنبؤية) المطبقة في معالجات سلسلة Zen 3. وأكدت الدراسة نظريًا إمكانية تطبيق طريقة الهجوم Spectre-STL (Spectre-v4)، التي تم تحديدها في مايو 2018، على تقنية PSF، ولكن من الناحية العملية، لم يتم العثور على قوالب تعليمات برمجية قادرة على التسبب في هجوم وتم تقييم الخطر العام على أنه غير مهم.

أذكر أن هجوم Spectre-v4 (Speculative Store Bypass) يعتمد على استعادة البيانات التي استقرت في ذاكرة التخزين المؤقت للمعالج بعد التخلص من نتيجة التنفيذ التخميني للعمليات عند معالجة عمليات الكتابة والقراءة بالتناوب باستخدام العنونة غير المباشرة. عندما تتبع عملية القراءة عملية كتابة (على سبيل المثال، mov [rbx + rcx]، 0x0؛ mov rax، [rdx + rsi])، قد تكون إزاحة عنوان القراءة معروفة بالفعل بسبب عمليات مماثلة يتم تنفيذها (عمليات القراءة هي يتم إجراؤها بشكل متكرر ويمكن إجراؤها من ذاكرة التخزين المؤقت) ويمكن للمعالج إجراء عمليات القراءة بشكل تخميني قبل الكتابة دون انتظار حساب إزاحة الكتابة غير المباشرة.

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

تمت إضافته إلى معالجات AMD Zen 3، حيث يعمل PSF على تحسين STLF (إعادة توجيه التخزين إلى التحميل)، الذي ينفذ عمليات القراءة بشكل تخميني من خلال التنبؤ بالعلاقة بين عمليات القراءة والكتابة. عند استخدام STLF الكلاسيكي، يقوم المعالج بإجراء عملية "تحميل" على البيانات المعاد توجيهها مباشرة من أمر "التخزين" السابق، دون انتظار كتابة النتيجة فعليًا إلى الذاكرة، ولكن مع التأكد من أن العناوين المستخدمة في "التحميل" وتطابق أوامر "المتجر". يؤدي تحسين PSF إلى جعل التحقق من العنوان أمرًا تخمينيًا وتنفيذ عملية "تحميل" قبل حساب معلومات العنوان إذا تم تنفيذ زوج تخزين/تحميل يعالج عنوانًا واحدًا مسبقًا. إذا فشل التوقع، فسيتم إرجاع الحالة، ولكن تظل البيانات في ذاكرة التخزين المؤقت.

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

قدمت AMD عددًا من الطرق لتعطيل PSF كليًا أو انتقائيًا، ولكن نظرًا للمخاطر الضئيلة لمعظم التطبيقات، فقد أوصت بعدم تعطيل هذا التحسين افتراضيًا. لحماية العمليات التي تعزل أولئك الذين ينفذون تعليمات برمجية غير جديرة بالثقة بشكل انتقائي، يُقترح تعطيل PSF عن طريق تعيين بتات MSR "SSBD" و"PSFD"، بما في ذلك الخيوط الفردية. تم إعداد التصحيحات لنواة Linux من خلال تنفيذ خيارات سطر الأوامر "psfd" و"nopsfd" التي تتحكم في كيفية تشغيل وإيقاف تشغيل PSF.

المصدر: opennet.ru

إضافة تعليق