SQUIP هو هجوم على معالجات AMD يؤدي إلى تسرب البيانات عبر قنوات الطرف الثالث

كشف فريق من الباحثين من جامعة غراتس التقنية (النمسا)، المعروفة سابقًا بتطوير هجمات MDS و NetSpectre و Throwhammer و ZombieLoad، عن معلومات حول طريقة هجوم القناة الجانبية الجديدة (CVE-2021-46778) على معالج AMD قائمة انتظار الجدولة، تستخدم لجدولة تنفيذ التعليمات في وحدات التنفيذ المختلفة لوحدة المعالجة المركزية. يتيح لك الهجوم، المسمى SQUIP، تحديد البيانات المستخدمة في العمليات الحسابية في عملية أخرى أو جهاز افتراضي أو تنظيم قناة اتصال مخفية بين العمليات أو الأجهزة الافتراضية، مما يسمح لك بتبادل البيانات من خلال تجاوز آليات التحكم في الوصول إلى النظام.

تؤثر المشكلة على وحدات المعالجة المركزية AMD المستندة إلى معماريات Zen الدقيقة من الجيل الأول والثاني والثالث (AMD Ryzen 2000-5000 وAMD Ryzen Threadripper وAMD Athlon 3000 وAMD EPYC) عند استخدام تقنية الخيوط المتعددة المتزامنة (SMT). معالجات Intel ليست عرضة للهجوم لأنها تستخدم قائمة انتظار جدولة واحدة، بينما تستخدم معالجات AMD الضعيفة قوائم انتظار منفصلة لكل وحدة تنفيذ. كحل بديل لمنع تسرب المعلومات، أوصت AMD المطورين باستخدام الخوارزميات التي يتم فيها إجراء الحسابات الرياضية دائمًا في وقت ثابت، بغض النظر عن طبيعة البيانات التي تتم معالجتها، وكذلك تجنب التفرع بناءً على البيانات الحساسة.

يعتمد الهجوم على تقييم مستوى التنافس في قوائم انتظار الجدولة المختلفة ويتم تنفيذه عن طريق قياس التأخير عند بدء عمليات التحقق التي يتم إجراؤها في مؤشر ترابط SMT آخر على نفس وحدة المعالجة المركزية الفعلية. لتحليل المحتوى، تم استخدام طريقة Prime+Probe، والتي تتضمن ملء قائمة الانتظار بمجموعة قياسية من القيم واكتشاف التغييرات عن طريق قياس وقت الوصول إليها عند إعادة تعبئتها.

خلال التجربة، تمكن الباحثون من إعادة إنشاء مفتاح RSA 4096 بت الخاص بشكل كامل والمستخدم لإنشاء التوقيعات الرقمية باستخدام مكتبة التشفير mbedTLS 3.0، والتي تستخدم خوارزمية مونتغمري لرفع عدد من الوحدات. يتطلب تحديد المفتاح 50500 أثر. استغرق إجمالي وقت الهجوم 38 دقيقة. تم توضيح متغيرات الهجوم التي توفر التسرب بين العمليات المختلفة والأجهزة الافتراضية التي يديرها برنامج Hypervisor KVM. وتبين أيضًا أنه يمكن استخدام الطريقة لتنظيم نقل البيانات المخفية بين الأجهزة الافتراضية بسرعة 0.89 ميجابت/ثانية وبين العمليات بسرعة 2.70 ميجابت/ثانية بمعدل خطأ أقل من 0.8%.

المصدر: opennet.ru

إضافة تعليق