TONTOU هو هجوم على معالجات Intel و AMD يسمح بتجاوز الحماية ضد ثغرات Spectre v2.

اكتشف باحثون من معهد ماساتشوستس للتكنولوجيا تقنية هجوم TONTOU (من وقت التحييد إلى وقت الاستخدام)، والتي تُتيح طريقة جديدة لاستغلال الثغرات الأمنية في بنية المعالج الدقيقة ضمن فئة Spectre v2. تسمح هذه الثغرة بتحديد محتويات ذاكرة النواة عند تنفيذ عملية استغلال في مساحة المستخدم. وقد تم دمج شيفرة برمجية لمنع استغلال هذه الثغرة في نواة النظام. Linux 5 أغسطس وتم تضمينها في الإصدارات 7.1.7، 6.18.43، 6.12.102، 6.6.149، 6.1.181، 5.15.214 و 5.10.263.

أثبت الباحثون جدوى هجوم محلي باستخدام مستخدم غير مميز لتحديد تجزئة كلمة مرور المستخدم الجذر المخزنة في ملف /etc/shadow والمحملة في الذاكرة أثناء مصادقة النظام. نجح الباحثون في تسريب البيانات من ذاكرة النواة بمعدل نقل بيانات بلغ 5.47 بايت في الثانية ودقة 91.97%. من بين 10 تجارب تشغيل للاستغلال، والتي استغرقت في المتوسط ​​18 دقيقة، تمكنوا في نصفها من اكتشاف وجود ملف /etc/shadow في الذاكرة واستخراج محتوياته.

تم إثبات استغلال هذه الثغرة على أنظمة بمعالجات AMD، ويمكن استخدامها على معالجات AMD من عائلات Zen 1-4. كما يُمكن استغلالها على أنظمة Intel، ولكن استغلالها أكثر تعقيدًا. وللحماية من تجاوزات سعة مكدس الإرجاع، ومنع ثغرة SRSO (تجاوز سعة مكدس الإرجاع التخميني)، تستخدم معالجات AMD آلية الحماية Safe-RET، التي تُفرغ مخزن التنبؤ بالتفرع بعد كل استخدام، وتُضيّق نطاق الهجوم إلى تعليمتين تُنفذان خلال بضع عشرات من النانوثانية.

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

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

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster