متغير جديد لهجوم Foreshadow يؤثر على معالجات Intel وAMD وARM وIBM

قام مجموعة من الباحثين من جامعة غراتس التقنية (النمسا) ومركز هيلمهولتز لأمن المعلومات (CISPA)، مكشوف (PDF) ناقل جديد لاستخدام هجمات القناة الجانبية أنذر ب (L1TF)، والذي يسمح لك باستخراج البيانات من ذاكرة جيوب Intel SGX، وSMM (وضع إدارة النظام)، ومناطق الذاكرة الخاصة بنواة نظام التشغيل والأجهزة الافتراضية في أنظمة المحاكاة الافتراضية. على عكس الهجوم الأصلي المقترح في عام 2018 أنذر ب المتغير الجديد ليس خاصًا بمعالجات Intel ويؤثر على وحدات المعالجة المركزية (CPU) من الشركات المصنعة الأخرى مثل ARM وIBM وAMD. بالإضافة إلى ذلك، لا يتطلب الإصدار الجديد أداءً عاليًا ويمكن تنفيذ الهجوم حتى عن طريق تشغيل JavaScript وWebAssembly في متصفح الويب.

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

لقد أظهر الباحثون أن طرق الحماية الحالية من Foreshadow غير فعالة ويتم تنفيذها بتفسير غير صحيح للمشكلة. وهن
يمكن استغلال Foreshadow بغض النظر عن آليات أمان kernel التي كانت تعتبر كافية في السابق. ونتيجة لذلك، أظهر الباحثون إمكانية تنفيذ هجوم Foreshadow على الأنظمة ذات النوى القديمة نسبيًا، والتي يتم فيها تمكين جميع أوضاع حماية Foreshadow المتاحة، وكذلك مع النوى الجديدة، التي يتم فيها تعطيل حماية Spectre-v2 فقط (باستخدام خيار Linux kernel nospectre_v2).

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

تفتح الميزة المحددة أيضًا إمكانية إنشاء هجمات جديدة تستهدف عمليات ترجمة العناوين الافتراضية إلى عناوين فعلية في بيئات معزولة وتحديد العناوين والبيانات المخزنة في سجلات وحدة المعالجة المركزية. كعرض توضيحي، أظهر الباحثون إمكانية استخدام التأثير المحدد لاستخراج البيانات من عملية إلى أخرى بأداء حوالي 10 بت في الثانية على نظام مزود بوحدة المعالجة المركزية Intel Core i7-6500U. تظهر أيضًا إمكانية تسرب محتويات السجل من منطقة Intel SGX (استغرق تحديد قيمة 32 بت مكتوبة في سجل 64 بت 15 دقيقة). تبين أن بعض أنواع الهجمات يمكن تنفيذها في JavaScript وWebAssembly، على سبيل المثال، كان من الممكن تحديد العنوان الفعلي لمتغير JavaScript وملء سجلات 64 بت بقيمة يتحكم فيها المهاجم.

لمنع هجوم Foreshadow من خلال ذاكرة التخزين المؤقت L3، تكون طريقة الحماية Specter-BTB (Branch Target Buffer) المطبقة في مجموعة تصحيح retpoline فعالة. وبالتالي، يعتقد الباحثون أنه من الضروري ترك retpoline ممكّنًا حتى على الأنظمة التي تحتوي على وحدات معالجة مركزية جديدة تتمتع بالفعل بحماية ضد الثغرات الأمنية المعروفة في آلية تنفيذ المضاربة لوحدة المعالجة المركزية. وفي الوقت نفسه، ذكر ممثلو إنتل أنهم لا يخططون لإضافة تدابير حماية إضافية ضد Foreshadow إلى المعالجات ويعتبرونها كافية لتشمل الحماية ضد هجمات Spectre V2 وL1TF (Foreshadow).

المصدر: opennet.ru

إضافة تعليق