يوضح Google استغلال ثغرات Spectre باستخدام JavaScript في متصفح

كشف النقاب عن جوجل قبل عدة أيام نماذج استغلال مختلفة التي توضح إمكانية استغلال الثغرات الأمنية من فئة Specter عند تنفيذ كود JavaScript في متصفح ، دون المرور بأساليب الأمان المضافة أعلاه.

يمكن استخدام برامج إكسبلويت للوصول إلى ذاكرة العملية الذي يعالج محتوى الويب في علامة التبويب الحالية. لاختبار عملية الاستغلال ، تم إطلاق الموقع الإلكتروني للصفحة المسربة ونشر الكود الذي يصف منطق العملية على GitHub.

تم تصميم النموذج الأولي المقترح ل أنظمة الهجوم مع معالجات Intel Core i7-6500U في بيئة Linux و Chrome 88 ، على الرغم من أن هذا لا يستبعد إمكانية إجراء تغييرات على استخدام برمجيات إكسبلويت في بيئات أخرى.

طريقة التشغيل ليست محددة ل المعالجات Intel: بعد التكيف المناسب ، تم التأكد من أن الثغرة تعمل على أنظمة مع وحدات معالجة مركزية تابعة لجهات خارجية ، بما في ذلك Apple M1 المستند إلى بنية ARM. بعد التعديلات الطفيفة ، يعمل الاستغلال أيضًا على أنظمة تشغيل أخرى ومتصفحات أخرى تعتمد على محرك Chromium.

في بيئة تعتمد على معالجات Chrome 88 القياسية و Intel Skylake ، حققنا تسربًا للبيانات من العملية المسؤولة عن عرض محتوى الويب في علامة تبويب Chrome الحالية (عملية التقديم) بسرعة 1 كيلوبايت في الثانية. بالإضافة إلى ذلك ، تم تطوير نماذج أولية بديلة ، على سبيل المثال ، استغلال يسمح ، على حساب انخفاض الاستقرار ، بزيادة معدل التسرب إلى 8 كيلو بايت / ثانية عند استخدام مؤقت الأداء .now () بدقة 5 ميكروثانية (0.005 مللي ثانية) ). تم تطوير متغير أيضًا يعمل بدقة مؤقت تبلغ مللي ثانية واحدة ، والتي يمكن استخدامها لتنظيم الوصول إلى ذاكرة عملية أخرى بمعدل حوالي 60 بايت في الثانية.

يتكون الكود التجريبي المنشور من ثلاثة أجزاء:

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

تقنية الاستغلال المقترحة يزيل الموقتات عالية الدقة متاح من خلال Performance.now () API وبدون دعم لنوع SharedArrayBuffer ، والذي يسمح لك بإنشاء مصفوفات في الذاكرة المشتركة.

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

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

لتحليل محتويات ذاكرة التخزين المؤقت في ظل ظروف عدم كفاية دقة المؤقت ، تم اقتراح طريقة تخدع استراتيجية إخلاء بيانات ذاكرة التخزين المؤقت Tree-PLRU المستخدمة في المعالجات وتسمح ، عن طريق زيادة عدد الدورات ، بزيادة وقت الاختلاف بشكل كبير عند القيمة يتم إرجاعها من ذاكرة التخزين المؤقت وفي حالة عدم وجود قيمة في ذاكرة التخزين المؤقت.

نشرت Google نموذجًا أوليًا للاستغلال لإظهار جدوى الهجمات باستخدام نقاط الضعف من فئة Specter وتشجيع مطوري الويب على استخدام تقنيات تقلل من مخاطر مثل هذه الهجمات.

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

مصدر: https://security.googleblog.com


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.