لا يتطلب هجوم NetSpectre الجديد من الضحية تنزيل أو تشغيل تعليمات برمجية ضارة

الأمان / لا يتطلب هجوم NetSpectre الجديد من الضحية تنزيل أو تشغيل تعليمات برمجية ضارة

NetSpectre يقصف منافذ الجهاز لكسب الدخول

4 دقائق للقراءة

حظي هجوم جديد لوحدة المعالجة المركزية من فئة Specter باهتمام العلماء الأكاديميين حيث أصدروا مؤخرًا ورقة بحثية بعنوان 'NetSpectre: Read Arbitrary Memory over Network' ، والتي تتناول تفاصيل متعمقة حول كيفية عمل هذه الفئة من هجوم CPU.



ما يجعل هجوم Specter CPU الجديد مخيفًا بعض الشيء هو أنه لا يتطلب المهاجم لخداع ضحيته لتنزيل البرامج النصية الضارة وتشغيلها على أجهزتهم ، أو حتى الوصول إلى موقع ويب يقوم بتشغيل JavaScript ضار في متصفح المستخدم.

يقوم NetSpectre ببساطة بقصف منافذ شبكة الجهاز حتى يجد طريقة لتحقيق أهدافه.



'تحث هجمات Specter الضحية على إجراء عمليات تكهنية لن تحدث أثناء معالجة تعليمات البرنامج المتسلسلة بدقة بالترتيب ، والتي تسرّب معلومات سرية للضحية عبر قناة سرية إلى مهاجم'



ومع ذلك ، لا يأتي NetSpectre بدون عيوبه الخاصة. تتميز بسرعة اختراق بطيئة بشكل لا يصدق ، حوالي 15 بت في الساعة للهجمات التي سيتم تنفيذها عبر اتصال شبكة ، واستهداف البيانات المخزنة في ذاكرة التخزين المؤقت لوحدة المعالجة المركزية.



في الورقة البحثية ، كان الأكاديميون قادرين على تحقيق ما يصل إلى 60 بت / ساعة مع اختلاف خاص من NetSpectre يستهدف البيانات التي تتم معالجتها عبر وحدة AVX2 لوحدة المعالجة المركزية ، والتي تخص وحدات المعالجة المركزية Intel.

في كلتا الحالتين ، يعتبر NetSpectre حاليًا بطيئًا جدًا بحيث لا يكون ذا قيمة للمهاجمين ، مما يعني أن NetSpectre ليس سوى نظري التهديد ، وليس شيئًا يجب على الشركات التهرب منه للتو . ومع ذلك ، مع تقدم التكنولوجيا ، ستزداد سرعات التسرب بلا شك ، ومن ثم لدينا فئة جديدة كاملة من هجمات وحدة المعالجة المركزية القابلة للتطبيق والتي يسهل تنفيذها بشكل لا يصدق.

يرتبط هجوم NetSpectre الجديد بثغرة Specter V1 (CVE-2017-5753) التي كشف عنها باحثو Google في وقت سابق من هذا العام (2018). هذا يعني أنه يُعتقد أيضًا أن جميع وحدات المعالجة المركزية (CPU) التي يمكن أن تتأثر بـ Specter V1 هي NetSpectre ، إذا تم نشرها مع نظام تشغيل مناسب ونظام تشغيل CPU.



يوجد حاليًا نوعان من متغيرات الهجوم لـ NetSpectre: استخراج البيانات من النظام المستهدف ، وكسر ASLR (عنوان مساحة تخطيط العشوائية) عن بُعد على النظام المستهدف.

سلسلة الأحداث للنوع الأول من الهجوم تسير على النحو التالي:

  1. خطأ في توقع الفرع.
  2. إعادة تعيين حالة عنصر الهندسة الدقيقة.
  3. تسرب قليلا إلى عنصر الهندسة الدقيقة.
  4. كشف حالة عنصر الهندسة الدقيقة للشبكة.
  • في الخطوة 1 ، يخطئ المهاجم في تدريب المتنبئ الفرعي للضحية لتنفيذ هجوم سبيكتر. لإساءة تقدير متنبئ الفرع ، يستغل المهاجم أداة التسرب بمؤشرات صالحة. تضمن المؤشرات الصحيحة أن متنبئ الفرع يتعلم أن يأخذ الفرع دائمًا ، أي أن متنبئ الفرع يتكهن بأن الشرط صحيح. لاحظ أن هذه الخطوة تعتمد فقط على أداة التسريب. لا توجد ملاحظات للمهاجم ، وبالتالي لا يلزم إعادة تعيين الحالة المعمارية الدقيقة أو نقلها.
  • في الخطوة 2 ، يجب على المهاجم إعادة ضبط حالة البنية الدقيقة لتمكين تشفير البتات المتسربة باستخدام عنصر معماري دقيق. تعتمد هذه الخطوة بشكل كبير على عنصر الهندسة الدقيقة المستخدم ، على سبيل المثال ، عند الاستفادة من ذاكرة التخزين المؤقت ، يقوم المهاجم بتنزيل ملف كبير من الضحية ؛ إذا تم استخدام AVX2 ، فإن المهاجم ينتظر ببساطة أكثر من 1 مللي ثانية. بعد هذه الخطوة ، يتم استيفاء جميع المتطلبات للتسرب قليلاً من الضحية.
  • في الخطوة 3 ، يستغل المهاجم ثغرة Specter لتسريب جزء واحد من الضحية. نظرًا لأن متنبئ الفرع مخطئ في الخطوة 1 ، فإن توفير فهرس خارج الحدود لأداة التسرب سيؤدي إلى تشغيل المسار الداخلي وتعديل عنصر الهندسة الدقيقة ، أي يتم تشفير البت في عنصر الهندسة الدقيقة.
  • في الخطوة 4 ، يجب على المهاجم إرسال المعلومات المشفرة عبر الشبكة. تتوافق هذه الخطوة مع المرحلة الثانية من هجوم Specter الأصلي. يرسل المهاجم حزمة شبكة يتم التعامل معها بواسطة أداة الإرسال ويقيس الوقت من إرسال الحزمة حتى وصول الاستجابة.

طريقة الهجوم رقم 2: كسر ASLR عن بعد

  1. خطأ في توقع الفرع.
  2. قم بالوصول إلى فهرس خارج الحدود لتخزين موقع ذاكرة (معروف) مؤقتًا.
  3. قم بقياس وقت تنفيذ إحدى الوظائف عبر الشبكة لاستنتاج ما إذا كان الوصول خارج الحدود قد قام بتخزين جزء منها مؤقتًا.

شبح الإجراءات المضادة

توصي Intel و AMD باستخدام تعليمات lfence كحاجز للمضاربة. يجب إدخال هذه التعليمات بعد فحص الحدود الأمنية الحرجة لإيقاف تنفيذ المضاربة. ومع ذلك ، فإن إضافة هذا إلى كل فحص للحدود له عبء كبير في الأداء.

نظرًا لأن NetSpectre عبارة عن هجوم قائم على الشبكة ، فلا يمكن منعه فقط عن طريق التخفيف من Spectre ولكن أيضًا من خلال الإجراءات المضادة على طبقة الشبكة. يمكن بسهولة اكتشاف هجوم NetSpectre تافه بواسطة حماية DDoS ، حيث يتم إرسال عدة آلاف من الحزم المتطابقة من نفس المصدر.

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

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