تعمل دفاعات Spectre v2، المعروفة أيضًا باسم Branch Target Injection، على تنظيف حالة متنبئ الفروع أو عزلها عند الانتقال بين مستويات الصلاحيات، مثل الانتقال من مساحة المستخدم إلى النواة . وتفترض هذه الآلية أن المهاجم لا يستطيع التأثير في المتنبئ بعد تنظيفه مباشرة وقبل أن تستخدمه النواة.
لكن TONTOU يستهدف هذه الفرضية تحديدًا. ففي حالة Safe RET على معالجات AMD، لا تتجاوز النافذة المعرضة للاستغلال تعليمتين . ويشغّل المهاجم برنامجًا عاديًا بلا صلاحيات مرتفعة، ثم يحقن مقاطعة عتادية بتوقيت بالغ الدقة عبر تقنية تُعرف باسم Interrupt Injection. وإذا وصلت المقاطعة في الفجوة المناسبة، يمكنها إعادة تسميم متنبئ الفروع بعد تنفيذ الحماية، لكن قبل استخدام النواة لحالته الجديدة .
والنتيجة هي إعادة تمكين تسريب البيانات عبر القنوات الجانبية للتنفيذ التخميني، رغم تفعيل وسائل الحماية المقصودة. ويكفي للهجوم أن يتمكن المهاجم من تشغيل كود في مساحة المستخدم على الجهاز المستهدف؛ فلا يحتاج إلى صلاحيات إدارية .
بنى الباحثون استغلالًا متكاملًا من البداية إلى النهاية، واختبروه على أجيال متعددة من المعالجات، شملت:
وعلى جهاز يعمل بمعالج AMD Zen 2 ونظام Linux 6.14.0-37-generic وذاكرة بسعة 16 غيغابايت، ومع تفعيل إعدادات الحماية الافتراضية ضد Spectre v2، تمكن الهجوم من تسريب بيانات عشوائية من ذاكرة النواة بمعدل 5.47 بايت في الثانية . وبلغت دقة البيانات المستخرجة 91.97% .
كما نجح الباحثون في تحديد موقع ملف /etc/shadow وقراءة محتواه في خمس محاولات من أصل عشر، واستغرقت كل محاولة نحو 18 دقيقة. ويحتوي الملف على تجزئات كلمات مرور حسابات Linux، وليس كلمات المرور النصية نفسها .
أما على منصات Intel، فأظهر الاختبار إمكانية تجاوز جزئي لحماية eIBRS على معالجي Cascade Lake Refresh وArrow Lake، مع اختلاف سطح الهجوم عن حالة Safe RET لدى AMD . ولم يؤكد الباحثون نجاح توجيه الفروع الخاطئ بالطريقة نفسها على AMD Zen 4 .
جاءت الاستجابة بعد إفصاح منسق بين الباحثين والشركات المعنية:
x86/bugs: Make Safe-RET robust against interrupt injection .أقرت Intel بالنتائج خلال عملية الإفصاح المنسق، ومنحت الباحثين مكافأة ضمن برنامج مكافآت اكتشاف الثغرات لديها. لكنها أبلغتهم بأنها لن تطور وسائل تخفيف إضافية، مستندةً إلى عوامل مثل الحاجة إلى توفر «أدوات إفصاح» أو مسارات برمجية مناسبة لشن هجوم عملي .
تختلف أهمية TONTOU عن كثير من هجمات Spectre السابقة. فبدلًا من مهاجمة آلية التنبؤ الأساسية مباشرة، يستهدف الهجوم الإجراء الوقائي نفسه: أي البرمجيات والآليات العتادية التي صُممت لمنع التسريبات الناجمة عن التنفيذ التخميني.
ويكشف ذلك عن مشكلة شبيهة بظروف السباق المعروفة في البرمجيات: لا يكفي تنظيف الحالة إذا أمكن تعديلها مجددًا قبل لحظة استخدامها. ويعني هذا أن افتراض التعامل مع «تحييد متنبئ الفروع» و«استخدامه» كعملية ذرية واحدة لم يعد صحيحًا.
يغلق تصحيح Linux نافذة حقن المقاطعات المحددة على معالجات AMD Zen، لكنه يسلط الضوء على درس أوسع: لا يمكن ضمان أمن المعالجات بالتصحيحات البرمجية وحدها. فالحماية الفعالة تحتاج أيضًا إلى مراجعة الافتراضات المعمارية الدقيقة التي تقوم عليها آليات الدفاع ضد هجمات التنفيذ التخميني.